After attempting to get positional sounds working with an older version of the FMOD api (version 3.75) is has become clear that, that version of the library doesn’t support positional sounds for "*.wav" files. When I change to an mp3 file the positional sounds works.
I figured this information could be of value to someone out there and given that this is the FMOD forum and didn’t know where else could I post something like this.
I am loading sounds with the following line
[i:21qq1z13]pFMODSoundSample = FSOUND_Sample_Load(FSOUND_FREE, filename.c_str(), FSOUND_HW3D | FSOUND_LOOP_NORMAL, 0, 0);[/i:21qq1z13]
Setting the position of the sample playing on a channel with:
[i:21qq1z13]FSOUND_3D_SetAttributes(this->channel, position, velocity);[/i:21qq1z13]
Why am I using an older version? I am kinda adverse to the new FMOD. It has become kinda bloated compared to what it used to be. The new API treats music and sounds as exactly the same object to, which is hard to design around.
I am wondering if there is a version after 3.75 if this functionality was added? Maybe I can jump to a version that has had this bug fixed.
- Neipo asked 5 years ago
In FMOD 3 you have to force sounds to be mono, yes.
wav files are not streamed no. You tell it to stream via sample_load or stream_open, it doesnt do it by itself. You can have 3d streams anyway. Stream vs sample is irrelevant.
FORCEMONO only processes the data in memory. It doesnt touch your wav.
In FMOD Ex and FMOD Studio there is no such limitation, you just load a sound and play it as 3d whatever the format.
why do you think music and sound is different? Are you talking about mod files? I don’t understand the hesitation with a mod file being a ‘sound’ – it is the same functionality as before, no- actually more functionality (now mods can be 3d, they can be delayed, they can have effects applied on them. You can’t do that in fmod 3). You want the typedefs to be different? Maybe you should do a typedef Music Sound; ?
After a little more investigation I got a clue from the Bass Library documentation. I have a suspicion that Wave files don’t work out of the box because of two things. Firstly all 3d audio needs to be mono and secondarily I think wav files are streamed.
I am much closer to getting them working now using the following line:
pFMODSoundSample = FSOUND_Sample_Load(FSOUND_FREE, filename.c_str(), FSOUND_HW3D | FSOUND_FORCEMONO | FSOUND_STREAMABLE, 0, 0);
But I am still forced to convert wav files into mono using a third party program, I am not sure if FSOUND_FORCEMONO is actually converting my stereo Wav sample and converting it to a mono sample.
In any case I hope others might benefit from the little progress I am making
- Neipo answered 5 years ago
Please login first to submit.