diff options
Diffstat (limited to 'gtk2_ardour/mixer_actor.h')
-rw-r--r-- | gtk2_ardour/mixer_actor.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gtk2_ardour/mixer_actor.h b/gtk2_ardour/mixer_actor.h new file mode 100644 index 0000000000..980938f8a2 --- /dev/null +++ b/gtk2_ardour/mixer_actor.h @@ -0,0 +1,74 @@ +/* + Copyright (C) 2000 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#ifndef __gtk2_ardour_mixer_actor_h__ +#define __gtk2_ardour_mixer_actor_h__ + +#include <glibmm/refptr.h> +#include <gtkmm2ext/bindings.h> + +#include "route_processor_selection.h" + +namespace Gtk { + class ActionGroup; +} + +class MixerActor : virtual public sigc::trackable +{ + public: + MixerActor (); + virtual ~MixerActor (); + + RouteRedirectSelection& selection() { return _selection; } + void register_actions (); + + void load_bindings (); + Gtkmm2ext::Bindings bindings; + + protected: + RouteRedirectSelection _selection; + RouteUISelection _route_targets; + Gtkmm2ext::ActionMap myactions; + + virtual void set_route_targets_for_operation () = 0; + + void solo_action (); + void mute_action (); + void rec_enable_action (); + void step_gain_up_action (); + void step_gain_down_action (); + void unity_gain_action (); + + void copy_processors (); + void cut_processors (); + void paste_processors (); + void select_all_processors (); + void delete_processors (); + void toggle_processors (); + void ab_plugins (); + + /* these actions don't apply to the selection, so defer to + a derived class. + */ + + virtual void scroll_left () {} + virtual void scroll_right () {} +}; + +#endif /* __gtk2_ardour_mixer_actor_h__ */ |