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 & 0x7F;

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

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

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

  return generated;
}