Pause event except for one track

Hi,

So I am working on a vertical music system. My music event has a few music layers, but in game when there’s a cutscene I want all layers to pause except for one layer (percussion). That one layer should continue playing when the cutscene is active.

When the cutscene is done, all paused music layers should play again.

Is this even possible within FMOD?

If they don’t need to specifically pause but just be inaudible then you could automate the volume of those layers to -infinity with a continuous parameter. Adjust the seek speed of that parameter to smooth the fade in/out.

Or you could add trigger parameters to the music events so that they’re untriggered during the cutscene. The advantage of this method over the above one is that you can quantize when they reactivate, which might be more musically pleasing. You’ll probably want an adsr on those events to smooth the entry/exit.

Well, I actually do want to pause it during the cutscene, then fade the layers back in afterward when the cutscene is finished, so everything continues from where it left off. I know it’s possible to pause an event in code, but then all layers in the event will be paused (and that’s not what i want). I only want to pause everything except for the percussion layer.

I’m just not sure if that’s actually possible or what the best way would be to implement it.

Yes and no.

The word “pause” has a specific meaning in the FMOD API: It’s when an event maintains its playback state but ceases to update or produce audio. By that definition of pausing, it is impossible to pause only some of the tracks of an event and not others.

However, the common English meaning of the word “pause,” meaning “to put on hold” - that can potentially be applied to only some of the audio in an event.

There are a few tools you could use to achieve that kind of behavior. The first - and oldest - is “sustain points.” A sustain point is a logic marker that you can place in an event’s logic tracks that cause the timeline playback position to stop moving when it reaches the marker. This causes any synchronous instruments in the event to stop producing audio, though they remain triggered - and, when the event receives a “Key Off” cue, the timeline playback position starts moving again, causing all the synchronous instruments playing in the event to resume playing their assets from where they left off. You could therefore achieve what you want by making your percussion music track an asynchronous instrument, and your other music tracks synchronous instruments. The downside of this method is that you cannot quantize a cue to occur exactly on the beat or bar - so when your non-percussion music tracks resume playing, their beats are likely to no longer fall exactly on the beats being played by your percussion track, instead being offset by some fraction of a beat. Whether that’s acceptable or not depends on your music and your requirements.

What you’re trying to do is fairly unusual. Most people do something similar to what EdGray suggested: Automating the volume of some tracks to silence (or untriggering their instruments with an AHDSR modulator fade-out) and automating their volume back up (or re-triggering them with quantization and using synchronous instruments to ensure they pick up from where they left off) when you want them to return. If you’d prefer not to have the music “move on” from the part the player was listening to before the non-interactive sequence began, you can insert small loops triggered by the same parameters that control the audibility of your non-percussion tracks, to ensure that the music goes into a “holding pattern,” repeating the same bars over and over again, until the cutscene is complete.