From c45be2266e5f081026d96778b23d238ca0f75423 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 9 May 2021 17:51:55 -0600 Subject: [PATCH] support SMF markers without labels --- libs/evoral/SMF.cc | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/libs/evoral/SMF.cc b/libs/evoral/SMF.cc index 7594ef0e77..ece8b49a20 100644 --- a/libs/evoral/SMF.cc +++ b/libs/evoral/SMF.cc @@ -599,22 +599,26 @@ SMF::load_markers () if (smf_event_is_metadata(event)) { if (event->midi_buffer[1] == 0x06) { - string marker = smf_event_decode (event); - if (!marker.empty()) { - if (marker.find ("Marker: ") == 0) { - marker = marker.substr (8); - } - _markers.push_back (MarkerAt (marker, event->time_pulses)); + char const * txt = smf_event_decode (event); + string marker; + if (txt != 0) { + marker = txt; } + if (marker.find ("Marker: ") == 0) { + marker = marker.substr (8); + } + _markers.push_back (MarkerAt (marker, event->time_pulses)); } if (event->midi_buffer[1] == 0x07) { - string marker = smf_event_decode (event); - if (!marker.empty()) { - if (marker.find ("Cue Point: ") == 0) { - marker = marker.substr (8); - } - _markers.push_back (MarkerAt (marker, event->time_pulses)); + char const * txt = smf_event_decode (event); + string marker; + if (txt != 0) { + marker = txt; } + if (marker.find ("Cue Point: ") == 0) { + marker = marker.substr (8); + } + _markers.push_back (MarkerAt (marker, event->time_pulses)); } } }