Breaking change: Parameter AHDSR behavior between 2.03 and 2.02

We’re in the process of upgrading our application (a flight simulator) from 2.02 to 2.03. We load sound banks from user-generated content (aircraft) both in-house and from third parties. While testing, on some of them I experienced unexpected premature stopping on some events that were supposed to play continuously, which after careful investigation I nailed down to a change in AHDSR behavior between Studio 2.03 and 2.02.

This example event is of a Boeing 737-800 fuel pump sound. You can see how the AHDSR on the parameter works differently, making the event not keep playing under 2.03 compared to 2.02. The expected behavior is that the transition region will only jump to the end marker only when the AHDSR goes below 0.98 (which happens when the event stops), but under 2.03 it always jumps to the end marker, apparently because the AHDSR on the parameter doesn’t trigger at all.

Video:

At the time of development, before we had “Event State” as a transition condition (the bank was created under FMOD 1.08 then migrated sucesive times) using a custom parameter with an AHDSR modulator was a common solution to keep playing the tail of an event after it was stopped, so we have quite a few banks that use that technique; not counting the ones created by third parties, of which we have no control.

Here’s a stripped down version of the 2.02 bank, with two events exhibiting the issue:
https://www.dropbox.com/scl/fi/m8e07jw84s6z8u03xfhvr/stripped_down_b738.zip?rlkey=5bfickfglxb40tc5fr9br6kvp&dl=1

I hope it helps. Thank you!

Thanks for reporting this issue! I’ve added it to our bug tracker, so it should be fixed in an upcoming version of FMOD Studio.

In the mean time, I was able to find a few ways of working around this bug. It only affects parameters which aren’t automated and which have initial values of 0; so if you set the parameter’s initial value to 0.00001 (for example) or automate the parameter on another parameter (even if the automation never sets the parameter’s value to anything other than 0) then you’ll get the behavior you want. In addition, this bug is only present in FMOD Studio versions 2.03.02 through 2.03.07, so if you use 2.03.00 or 2.03.01 you should be able to avoid it entirely.

Thank you for your response! We’ll wait until next version then, since although we can fix our own banks, we can’t fix third parties banks, so we have to be fully backwards compatible. Thanks!