From 53ffd61dd96d06577c55895e54bd5ec7a076b2c6 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 8 Mar 2025 18:27:20 -0700 Subject: [PATCH] for pianoroll MidiViews, set _visible_channel to the lowest MIDI channel with notes present --- gtk2_ardour/midi_view.cc | 9 +++++++++ gtk2_ardour/pianoroll.cc | 2 -- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/midi_view.cc b/gtk2_ardour/midi_view.cc index b0ecb4391a..c2a5972524 100644 --- a/gtk2_ardour/midi_view.cc +++ b/gtk2_ardour/midi_view.cc @@ -368,6 +368,15 @@ MidiView::set_model (std::shared_ptr m) //set_height (trackview.current_height()); + if (_show_source) { + for (int n = 0; n < 16; ++n) { + if (_model->channels_present() & (1 << n)) { + set_visible_channel (n); + break; + } + } + } + _model->ContentsChanged.connect (connections_requiring_model, invalidator (*this), std::bind (&MidiView::model_changed, this), gui_context()); _midi_track->playback_filter().ChannelModeChanged.connect (connections_requiring_model, invalidator (*this), diff --git a/gtk2_ardour/pianoroll.cc b/gtk2_ardour/pianoroll.cc index 82c59829ab..63ce87f425 100644 --- a/gtk2_ardour/pianoroll.cc +++ b/gtk2_ardour/pianoroll.cc @@ -2280,8 +2280,6 @@ Pianoroll::set_region (std::shared_ptr r) zoom_to_show (timecnt_t (timepos_t (max_extents_scale() * max_zoom_extent ().second.samples()))); } - - set_visible_channel (0); } void