aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_midiplay.cpp
diff options
context:
space:
mode:
authorVitaly Novichkov <admin@wohlnet.ru>2018-01-07 21:49:25 +0300
committerVitaly Novichkov <admin@wohlnet.ru>2018-01-07 21:49:25 +0300
commit0cc95265c5d1d0b49c8e44ec60261f8c4b08cf2b (patch)
treefa029fe750d2cf224e7e25610d8bf7de3643565c /src/adlmidi_midiplay.cpp
parentb12fb8a541c04f40645cd6c5411c45d44e023724 (diff)
downloadlibADLMIDI-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.cpp7
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;
}
}