Your shopping cart is empty.

Song Position Control / Scrub The Arrangement

Submitted by John C on Sat, 11/27/2021 - 18:17
John C
Forum Admin
Pro User
Control Surface Studio User

We have been asked this a few times via email (and on the forum),
Thought I would start a thread for it as it's now possible with Reactions v2.
So the question is, how can I scrub through the arrangement view / control the arrangement playhead with a knob style control.
You can use 'song > set current song time' Then select 'get value from ranges' for controlling it with a range style control i.e. a knob.

Scrubbing the arrangement playhead position

Import and and use the attached script: scrub_the_arrangement_playhead.json (contains 1 reaction).
In the reaction, make sure to select the correct listener i.e. knob 1
Then in the action, for 'current input value', make sure you select the listener's latest velocity value (i.e. knob 1's latest velocity value).
If you want to extend how far/ the range of the playhead, increase the 'output max' number.

scrub settings

Topic Category: 

1 Responses


John C
Forum Admin

As has been pointed out to me (via an email), the above script isn't really scrubbing as it doesn't start from the current song time. So attached is a version 2 which does start from the current song time.
scrubbing arrangement v2

In this version the Reaction contains 2 Action Blocks. 
You will need to change the condition in each action block so it uses your midi control for:
knob 2's latest velocity value (midi controller > current velocity value > ...)
knob 2's previous velocity value (midi controller > previous velocity value > ...) 

Remember to do this for both Action blocks AND that its the correct knob on your controller template.
Both actions are set to increase/decrease the scrub position by 2.0 (which is half a bar if I'm thinking correcctly). You can change this amount by simply changing these values in each action. 

On a separate note, you can use this reaction to easily create knob based functionality where turning left performs one function, and turning right performs another - they can be related (as in this, right = increasing the 'scub by' value by 2.0, left = decreases it by 2.0