live.grid in Matrix mode - working with the Steps Values outlet


    Jan 26 2012 | 4:24 pm
    When live.grid is in Matrix mode, it means that each step (column) can have multiple 'on' points.
    The second outlet sends a message with details of all the 'on' points, as described in the live.grid reference:
    Out second outlet: The steps values are sent out this outlet whenever they are changed via the mouse or a message. If the live.grid object is in Matrix Mode, the step value/y value coordinates of all "on" points are sent out the outlet.
    So, for a 4x4 grid with all points set to 'on', the output message would be:
    1 1 1 2 1 3 1 4 2 1 2 2 2 3 2 4 3 1 3 2 3 3 3 4 4 1 4 2 4 3 4 4
    (I've added line breaks to make it a bit easier to follow).
    Or the same grid with just the bottom-left and top-right points set to 'on' would be:
    1 1 4 4
    (also see screenshots)
    What's the best way of taking a list like this (that can vary in length) and doing something useful with it? I think I first need to split the list into co-ordinate pairs. I don't think I can use unpack, because the length is variable. I searched for a 'for' or 'foreach' type loop object, but I didn't find one.

    • Jan 26 2012 | 5:00 pm
      hmm, looks like the object 'zl delace' could be a good start...
    • Jan 26 2012 | 5:17 pm
      [route 0]
             |
            [zl iter 2]
             |
            [unpack i i]
      Been away from Max for a while, and I don't have it with me ATM, but I *think* this is how I do it. IIRC, You need the [route 0] to catch whenever you clear the last step.
    • Jan 26 2012 | 10:50 pm
      disco can you be more specific about what your using it for? I've been using live.grid in my current project and I have been equal parts pleased and frustrated by it. Matrixctl is rapidly gaining favour for me.
    • Jan 30 2012 | 2:51 pm
      hey christripledot, thanks for the suggestion of [zl iter 2] - it was just what I needed to divide up the large list into individual x,y coordinates and then forward them onwards individually. Good call on the [route 0] too - although I used a [zl filter 0] instead.
      LiamCormacGould - I'm basically taking the output of one grid and then feeding it to a different grid. For a little more info, see my other thread: https://cycling74.com/forums/multicoloured-step-sequencer
      What in particular do you find frustrating about live.grid? Maybe I can help.
    • Feb 02 2012 | 4:14 pm
      don't get me wrong live grid is useful and i like it for what it does. Not having any real problems with it now. I think what I was referring to was the fact that there are only two clickable states on/off. Also that the live grid doesn't report off squares just on squares. which for what I was doing at the time was annoying.
    • Feb 07 2012 | 11:34 am
      Yes, the non-reporting of off squares is something I will also have to deal with soon.
    • Feb 08 2012 | 8:20 pm
      If you need to save somewhere and then recall the grid's state, you need to send it a "clear" message before recalling to put every cell to "off" state. It took me some time to figure this out...