Hello, I have found a Resolume bug when updating the Clip Playhead Position using the REST API. I have created a workflow that sends playhead position data via OSC or REST at the same rate with the same process out of Touch Designer. A toggle between either protocol lets me switch so only one is active at a time.
OSC simply uses an OSC Dat and sends a single OSC float command every 1/8th note with the current frame position to ensure BPM playback in Resolume maintains correct Timing.
REST simply uses a Web Client Dat and sends a single PUT request command every 1/8th note with the current frame position to a Clip By ID
Utilizing OSC as the playback syncing method will break any time clip positions change since it requires Layer and Column mapping.
Utilizing REST as the playback syncing method is the solution for this because it uses a Clip ID as an index to reference a clip directly no matter where it is in the composition.
OSC works flawlessly when clips don't change positions. But that is a horrible limitation to have to remap ALL OSC commands after inserting a Column at the beginning of the deck.
REST works UNTIL I select any Clip or Layer head to change what I am Previewing. The Frame Position that was sent via REST the beat before is processed seemingly after Resolume redraws the new Preview and thusly causes a small jump back in time then jump forward when it begins processing REST in realtime again. This is only an issue with the REST protocol when Previewing other frames in Resolume and I have confirmed it to be a Resolume issue.
I have 2 questions that could solve this conundrum:
Are there UI and Rest Optimizations that have been made I am missing out on in 7.14+?
Is there a way to get what Layer Index and Column Index a Clip By ID belongs to from the Rest API? I currently do not see a way.