<Binding key="Return" action="Mixer/toggle-processors"/>
<Binding key="Primary-a" action="Mixer/select-all-processors"/>
<Binding key="Slash" action="Mixer/ab-plugins"/>
+ <Binding key="Escape" action="Mixer/select-none"/>
</Press>
</Bindings>
myactions.register_action ("Mixer", "select-all-processors", _("Select All (visible) Processors"), sigc::mem_fun (*this, &MixerActor::select_all_processors));
myactions.register_action ("Mixer", "toggle-processors", _("Toggle Selected Processors"), sigc::mem_fun (*this, &MixerActor::toggle_processors));
myactions.register_action ("Mixer", "ab-plugins", _("Toggle Selected Plugins"), sigc::mem_fun (*this, &MixerActor::ab_plugins));
-
+ myactions.register_action ("Mixer", "select-none", _("Deselect all srips and processors"), sigc::mem_fun (*this, &MixerActor::select_none));
myactions.register_action ("Mixer", "scroll-left", _("Scroll Mixer Window to the left"), sigc::mem_fun (*this, &MixerActor::scroll_left));
myactions.register_action ("Mixer", "scroll-right", _("Scroll Mixer Window to the left"), sigc::mem_fun (*this, &MixerActor::scroll_right));
//BUT... note that we have used mixerstrip's "Enter" to enforce the rule that only one strip will have an active selection
virtual void delete_processors () = 0;
+ virtual void select_none () = 0;
+
+
/* these actions need access to a Session, do defer to
a derived class
*/
}
}
+void
+Mixer_UI::select_none ()
+{
+ for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) {
+ (*i)->set_selected(false);
+ }
+
+ deselect_all_strip_processors();
+}
+
void
Mixer_UI::delete_processors ()
{