diff options
author | nick_m <mainsbridge@gmail.com> | 2017-01-27 00:56:39 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2017-01-27 00:56:39 +1100 |
commit | e7415c66193ebbcfb700551745e180dce0c0324e (patch) | |
tree | 54eb983d2728e4eac5976e2f62756c7f7d5fe789 /gtk2_ardour | |
parent | 7ef09f98ffefb8ac3b8b835d7d0fe64dfa9a0f13 (diff) |
MidiRegionView::redisplay_model() - code cleanup
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 63 |
1 files changed, 29 insertions, 34 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 1145acd277..6686abb9b5 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -1204,43 +1204,11 @@ MidiRegionView::redisplay_model() if (note_in_region_range (note, visible)) { if (!empty_when_starting && (cne = find_canvas_note (note)) != 0) { cne->validate (); - bool update = false; - - if (note_in_region_range (note, visible)) { - if (visible) { - update = true; - cne->show (); - } else { - cne->hide (); - } + if (visible) { + cne->show (); } else { cne->hide (); } - if ((sus = dynamic_cast<Note*>(cne))) { - - if (update) { - update_sustained (sus); - } - - for (std::vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) { - MidiGhostRegion* gr = dynamic_cast<MidiGhostRegion*> (*i); - if (gr && !gr->trackview.hidden()) { - gr->update_note (sus, !update); - } - } - } else if ((hit = dynamic_cast<Hit*>(cne))) { - - if (update) { - update_hit (hit); - } - - for (std::vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) { - MidiGhostRegion* gr = dynamic_cast<MidiGhostRegion*> (*i); - if (gr && !gr->trackview.hidden()) { - gr->update_hit (hit, !update); - } - } - } } else { missing_notes.insert (note); } @@ -1267,6 +1235,33 @@ MidiRegionView::redisplay_model() i = _events.erase (i); } else { + bool visible = cne->item()->visible(); + + if ((sus = dynamic_cast<Note*>(cne))) { + + if (visible) { + update_sustained (sus); + } + + for (std::vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) { + MidiGhostRegion* gr = dynamic_cast<MidiGhostRegion*> (*i); + if (gr) { + gr->update_note (sus, !visible || gr->trackview.hidden()); + } + } + } else if ((hit = dynamic_cast<Hit*>(cne))) { + + if (visible) { + update_hit (hit); + } + + for (std::vector<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) { + MidiGhostRegion* gr = dynamic_cast<MidiGhostRegion*> (*i); + if (gr) { + gr->update_hit (hit, !visible || gr->trackview.hidden()); + } + } + } ++i; } } |