diff options
author | Vitaly Novichkov <admin@wohlnet.ru> | 2018-01-07 21:49:25 +0300 |
---|---|---|
committer | Vitaly Novichkov <admin@wohlnet.ru> | 2018-01-07 21:49:25 +0300 |
commit | 0cc95265c5d1d0b49c8e44ec60261f8c4b08cf2b (patch) | |
tree | fa029fe750d2cf224e7e25610d8bf7de3643565c /src/adlmidi_midiplay.cpp | |
parent | b12fb8a541c04f40645cd6c5411c45d44e023724 (diff) | |
download | libADLMIDI-0cc95265c5d1d0b49c8e44ec60261f8c4b08cf2b.tar.gz libADLMIDI-0cc95265c5d1d0b49c8e44ec60261f8c4b08cf2b.tar.bz2 libADLMIDI-0cc95265c5d1d0b49c8e44ec60261f8c4b08cf2b.zip |
Allow MIDI-tracks with missing EndOfTrack event
Diffstat (limited to 'src/adlmidi_midiplay.cpp')
-rw-r--r-- | src/adlmidi_midiplay.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp index 9fcc0f1..bfe6f9a 100644 --- a/src/adlmidi_midiplay.cpp +++ b/src/adlmidi_midiplay.cpp @@ -399,10 +399,9 @@ bool MIDIplay::buildTrackData() evtPos.delay = ReadVarLenEx(&trackPtr, end, ok); if(!ok) { - int len = std::sprintf(error, "buildTrackData: Can't read variable-length value in the track %d.\n", (int)tk); - if((len > 0) && (len < 150)) - errorString += std::string(error, (size_t)len); - return false; + /* End of track has been reached! However, there is no EOT event presented */ + event.type = MidiEvent::T_SPECIAL; + event.subtype = MidiEvent::ST_ENDTRACK; } } |