80 using List = QList<Chunk>;
85 void readHeader(
const Chunk& headerChunk);
86 void readTrack(
const Chunk& trackChunk);
87 MetaEvent readMetaEventAndAdvanceCursor(
const Bytes& trackChunkData, uint64_t& cursor, Track* track);
88 uchar compileMidiEventLength(
const uchar marker)
const;
90 uint64_t variableLength(
const Bytes& data, uint64_t& cursor)
const;
#define XXMUSIC_DECLSPEC
Definition XXMusicExportDef.h:11
Reader(const Bytes &content)
uint16_t ticksPer16
Definition XXMidiFile.h:57
uint64_t Tick
Definition XXMidiFile.h:22
uint64_t compileBarCounter(uint64_t trackIndex) const
QMap< Tick, MessageList > TimeMessageMap
Definition XXMidiFile.h:23
TimeCode::Duration fromTick(const Tick &tick)
Track::List trackList
Definition XXMidiFile.h:59
const Track::List & getTrackList() const
uint64_t uSecsPerQuarter
Definition XXMidiFile.h:58
Tick toTick(const TimeCode::Duration &duration, const double &precentageToNextBeat=0)
uint16_t Duration
Definition XXTimeCode.h:18
MetaEvent
midi meta events
Definition XXMidiCommon.h:76
QList< uchar > Bytes
Definition XXMidiCommon.h:11
Definition XXMidiFile.h:63
Definition XXMidiCommon.h:17
Definition XXPopulatedAbstract.h:11
Definition XXMidiFile.h:26
uchar seconds
Definition XXMidiFile.h:31
uint16_t bpm
Definition XXMidiFile.h:29
uint32_t minutes
Definition XXMidiFile.h:30
Tick maxTick
Definition XXMidiFile.h:27
uint64_t barCounter
Definition XXMidiFile.h:28
Definition XXMidiFile.h:35
TimeMessageMap messageMap
Definition XXMidiFile.h:40
QList< Track > List
Definition XXMidiFile.h:42
Tick maxTick
Definition XXMidiFile.h:36
std::string name
Definition XXMidiFile.h:37
bool isMonophonic
Definition XXMidiFile.h:38