Hi I’ve made a system that plays a sound at the start of the event and when stopping. However when using this with a parameter sheet and the cursor is on an instrument that is set to “cut”, it keeps the “stopping” state after it’s been called to stop. when the cursor moves of the instrument it stops. Is this intended? If so, is there a better way for me to implement this? Attached is a screenshot of the setup.
Thanks in advance!
Indeed, that seems like a bug. When an instrument in a parameter sheet has the event state “stopping” or “not stopping” trigger condition, it causes some weird behavior in the timeline sheet, with infinite stopping state.
The behavior you describe sounds like the intended behavior to me, so I’m not sure I fully understand the issue you’re having.
Could you describe in detail both the behavior you’re seeing, and how it differs from the behavior you expect?
The behaviour I expect is that when the event is called to stop, the async instrument set to “cut” in the parameter sheet should also stop playing. However, in this case the event will continue infinitely in it’s “stopping” state. So I’m wondering if there is some feature that I’m missing here.
As Alciblade pointed out I’m using the event state “stopping” on the transition region. If this is not clear I can make a short video when I have the time.
I hope that helps!
Stopping an event does not stop any of the instruments in that event. This is an important feature, because it allows you to define complex stopping behavior for an event that includes instruments being triggered, playing out tails, and otherwise continuing to function as part of the event’s gradual winding down.
If you want an instrument to be untriggered when the event is stopped, you should give that instrument a “not stopping” trigger condition.
I was wrong in my previous post, as I though it shouldn’t be possible to have infinite looping stopping state events. In fact, it’s possible and intended to have such things, as @joseph pointed out, to allow complex stopping behaviors.
However, I can see how what @Camiel is showing is confusing:
In a straightforward event, when the parameter sheet is triggering an instrument, and then the event is called to stop, if nothing prevents the immediate stop, the parameter sheet instrument is abruptly cut (even AHDSR on that instrument doesn’t apply here, probably to not interfere with modulation at the track level, I presume).
BUT, if the timeline has a conditional transition based on the event state, when the event is called to stop, the parameter sheet instrument is not cut, even if the timeline hasn’t anything more to play (and isn’t persistent, of course).
It may be some good reasons for this, but I admit it’s quite confusing.
Awesome, sorry for the confusion. FMOD QA team is amazing!
The reason is that we assume a stop command is always intended to make the event stop. If the event has any content that’s responsive to being put in the “stopping” playback state (e.g.: an AHDSR modulator on an event property or an event state trigger condition on an instrument or logic marker), then we assume that that content in part of a user-designed stopping behavior that will bring the event to a complete stop. However, if there is no content in the event that reacts to the event being put into the “stopping” state, we know that the event will not end on its own, and therefore assume that the stop command was intended to cause the event to stop immediately.
To put it another way, if a sound designer doesn’t specify how an event should behave when stopped, FMOD Studio has to default to some way of stopping the event - and stopping it immediately is the way it defaults to.