Start Offset automation not working with relative transitions


I’ve simplified my event to showcase the bug I’m experiencing.

In this scenario I’m transitioning from region A to region B, and back again, with a relative offset.

Normally I’d have both set to be synchronous, but I have async enabled so that I can take advantage of a fade out envelope when transitioning.

To maintain the relative position, I’ve automated the start offset to match the relative position of the transition region. If I drop the play head in the middle of the file and hit play, the file will start from the middle of the file as expected. However, if I play the event from the start, then trigger the transition, when the playhead jumps to the relative position in the destination region, instead of adjusting the start offset, it plays from the start of the file. This feels like a bug, but I could be missing something?

Hi, thanks for the hack, that can be really useful! Just out of curiosity, why do you need that setup, instead of using synchronous instruments?
Indeed, that seems to be a bug (we’ll let the staff confirm), I was able to reproduce it. The bug is not restricted to relative transitions, it occurs with any type of transition. It seems that the offset value taken into account is the one before the transition. Check with this kind of automation curve, after transitioning it will start at 50%…

This is odd behavior, but it is consistent with how the different systems interact.

Firstly, automation updates values on a per frame basis, they don’t receive sub-frame updates.

Secondly, the timeline will schedule ahead, so the instrument will be triggered ahead of time in order for it to be ready to play in time.

Thirdly, the instrument will only make use of the start offset at the point that it is triggered.

With those combined, you get the behavior that you are seeing. The behavior of each of those three systems makes sense in the context that they are primarily used, but that ends up with this unexpected interaction. No obvious solution on our end springs to mind, but we will keep it in mind for future changes.

It might be best to get the behavior you are looking for using synchronous instruments, and we can look to see where they are falling short instead.

1 Like