From 5cb4efea80588c6e3be3b58f573d9a5d6f6a7e1b Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 18 Nov 2011 00:22:31 +0000 Subject: Remove panner altogether, if necessary, when setting up PannerUI. Also reset a mixer strip's peak display when its route is changed (#4485). git-svn-id: svn://localhost/ardour2/branches/3.0@10668 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/mixer_strip.cc | 2 ++ gtk2_ardour/panner_ui.cc | 14 +++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 5d018a4251..18f65d7880 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -545,6 +545,8 @@ MixerStrip::set_route (boost::shared_ptr rt) hide_button.show(); } + gpm.reset_peak_display (); + width_button.show(); width_hide_box.show(); whvbox.show (); diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index 627d4e76aa..c086ce177c 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -219,14 +219,10 @@ PannerUI::panshell_changed () void PannerUI::setup_pan () { - if (!_panner) { - return; - } - - uint32_t const nouts = _panner->out().n_audio(); - uint32_t const nins = _panner->in().n_audio(); + int const nouts = _panner ? _panner->out().n_audio() : -1; + int const nins = _panner ? _panner->in().n_audio() : -1; - if (int32_t (nouts) == _current_nouts && int32_t (nins) == _current_nins) { + if (nouts == _current_nouts && nins == _current_nins) { return; } @@ -242,6 +238,10 @@ PannerUI::setup_pan () delete _mono_panner; _mono_panner = 0; + if (!_panner) { + return; + } + if (nouts == 0 || nouts == 1) { /* stick something into the panning viewport so that it redraws */ -- cgit v1.2.3