summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2017-01-27 00:56:39 +1100
committernick_m <mainsbridge@gmail.com>2017-01-27 00:56:39 +1100
commite7415c66193ebbcfb700551745e180dce0c0324e (patch)
tree54eb983d2728e4eac5976e2f62756c7f7d5fe789 /gtk2_ardour
parent7ef09f98ffefb8ac3b8b835d7d0fe64dfa9a0f13 (diff)
MidiRegionView::redisplay_model() - code cleanup
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/midi_region_view.cc63
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;
}
}