Couldn’t think of a great title.
You can make use of the different little patchers you’ve made for assignments by bringing them in to your performance patch. The easiest way to do this is to use the patcher object (p) — at least it makes it easy to bring a lot of different functions in and keep them separate.
I modified the synchRhythm.maxpat by adding (copy/past) the w3d3c.maxpat, which arpeggiates chords. (Created a p object, and then copied/pasted the patch.) The resulting patcher is synchRhythmChordSubPatch.maxpat.
Modifications were few. I got rid of the metro inside the subpatcher, as my timing is being handled by one of the sync’ed metros. The chord selector part of the patcher (key object through the tab object) was cut and pasted into the parent patcher, because that is the level that user interaction takes place. And I modified the makenote object to get its duration in musical time values.
For a final touch, I created a presentation-mode interface for the patcher. You have to switch over to use this (I didn’t make it a default state for the patcher).