I have several DSP related questions.
- If I apply FMOD_DSP_SetBypass(TRUE) to a certain DSP instance, does FMOD still consume some CPU power for the DSP effect in the background or do nothing?
When I add a global echo / reverb instance to a channel group using FMOD_ChannelGroup_AddDSP() or FMOD_System_SetReverbProperties(),
calling FMOD_Channel_Stop() / FMOD_ChannelGroup_Stop() only stops the original source sound but not the remaining echo / reverb effect of the sound.
On the other hand, I could stop the whole sound using FMOD_Channel_Stop() / FMOD_ChannelGroup_Stop() when I added an echo / reverb instance to a specific channel using FMOD_Channel_AddDSP().
- Is there a way to stop a sound including its remaining DSP effects immediately when the DSP instances are added to a channel group?
Calling FMOD_ChannelGroup_SetMute() or FMOD_ChannelGroup_SetVolume() on DSP instances added using FMOD_Channel_AddDSP() or FMOD_System_SetReverbProperties() works fine,
(whereas FMOD_Channel_SetMute() and FMOD_Channel_SetVolume() don’t.)
but FMOD_Channel_SetMute(), FMOD_ChannelGroup_SetVolume(), FMOD_ChannelGroup_SetMute() and FMOD_ChannelGroup_SetVolume() don’t work at all with DSP instances
added using FMOD_ChannelGroup_AddDSP().
- How can I adjust the volume of a channel group’s DSPs?
The final question is not actually related to DSP, but let me ask.
I read about FMOD_System_SetStreamBufferSize() from the Core API Reference and found this statement.
“Does not affect latency of playback.”
- Is there really nothing to worry about with large values other than consuming more memory unlike FMOD_System_SetDSPBufferSize() which causes high latency?