Howdy, Stranger!

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

Sign In with Twitter
  • Editing the CNTRL:R script to allow banking of left/right knobs and faders

    Hi Amounra, i added those lines to the script but when i did it the script didn't work anymore, i can see the option LIVID CNTRLR in Ableton on CONTROL SURFACE, MDI IN and MIDI OUT but nothing happens...

    I went back to the back up i had of the file and now it is working again... but obviously without the midi channels changes that i wanted... 

    This is how i did it... but it's not working

    def assign_alternate_mappings(self, chan):
    chan = min(16, max(chan, 0))
    for index in range(8):
    self._encoder_button[index + 4].set_channel(chan) #set the contols channel to the methods second argument
    self._encoder_button[index + 4].set_enabled(chan is 0) #if the channel is not 0, we need to disable the control so that it 
    self._encoder_button[index + 4].force_next_send()
    for encoder in self._encoder: #is forwarded to Live, but not used by the script for internal processing
    encoder.set_enabled(chan is 0)
    for button in self._button:
    button.set_enabled(chan is 0)
    for cell in self._grid:
    cell.set_enabled(chan is 0)
    for fader in self._fader:
                fader.set_enabled(chan is 0)
            for dial in self._dial_right:
                dial.set_enabled(chan is 0)
            for dial in self._dial_left:
                dial.set_enabled(chan is 0)
  • modifying remote scripts

    Been experimenting with different syntax in the interim but no luck so far.  The following button assignment code I located (if this is even correct) is very different looking in terms of syntax from the (self.on_tempo_up_value.subject = self._encoder_button[9]) you provided above.

    The code I located for button assignments:

    self._button[index+4].set_on_value(ARM[self._rgb]) #set the arm color from the

    self._mixer.channel_strip(index).set_arm_button(self._button[index+4]) #assign the arm buttons to our mixer channel strips

    Also this code appears to be for all four arm buttons and attached to the mixer strips with this [index+4] manner of assignment.  Just to be clear, I have commented out the ARM code above freeing up 4 buttons, two of which (20 and 21) I would like to use for tempo.

    Argh help!

    ps: It would be great if you could include suggestions for lighting these two tempo buttons up.  Adding code to I imagine?  I can do without this if you're running short on time.

  • modifying remote scripts
    Hey Amounra,

    Thanks for the 411.  Still trying to wrap my mind around where to paste these bits.

    I assumed all this code belongs in

    I put the following in the import section:
    from _Framework.SubjectSlot import subject_slot, subject_slot_group

    I put the following:
       def on_tempo_up_value(self, value):
          if value:
       = min( + 1,

       def on_tempo_down_value(self, value):
            if value:
       = max( - 1,

    In this section:
    class Cntrlr(ControlSurface):

    As to the last part I was at a loss.  I would like to map the tempo +1 -1 buttons to two of the bottom 32 buttons, specifically the first two arm buttons (20 and 21).  In order to do this I first commented out the existing arm assigns in the following section:

    """here we assign the left side of our mixer's buttons on the lower 32 keys"""

    #self._button[index+4].set_on_value(ARM[self._rgb]) #set the arm color from the

    #self._mixer.channel_strip(index).set_arm_button(self._button[index+4]) #assign the arm buttons to our mixer channel strips

    Is this correct?  Is it also required that I comment out the deassign?

    I was not able to determine the syntax for the rest as it appears encoders are perhaps treated differently then buttons?  Can you indicate what code and precisely where to?  I get the feeling the assign and deassign code needs to be surgically placed without noob antics.

    Lastly I would also like to do the same thing for pitch +1 and -1.  Would the procedure be similar?  I realize pitch is attached to each clip and the controls would have to be context sensitive.

    Thanks for explaining Python to civilians.  I mightily appreciate it.

    Many thanks,

  • Cant get block to show grid in ableton

    If you want to run the script, set the controller back to defaults.
    There is probably an issue in your midi preferences. Can you share a screen shot of your settings?
    They should look like this:
    except everywhere it says Ohm64 yours will say Block.

  • No LED response from OhmRGB

    Your Ableton settings should look like this:
    Except under control surface, it would say "none". Unless you are using a remote script that is..

  • How to make my buttons come alive!
    From the wiki:
    "If you intend to map some of the unused buttons or over-ride some of the assignments, select the Ohm in the Track and Remote columns below.

    Ableton Live Preferences setup for OhmModes script"