They are simply MIDI notes. Nothing as fancy as sys-ex (which you have a very hard time outputting in sync) or controller codes.

Essentially, the arranger itself looks at the MIDI note output of one of the Parts (Chord recognition can be LRW, UPR or both - Whole - depending on Performance setup) called the NTA. The arranger then uses these notes played to feed to the Lookup Tables, where it determines what the chord and root is, depending again on arranger settings. These then get fed off to the NTT (the note transposition tables) where the output voicings are determined by tables that provide the MIDI notes output, depending on input and note range (there is usually a parameter that determines how high or low a chord inversion can be transposed as is, and what should be done with the overflow notes should it exceed that).

But, essentially, a Chord Sequencer doesn't need to bother its head with all that. Simple mirroring of the MIDI note input to output is all that is needed, as the arranger's own NTT's and lookup tables do all the work.

Probably the only complicated thing you'll need to work out is how to truncate notes that hang over the loop boundary, so that the first notes in the loop don't simply ADD to the notes still being played at the end of the loop, but cut them off and play alone.

Hope this gives you some ideas...
_________________________
An arranger is just a tool. What matters is what you build with it..!