ptformat: Update the lib to 9d0b64f (upstream ptformat)
[ardour.git] / libs / surfaces / push2 / mix.cc
index 34b979ce462df4f532d82b9743fa655922f2dd74..75b17f8c20b823b52665e0caad396d8167388cb3 100644 (file)
@@ -400,7 +400,7 @@ MixLayout::button_solo ()
        if (s) {
                boost::shared_ptr<AutomationControl> ac = s->solo_control();
                if (ac) {
-                       ac->set_value (!ac->get_value(), PBD::Controllable::UseGroup);
+                       session.set_control (ac, !ac->get_value(), PBD::Controllable::UseGroup);
                }
        }
 }
@@ -547,6 +547,11 @@ MixLayout::switch_bank (uint32_t base)
 
        if (!s[0]) {
                /* not even the first stripable exists, do nothing */
+               for (int n = 0; n < 8; ++n) {
+                       stripable[n].reset ();
+                       gain_meter[n]->knob->set_controllable (boost::shared_ptr<AutomationControl>());
+                       gain_meter[n]->meter->set_meter (0);
+               }
                return;
        }
 
@@ -563,6 +568,8 @@ MixLayout::switch_bank (uint32_t base)
                if (!stripable[n]) {
                        lower_text[n]->hide ();
                        hide_selection (n);
+                       gain_meter[n]->knob->set_controllable (boost::shared_ptr<AutomationControl>());
+                       gain_meter[n]->meter->set_meter (0);
                } else {
 
                        lower_text[n]->show ();