From 6f3e461356350de01aab0e87c8a398c13817a80e Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 31 Jul 2025 12:05:10 -0600 Subject: [PATCH] maybe finally fix data-note-range display for pianoroll after set-region --- gtk2_ardour/pianoroll.cc | 4 ++++ gtk2_ardour/pianoroll_background.cc | 1 + 2 files changed, 5 insertions(+) diff --git a/gtk2_ardour/pianoroll.cc b/gtk2_ardour/pianoroll.cc index 6b34a252d3..bd5ee6fc4e 100644 --- a/gtk2_ardour/pianoroll.cc +++ b/gtk2_ardour/pianoroll.cc @@ -588,7 +588,11 @@ Pianoroll::canvas_allocate (Gtk::Allocation alloc) _track_canvas_width = _visible_canvas_width - prh->x1(); if (zoom_in_allocate) { + zoom_to_show (timecnt_t (timepos_t (max_extents_scale() * max_zoom_extent ().second.samples()))); + if (_region) { + bg->display_region (*view); + } zoom_in_allocate = false; } diff --git a/gtk2_ardour/pianoroll_background.cc b/gtk2_ardour/pianoroll_background.cc index 7f6bf5553a..a4a192cf92 100644 --- a/gtk2_ardour/pianoroll_background.cc +++ b/gtk2_ardour/pianoroll_background.cc @@ -111,4 +111,5 @@ PianorollMidiBackground::display_region (MidiView& mv) std::shared_ptr smf (std::dynamic_pointer_cast (mv.midi_region()->source())); assert (smf); (void) update_data_note_range (smf->model()->lowest_note(), smf->model()->highest_note()); + apply_note_range (smf->model()->lowest_note(), smf->model()->highest_note(), true, RangeCanMove (CanMoveTop|CanMoveBottom)); }