LoopBack in MainStage with 1010/Uno2


Mike Watkinson
 

Hoping someone has some experience programming Uno 2 to control LoopBack plugin in MainStage? Here's the challenge that is frying my brain (which admittedly is quite small):
There are two transport buttons which interact: Rec/Play and Play/Stop
Clicking the Rec/Play button once activates both (so it is recording and playing)
Clicking the Rec/Play button a second time leaves the looper recording and playing but defines the end of the loop - so is 'dubbing' over the original recording but also looping
Clicking the Rec/Play button a third time stops recording but leaves the Play/Stop engaged (ie playing back the loop)
Or, another use case would be:
Click the Rec/Play once which activates recording and playing
Click the Play/Stop button which disengages the Record but keeps the loop playing
Click the Play/Stop button to stop playback

So the challenge is - programme the Uno2 so the 1010 lights reflect the state of the plugin.
Using either Effect_On and Off or Trigger_On for the 1010 switch assigned to the Rec/Play 'works' but in either case the LEDs don't reflect the status of the button on the plugin (so you have to watch the screen for status not the footpedal)

I think the issue is that for Rec/Play - clicking once turns it on, but clicking twice also keeps Rec activated but sets the loop. 

So - pretty difficult to explain if you can't see what I'm looking at so I really hope someone has been here before and come up with a solution! Many thanks in advance (for even reading this far!)


ossandust
 

Looper control is always kind-of complicated, because as you describe 1 button doesn't control 1 on/off state, but a progression through several states. 
Therefore it would be necessary to use a "TRIGGER" button instead of an "EFFECT" button to send the MIDI message and progress through the states. Then you could add a few dummy effect buttons (PLAYING, RECORDING, DUBBING,...)  which don't send any MIDI but which you use just to show the current state
 
EFFECTS = 
{
   PLAYING
   RECORDING
   DUBBING
}
 
TRIGGERS = 
{
   REC/PLAY
   PLAY/STOP
}
 
VAR $playing = false
VAR $recording = false
VAR $dubbing = false
 
EFFECT_ON  PLAYING   = $playing = true
EFFECT_OFF PLAYING   = $playing = false 
EFFECT_ON  RECORDING = $recording = true
EFFECT_OFF RECORDING = $recording = false
EFFECT_ON  DUBBING   = $dubbing = true
EFFECT_OFF DUBBING   = $dubbing = false
 
TRIGGER_CLICK REC/PLAY = 
{
   SendMidi MainStage ...
   if(!$recording) 
   {
      SwitchOn RECORDING
      SwitchOn PLAYING
   }
   else if(!$dubbing)
   {
      SwitchOn DUBBING
   }
   else 
   {
      SwitchOff DUBBING
      SwitchOff RECORDING
   }
}
 
TRIGGER_CLICK PLAY/STOP =
{
   SendMidi MainStage ...
   if($recording)
   {
      SwitchOff RECORDING
   }
   else if($playing)
   {
      SwitchOff PLAYING
   }
   else 
   {
      SwitchOn PLAYING
   }
}


Mike Watkinson
 

Well that's an interesting idea - dummy buttons to indicate state - great suggestion. I see you connected my two posts - yes they are related! Much appreciated btw