Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Twitter

CNTRL:R Scripts in Ableton 9.6


I noticed that the original MIDI script for the CNTRL:R is no longer supported as of 9.6.

Does anyone have an alternative, or the time/knowhow to port the original script to 9.6? The setup I use in DJing requires the use of all the rotary encoders and I cannot use script v2 because the top 4 encoders are locked.
I end up custom mapping everything anyway, so if there's some sort of blank slate script to be used, that would be most ideal.

Sorry for an asinine question, things worked fine with the original script, but I understand how tiresome it is to provide support for obsolete setups. Thanks for reading.


  • It's not a trivial matter to update the original script to 9.6. 

    There are a couple of ways to get around the problem with the top 4 encoders, if you can answer my questions I can probably help you.

    First of all I'm curious:  if you're already user mapping everything, why the need for the script at all?


  • I thought that the controller required a script to function; if I don't use a script, is it plug n play?

  • I stuck with the script for so long, in part because I cannot set up the LED's, but that's not really an issue anymore. The big reason I stuck with it was out of fear I could not use the CNTRL:R without some form of script.

  • Alright sorry to triple post. I tried without any script but it doesn't give me the clip launch pane. I think the only thing I need out of a script is that pane and the ability to move it by buttons, again, like the old script.

  • You'll need to do some script editing then.  

    Basically, the script tells the CNTRLR to change modes for the top encoders (to inc/dec instead of 0-127) and that's why they don't work for user-mapping.  So if you change a line in the script, it should prevent that from happening.  Try changing line 322 (I think?):

    def _define_sysex(self):
    self.encoder_navigation_on = SendLividSysexMode(livid_settings = self._livid_settings, call = 'set_encoder_encosion_mode', message = [13, 0, 0, 0]) 

    to the following (just changing one number from 13 to 0):

    def _define_sysex(self):
    self.encoder_navigation_on = SendLividSysexMode(livid_settings = self._livid_settings, call = 'set_encoder_encosion_mode', message = [0, 0, 0, 0]) 
    Save that file in place, and try restarting Live.  That should give you use of the top encoders.  However, there are a lot of other changes that happened for the v2 script that might interfere with what you're trying to do.

    Let me know if that works for you.  I'm always open to doing a commissioned script for you, too.  It would probably be pretty easy (thus cheap), but would take at least a couple of hours for me to prepare.


  • Well, there are so many other features I'd ultimately be trying to work around that I'd like to take you up on the commission; could you pm me your rates and I can draft a list of functions I look for, along with how important each one is?

Sign In or Register to comment.