Saving MatrixCtrl States

    Jun 05 2006 | 7:07 pm
    Hi All,
    I've been really struggling here to make something, maybe someone can help.
    I've been working on a set-up that needs to be able to remember the state of a MATRIXCTRL. The complication is that the MATRIXCTRL is 64 X 128 (it's a 64 step sequencer). It seems that everywhere I turn for this, there is an obstacle... PATTR and it's friends have a limit to numbers, as does COLL.
    When I use 'getcolumn' in this set up, because it's 64 X 128, I end up with 8192 zeros and ones. The only thing I can think of is to maybe store EACH column from the matrix to a different location in coll, but that makes things very complicated, as I'm hoping to be able to save presets with coll.
    Any ideas?
    PS. My Max/MSPness is fairly beginnerish, so apologies if there is an obvious solution.

    • Jun 05 2006 | 10:41 pm
      Sorry to say, the solution is actually dead-obvious -- the preset object saves matrixctrl states.
    • Jun 06 2006 | 9:05 am
      The solution bellow saves only the points which are enable in a
      message box (or what ever, event a pattr object). If you exceed the
      actual 4094 atoms limitation, you can split that in two message boxes.
    • Jun 06 2006 | 10:40 am
      Not sure if I fully understand what you're doing, but
      if you're using the row values to represent notes, why
      not use the matrixctrl in dial mode instead ? ie.
      Instead of representing your note values by rows,
      represent them by dial/slider position. Your
      matrixctrl then only needs to be 1 x 64 (or 4 x 16 or
      I just happen to have started working on a 64 step
      sequencer recently that does exactly that.
      The downside to using this approach is that if you
      really do need 128 note precision, you'd have to build
      a 128 state graphic for the matrixctrl; how good are
      you at automating Photshop...?
    • Jun 06 2006 | 1:44 pm
      Hey All,
      Thanks for your assistance.
      Evan, I've found the Preset object a bit flakey, I tend to not trust it. I've had it drop info... sorry I should have mentioned it.
      Emmanuel, your solution looks great... let me just see if it works when the matrix is so huge.
      Roger... I don't think I know what dial mode is. Can you explain that?
      The way that I am ulitmately using it, is to have the ability to drag and drop a MIDI sequence onto the matrix and to have it display the sequence without rests, so just notes. But I do need it to be polyphonic and compatible with any MIDI file that is under 64 steps. I've managed to accomplish it all except saving it's state.
      Anyway, if you all have more ideas, let me know!
      Thanks so much,
    • Jun 06 2006 | 3:31 pm
      That would be because it's somehow escaped
      There was some discussion about it recently at - you have scroll down the
      thread a bit.
      Basically, matrixctrls can have more than just 2
      states, so they can behave as sliders or dials; you
      need to send the matrixctrl a dialmode 1 message, and
      a dialtracking [int] message to set the sensitivity.
      You also need to make multi-state matrixctrl graphics;
      I posted a link to a few examples on the thread
      mentioned above,
    • Jun 06 2006 | 9:27 pm
      Id also be very interested in this....
      Would u have a link to a patcher-example or sth. ? Unfortunately, I
      cant find "examples" in the thread u mentioned, "only" screenshots.
      Any help or advice would be very nice ;-) and greatly appreciated!
      (e.g. settings of pictures-size, is remote-controlling (msgs)
      possible ? etc. -> Ive been trying it myself with the default
      matrixctrl pictures, but max crashed.... and unfortunately almost no
      docu/help about this topic)
    • Jun 07 2006 | 11:04 am
      The examples are at (it was in the last post of the thread).
      I've added a higher precision version of the slider
      and a 5 octave vertical keyslider.
      There is some info on dial mode, as pointed out by
      Jhno (also in the thread!) in the PictureFormat
      sub-patch in,