toString method
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)';
}