ak5k / reablink

REAPER plug-in extension providing ReaScript bindings for Ableton Link session, and Ableton Link Test Plan compliant implementations for REAPER.
MIT License
40 stars 0 forks source link

Puppet Mode/ Phase #11

Open Whiskeysaurus opened 12 hours ago

Whiskeysaurus commented 12 hours ago

Wondering how to accomplish phase locking with this. I can see the offset parameter correctly displaying the phase offset, but I can't figure out how to make Reaper adjust the rate to fix it.

ak5k commented 11 hours ago

In ReaBlink monitor window the offset displays the approximate difference between REAPER project timeline and shared Ableton Link session timeline. There is no direct or 'official' method to adjust this. In Puppet mode ReaBlink uses slight adjustments on REAPER Playback rate trying to improve sync, if offset grows to large. But in the end, there will still be some clock drift, so true phase accuracy is not possible. In practice, that would require implementing Ableton Link at REAPER audio engine level, which in practice isn't possible with the extension API. However, ReaBlink also offers ReaScript API functions to interface with Ableton Link session, so if necessary you can build your own custom ReaScript Ableton Link implementation.