Coder Social home page Coder Social logo

Comments (31)

piiertho avatar piiertho commented on August 26, 2024 2

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.

piiertho avatar piiertho commented on August 26, 2024 1

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.

piiertho avatar piiertho commented on August 26, 2024 1

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.

piiertho avatar piiertho commented on August 26, 2024 1

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.

CedNaru avatar CedNaru commented on August 26, 2024 1

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.

piiertho avatar piiertho commented on August 26, 2024

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.

HephepTeam avatar HephepTeam commented on August 26, 2024

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.

piiertho avatar piiertho commented on August 26, 2024

@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.

HephepTeam avatar HephepTeam commented on August 26, 2024

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.

piiertho avatar piiertho commented on August 26, 2024

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.

HephepTeam avatar HephepTeam commented on August 26, 2024

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.

piiertho avatar piiertho commented on August 26, 2024

Can you upload project so that I can try on lunch time ?

from fmod-gdextension.

HephepTeam avatar HephepTeam commented on August 26, 2024

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.

piiertho avatar piiertho commented on August 26, 2024

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:
image
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.

HephepTeam avatar HephepTeam commented on August 26, 2024

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.

piiertho avatar piiertho commented on August 26, 2024

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.

HephepTeam avatar HephepTeam commented on August 26, 2024

Hello, do you have some news about the next release? I couldn't achieve to compile the project yet.

from fmod-gdextension.

HephepTeam avatar HephepTeam commented on August 26, 2024

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.

HephepTeam avatar HephepTeam commented on August 26, 2024

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.

CedNaru avatar CedNaru commented on August 26, 2024

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.

atbigelow avatar atbigelow commented on August 26, 2024

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.

atbigelow avatar atbigelow commented on August 26, 2024

Thanks for the update! Can't wait to see the new release.

from fmod-gdextension.

piiertho avatar piiertho commented on August 26, 2024

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.

HephepTeam avatar HephepTeam commented on August 26, 2024

Great news, thanks!

from fmod-gdextension.

piiertho avatar piiertho commented on August 26, 2024

code is ready and builds well and pass tests, but travis does not succeed to upload release ><

from fmod-gdextension.

HephepTeam avatar HephepTeam commented on August 26, 2024

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.

atbigelow avatar atbigelow commented on August 26, 2024

I did as well. Thanks!

from fmod-gdextension.

piiertho avatar piiertho commented on August 26, 2024

thanks !

from fmod-gdextension.

apeyrard avatar apeyrard commented on August 26, 2024

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.

piiertho avatar piiertho commented on August 26, 2024

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.

apeyrard avatar apeyrard commented on August 26, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.