diff options
author | Vitaly Novichkov <admin@wohlnet.ru> | 2018-11-01 02:44:39 +0300 |
---|---|---|
committer | Vitaly Novichkov <admin@wohlnet.ru> | 2018-11-01 02:44:39 +0300 |
commit | 699b534eb1dcd3964daf99cc572c6819bdd449a8 (patch) | |
tree | 8ba86d405e473e75178fa25f236368a4754a9f1f /src/midi_sequencer_impl.hpp | |
parent | 62dba3fcf3b27d2eefd25abc7a646ad89b569a2a (diff) | |
download | libADLMIDI-699b534eb1dcd3964daf99cc572c6819bdd449a8.tar.gz libADLMIDI-699b534eb1dcd3964daf99cc572c6819bdd449a8.tar.bz2 libADLMIDI-699b534eb1dcd3964daf99cc572c6819bdd449a8.zip |
MIDI Sequencer: Fixed missing per-track titles
Old code have allowed track titles be passed for only case debug message
hook was set. Unfortunately, it's a mistake. Track titles collection
must NOT depend on a debug message hook existing.
Diffstat (limited to 'src/midi_sequencer_impl.hpp')
-rw-r--r-- | src/midi_sequencer_impl.hpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/midi_sequencer_impl.hpp b/src/midi_sequencer_impl.hpp index 3a4df4e..f5e1b15 100644 --- a/src/midi_sequencer_impl.hpp +++ b/src/midi_sequencer_impl.hpp @@ -1225,12 +1225,12 @@ BW_MidiSequencer::MidiEvent BW_MidiSequencer::parseEvent(const uint8_t **pptr, c if(m_interface->onDebugMessage) m_interface->onDebugMessage(m_interface->onDebugMessage_userData, "Music title: %s", m_musTitle.c_str()); } - else if(m_interface->onDebugMessage) + else { - //TODO: Store track titles and associate them with each track and make API to retreive them std::string str((const char *)evt.data.data(), evt.data.size()); m_musTrackTitles.push_back(str); - m_interface->onDebugMessage(m_interface->onDebugMessage_userData, "Track title: %s", str.c_str()); + if(m_interface->onDebugMessage) + m_interface->onDebugMessage(m_interface->onDebugMessage_userData, "Track title: %s", str.c_str()); } } else if(evt.subtype == MidiEvent::ST_INSTRTITLE) @@ -2117,7 +2117,7 @@ bool BW_MidiSequencer::parseIMF(FileAndMemReader &fr) event.data[0] = imfRaw[0]; // port index event.data[1] = imfRaw[1]; // port value event.absPosition = abs_position; - event.isValid = true; + event.isValid = 1; evtPos.events.push_back(event); evtPos.delay = static_cast<uint64_t>(imfRaw[2]) + 256 * static_cast<uint64_t>(imfRaw[3]); @@ -2131,7 +2131,7 @@ bool BW_MidiSequencer::parseIMF(FileAndMemReader &fr) } } - if(m_trackData[0].size() > 0) + if(!m_trackData[0].empty()) m_currentPosition.track[0].pos = m_trackData[0].begin(); buildTimeLine(temposList); |