That way, you wouldn’t always have to manually set the ignition time. It could also detect when the main part of the sound has finished, as not to drag on for too long. For example, if the in sound has a long cooldown at the end, it wouldn’t slooowwwly retract, and would instead only consider the length of the main part of the sound, and not the ending cooldown
WavLen<> function is already in OS6, currently in Alpha testing.
Nice! However, is that limited to the entire length of the wav file, or can it detect when the “main” part of the sound has finished as I have proposed?
You can use Mult<> function if you wanted it run for a portion of the overall length instead of the full length of the wav file.
There is no automatic way that will always work to detect what the “main” part of the sound is.
However, you can make sure that all “out” effects have the same amount of “extra” sound on it and then subtract that from WavLen<>. This is basically how humStart works.
 by appending silence to files that have short “cooldown” sounds.
The only other alternative is to have a table somewhere that maps file numbers to lengths.
Slice off the cooldown part and make it a pstoff.wav