Howdy, Stranger!

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

Sign In with Twitter

Tweaking OhmModes - is this doable?

Hi all,

I've had my Ohm RGB for less than 24 hours, and I'm head over heels. Seriously... For my purposes, it's perfection.

The main draw to this device was the ability to tweak it and write my own scripts. So here's my first goal:

I want to re-map the 3rd row of knobs to "Send C", similar to the first two rows, rather than the 3rd row being used for panning. I've taken a look at the main OhmModes script, and I can see the line that assigns the first two rows of knobs, and I also see the line of code the maps the 3rd row. Based on the syntax I see on those two lines of code, it's not clear how to accomplish my goal.

Can someone provide any guidance? FYI, I'm a Director of Technology with over 23 years of development experience, so all I need is the basic info. I don't necessarily need a verbose explanation.

Any advice would be greatly appreciated!



  • Hey Rick,

    Totally doable, and not too complicated. To start with, you'll want to change that line to:

    self._mixer.channel_strip(column).set_send_controls(tuple([self._dial[column], self._dial[column + 4], self._dial[column + 8]]))

    You'll also need to remove the assignments that were originally made for the panning by commenting them:

    #self._mixer.channel_strip(column).set_pan_control(self._dial[column + 8])

    I think that's all that needs to be changed, but I'm not in a place to test it. Have a look at your log.txt file in Ableton's preferences (if you open it in Console on OSX, it will update each time there's an entry) to see if you are getting any errors, and I can help you out further if you need it.

    Cheers :)

  • I see!

    Thank you very much, kind sir!

    I can see a late night ahead...

  • I have been searching for a thread just like this. Same problem, and another similar; I wish to edit the auto map of the EQ3 on DJ mode so it reaches maximum value at 0db as opposed to +6 by default.
  • Everybody wants that ;) Me too....and I write this stuff. So I shoulda made it, huh?

    Well, unfortunately, it's a mess to do it, and it wouldn't integrate well with the rest of the _Framework if you did. It requires a bunch of rewriting of things. I hope to get around to it at some point, but the crux of it comes down to this:

    The MIDIMapping in the Python scripts does some of its own processing, but when it comes to parameters (of which EQ, Volume, etc. are), it actually just instructs Live how it should link to things. It doesn't do any of the processing itself. It's essentially just telling Live to set up a mapping in the same way that you would do it manually when you assign a User Mapping, but it does it dynamically depending upon what area of the mixer you are controlling (or effect, or whatever).

    This being the case, there's no capacity within those calls to set the mapping up so it only goes to 0 instead of +6. Its ridiculous, and they should've fixed this bit years ago.

    The alternative is to do all the processing in the Python script, but that means bypassing the _Framework, and a lot of extra coding.

    The good news is that you can set a minimum and maximum for a fader's throw when you manually map it (why can't I do this with Python? tell me, please?).

Sign In or Register to comment.