summaryrefslogtreecommitdiff
path: root/gtk2_ardour/foldback_strip.cc
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2020-04-12 18:41:06 -0700
committerLen Ovens <len@ovenwerks.net>2020-04-12 18:41:06 -0700
commit3a3925433836306e3c00751f472978cec4976b8a (patch)
tree52bc52534dfac482e0ba8f4a3425af30f1882835 /gtk2_ardour/foldback_strip.cc
parent0f806d1322c2d08b6877194bfdb49dccad4ca145 (diff)
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
Diffstat (limited to 'gtk2_ardour/foldback_strip.cc')
-rw-r--r--gtk2_ardour/foldback_strip.cc22
1 files changed, 21 insertions, 1 deletions
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<Route> rt)
{
+ bool sh_snd = _showing_sends;
+ if (_route) {
+ // before we do anything unset show sends
+ Mixer_UI::instance()->show_spill (boost::shared_ptr<ARDOUR::Stripable>());
+ BusSendDisplayChanged (boost::shared_ptr<Route> ()); /* 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<Route> 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