Parameter Velocity + Modulator = bug?


Hello all.

Let me start with what it is that I want to do. I would like to set up an event so that every time it is triggered, it loops over a sound a random number of times (or for a random number of seconds, if you will), and then it stops.

I knew about the method using consecutive transition markers with increasingly larger percentages, but then I realized I could achieve something closer to what I wanted, using a loop region conditioned to continue looping only if the value of a certain parameter was between 0 and 0.99, then setting that parameter’s velocity to increase over time so that it would eventually reach 1, thus ensuring the event would not loop perpetually, and finally creating a random modulator for the parameter’s value, so that the event started with a random initial parameter value each time, resulting essentially in a random number of repetitions of the sound (within a certain range of course).

All is well and brilliant, and it should have worked, but it doesn’t. After some testing and tweaking, it seems that whenever I added the modulator in the setup and fired up the event, most of the times the velocity would increase the parameter value only up to some arbitrary value before 1, then stop and remain there for all eternity. Is this a bug, or am I missing something obvious?

Thank you in advance!


This isn’t a bug. To get the behaviour you want, take your existing event, double the maximum value of your parameter, then set the randomization modulator on your parameter to half its current value.

This is necessary because modulators apply an offset to the base parameter value, and the base value of the parameter cannot exceed the maximum value of the parameter; thus, when the base value of the parameter reaches the parameter maximum, the final value of the parameter after modulation also stops increasing.

Doubling the maximum value of the parameter allows the base value of the parameter to exceed 1, and thus allows the modulated value of the parameter to continue increasing until it reaches values of 1 or higher.


Alas! It all makes sense now! I am very glad it was just me and not some pesky bug. FMOD saves the day once more…

Thank you again, have a great one!