I am attempting to control the Reaper transport and looping functionality from
a plugin (C++. VST3). This does not relate to control surfaces though this functionality
can be viewed as such.
4/4, 130BPM. The times expressed here are the 6th bar / measure
//====================
Set Looping
I am a right to left sort of guy, so I assumed start would proceed end:
- /loop/start/time 9.230769
- /loop/end/time 11.076923
This does not work.
The loop set in Reaper is:
- Start: 0.00000
- End: 11.076923
Huh!
Reverse the order (Send End first, Start second)
- /loop/end/time 11.076923
- /loop/start/time 9.230769
This sets the loop correctly in Reaper.
//====================
//=================
Clear Looping
There seems to be no 'Clear Looping'
The assumption is one sends a start and end time of 0.00000
If I use the 'Reverse order' (that works for setting loop), I.e.:
- /loop/end/time 0.000000
- /loop/start/time 0.00000
It does not work. Reaper sets a loop from 0.00000 to 9.230769
Huh!
Send the start first, end second.
- /loop/start/time 0.000000
- /loop/end/time 0.00000
This correctly clears the loop ion Reaper.
(Note the start / end order is opposite of setting a loop)
Play Position, while playing:
- If I clear the loop from Reaper while playing the play head continues
playing from its current position (as expected).
- If I clear the loop via OSC while playing the Reaper play head (play position) jumps back to home (0.00000).
Note: Clearing the loop from OSC when not playing is identical to performing the action from Reaper.
//==============================
Questions:
- Is the only way to remove a looping selection via OSC is by sending a start: 0.0000 end: 0.0000?
- Why is Reaper positioning itself at 0.0000 when I clear the loop via OSC when Reaper is playing?
Edit:
I have uploaded a video to YouTube illustrating the issue:
OSC Clear Loop
Thanks