I’m trying to create a multi-layered music track.
I have three layers; layer 2 and 3 join in when my player state changes.
Thing is, I added an AHDSR envelop on these two layers to have a nice fade in / out when the state changes.

Problem is : when the loop starts again, the envelop is taken into account. But I don’t want this. I want the envelop to work only on parameter change. If player_state remains in state 3, layer 3 should not fade in when looping.

I don’t know if I’m clear here. If I am … do you have any idea on how to solve this ?

Hi there. Just to clarify, are you triggering these loops on the timeline or from a game parameter? Also, are the sound modules marked as looping (in the deck area of the sound module)?

If you’re doing looping on the timeline, it may be possible that the loop region is slightly too long and allows the playhead to leave the trigger region of the sound, meaning the AHDSR will reactivate when you come back to the start of the loop.

It’s triggered on the timeline.
I created the loop by clicking “Create new loop” from tracks so there should not be any gap (I checked, there isn’t). The sound modules are not marked as looping because if I do, there are not synchronized anymore (when the state changes, the new layer will start from the beginning while previous layers are already running).

Thanks, you’ve actually discovered a bug in Studio. We’re still working on a solution, but the gist of it is that the AHDSR modulator should not be applying a fade-in to a timelocked sound module when the cursor changes position due to logic markers unless the cursor actually leaves the module’s trigger region.

As a workaround, you might want to try creating two copies of your track 1 content, and using transition timelines to transition from one to the next; With transition timelines, you can click and drag the right edge of the transition timeline to drag in a destination region, allowing the content on the main timeline to play during the transition. A fade-in curve can be applied to this destination region by clicking and dragging its top-left corner. By assigning such regions to your second and third tracks, you’ll be able to fade in those tracks over the course of the transition. You can also perform a very similar procedure to fade out those tracks in a second transition region when you want them to fall silent. Note, however, that using this method means that your event will only be able to fade in and out the second and third tracks at specific points in your loop.