I have been using FMOD to create event driven audio for an excavator simulator that I've been writing. The problem I'm running into is that I need to split the audio between sound cards. After speaking with Firelight Technologies they informed me that I just need to create a system object (FMOD::System_Create()) for each sound card and then use the appropriate functions to assign each system object to a sound card which allows you to assign certain sounds to each sound card. Ok, so that's the background, now for the problem:
That is the low-level way to do it, which I have done in a separate project. In my sim project I utilized the high-level way of doing it through the FMOD designer, creating events and sound definitions, then creating an event system (FMOD::EventSystem_Create()) in my project. The event system is a high-level wrapper class which contains a system object in it. In the documentation it says you can use the EventSystem_Create() function to create one or multiple instances of the system object, but doesn't say how. I tried creating two event systems and apparently that doesn't work.
If there is anyone with FMOD experience out there I would be ecstatic to figure out how to implement multiple system objects within an event system, or even how to properly instantiate two event systems. Thanks!
FMOD Event System Issue
Page 1 of 11 Replies - 2620 Views - Last Post: 22 September 2011 - 06:24 AM
Replies To: FMOD Event System Issue
#2
Re: FMOD Event System Issue
Posted 22 September 2011 - 06:24 AM
Ok, so here's the rundown. With FMOD you can only instantiate one instance of EventSystem in your project. Therefore it is impossible to create two system objects within an application when using an event system.
If you are just using the raw API code and creating the system objects yourself, then you can simply create two system objects and manually bind them to an audio device using the SetDriver() function. However, if you are creating a system object by utilizing the higher level EventSystem wrapper then you can only make one.
Firelight Technologies says that the best way to go about splitting audio using an event system is to use a 5.1 sound card (or at least a sound device with multiple output channels) and just split the audio into different output channels. Hopefully this helps anyone else out there that is having the same issue.
If you are just using the raw API code and creating the system objects yourself, then you can simply create two system objects and manually bind them to an audio device using the SetDriver() function. However, if you are creating a system object by utilizing the higher level EventSystem wrapper then you can only make one.
Firelight Technologies says that the best way to go about splitting audio using an event system is to use a 5.1 sound card (or at least a sound device with multiple output channels) and just split the audio into different output channels. Hopefully this helps anyone else out there that is having the same issue.
Page 1 of 1

New Topic/Question
Reply



MultiQuote


|