Howdy, Stranger!

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

Sign In with Twitter

Code: Change Encoder Modes & LED Ring via MIDI

edited March 2014 in Hardware

For an Encoder on one of the Code's 4 banks to change its mode (Absolute/Relative) or its LED Ring Style ('Walk' etc…) using MIDI Messages in Max, which messages need to be sent in what order?

Currently, the algorithm I use is to switch to a bank and send CC 1 80 on Ch 16 to turn Encoder 1 into Relative Mode. This does not work every time though, I take it the messages will be applied to the encoders on the currently visible bank but somehow information gets lost on the way…

Q: Does the bank on the Code have to be selected manually bmo Bank Cycle Button or can it likewise be selected with a Ch 16 Program Change message to the Code before sending the CC value to the Encoder/s?

Setting the LED Ring Style works most o the time.

The idea is to save button modes and LED Ring styles in a pattrstorage, which means that when loading the set all button's modes etc. will want to be retrieved on start-up. If a chain of messages is needed to first select the bank, then update the pattrs, then select the next bank, update pattrs, etc. — which method would work best on the Code? Perhaps some time needs to elapse before Encoders can receive the settings info?

Help HIGHLY appreciated!


  • You may find a useful command here:

    Possibly set bank channel or set basic channel would do what you want?

  • Thanks Mark,

    I have been staring at these SysEx codes a couple of times before but couldn't find an angle on how to actually send these commands to the controller. As for I am using Max, would it be possible for anyone to post or refer to an uploaded example patch where any such SysEx code (preferably one which could be of use to me here) can be sent to the midiout?
    the only perhaps suitable one I found is 

    1D : Set Ring Mode (all encoders)F0 00 01 61 04 1D B1 B2 B3 B4 B5 B6 B7 B8 F7though I'd like to map and auto-update them individually… 

    I figure the [sxformat] object can be helpful but I couldn't get it to work yet or format the message correctly — if anyone could send me a simple patch that explains itself I could see what I can do from there. That would be swell!
    Thanks everyone
  • Hi Moon, thanks for the advice.

    I had looked at, absorbed and understood the spreadsheet before — of course, without sysex, the algorithm is pretty limited, less reliable and changes to LED Rings or encosion modes can only be applied to encoders on the currently active bank. the latter restriction extends to sysex too I figured.
    I have finally figured out how to send the sysex messages in Max to get where I wanted to be — a great deal of math and abstract thinking required though.

    the modus oparandi is to sequentially comb through the 4 banks and output the pattr storage to format a sysex message inbetween the bank switches for each bank's preset to be sent to the Code's Encoders. 

    The advantage of sysex is it takes one message only and ignores an Encoder's LED Ring number, which may have been modified.

    I can now store & recall my encoder presets for all four banks simultaneously when loading a new live set, so I am close to super happy.
Sign In or Register to comment.