generateData method

  1. @override
Uint8List generateData()
override

Generates MIDI bytes for this message without sending.

Subclasses override this to provide typed message encoding.

Implementation

@override
Uint8List generateData() {
  final clampedParameter = parameter.clamp(0, 16383);
  final parameterMSB = clampedParameter ~/ 128;
  final parameterLSB = clampedParameter & 0x7F;

  final clampedValue = value.clamp(0, 16383);
  final valueMSB = clampedValue ~/ 128;
  final valueLSB = clampedValue & 0x7F;

  final generated = Uint8List(9);
  // Data Entry MSB
  generated[0] = 0xB0 + channel;
  generated[1] = 0x63;
  generated[2] = parameterMSB;

  // Data Entry LSB
  generated[3] = 0x62;
  generated[4] = parameterLSB;

  // Data Value MSB
  generated[5] = 0x06;
  generated[6] = valueMSB;

  // Data Value LSB
  generated[7] = 0x26;
  generated[8] = valueLSB;

  return generated;
}