From 3a3925433836306e3c00751f472978cec4976b8a Mon Sep 17 00:00:00 2001 From: Len Ovens Date: Sun, 12 Apr 2020 18:41:06 -0700 Subject: Changing Foldback bus with show sends enabled broken leaves mixer in fanout to old bus turn show sends off change bus turn show sends on for user expected result --- gtk2_ardour/foldback_strip.cc | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/foldback_strip.cc b/gtk2_ardour/foldback_strip.cc index 055f57b5df..931c5f99d4 100644 --- a/gtk2_ardour/foldback_strip.cc +++ b/gtk2_ardour/foldback_strip.cc @@ -363,7 +363,7 @@ FoldbackStrip::init () insert_box->show (); insert_box->set_session (_session); insert_box->set_width (Wide); - insert_box->set_size_request (PX_SCALE(_width + 34), PX_SCALE(100)); + insert_box->set_size_request (PX_SCALE(_width + 34), PX_SCALE(160)); mute_solo_table.set_homogeneous (true); mute_solo_table.set_spacings (2); @@ -532,6 +532,16 @@ FoldbackStrip::update_fb_level_control () void FoldbackStrip::set_route (boost::shared_ptr rt) { + bool sh_snd = _showing_sends; + if (_route) { + // before we do anything unset show sends + Mixer_UI::instance()->show_spill (boost::shared_ptr()); + BusSendDisplayChanged (boost::shared_ptr ()); /* EMIT SIGNAL */ + _showing_sends = false; + _show_sends_button.set_active (false); + send_blink_connection.disconnect (); + } + /// FIX NO route if (!rt) { clear_send_box (); @@ -599,6 +609,16 @@ FoldbackStrip::set_route (boost::shared_ptr rt) show (); set_button_names (); + + if (sh_snd) { + // if last route had shows sends let it remain active + Mixer_UI::instance()->show_spill (_route); + BusSendDisplayChanged (_route); /* EMIT SIGNAL */ + _showing_sends = true; + _show_sends_button.set_active (true); + send_blink_connection = Timers::blink_connect (sigc::mem_fun (*this, &FoldbackStrip::send_blink)); + } + } // predicate for sort call in get_sorted_stripables -- cgit v1.2.3