toString method

  1. @override
String toString()
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

@override
String toString() {
  String baseString = 'MidiEvent(type: $type, timestamp: $timestamp';
  if (channel != null) baseString += ', channel: $channel';
  if (note != null) baseString += ', note: $note';
  if (velocity != null) baseString += ', velocity: $velocity';
  if (value1 != null) baseString += ', value1: $value1';
  if (value2 != null) baseString += ', value2: $value2';
  if (data != null) {
    baseString +=
        ', data: [${data!.map((e) => '0x${e.toRadixString(16).padLeft(2, '0')}').join(', ')}]';
  }
  return '$baseString)';
}