Gate time ...timing events
To sequence a vst I need the exact gate time ( hold note for makenote )
Metro is set to 100 ms
Unpacking the matrix ctrl into a change followed by "sel 0 1" ,gives me sustained notes (and rests) if multiple cells are lit -unlit , works great for controlling the sustain of an adsr or going through zl lookup ( with a separate accumulator )
However , this doesn't provide the gate length that's needed for the vst or midi instrument
For that I again use the sel 0-1 module but "change" removed (strucuture with red cables ) , the bangs then go into a counter and I get the correct number of bangs which is then mutliplied by metro time
To reset count , the 0 outlet of sel is used but as you all guessed this appening to fast for the makenote to actually process

I think the timer might be a better solution , for now ...
Problem is that it keeps counting regardless

you can copy - compress your stuff in a patch and upload it here.
Otherwise one has to download all that non working patches in order to see what's wrong.
After having a short look and hope to have understood correctly
that you read selected row to trigger notes accumulating active cells
in set range - you count through columns.
If that's so - you don't need that complicated construct at all,
simply trigger note on when first cell is active and off on next inactive cell .
And most of functions can be simplified, started from that unneeded ggate
I don't read the rows , I read the column , but in the example only the first lane is poopulated .
The unpack that goes into a gswitch (nr inputs= nr of lanes ) makes it easy to instantly switch between lanes
For example , the first rows could be filled completely except the last step = this equals to a long sustained note
The second row could be populated with 4 steps ( 1 quarter note ) followed by 4 non lit steps = 1 quarter note rest .
By unpacking all the rows into a gswitch , I can instantly switch between lanes .
Sequencing is done by getcolumn obviously because we're going left to right
You do read rows, columns are only index, selected row
gets stepped through that ggswitch output.
so row 3 could be 1 1 0 1 0 1 1 if one loops only 7 columns = row indexes
which then in case that one cell represents 16th note makes

what I posted does that, and also takes care that even full length note gets restarted
correctly.
Your attempt to determine note length can't work, because you know how many
consecutive cells are active only when they end.
............................
It would be more efficient to get row and then step through it
instead of getting columns just to pick 1 cell out of it.
as simple as this
