setTrack method

void setTrack(
  1. String? track
)

Implementation

void setTrack(String? track) {
  if (track != null) {
    var data = [0x03] + utf8.encode(track) + [0x00];
    _frames
        .firstWhere(
          (frame) => listEquals(frame.name, 'TRCK'.codeUnits),
          orElse: () {
            _frames.add(ID3Frame('TRCK'.codeUnits, List.empty()));
            return _frames.last;
          },
        )
        .data = data;
  } else {
    _frames.remove(
      _frames.firstWhereOrNull(
        (frame) => listEquals(frame.name, 'TRCK'.codeUnits),
      ),
    );
  }
}