Max Grid Studies: Vertical Playhead attempt + q's

Hey team,

After making my way through the Grid Studies for Max, I took a stab at the “suggested exercises” and put together a scale and root-note capable step sequencer. Since so many scales have 8 tones (w/the octave), I chose to make a vertical playhead run in the background instead of consuming the bottom row.

It’s all working fine, but I’ve run into a brick wall with trying to cleanly get the redraw to happen. I’m currently sending a timed bang to the matrixctrl that holds my toggled notes, but this creates a weird stuttering effect on the playhead redraw. I understand why it’s happening, but I can’t for the life of me figure out how to correctly utilize zl.reg or coll or anything else to save the toggled notes and redraw them on demand.

Found some hazy ideas on the old forum and know Brian has addressed a roadmap previously, but none of it makes any dang sense to me.

Anyone able to take a look at the project and give some insight?
derksequencer.zip (14.0 KB)

:disappointed_relieved::sweat::neutral_face:

ahhhhhhhh, this has promise!

coming off the matrixctrl that feeds back into /monome/grid/led/set $1 $2 $3 :

this routes only LED “on” messages (if $i3 == 1...) down to an eventual bank of column checks (the example is column 0, with if $i1 == 0), which will each feed into their own zl.reg ! print is there as a reference for me. zlclear will clear the zl.reg buffer if the key is unpressed.

I’m choosing this approach because it seems that zl.reg only remembers one thing at a time, so each LED has to have its own. which means this has to be monophonic for now.

next step is to time the bangs just right – one with the half-brightness column draw, then one immediately following the column clear. hopefully this will retain visual continuity.

I’ll report back!