Comments (16)
Added it, and it works so well now. Loaded up much faster. Thanks!!
from wwise-godot-integration.
It uses Godot's File
class to directly open, read the banks and get the data when Wwise requests it: https://github.com/alessandrofama/wwise-godot-integration/blob/main/wwise-gdnative/src/wwise_godot_io.cpp
Major problem was that Wwise's default I/O implementation uses the C standard input/output lib for I/O, which works fine when you are working in the editor as you can clearly locate the banks on your disk, but for exported projects Godot uses a virtual file system so it was a headache to correctly locate the banks for different platforms. The naïve solution was to copy the banks to the user directory, which resolves to the same path for all platforms and load them from there. This introduced some problems as yours above, but the custom I/O implementation should fix that, as Godot takes care of reading the files.
from wwise-godot-integration.
I can't reproduce this on macOS and Windows, so there must be something about your project that is different than mine. Could you please answer these questions so I can debug this further: What are the exact steps to reproduce the error? Where does the error happen exactly? While exporting or after trying to run the exported project? It isn't clear from your screenshot. Does the project work when played through the editor? Does the error only occur on Windows? Which Godot version are you using?
from wwise-godot-integration.
Hey me again! I exported it with Mac and included all the Wwise files now, where can I configure this thing it is raising in the logs?
ERROR: open_dynamic_library: Can't open dynamic library: /Volumes/TribeOfAccord/TribeOfAccord.app/Contents/MacOS/../Frameworks/libWwiseGDNative.dylib, error: dlopen(/Volumes/TribeOfAccord/TribeOfAccord.app/Contents/MacOS/../Frameworks/libWwiseGDNative.dylib, 2): no suitable image found. Did find:
/Volumes/TribeOfAccord/TribeOfAccord.app/Contents/MacOS/../Frameworks/libWwiseGDNative.dylib: code signature in (/Volumes/TribeOfAccord/TribeOfAccord.app/Contents/MacOS/../Frameworks/libWwiseGDNative.dylib) not valid for use in process using Library Validation: mapped file has no Team ID and is not a platform binary (signed with custom identity or adhoc?).
from wwise-godot-integration.
Ok I got around that by disabling Library signature in the options of Godot export. Getting closer.
Wwise systems initialisation succeeded
ERROR: _init: AK_Fail Copying banks to user:// failed!
At: src/wwise_gdnative.cpp:233.
ERROR: loadBankID: AK_Fail ID 1355168291
At: src/wwise_gdnative.cpp:324.
ERROR: loadBankID: AK_Fail ID 3161908922
At: src/wwise_gdnative.cpp:324.
from wwise-godot-integration.
Have you added your banks to the non resource export filters as detailed here? https://github.com/alessandrofama/wwise-godot-integration/wiki/Exporting-the-project#windows-macos-linux-and-android
Usually it should fail if the banks are not present in the exported project. Godot will not include the banks in the exported project if they are not added to the export filters.
from wwise-godot-integration.
That was the one, thank you so much!
My Soundbank is around 1GB, seems to be really struggling to boot up when that is bundled in. Quite a new macbook too.
from wwise-godot-integration.
If you are using version 1.0 one problem might be that banks get copied to the user:// directory at each start of the game. We didn't have a custom I/O solution back then and it was the easiest solution for loading banks across different platforms, apologies for that.
You could try to download and replace the Mac libs of 1.1 (backup the old ones): https://github.com/alessandrofama/wwise-godot-integration/releases/download/1.1.0_Wwise2019.2.1.7250/macOS.zip
These include a fix where the copying happens only at first start. We haven't released the updated version with the custom I/O solution that doesn't require copying yet, but I can provide the binaries if it can solve the problem.
from wwise-godot-integration.
macOS 1.2.0.zip
These are the one's with the custom I/O solution. Would be interesting to know if these solve the problem!
from wwise-godot-integration.
Great I'll give this a shot. Out of curiosity how does the custom IO solution work/get around this copy over of the banks?
from wwise-godot-integration.
Let me know if you need the updated libs for other platforms, so I can export them.
from wwise-godot-integration.
Sure! windows and does this plugin work with HTML/Web Assembly?
from wwise-godot-integration.
Linux too
from wwise-godot-integration.
Wwise doesn't support HTML/Web Assembly (yet?). I'll link the Windows and Linux files once the CI does its job.
from wwise-godot-integration.
from wwise-godot-integration.
Closing as this issue was solved.
from wwise-godot-integration.
Related Issues (20)
- Using Callbacks in conjunction with a Stop Fade Time causes a crash when exiting the tree HOT 10
- HTML5 support? HOT 1
- Godot 3.5 support HOT 5
- Official support for Wwise version 2021.1.5.7749 or higher HOT 3
- is Godot 3.5 compatible? HOT 1
- Do Audio files need to be within the project? HOT 1
- Error integrating Wwise - AK_InvalidID HOT 3
- Does this integration work with any other version of Wwise? HOT 1
- Console support? HOT 2
- No audio when exporting to HTML HOT 2
- Event ID not found HOT 5
- Spacial Audio issues HOT 1
- Godot 4.x Support HOT 5
- Wiki: suggestions for the `Building the GDExtension Library` page HOT 1
- Error loading extension (Godot 4.0.4, Wwise 2022.1.6) HOT 5
- Add support for Suspend/WakeupFromSuspend in wwise_runtime_manager HOT 2
- Parse error with wwise_id.gd [Godot 4.2, Wwise 2023.1] HOT 3
- InvalidID error while posting events [Godot 4.2, wwise 2023.1] HOT 2
- Error integrating Wwise - AK_InvalidID HOT 1
- set_game_object_output_bus_volume not callable without listener object 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 wwise-godot-integration.