heraldofgargos / godot-fmod-integration Goto Github PK
View Code? Open in Web Editor NEWFMOD Studio middleware integration and scripting API bindings for the Godot game engine.
License: MIT License
FMOD Studio middleware integration and scripting API bindings for the Godot game engine.
License: MIT License
There is an issue on OSX where FMOD does not properly path to required dynamic libraries. I have a workaround that does work, for sure. I'll include it in this issue. Do you think we could automate this process during the build?
install_name_tool -change @rpath/libfmod.dylib (path to libfmod.dylib) (path to Godot build)
install_name_tool -change @rpath/libfmodstudio.dylib (path to libfmodstudio.dylib) (path to Godot build)
Describe the bug
After compiling on 3.2 stable Godot with this integration, I'm trying to export a MacOS .dmg of the example project included on the repository, and I get the following message on the terminal:
FMOD Sound System: Live update enabled!
FMOD Sound System: File not found.
FMOD Sound System: File not found.
FMOD Sound System: The requested event, parameter, bus or vca could not be found.
FMOD Sound System: The requested event, parameter, bus or vca could not be found.
The game graphics and logic runs well, but no sound is playing.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The sound files are likely not getting exported with the app? Hoping Godot exports the FMOD files into the app.
Configuration
Additional context
Maybe I'm just missing to add a specific path somewhere? Or do an extra step for Godot to see the Banks
files
There is currently a reader writer problem associated with the callback system for events. Technically it should be fine for a single event since the Studio thread is the only thread that writes and the game thread is the only thread that reads but this constraint no longer applies for multiple events and things can change mid function which can lead to undesired behaviour.
Reverting #10 for now.
A potential workaround would be to wrap the callbackInfo dictionary in a struct with a mutex and obtain a lock every time a thread has to either write to it or read from it.
Describe the bug
After compiling Godot at 100%, i have this error :
LINK : fatal error LNK1181: impossible d'ouvrir le fichier en entrée 'fmod_vc.windows.opt.tools.64.lib'
scons: *** [bin\godot.windows.opt.tools.64.exe] Error 1181
scons: building terminated because of errors.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Just want to compile godot with Fmod api working
Configuration
when exported the exe crashes with this error:
SCRIPT ERROR: GDScript::load_byte_code: Parse Error: Identifier 'Fmod' is not declared in the current scope.
At: res://MainScene.gdc:36
ERROR: load_byte_code: Method/Function Failed, returning: ERR_PARSE_ERROR
At: modules/gdscript/gdscript.cpp:785
ERROR: load: Condition ' err != OK ' is true. returned: RES()
At: modules/gdscript/gdscript.cpp:2168
ERROR: Failed loading resource: res://MainScene.gdc
At: core/io/resource_loader.cpp:285
ERROR: poll: res://MainScene.tscn:3 - Parse Error: [ext_resource] referenced nonexistent resource at: res://MainScene.gd
At: scene/resources/resource_format_text.cpp:440
ERROR: load: Condition ' err != OK ' is true. returned: RES()
At: core/io/resource_loader.cpp:208
ERROR: Failed loading resource: res://MainScene.tscn
At: core/io/resource_loader.cpp:285
ERROR: Failed loading scene: res://MainScene.tscn
At: main/main.cpp:1739
WARNING: cleanup: ObjectDB Instances still exist!
At: core/object.cpp:2095
ERROR: clear: Resources Still in use at Exit!
At: core/resource.cpp:425
I wonder if this API works with current Godot stable version (3.2). If not, do you have plans to update de API?
When I try to build godot (8698876) on Windows 10 x64, I get this error:
[ 97%] Linking Static Library ==> modules\freetype\freetype_builtin.windows.tools.64.lib
[ 97%] Linking Program ==> bin\godot.windows.tools.64.exe
LINK : fatal error LNK1181: cannot open input file 'fmod64_vc.windows.tools.64.lib'
scons: *** [bin\godot.windows.tools.64.exe] Error 1181
scons: building terminated because of errors.
I have tried both x86 and x64, multithreaded on/off, same error. I have tried both Windows and Windows 10 UWP api files for fmod.
>python --version
Python 3.7.2
>scons --version
script: v3.0.4.3a41ed6b288cee8d085373ad7fa02894e1903864, 2019-01-20 22:51:36
engine: v3.0.4.3a41ed6b288cee8d085373ad7fa02894e1903864, 2019-01-20 22:51:36
Hello,
I am curious if there is a way to use FMOD in the browser? From what I have seen there are no linkings/libraries for WebGL/HTML5 export.
Is your feature request related to a problem? Please describe.
In short: I'd like this repository to show newer users the demo so the FMOD code is a lot more tangible (instead of copy/pasting into unprepared/empty projects). It'd also be nice to be redirected/shown how to retrieve banks from an FMOD Studio project.
The long of it: I couldn't figure out how to get the bank files described in the lines of Basic Usage code that initialize the banks and I've been stuck for a day. I understood them as part of any project using FMOD but as an FMOD beginner I had no idea how to export/obtain banks from FMOD Studio, thinking it was a dependency like the .dlls. I just went off of what I had downloaded from the releases tab since I'm not normally a programmer who downloads unbuilt code.
Describe the solution you'd like
In the releases tab, add a separate download segment for the demo project with a description that goes over the fact that it's a Godot project with its own banks from an FMOD Studio project.
Describe alternatives you've considered
A description in the README that points out the demo and its usefulness, perhaps even a tutorial (a link or otherwise) on how to create/utilize banks in FMOD that can be used in this utility.
Additional context
Mostly personal frustration from being a new coder who's never stepped outside the usual GDScript boundaries.
I went as far as downloading VS2019, Python and Scons, cloning Godot to my hard drive, adding this module and building Godot only to realize I already had the .exe and some banks ready to go. The big "ohhhh" moment was seeing the FMOD integration demo pop up on the project list after I threw everything into one folder for the heck of it.
This is probably a fantastic tool for musicians like myself who are new to software dev (I'm already incredibly grateful to you and the contributors for giving me another option for audio) but this extra step in documentation would make it so much more approachable for people like myself.
Describe the bug
I Replaced the Demo Project's Bank With My Own And The Positioning isn't Working.
Maybe it's just a simple setting that's wrong!
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The sound should come out from SoundSource1 or SoundSource2. When I move the Listener, the sound should move.
Configuration
Sorry, this is the only way I can see to ask this kind of question. Godot is compiled, and the demo project works!
But none of the examples show me how to just play a simple file from the hard drive - all the examples use "banks".
In C++ it's pretty straight forward; system->createSound("path to sound", &sound) gives you a pointer to the sound, which you play with system->playSound(sound). But I can't see any equivalent functions available from the Fmod Godot object.
Specifically I have those old MOD "tracker" songs and I want my games to be able to play them. S3M, MOD, IT, XM etc. It's the sole reason I'm using your module :)
Hello, can you do a teaching video to demonstrate how Fmod and Godot interact? I'm new to both of them. I downloaded the demo, but I can't open the project file in the demo folder with Godot. I really want to learn Fmod and Godot integration, but I can't practice it. Thank you for your answer. Https://streamable.com/7qy0ok
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.