enhanced DEBUG_TRACE messages for MIDI playlist rendering

This commit is contained in:
Paul Davis
2025-07-14 09:12:22 -06:00
parent 4b834d11b3
commit b153add0ef

View File

@@ -357,6 +357,11 @@ MidiPlaylist::render (MidiChannelFilter* filter)
} else {
DEBUG_TRACE (DEBUG::MidiPlaylistIO, string_compose ("\t%1 layered regions to read\n", regs.size()));
#ifndef NDEBUG
for (auto & r : regs) {
DEBUG_TRACE (DEBUG::MidiPlaylistIO, string_compose ("\t\t%1 on layer %2\n", r->name(), r->layer()));
}
#endif
bool top = false;
std::vector<samplepos_t> bounds;
EventsSortByTimeAndType<samplepos_t> cmp;
@@ -370,6 +375,7 @@ MidiPlaylist::render (MidiChannelFilter* filter)
if (--n == 0) {
/* render topmost region as-is */
DEBUG_TRACE (DEBUG::MidiPlaylistIO, string_compose ("render top region %1\n", mr->name()));
mr->render (evlist, 0, _note_mode, filter);
} else {
Evoral::EventList<samplepos_t> tmp;
@@ -392,6 +398,7 @@ MidiPlaylist::render (MidiChannelFilter* filter)
mtr.resolve_state (evlist, slist, ev->time());
} else if (region_is_audible_at (mr, t)) {
/* no opaque region above this event */
DEBUG_TRACE (DEBUG::MidiPlaylistIO, string_compose ("region %1 is audible for event %2\n", mr->name(), *ev));
uint8_t* evbuf = ev->buffer();
if (3 == ev->size() && (evbuf[0] & 0xf0) == MIDI_CMD_NOTE_OFF && !mtr.active (evbuf[1], evbuf[0] & 0x0f)) {
; /* skip note off */