I’ll have to look in to this as it looks like the getAudibleTimelineTime() has been dropped from the UI at some point.
The problem is that some plugins introduce latency (pitch shifters quite a lot), so the audio they’re outputting is not time-aligned with the audio they’re inputting.
There’s a special Node, PlayHeadPositionNode which effectively keeps the transport position still for the total latency duration so the output should sync up with it.
But I’m deep in some other stuff right now so it will have to wait for a bit I’m afraid.
Like I said, the Engine needs to be modified to use getAudibleTimelineTime.
How zoomed in are you as small latency amounts aren’t usually noticeable.
And how much latency is there in your graph?
This will largely be determined by what pitch shift algorithm you are using.
But try and think about the problem and why it occurs.
A pitch shift plugin can introduce as much as ~300ms latency
So when you press play, what are you hearing? Nothing. So ideally, we want to keep the playhead still. That’s what PlayHeadPositionNode and getAudibleTimelineTime are for
After the latency duration has elapsed, you want to move the playhead forwards one second per second
When you stop though, you’ll still hear ~300ms of the audio. So the other job that PlayHeadPositionNode and getAudibleTimelineTime do is just to keep the playhead at the position it was at when it stopped.
The first part of that should work, but like I said, I’ll have to look in to why the playhead is jumping to the end of the latency period when stopped. That is a (minor) bug atm.