Comments (31)
Just an update. We managed to run fmod on godot 3.2 on all platforms (with assets files in application), we will create an issue on assets path, which is more related to how GDNative works. (We don't know how to handle user path on FMOD side)
CI is passing on the update branch, we still need to update documentation.
A release is coming when documentation is ready ! :P
from fmod-gdextension.
Hi !
Sorry, we're a bit late in our roadmap, we had a lot of work to do with godot-kotlin.
We should release this weekend, we only have to change the way android is built and adapt to godot 3.2 (should be done quite fast).
from fmod-gdextension.
We were planning only 3.2, but maybe we can make a last 3.1 release before adapting it. But it would be the last.
from fmod-gdextension.
Hi ! We're late in our roadmap !
We have rollback android build to old ndk-build way. We still need to test on android and ios and then modify travis-ci.
If you only need windows/linux/macos, you can compile it yourself from master branch using godot-cpp vith 3.2 branch.
On our side we planned to work on FMOD during the weekend, but we're not sure everything will be finished, as we also have to work on godot-kotlin rework.
Sorry for being so late.
from fmod-gdextension.
Hi.
We are currently testing if everything works the 3.2 update.
Windows, Linux and OSX are okay, we still more testing on Android/Ios (It's a lot of trouble because it's not really easy to deal with Gdnative with those platform). It should be released next week.
from fmod-gdextension.
Hi ! Readme is up to date with master branch. Change symbol_prefix to godot_ 2.0.2 code is still using old prefix here
By the way, 2.0.2 miss a lot of features described in master readme. A new version will come as soon as current branches will be merged. If you need the features that are not in 2.0.2, the best way should be to compile code from source, while we finish our work (should not take much time). See 2.0.2 readme to know the features in that version.
from fmod-gdextension.
Well since it doesn't work with only setting the symbol_prefix to "godot_", I will try compiling on my own. Do you have a deadline date or a rough estimate duration for the next release?
from fmod-gdextension.
@CedNaru when do you think it will be ok to merge branches ?
@HephepTeam which versions of FMOD and Godot do you use ?
Do you have same error ?
from fmod-gdextension.
Yes, same error about No nativescript_init, I didn't had the time this morning to get the full log it was just a quick test between breakfast and going to work.
I use Godot 3.1.2 stable and the latest version for FMOD, I think it's 2.00.06
Btw what FMOD files do I need to put in the addons\fmod\lib folder? Only fmod.dll and fmodstudio.dll (speaking about windows platform) or do I need more ?
from fmod-gdextension.
Can you try with fmod 1.10.13 as specified in fmod compatibility matrix and if it does not works with Godot 3.1.1, as specified in godot compatibility matrix .
3.0.0 version of plugin will be up to date with godot 3.1.1 in a first time, and then with 3.2 when godot make the release. Also it will update fmod api version.
Master branch is using godot 3.1.1 and fmod 2.00.02.
Also you mentionned you place libraries in addons\fmod\lib\windows
can you make sure the folder is addons\fmod\libs\windows
and that fmod libraries are in same folder.
from fmod-gdextension.
I tried at work (don't tell my boss) with godot 3.1.1 stable, with FMOD API v1.10.13, and FMOD-GDNative v2.0.2. The path is right, sorry I misspelled it in my previous answer.Still the same error message:
Editing project: C:/data/New folder/fmod-gdnative-master/demo (C:::data::New folder::fmod-gdnative-master::demo)
OpenGL ES 3.0 Renderer: Intel(R) UHD Graphics 620
ERROR: Can't open dynamic library: C:/data/New folder/fmod-gdnative-master/demo/addons/fmod/libs/windows/libGodotFmod.windows.dll. Error: Error 126: The specified module could not be found.
At: platform/windows/os_windows.cpp:2082
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:488
ERROR: init_library: No nativescript_init in "res://addons/fmod/libs/windows/libGodotFmod.windows.dll" found
At: modules/gdnative/nativescript/nativescript.cpp:1501
erasing C:\Users\XXXX\AppData\Roaming/Godot/projects/demo-7366910ef8c977117a429b78da42e0a4/filesystem_update4
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:488
ERROR: terminate: No valid library handle, can't terminate GDNative object
At: modules/gdnative/gdnative.cpp:393
ERROR: Can't open dynamic library: C:/data/New folder/fmod-gdnative-master/demo/addons/fmod/libs/windows/libGodotFmod.windows.dll. Error: Error 126: The specified module could not be found.
At: platform/windows/os_windows.cpp:2082
Running: C:\Users\XXXX\Downloads\perso\Godot_v3.1-stable_win64.exe\Godot_v3.1.1-stable_win64.exe --path C:/data/New%20folder/fmod-gdnative-master/demo --remote-debug 127.0.0.1:6007 --allow_focus_steal_pid 122632 --position 448,240
OpenGL ES 3.0 Renderer: Intel(R) UHD Graphics 620
ERROR: Can't open dynamic library: C:/data/New folder/fmod-gdnative-master/demo/addons/fmod/libs/windows/libGodotFmod.windows.dll. Error: Error 126: The specified module could not be found.
At: platform/windows/os_windows.cpp:2082
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:488
ERROR: init_library: No nativescript_init in "res://addons/fmod/libs/windows/libGodotFmod.windows.dll" found
At: modules/gdnative/nativescript/nativescript.cpp:1501
from fmod-gdextension.
Can you upload project so that I can try on lunch time ?
from fmod-gdextension.
Sure, here you go:
https://drive.google.com/file/d/1ot5s2-hJWY3X2idTIWtWnMAQ6zDK--LT/view?usp=sharing
(too big for github)
It's basically the demo project + 2.0.2 FMOD gdnative + FMOD API lib 1.10.13 (I hope it's the right files) and the gdnlib file symbol_prefix modified to "godot_"
Thanks you so much for your time!!
from fmod-gdextension.
It seems you don't have all libraries in folder, missing 64 librairies and statics one.
Also you should remove _vc suffix from the librairies you will add.
Here is the content of lib folder I have on my side:
Also the class registered in gdnative is now called Fmod
but in 2.0.2 it is still GodotFmod
, so you need to modify gdns like that:
[gd_resource type="NativeScript" load_steps=2 format=2]
[ext_resource path="res://addons/fmod/Fmod.gdnlib" type="GDNativeLibrary" id=1]
[resource]
resource_name = "GodotFmod"
class_name = "GodotFmod"
library = ExtResource( 1 )
script_class_name = "FmodNative"
from fmod-gdextension.
Thanks @piiertho , I think I made a new step further. But now I need to adapt Fmod.gd because some function prototype don't have the same name. I'm digging in the API header files to find what could match. Currentlty I'm searching what was "set_listener_number" in API 10.0.13.
By the way is this specific to FMOD or dll allways come with lib files that match?
EDIT:
This method is not good, I feel that I am doing the same job as you in the wrong direction. It is still helpful to understand how FMOD is working but I think I will wait for the release now that I have all the information I needed to make it run. Thanks for your time, I'll keep an eye on this project to get the release as soon as it is available.
from fmod-gdextension.
Indeed, things has changed since 2.0.2. You can also compile driver from code for now. 1.x.x and 2.x.x versions were not supposed to be used in production. I'm not sure multiple listeners was in 2.0.2 version.
from fmod-gdextension.
Hello, do you have some news about the next release? I couldn't achieve to compile the project yet.
from fmod-gdextension.
Nice! Will it be compatible with Godot 3.1? I'm not planning to port my game to 3.2.
(I'll take a look at godot-kotlin I'm curious)
from fmod-gdextension.
Of course I understand. If you can make it it's cool, else I'll try compiling it again and I won't expect any support for this version don't worry !
from fmod-gdextension.
Sorry it's taking time. The android compilation on windows doesn't work yet, I'm still trying to solve that issue without the use of a .mk file.
from fmod-gdextension.
Just pinging if there was a Godot 3.2 compatible release planned soon? I could possibly get this thing to compile myself (I've got some experience with implementing FMOD Studio), but would rather not if it's soon.
from fmod-gdextension.
Thanks for the update! Can't wait to see the new release.
from fmod-gdextension.
Currently I got problems to resolve path on ios side. I got to manually add bank files to the app to get it work... And it seems we have the same problem on android. Maybe someone know how path works on those platforms ...
from fmod-gdextension.
Great news, thanks!
from fmod-gdextension.
code is ready and builds well and pass tests, but travis does not succeed to upload release ><
from fmod-gdextension.
Just wanted to let you know, I got the demo project working perfectly on windows with FMOD 2.00.08 and Godot 3.2, thank you so much for you hard work!
from fmod-gdextension.
I did as well. Thanks!
from fmod-gdextension.
thanks !
from fmod-gdextension.
Hello,
I seem to have a similar problem on linux:
If i use your ligGodotFmod.linux.so i have those errors:
E 0:00:00.612 open_dynamic_library: Can't open dynamic library: /home/alex/limbic_realm/addons/fmod/libs/linux/libGodotFmod.linux.so. Error: libfmod.so.11: cannot open shared object file: No such file or directory
<C++ Error> Condition "!p_library_handle" is true. Returned: ERR_CANT_OPEN
<C++ Source> drivers/unix/os_unix.cpp:426 @ open_dynamic_library()
E 0:00:00.612 get_symbol: No valid library handle, can't get symbol from GDNative object
<C++ Source> modules/gdnative/gdnative.cpp:501 @ get_symbol()
E 0:00:00.612 init_library: No nativescript_init in "res://addons/fmod/libs/linux/libGodotFmod.linux.so" found
<C++ Source> modules/gdnative/nativescript/nativescript.cpp:1506 @ init_library()
If I compile your project with scons, and use that file in the addon folder, I can run the project in linux.
However, if I then try to export the project and then run it, I have those errors:
Godot Engine v3.2.3.stable.official - https://godotengine.org
OpenGL ES 3.0 Renderer: GeForce GTX 1080/PCIe/SSE2
ERROR: open_dynamic_library: Can't open dynamic library: addons/fmod/libs/linux/libGodotFmod.linux.so. Error: libfmod.so.12: cannot open shared object file: No such file or directory
At: drivers/unix/os_unix.cpp:426.
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
At: modules/gdnative/gdnative.cpp:501.
ERROR: init_library: No nativescript_init in "res://addons/fmod/libs/linux/libGodotFmod.linux.so" found
At: modules/gdnative/nativescript/nativescript.cpp:1506.
SCRIPT ERROR: _init: Attempt to call function 'new' in base 'NativeScript' on a null instance.
At: res://addons/fmod/Fmod.gdc:8.
SCRIPT ERROR: set_software_format: Invalid call. Nonexistent function 'set_software_format' in base 'Nil'.
At: res://addons/fmod/Fmod.gdc:143.
SCRIPT ERROR: init: Invalid call. Nonexistent function 'init' in base 'Nil'.
At: res://addons/fmod/Fmod.gdc:135.
SCRIPT ERROR: load_bank: Invalid call. Nonexistent function 'load_bank' in base 'Nil'.
At: res://addons/fmod/Fmod.gdc:234.
SCRIPT ERROR: load_bank: Invalid call. Nonexistent function 'load_bank' in base 'Nil'.
At: res://addons/fmod/Fmod.gdc:234.
SCRIPT ERROR: add_listener: Invalid call. Nonexistent function 'add_listener' in base 'Nil'.
At: res://addons/fmod/Fmod.gdc:193.
SCRIPT ERROR: create_event_instance: Invalid call. Nonexistent function 'create_event_instance' in base 'Nil'.
At: res://addons/fmod/Fmod.gdc:274.
SCRIPT ERROR: _ready: Invalid type in function 'start_event' in base 'Node (Fmod.gd)'. Cannot convert argument 1 from Nil to int.
At: res://global_scripts/global.gdc:38.
The game runs, but there is no audio.
Is there something I am missing for the exports ? Here are the files in the export folder:
total 133M
-rw-r--r-- 1 alex alex 33M Jan 15 16:32 game.exe
-rw-r--r-- 1 alex alex 753K Jan 15 16:32 libGodotFmod.windows.release.64.dll
-rw-r--r-- 1 alex alex 1.5M Jan 15 16:32 fmod.dll
-rw-r--r-- 1 alex alex 968K Jan 15 16:32 fmodstudio.dll
-rwxr-xr-x 1 alex alex 41M Jan 15 16:56 game.x86_64
-rw-r--r-- 1 alex alex 48M Jan 15 16:56 game.pck
-rw-r--r-- 1 alex alex 5.3M Jan 15 16:56 libGodotFmod.linux.so
-rw-r--r-- 1 alex alex 1.6M Jan 15 16:56 libfmod.so
-rw-r--r-- 1 alex alex 1.6M Jan 15 16:56 libfmodstudio.so
Thank you
from fmod-gdextension.
Hey @apeyrard !
This is fixed in c5170ec
Can you try this modification ?
BTW next time can you open a new issue ?
It is pretty hard to manage conversations in closed issues.
from fmod-gdextension.
Hello @piiertho,
Sorry for the late answer, I encountered a bug that took time to troubleshoot and was also related to audio.
I'll also make sure to open a new issue next time.
Anyway, everything works well now.
Thanks for you work on this repository, it is really helpful !
from fmod-gdextension.
Related Issues (20)
- Addon crashes when changing scenes (Godot 4 only) HOT 1
- Godot sometimes freezes when an Fmod event is created HOT 6
- Unable to load addon script from path HOT 1
- Unable to acces banks. HOT 3
- Bank explorer does not refresh when updating .bank file HOT 1
- Improve loading events by name vs. guid
- "Unable to load addon script from path" when working with Version control HOT 2
- Various script errors when building HOT 8
- Is there a way to set an FMOD event parameter by label HOT 3
- FmodEventEmitter3D only sets local position in Fmod
- 3D directional audio is backwards
- Godot 4.2 - Could not find type "FmodNative" HOT 4
- Missing Info.plist for MacOS frameworks
- Silent crash when using low level api for playing one shots on Linux HOT 1
- Bug Report: Plugin does not work in Android Debug Builds
- push_error: The requested event, parameter, bus or vca could not be found HOT 3
- Cannot change parameters on FMOD events HOT 3
- How to handle warning "No listeners are set!" HOT 9
- Odd "nonexistent function" error only in macOS export HOT 3
- How to reimport bank files HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fmod-gdextension.