We confirm Paul's reassurances regarding the transmission of MIDI data taking precedence over, say, screen updates. In principle, C-Lab programs always 'prioritise' MIDI notes, with controllers second, followed by everything else. The computer screen comes last (though needless to say, the C-Lab screen-refreshing routines are optimised for speed). While on the subject of screen-refreshing, the most extreme example of Paul's "molasses" occurs when a large amount of Sys Ex data is transmitted: the screen may well freeze for a few seconds while the Atari grunts away at transmitting the bytes at all possible speed (once the header has gone, the main body of Sys Ex data follows on as quickly as the MIDI baud rate allows, with no regard to pulses, clocks etc).
There's another interesting twist: where more than one note occurs on the same pulse (eg. where the music has been quantised), C-Lab programs transmit the lowest-pitched note first, followed by the other pitches in ascending order (you can follow this hierarchy in the event list) — it's done for psychoacoustic reasons, because the ear/brain extracts information on relative timing from low-pitched sounds.
And because MIDI is a serial killer (sorry, couldn't resist that one!), and Intensely hierarchical in nature, you can always predict which events will be sent in which order, given some background information:
• In a chord, lowest note first.
• In a pattern, track 1 first, followed by 2, 3 etc.
• In an arrangement, chain 'a' first, then 'b', 'c', 'd'.
• Between notes of the same pitch, but on different MIDI Channels, on the same pulse in the same track: dictated by the order in the event list.
• Between notes and MIDI controllers on the same pulse: notes first, thanks to the 'Play Algorithm' function in the Flags menu; if this is disabled, then notes and controllers share equal importance in the hierarchy, a situation that is occasionally required by some devices such as mixing consoles.
• Between MIDI Out ports A, B/C/D, E and F (for example, in one pattern tracks 1,2, 3 and 4 each contain a C3 at the same time position; each track is assigned to a different port, say A, B, E and F). Here, the speed at which the notes are transmitted via their respective ports is appreciably higher than if the same port were used by all four notes, since there is no queueing at the output buss. Using this information, you should spread your MIDI data load between your available MIDI Out ports to optimise the speed of transmission.
Using more than one of Export's Outputs gives you more Channels, but without the corresponding speed enhancements of the other ports; only use the extra two parts for non data-intensive, 'special case' devices (old, dubious synths, mono-mode devices etc).
So here at least, there doesn't appear to be any *MIDI Channel* event prioritisation - track order yes, but not MIDI channel order - these events are transmitted in the order they appear in the event list.