parse method

List<MidiMessage> parse(
  1. Uint8List bytes, {
  2. bool flushPendingNrpn = true,
})

Parse bytes into typed messages.

Set flushPendingNrpn to false to preserve partial NRPN/RPN state across parse calls when packets are split across chunks.

Implementation

List<MidiMessage> parse(Uint8List bytes, {bool flushPendingNrpn = true}) {
  final messages = <MidiMessage>[];

  for (final byte in bytes) {
    _consumeByte(byte & 0xFF, messages);
  }

  if (flushPendingNrpn) {
    _flushAllPending(messages);
  }

  return messages;
}