From e8baad9efa260ec16374c36e0ea08a22b7c72731 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 18 Nov 2021 15:41:59 -0700 Subject: [PATCH] more centralized code for deciding if a note is visible or note based on key --- gtk2_ardour/midi_region_view.cc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index dc7bae6e91..84c9174ec9 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -1645,6 +1645,15 @@ MidiRegionView::update_sustained (Note* ev, bool update_ghost_regions) const timepos_t note_start (note->time()); timepos_t note_end (note->end_time()); + MidiTimeAxisView* mtv = dynamic_cast(&trackview); + MusicalKey const & key (mtv->midi_track()->key()); + if (!(mtv->midi_track()->key_enforcment_policy() & NoDraw) || key.in_key (note->note())) { + ev->show (); + } else { + ev->hide (); + return; + } + /* The note is drawn as a child item of this region view, so its * coordinate system is relative to the region view. This means that x0 * and x1 are pixel offsets relative to beginning of the region (view) @@ -3928,13 +3937,6 @@ MidiRegionView::update_ghost_note (double x, double y, uint32_t state) _ghost_note->note()->set_channel (mtv->get_preferred_midi_channel ()); _ghost_note->note()->set_velocity (get_velocity_for_add (snapped_beats)); - MusicalKey const & key (mtv->midi_track()->key()); - if (!(mtv->midi_track()->key_enforcment_policy() & NoDraw) || key.in_key (_ghost_note->note()->note())) { - _ghost_note->show (); - } else { - _ghost_note->hide (); - } - update_note (_ghost_note, false); show_verbose_cursor (_ghost_note->note ());