Am I correct in assuming that there is no way to do 3D hardware effects on streamed sounds? What about software? Will fmod allow it?
Looks like FSOUND_PlaySoundEx() will do hardware 3D sound, but it doesn’t look like it’s possible to use FSOUND_PlaySoundEx() and FSOUND_Sample_Alloc(), FSOUND_Sample_Lock()/Unlock() to keep updating sample information while it’s looping. I see no callback function for that, and I’m guessing that if I call FSOUND_Sample_Lock() and start modifying the buffer however I want, the sound will skip, click, or won’t play…
So to get 3D hardware sounds, I’d have to use a different strategy. One thing I want to avoid is having the system hit the disk for a lot of different sounds. That doesn’t sound efficient to me at all. Alternatively I could have most of the sounds in RAM, but that would become problematic if I wanted to have a lot of sound data (though these days, I guess it’s not that big of a deal either).
I mean calling FSOUND_Sample_Load() or Sample_Alloc() on all sounds the game will try to use will load everything into RAM at once. Something that may not be required. Though I have to admit, in most hardware today, this isn’t (or shouldn’t) be a problem.
The reason I’ve been looking at the streaming stuff is because it fits in niceley with some legacy code that does all the sound data feeding. Problem is, it looks like I won’t get any 3D hardware sound (and possibly no 3D software sound?).
- Squishy asked 14 years ago
- You must login to post comments