I downloaded Follow. It seems to be a very good tool. I can't really get how to scroll between songs though. It would be very nice if the text/song title and bpm from the Master Scene clip was visible in the window. Guess that could be achieved by triggering dummy clips to control a text/lyrics window.
I'd like to get the remote script working though. The following code works for jumping 4 scenes, or as many scenes you'd like, and triggering the clips in the redbox. The A, B, C, D buttons on my FBV are mapped to CC 30, 31, 32, 33, as I'm only triggering dummy clips in track 2. The rest of the CC in the index are not in use but could be mapped if you have some kind of launch pad. I'm also only using 2 tracks to make things easier during coding trial but once the code is working , any number of tracks can be mapped.
I can't figure out what to code to trigger the scenes though.
Code: Select all
from __future__ import with_statement
import Live
from _Framework.ControlSurface import ControlSurface
from _Framework.ControlSurfaceComponent import ControlSurfaceComponent
from _Framework.InputControlElement import *
from _Framework.ButtonElement import ButtonElement
from _Framework.ButtonMatrixElement import ButtonMatrixElement
from _Framework.SessionComponent import SessionComponent
numTRA = 2 #number of tracks
numSCE = 4 #number of scenes
sesBUT = [48, 30, 49, 31, 50, 32, 51, 33] #1st top/left button of your matrix
upBUT = 34
dowBUT = 35
CHANNEL = 0 #main channel (0 - 15)
BUTTYP = MIDI_CC_TYPE
is_momentary = True
class FBV_1(ControlSurface):
def __init__(self, c_instance):
super(FBV_1, self).__init__(c_instance)
with self.component_guard():
self._setup_controls()
self._setup_session()
def _setup_controls(self):
self._pads = [ButtonElement(is_momentary, BUTTYP, CHANNEL, sesBUT[index]) for index in range(numTRA*numSCE)]
self._grid = ButtonMatrixElement(rows=[self._pads[(index*numTRA):(index*numTRA)+numTRA] for index in range(numSCE)])
self._up_but = ButtonElement(is_momentary, BUTTYP, CHANNEL, upBUT)
self._dow_but = ButtonElement(is_momentary, BUTTYP, CHANNEL, dowBUT)
def _setup_session(self):
self._session = SessionComponent(numTRA, numSCE)
self._session.set_clip_launch_buttons(self._grid)
self.set_highlighting_session_component(self._session)
self._session.set_page_up_button(self._up_but)
self._session.set_page_down_button(self._dow_but)
self._session._link()
def disconnect(self):
super(FBV_1, self).disconnect()
The script is modified from a script originally written by bobavenger on this forum some years ago.