Typo fix in MIDIControlModeChangeMessage - controller -> control.
List the messages per status byte written out in binary for extra clarity.
Read 64 bytes into the buffer per poll, decode as many messages as possible from the buffer in each iteration.