For anyone still experiencing reverb cutoff in 1.08…
As Nick mentioned previously, there was an issue with the convolution reverb cutting off long tails when the input goes idle. This was fixed in 1.07.04.
However, we have recently discovered another issue, this time in the Studio runtime code, that can also cause long tails to be cutoff. This could affect both the Convolution Reverb and the regular FMOD Reverb, in fact any effect with a tail that persists long after its inputs have gone idle. Here’s a quick explanation:
Each Bus in Studio is implemented on top of a low level ChannelGroup internally. For efficiency, these channel groups, and their effects, are created and destroyed on demand. The channel group only exists if at least one event instance routes in to the bus.
Say you have a short gunshot event sending to a reverb bus, and the reverb is setup for a long tail. When the gunshot event stops naturally, then there are no longer any events sending to the reverb bus. So the bus gets deactivated, and its ChannelGroup is destroyed.
Of course, the system is supposed to wait until any DSP effect tails have played out before cleaning up. That’s where the bug lies.
We should be able roll out a fix for this bug in the next release. In the meantime, the suggested workaround is to call Studio::lockChannelGroup on your reverb buses. What this does is force a bus’s channel group to be created and to persist even with no inputs. You can just do this once after loading your master bank.