[Matrixctrl] - Looking for better ways to automate turning on/off cell state
I have a matrixctrl that controls the on/off states of a 4 x 8 grid of lights. I'm looking for a way to store and recall sequences of turning on/off the lights.
Currently the way I'm doing it:
I have a [coll] for each sequence. Each index of the coll is the list of which matrix cell should turn on and off. I then step through this sequence using bangs from a metro object. This is a bit of a hassle manually filling colls (i suppose there's other ways of filling it, perhaps clicking on and using an matrixctrl object to create a list of each step's changing cell state in the sequence, and then assigning that list an index in the coll object). Also switching coll's/sequences isn't too clean, and requires a clear message between sequence changes. It'd be nice to be interpolate between the two sequences.
For example with this particular coll

my coll is filled with:
0, 0 0 1 3 0 1 0 7 1 3 7 1;
1, 0 1 1 3 1 1 0 6 1 3 6 1;
2, 1 2 1 2 2 1 1 5 1 2 5 1;
3, 1 3 1 2 3 1 1 4 1 2 4 1;
each time the coll goes back to index 0, that select object clears the matrix before receiving index/step 0's cell state values. Is there a way i can incorporate that clear into the coll without adding an extra step/index? Fuse it into index 0 somehow...
Would love to hear different and creative ideas for this type of control. Meanwhile i'll keep plugging away making a library of colls.
I could use that [live.grid] object, but then, i'm pretty sure, I would need to have 32 rows, one for each light. I like using [matrixctrl] because it gives me a visual representation of the light grid and what it's doing.
preset connected to matrixctrl ?
feed preset object a number and it'll be the same as using a coll without you having to fill in a load of text.
For sure. I wonder how pattrstorage would interpolate between lists of matrixctrl cell states. (edit: it doesn't)
But I guess if i wanted to use pattrstorage with presets in this case, I would need an individual preset/pattr pair for each sequence. Or I could have one really huge preset with all the sequences stored within. But i feel it's easier to have a preset per sequence, so it's easier to locate the beginnings and ends of each sequence.
Use multislider.
You can get seperate values of the list with the zl. Objects.
With one known list you can use zl.rot to rotate the list and use zl.slice 1 to only get the 1st number.
Check the forums for list interpolation.
With two multisliders and the vexpr object list interpolation is pretty easy.