🔥 Lifetime deal! Get Control Surface Studio for Just £67 👉 Click Here To Get It
Time left... mailtimers.com
⚠️ Lifetime licenses are ending soon, get yours before they're gone ⚠️
Your shopping cart is empty.

Using Sysex from a button and other sysex CSS questions

Submitted by Image_Engine on Wed, 09/28/2022 - 02:08
Image_Engine
Control Surface Studio User

Hi All
Before I reinvent the wheel, Im using the Aturia Minilab mkii.
Its brilliant but out of the box its very limited for ableton...
So

1. The option buttons on mkii eg SHIFT do not send cc but rather Sysex; has anyone else dealt with this previously? I want to use the shift as a temporal shift button for mode (I have a change request for Arturia firmware to remove the program recall from the shift and make it shift+pads9-16 button instead, freeing up shift for more important functions)...

2. The pads do not respond to cc either and instead are mapped via sysex also; same question, has anyone managed stuff like this in CSS previously etc

3. Any advice on making buttons sticky? eg
A quick click/release on shift should stick the mode on (sticky)
A long hold (and subsequent buttons) should return immediately to the previous mode of operation as soon as the shift is released which requires a round trip from ableton to turn the sysex shift back off again

Cheers

Topic Category: 

1 Responses

Comments

Buster_Delmonico
Control Surface Studio User
#1

Hi,

Python "midi remote" (Control Surface) scripts define both a receive midi method and a send midi method at the highest level. IIRC, Live passes all midi messages (on the active track's midi port and channel) into and out of remote scripts via those methods. Since that happens, in a raw python script, I think you could, for example, react to SYSEX or pitchbend midi messages as if they were "real" event messages. But I don't think CSS supports that level of script customization (yet?) I think someone could do what you want but I'm not sure how far CSS can currently take you down that path, you could end up finishing your script by working in a regular Python IDE instead of CSS. The main disadvantage with such an approach is related to how Live works with respect to its "remote control" sub system, one can only "map midi feedback" using CC messages (maybe Note On / Note Off messages too?)

There is a remotify.io tutorial video on YouTube including specific details about making any button press permanently or temporarily "shift" behavior to some alternate functionality (in the current mode). The only difference between implementing straight up "temporary shift" functionality as described in the video and "long press" versus "short press" functionality would be implementing a way to remember how long it has been since the most recent "note on message" (button press event) reaction occurred when reacting to a "note off message" (button release event). React one way for "short press" and another way for "long press" depending on how long the button was held before "button release" occurred.