_ctrls.button (FP8Controls::BtnATouch).set_active (as == Touch);
_ctrls.button (FP8Controls::BtnARead).set_active (as == Play);
_ctrls.button (FP8Controls::BtnAWrite).set_active (as == Write);
+ _ctrls.button (FP8Controls::BtnALatch).set_active (as == Latch);
}
void
FaderPort8::notify_solo_changed ()
{
bool soloing = session->soloing() || session->listening();
+#ifdef MIXBUS
+ soloing |= session->mixbus_soloed();
+#endif
_ctrls.button (FP8Controls::BtnSoloClear).set_active (soloing);
#ifdef FP8_MUTESOLO_UNDO
if (soloing) {
// TODO consider subscribing to c's DropReferences
// (in case the control goes away while it has focus, update the BtnColor)
_link_control = c;
- if (c.expired ()) {
+ if (c.expired () || 0 == boost::dynamic_pointer_cast<AutomationControl> (_link_control.lock ())) {
_ctrls.button (FP8Controls::BtnLink).set_color (0xff8800ff);
_ctrls.button (FP8Controls::BtnLock).set_color (0xff0000ff);
} else {