mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 00:04:56 +01:00
fix MIDI playlist rendering with opaque regions
regions are sorted lowest-first, not highest-first.
This commit is contained in:
parent
ee4b68fc80
commit
0edba1f559
1 changed files with 5 additions and 5 deletions
|
|
@ -357,20 +357,20 @@ MidiPlaylist::render (MidiChannelFilter* filter)
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
DEBUG_TRACE (DEBUG::MidiPlaylistIO, string_compose ("\t%1 layered regions to read\n", regs.size()));
|
DEBUG_TRACE (DEBUG::MidiPlaylistIO, string_compose ("\t%1 layered regions to read\n", regs.size()));
|
||||||
|
bool top = false;
|
||||||
bool top = true;
|
|
||||||
std::vector<samplepos_t> bounds;
|
std::vector<samplepos_t> bounds;
|
||||||
EventsSortByTimeAndType<samplepos_t> cmp;
|
EventsSortByTimeAndType<samplepos_t> cmp;
|
||||||
|
int n = regs.size();
|
||||||
|
|
||||||
|
/* iterate, bottom region first */
|
||||||
|
|
||||||
/* iterate, top-most region first */
|
|
||||||
for (auto & mr : regs) {
|
for (auto & mr : regs) {
|
||||||
|
|
||||||
DEBUG_TRACE (DEBUG::MidiPlaylistIO, string_compose ("maybe render from %1\n", mr->name()));
|
DEBUG_TRACE (DEBUG::MidiPlaylistIO, string_compose ("maybe render from %1\n", mr->name()));
|
||||||
|
|
||||||
if (top) {
|
if (--n == 0) {
|
||||||
/* render topmost region as-is */
|
/* render topmost region as-is */
|
||||||
mr->render (evlist, 0, _note_mode, filter);
|
mr->render (evlist, 0, _note_mode, filter);
|
||||||
top = false;
|
|
||||||
} else {
|
} else {
|
||||||
Evoral::EventList<samplepos_t> tmp;
|
Evoral::EventList<samplepos_t> tmp;
|
||||||
mr->render (tmp, 0, _note_mode, filter);
|
mr->render (tmp, 0, _note_mode, filter);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue