Automation lanes don't respect "Playback time offset"
I use orchestral libraries that have a sample delay, so I use negative "Playback time offset". The problem is, automation lanes don't seem to be affected by this and are therefore constantly out of sync with the audio.
In the attached image I automate the instrument expression from 100% to 0% at the beginning.
- Without the negative delay, nothing can be heard (correct result).
- With -1000ms offset, the sound is heard for 1000ms before the expression drops to 0%.
EDIT: I added a test project that demonstrates the issue. The expected result would be to hear nothing on both tracks.
+1
I also noticed this the hard way.
Is this a bug or it depends of a setting?
As far as I know, there is no setting. I would consider this to be a bug as I see track automation to be part of the track that should be affected by the offset the same way track items are.
Track playback time offset only affects media playback, not automation or audio routed to the track or live playback. It's essentially a media read-ahead (or read-behind) setting. So unfortunately you'll need to adjust automation manually.
^^^^^^
schwa, that causes lot of confusion.
Please, reconsider adding 'media' word to the label and the name of this feature so it is obvious what exactly it does.
As it is labeled now it implies playback time offset as offset in time in timeline = whatever (not just 'real-existing' media items) is playing at 'now' will be played lately or early.
Track playback time offset only affects media playback, not automation or audio routed to the track or live playback. It's essentially a media read-ahead (or read-behind) setting. So unfortunately you'll need to adjust automation manually.
Oh sadness 🥺
But thanks for replying Schwa!
I'm in a situation where I stream Reaper signal to my iphone using Airfoil (I'm working on mobile video game) but this introduce 2s of latency, so to be able to keep the sync with the video I need to adjust the playback time offset accordingly.
I created a script to automate the process because in average I'm switching between normal and offset playback 50 times per day.
So manually adjusting the automation is not really possible there.
I guess it's another beast to include automations into the read-ahead or behind process?
Is this a limitation shared by other DAWs?
I'm in a situation where I stream Reaper signal to my iphone using Airfoil (I'm working on mobile video game) but this introduce 2s of latency, so to be able to keep the sync with the video I need to adjust the playback time offset accordingly.
I created a script to automate the process because in average I'm switching between normal and offset playback 50 times per day.
So manually adjusting the automation is not really possible there.
I guess it's another beast to include automations into the read-ahead or behind process?
Is this a limitation shared by other DAWs?
Any plan to change this behaviour?
Three better solutions:
- Go to preferences/media/video and set the video output delay there (probably the best solution)
- Set an output manual offset in preferences/audio/recording
- Put a JS time_adjustment on the master track, and set the master track's PDC mode to "hardware output compensation" (this is probably the least desirable)
Wow thanks Justin!
Didn't know about all those options.
2nd is the best for me because even the playback cursor stay in sync with audio + video.
You just made my work way more fun and efficient 🤗
Now last thing to do is create a script to toggle the output manual offset value automatically.
I think because of Meo-AdaMespotine awesome Config Variables I can do this: https://mespotin.uber.space/Ultrasch...Variables.html
A small limitation I just noticed is that the master playrate (transport knob and master track envelope) can't be used with this setup as the video unsync again.
Not sure to understand why though.
A small limitation I just noticed is that the master playrate (transport knob and master track envelope) can't be used with this setup as the video unsync again.
Not sure to understand why though.
Try multiplying or dividing the offset by the playrate and maybe that'll make it correct?
Yeah, it works!
So I can add a condition to a potential script that, in addition to adjusting the transport playrate, would check if the ext state is active and then multiplying the # of samples by the playrate knob value.
The only thing I see that would still not work in sync is if I draw an envelope (like a ramp) on the master playrate.
- For constant varispeed change (transport playrate) it's flawless
- For progressive varispeed change (master track playrate envelope) it's working but some strange things happen with the play cursor and the video playback.
See my video screenshot below: https://dropover.cloud/3b5629
- For constant varispeed change (transport playrate) it's flawless
- For progressive varispeed change (master track playrate envelope) it's working but some strange things happen with the play cursor and the video playback. 😅
See my video screenshot below: https://www.dropbox.com/s/3wx6hb8nk9...ffset.mov?dl=0
Yeah, that's somewhat to be expected, probably live with it territory