I needed a quick way of getting up and down the set list (I do not use preemptive load), so with everything in memory the jog wheel seemed like a good option. I have mapped a LED widget CC#60 (PREV_SONG alias) to the System Action - Previous Song and an LED widget CC#61 (NEXT_SONG alias) to the System Action - Next Song. The two small LEDs above the Song Label.
As a matter of course I run virtual MIDI cables to feed globally scripted things back to the inputs. This can then be aliased in RIg Manager and used in rackspaces or in the global rackspace.
So the following script is added to the global rackspace. This reads the CC#60 messages from the control wheel. It sends a value 1 when clicked CW, and 65 when clicked CCW. These messages are translated into the CC#60 and CC#61 messages required by the widgets to step forwards and backwards through the song list.
//Called when a CC message is received
On ControlChangeEvent(m : ControlChangeMessage) Matching 60
var v :integer = GetCCValue(m)
If v == 1 Then
SendNow(MakeControlChangeMessage(61, 127))
SendNow(MakeControlChangeMessage(60, 0))
Elsif v == 65 Then
SendNow(MakeControlChangeMessage(60, 127))
SendNow(MakeControlChangeMessage(61, 0))
Else
// Unhandled messages currently blocked
//SendNow(m)
End
End
This could be enhanced as the Value âvâ is the number of accumulated clicks so CC#60,4 is 4 rapid clicks CW and CC#60,68 is 4 rapid clicks to CCW. The rapid click messages are just ditched, as for me the 1 count works fine, it is much better than bashing away at buttons to find a song. Iâm also not sure I need the CC#60/61, 0 messages as the LEDs update their state from the System Actions, I will try it one day.