Map Midi Controller to "Blue Box"

How can i map up/down button to the blueBox?
Ive tired to edit the script (SessionComponent) but it seems like unused code and the blue box was initialized any other way i couldnt find out how…
Or maybe there is another simpler trick to archive this.


sorry i don’t fully understand what you mean by bluebox? Could you please explain it in more detail or send an image?


I actually mean the “red box” (but in case of a script instead of a controller, the red box is blue i guess).
i mean the navigation box with the blue boarder around the clips which represent the current view.
instead of scrolling with my fingers on the pad i want to do this with real buttons on my mixer controller.
and i want it in that way that the blue box not only jumps 1up/down - it should “jump” to the next “page” of clips (i have many clips, because of a dj set) according to the current set of Nr of Scenes/Tracks

Ah now i understand. Unfortunately, we cannot easily implement this.

But we could add a new control to the editor with the following functionalities:

  • the user can add an osc message. e.g “set/move_red_box_up” with an argument. e.g 5

You would have to add a callback to the script by your self in the corresponding to the former command:

self.callbackManager.add(self.move_red_box_up, “set/move_red_box_up”)

and also the function:

def move_red_box_up(self,msg):

    value = msg[2]

Is touchable based on OSC ?:open_mouth::open_mouth:
(Tell me yes ! :smiley:)

Oh my !!! :no_mouth:
I just opened the script .
It’s OSC !
Then , just a stupid question : that’s a big open door to use it with Moss OSC4Bitwig ! and make touchable pro usable with Bitwig isn’t it (theoricaly) ?
And a lot more !
making template for compatible OSC software to !!
making our self knob, fader to control whatever we want on OSC ?
Like lemur but up to date OSC protocol !!! AAAHHH…
Am i wrong ?

Dont get your Idea completely. Ive tried to attach my buttons directly to the session. But it doesnt take any effect. Another problem is the development itself. after every change i delete the compiled files, close&reopen ableton (…) - and then nothing :frowning: … how can i improve that?
Here is what ive tried:

    def _create_session(self):
    #log_text = "_create_session : v " + str(self.script_version)
    #self._log( log_text , True )

    self.session = TouchableSessionComponent(touchAble = self, name = 'Session', num_tracks = 1, num_scenes = 1, is_enabled=True, auto_name=True, enable_skinning=True)
    self.session.set_show_highlight( True )

    # attach up/down buttons
    up = ButtonElement(False, MIDI_CC_TYPE, STANDARD_CHANNEL, 104)
    down = ButtonElement(False, MIDI_CC_TYPE, STANDARD_CHANNEL, 105)
    self.session.set_scene_bank_buttons(down, up)

In other script set_scene_bank_buttons seems to do what i want (more or less). But if i want the big steps instead of 1up/down the this is the wrong way anyways… can you explain your idea more precise please


sorry for the late reply

Yes we use OSC :).

We will open that door in an future update :). … and will provide examples how to modify the script…

While rewriting the server, we will also rewrite the scripts. You probably have to change some overwritten functions in for now

for example change this function, should do the trick (not sure if the super(…) part works)

 def receive_midi(self,midi_bytes):
        super(ControlSurface, self.receive_midi(midi_bytes))

Yes indeed debugging the scripts really painfull. I recommend sublime as texteditor. Also make sure to use the right indentation.

We will probably cover all problems and wishes mentioned here within the next update…


Hello !
That’s really cool !
I was thinking more about an interface within touchable to build templates based on OSC in common with what is already there without coding (or as few as possible)
to make things easy for people who are not interested in writing code
That’s a really good news ! :wink:
Thanks ! :slight_smile: