Coder Social home page Coder Social logo

Comments (16)

smks avatar smks commented on July 19, 2024 1

Added it, and it works so well now. Loaded up much faster. Thanks!!

from wwise-godot-integration.

alessandrofama avatar alessandrofama commented on July 19, 2024 1

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.

alessandrofama avatar alessandrofama commented on July 19, 2024

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.

smks avatar smks commented on July 19, 2024

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.

smks avatar smks commented on July 19, 2024

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.

alessandrofama avatar alessandrofama commented on July 19, 2024

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.

smks avatar smks commented on July 19, 2024

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.
Screenshot 2021-05-22 at 16 15 51

from wwise-godot-integration.

alessandrofama avatar alessandrofama commented on July 19, 2024

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.

alessandrofama avatar alessandrofama commented on July 19, 2024

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.

smksnutmeg avatar smksnutmeg commented on July 19, 2024

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.

alessandrofama avatar alessandrofama commented on July 19, 2024

Let me know if you need the updated libs for other platforms, so I can export them.

from wwise-godot-integration.

smksnutmeg avatar smksnutmeg commented on July 19, 2024

Sure! windows and does this plugin work with HTML/Web Assembly?

from wwise-godot-integration.

smksnutmeg avatar smksnutmeg commented on July 19, 2024

Linux too

from wwise-godot-integration.

alessandrofama avatar alessandrofama commented on July 19, 2024

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.

alessandrofama avatar alessandrofama commented on July 19, 2024

Linux
Windows

from wwise-godot-integration.

alessandrofama avatar alessandrofama commented on July 19, 2024

Closing as this issue was solved.

from wwise-godot-integration.

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.