Hey Community & Team FMOD,
I’d like to hear your thoughts on a workflow involving global and local parameters, and the Hold Value during Playback flag.
Here’s the situation which we need to fix:
- Our game has different playback speeds, and the audio assets used for the various velocities are triggered by setting a global parameter for playback speed in code.
- This parameter is used as trigger condition for the instruments that play the different assets.
- Since the slower assets are longer than the faster ones, we sometimes observe that, when switching the global parameter back to a lower speed, we hear a ghost tail of the low speed assets (due to switching to the lower speed asset while the event is playing).
My intuition was to fix this by setting the global parameter to Hold value during playback, but I found out already that the proper way of doing it would be to use a local parameter instead, and automating this local parameter with the global parameter that is changed through code.
I tested this on small scale and it works fine.
Now, I have a lot of events that reference the global parameter, and I’m looking for the safest way to replace it with the local version, and adding automation.
Here’s my proposed workflow.
I’d like to hear your opinion on it, especially if you think there’s a better or safer way to do it ![]()
- Create a new local parameter with the same value range, and with
Hold value during playbackenabled. - Substitute all references to the currently used global parameter with the new local parameter (from the parameter browser).
- Add automation to the local parameter, tying it to the global parameter which is still the one being set by code.
My biggest doubt: I only need to add automation to the local parameter once (in any event), since it will be used throughout in all occurences?
Looking forward to hearing your thoughts!