I’ve been hitting my head against a bit of a brick wall the last hours.
I have a very simple app that uses the C API with the Studio library to load studio banks and now I’m trying to play-one-shot audio events, using pretty much the identical methodology as the examples.
All commands execute return FMOD_OK, but I hear no audio.
System: OSX Yosemite
When I interrogate the Low Level System I can see that it has correctly assigned itself to the Built-In audio device. However, when I ask it FMOD_System_GetChannelsPlaying I always receive: 0.
Examples compiled in XCode work fine.
It’s very odd.
Listing the code in its entirety won’t be helpful, but here is the order of the C functions I call:
FMOD_Studio_System_Create
FMOD_Studio_System_GetLowLevelSystem
FMOD_Studio_System_Initialize(studioPtr, 32, FMOD_STUDIO_INIT_NORMAL, FMOD_INIT_NORMAL)
FMOD_Studio_System_LoadBankFile(studioPtr, "media/Master Bank.strings.bank", FMOD_STUDIO_LOAD_BANK_NORMAL, bankPtr)
FMOD_Studio_System_LoadBankFile(studioPtr, "media/weapons.bank", FMOD_STUDIO_LOAD_BANK_NORMAL, bankPtr)
I then iterate over the banks extracting the path of every event, so that I can hold in a little cache using the following commands:
FMOD_Studio_Bank_GetEventList(bankPtr, eventArrayPtr, 100, eventsCount)
… and then for each EventDescription I get it’s path GUID and trigger a loadSample …
FMOD_Studio_EventDescription_GetPath
FMOD_Studio_EventDescription_GetID
FMOD_Studio_EventDescription_LoadSampleData(eventDescPtr)
I then grab the eventDescription that I’m interested in (in my case: “event:/Weapons/Single-Shot”) and try and play it, by issuing these commands immediately after each other:
FMOD_Studio_EventDescription_CreateInstance
FMOD_Studio_EventInstance_Start
FMOD_Studio_EventInstance_Release
Then issuing the update every 10ms:
FMOD_Studio_System_Update(studoPtr)
They all come back FMOD_OK - but no audio plays.
Any help in further diagnosing this is gratefully received.