I have to ask this, even though I suspect I already know what the answer is. 😕
Is there any possible way in which I can get per-channel DSP effects (Channel::AddDSP()) to work on 3D Hardware sounds?
See, Dave (our sound guy) and I are quite frustrated by the incompatible feature sets in hardware and software. We want to have our cake, but we also want to eat it.
Thus far we’ve been developing with hardware channels, mostly due to the environmental effects we get with EAX. Unfortunately, I’m trying to work now on providing access to all the great DSP effects offered by FMOD, only to find that they won’t work at all in hardware mode. (I always get back a FMOD_ERR_DSP_NOTFOUND from the Channel::AddDSP() call.)
I guess it just bugs me that we have to select from among all of these technologies. If we want hardware reverb, we can’t have DSP effects or Dolby output, and vice versa. Oh, well.
Anyway, if there is something that I’m missing, or some good way in which I can get DSP effects to work on hardware 3d sounds, then please let me know! Thank you!
- Adiss asked 13 years ago
I’m a bit wary of converting all (or at least many) of our sounds to streams. I will have to run tests to make sure that it won’t interfere with anything. At the moment we’re not going to be changing the DSP parameters at runtime (as far as I know), so the latency probably wouldn’t be that big a deal for me.
I would say that if we could get DSP networks on hardware streams that I’d use the feature, and, so long as you indicate in bold letters (preferrably with neon green flashing lights around it :D) in the documentation about the parameter change latency, you shouldn’t have too many complaints.
No rush, though, I think, as I can certainly use the software driver until (if) this is implemented.
Okay, so I did what I said, and it’s working nicely. Now you can select which output type you want, and hardware sounds get eax reverb and software sounds get soft dsps.
But I had this idea as I was reading through the eax designer guide. See, many of the effects you have in software are also available in hardware through eax. Maybe you could implement a “hardware fallback” for the software dsps? (Heh, which is quite the reverse of the usual s.o.p. of creating software fallbacks for hardware features 8) )
Is that possible? Is it desirable? (It seems so to me right now, but I could be missing some crucial piece of information.) What do you think?
Just my farthing’s worth,
Please login first to submit.