Midi-Controlled Arpeggiator
Hello! I am attempting to make a simple midi arpeggiator in MAX, but am struggling with this patch. I believe the issue is with the zl group object, but I may be wrong. I am modeling this after Adam Murray's 2008 patch, which features a random arpeggiator (my goal is to have mine count upwards in pitch order). Any help is much appreciated; I am very much a beginner with MAX! Thanks so much!
Could you be a bit more specific ? What exactly do you want your patch to do ?
Yes! Sorry about that. The goal is for the patch to cycle upwards pitch-wise through the notes in the chord that is being held down on the midi controller. For example, if I'm holding down a C Major chord, the patch will cycle through the notes C E and G at a rate of 200ms.
Not extremely sophisticated, but could serve as a base ?

A few things--
1: I only want the arpeggiator to run as long as I'm holding down the chord. I guess the solution to that would be to have a note OFF message trigger the zl clear object?
2. I seem to be getting a weird rhythm from the patch you attached; combination of chord hits and individual notes. Could be user error!
3. This may be a stretch-- hoping to be able to use chords of varying note amounts (3 or 4, mostly), which is why I have the len object looping back around to the counter to set the max in the original patch.
Thanks for the help, and for introducing me to a few new cool objects!
to keep track of notes, look into [borax], which among other things will tell you the amount of held notes. It'll also allocate a number to each held voice, which you can then store in [coll]
I personally dislike [thresh] for anything timing-specific.
borax like that does not sort notes to cycle upwards by pitch.
"(my goal is to have mine count upwards in pitch order)"
All notes once played remain in coll, which makes sorting impossible

You need a different strategy, also decide if sequencer should restart if you add lower note to held chord