Howdy, Stranger!

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

Sign In with Twitter

OHM with !! RGB !! support in Reason?

edited May 2013 in Hardware

hi there,

I am currently customizing my OhmRGB to suit my needs in Reason by means of reduced remote scripts as for I am using a Code as well which covers most of the essential remote functions of individual devices.
Reason supports the Ohm64 with a remotecodec that allows the user to directly edit the targeted device in the sequencer or permanently lock it to one of them. This is of course good — the Code is even better due to its LED-feedback for the knobs which updates the current values of the parameters, which the Ohm is of course not capable of.
I have created different remote scripts for the Ohm to make best use of it depending on the current environment. While I use the Code to directly edit the targeted device and its parameters I am using the Ohm to control global functions like Loop settings, arming tracks, solo functions, BPM, Patch select etc. The only function I have not yet figured out, is how to edit the lua files in such a way that I can assign the OhmRGB's buttons to individual colors. This would be very useful for I could match the LED's colors to those of the buttons within Reason (i.e. Solo: green, Mute: red, Loop On: blue etc.) as well as use different colors to differentiate the button's functions generally.

Q: Is there a way to define the colors in the lua files to achieve this? — otherwise I am basically using an Ohm64 in Reason, without its super swell RGB functionality.

help appreciated!
++ I gladly share my remote scripts in the end if it is of any use to anyone, definitely for those using a Code with the OhmRGB in Reason.



  • It's been a while since I've done reason remote stuff, but this should be possible. I think you have to setup up modes for a MIDI input in the remote_init() function. For example:
    {name="Grid 1", input="button", output="value", modes={ "Toggle", "ThreeWay" }}, 
    or even 
    {name="Grid 1", input="button", output="value", modes={ "SubtractorOnOff", "MalestromOnoff" }}, 
    if you want to be synth specific!

    In the .remotemap file, you then tell an item what mode to use in the last column:
    Control Surface Item Key Remotable Item Scale Mode Group
    example, with the Key and Scale columns left blank
    Map Grid 1 Active Toggle
    (Columns are delimited by tabs. If you use a text editor software like TextWrangler, you can show the tab stops pretty easily.)

    How this all works out in reality, I can't fully answer because I haven't done this. Check your private messages on this forum...
  • Hi @ Moon & Pete!

    I see, the .png-file seems to have revealed the necessary info. I assume now, that if I were to set a button's maximum output to anything between 8-15, it will light up in red (according to the picture reference you sent)...!? very good so far.

    this would of course be a permanent solution, a global one, for the button to always light up in red regardless of its linked function (i.e. in a remote script).

    i don't suppose there is a way of setting the buttons' output color in the remotemap-file to light up in different colors according to function when switichng to another device! or KBV?

    or perhaps one must set up all colours for all buttons in the lua file under different names (i.e. 'Grid 1 RED', 'Grid 1 MAGENTA' etc.) and then refer to them in the remotemap-file accordingly?

    it est:

    Map  Grid 1 RED       Track Mute

    Map  Grid 1 GREEN  Track Solo


    for example... would that work!?

    thanks for the advice, will definitely check it out, as soon as I can!!

  • hi again,

    have tried to experiment a little with the lua-file.
    when extending the command to

    {name="Grid 1", input="button", min=0, max=127, output="value"},

    I am only setting the range for the button it has anyway (0-127 as off/on).
    setting the max value to anything lower than 127 will only let me turn off an on/off-button in reason because the max-value is no longer reached by pressing the grid button. this has of course only little to do with the LED feedback and its colors…

    messing around with the input types (button, value, keyboard etc.) of the grid buttons as well as inserting min/max to the corresponding lines only lets the grids' LEDs show which value range one is currently on when assigning them to a knob inside reason by means of color. having said that, these velocity values do not match the order of the ones given in the png-file you sent me (a maximum of 40 ends up being dark blue, though according to the key in the png-file this should color the button in light blue).

    my question was actually about whether one can assign certain colors to certain buttons/functions for a remote script, and ideally so that depending on the focus on a device, a button could have a different color along with its different function… 

    a simply put example:
    if I set the so-called 'BPM button' on the OhmRGB to be my reason document loop on/off button (in the remotemap-file), then I would want it to be blue when I activate it, and white when the loop is off.
    ideally though, it would be extra swell if I could assign it to a certain function of a targeted device and let it be a different color there, like an on/off-button of the alligator-device for example whenever I target it, let's say in red when on, and white when off.

    ps: setting minimum led-output values to 'white' would show all available button-parameters of a device on the OhmRGB because all those which are currently zero would light up in white, rather than being off like all other buttons which have no function at all.

    now is this feasible? variable colors depending on functions? or at least option 1 where i set the output-colors of buttons in the lua file to certain colors?

    pps: thanks pete for the remote codec references you sent me, i have combed through them with regard to lua-explanation but couldn't find anything explaining about variable color-led output yet.

    i am sure there is a way!! please let me know if you have ideas or even if you do not at the moment!
    thanks again for your help!!
  • okay,

    at least I have now figured out how to set the global colors for the buttons when switched on and off.
    one has to refer to the local outputs and add the color code to it like so:

    {pattern="9? 26 xx", name="Grid 53", x="(value*32)+1"},

    unlike the key from your png-file, '32' makes the button go dark blue rather than cyan.
    the order is therefore: white, cyan, magenta, red, (dark) blue, yellow and finally green as 127, but in the (kind of doubled) intervals suggested by the screenshot: 1, 4, 8, 16, 32, 64, 127.

    global controls can now be set to seven different colors on the OhmRGB by adding the line

    x="(value*[color code])+1) into the line of the corresponding button in the lua-file.

    the '+1' will set the button color back to white when value is 0 (i.e. button/value 'off'), as for white=1-3.
    if the desired button color when switched 'on' is green, one has to set the color code to "...*126)+1" instead of 127 because 126+1=127. in all other cases an extra number up will still display the same color, but 127 cannot be exceeded.

    Now I can configure all my global controls on the Ohm, like arming tracks will be red, solo buttons of targeted tracks are green when switched on and controls which don't give any outputs (like moving the loop one bar forward) remain lit in e.g. dark blue so I can recognize their functions. adding the '+1' to the mapped buttons enables the user to see which ones actually have anything mapped to them.

    it would of course be even better, if buttons changed color according to the targeted device, or at least there being a way to do it. this is the last bit of info I am after.

    hopefully more anon!
  • one can, however, duplicate entries within the lua file and rename them, setting up different color output values to each of them and refer to them individually in the remotemap file according to one's needs (choose a color for the desired button color in a device's remote mapping):

    Grid 1
    Grid RED1
    Grid GREEN1
    Grid CYAN1     etc.

    the button will change color when a different device is being targeted — the only snag is that out of those entries (duplicates) sharing the same CC/note messages (in the lua file) regardless of their name, only the first one mentioned will be accessible from the Ohm so that remote mappings using the later entries will not respond. it seems like there is no way around this issue as for the buttons can only send one (the first listed) message to Reason while being capable of receiving all seven (colors) from it.

    however, if one declares a 'bank cycle button' on the OhmRGB, comments out the final lines of its lua codec, sets up 3 further duplicates of all entries, gives them unique names and replaces the "?" (variable MIDI channel) by 0, 1, 2, 3 (for MIDI channels 1, 2, 3 and 4) respectively, one may use 4 different versions of every button within Reason, with only one set of buttons controlling the remote scripts and all others being freely assignable. furthermore, these sets of buttons can then be freely setup in any color of choice (i.e. bank 1 in magenta, bank 2 in yellow etc., grids 9-16 of bank 3 all in cyan etc.).

    so far so good — any further suggestions?
Sign In or Register to comment.