I just began with fmod EX and with fmod in general. I need to create my own multichannel sound format and to implement the corresponding decoding algorithm for this format to be played. I first think a DSP was the solution for decoding, using a user defined FMOD_System_CreateSound. However, only two callback functions can be defined in createsoundexinfo: pcmreadcallback and pcmsetposcallback.
I would rather need a "load callback funtion", which read my multichannel file and put it in raw data, declared as a FMOD_SOUND and a "play callback function" used with a DSP. I would like this FMOD_SOUND to be the input of a DSP for decoding my user defined sound and a "normal" FMOD_SOUND (stereo or 5.1 pcm) to be the output.
this is my question: do you think that "user defined sound" and DSP are the good approach ? I also thought that create a codec could be a solution, but I read in this forum that only registered codec can be specify in FMOD_CREATESOUNDEXINFO….
- tonyboy asked 11 years ago
Hi, brett !
Thanks for your answer. Indeed, I try it yesterday. I succeed in loading the codec, but the only way to force Fmod to use it (i.e. enter my custum callback functions) is to load a rar archive. That way, I was sure that any registered codec would be able to read it. How can I force Fmod to used my plugin ? Someone have already asked this question in this forum and you’ve said that "you can use FMOD_CREATESOUNDEXINFO to specify a particular codec, but that is only for registered codecs, not plugins". So, is there another way, if not, what kind of test porcedure Fmod uses to know if a codec is good or not. That is to say: how can I be sure that my format won’t be wrongly recognized by a registered codec ?
- tonyboy answered 11 years ago
you will have to make an input plugin. See examples/plugindev/codec_raw to show how to create a custom input plugin. It has callbacks for create/read/seek/close etc.
Then in the main app, the user has to load the codec using System::loadPlugin("yourplugin.dll")
Please login first to submit.