package com.xenoage.zong.io.midi.out; import com.xenoage.utils.annotations.MaybeNull; import com.xenoage.zong.io.midi.out.time.TimeMap; import lombok.AllArgsConstructor; import lombok.Getter; import com.xenoage.utils.annotations.NonNull; /** * A MIDI sequence with additional information. * * @param <T> the platform-specific sequence class * * @author Andreas Wenger */ @AllArgsConstructor @Getter public class MidiSequence<T> { /** The sequence data. */ @NonNull protected T sequence; /** Index of the metronome track, or null if there is no metronome track */ @MaybeNull protected Integer metronomeTrack; /** Mapping between MIDI and score time. */ @NonNull protected TimeMap timeMap; }