From 6e469ffb5e0fa93fff77f7559e5b94861f9e1be7 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 6 Jul 2016 15:20:42 -0400 Subject: merge MixerActor API (back) into Mixer_UI; make solo/mute/recenable actions there do the right thing --- gtk2_ardour/mixer_ui.h | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'gtk2_ardour/mixer_ui.h') diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h index 70a0e630b7..a85006af5a 100644 --- a/gtk2_ardour/mixer_ui.h +++ b/gtk2_ardour/mixer_ui.h @@ -41,18 +41,19 @@ #include "ardour/plugin.h" #include "ardour/plugin_manager.h" +#include #include "gtkmm2ext/dndtreeview.h" #include -#include "gtkmm2ext/treeutils.h" - #include "gtkmm2ext/tabbable.h" +#include "gtkmm2ext/treeutils.h" #include "enums.h" -#include "mixer_actor.h" +#include "route_processor_selection.h" namespace ARDOUR { class Route; class RouteGroup; + class VCA; }; class AxisView; @@ -75,7 +76,7 @@ protected: virtual bool row_drop_possible_vfunc (const Gtk::TreeModel::Path&, const Gtk::SelectionData&) const; }; -class Mixer_UI : public Gtkmm2ext::Tabbable, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr, public MixerActor +class Mixer_UI : public Gtkmm2ext::Tabbable, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr { public: static Mixer_UI* instance(); @@ -120,6 +121,12 @@ class Mixer_UI : public Gtkmm2ext::Tabbable, public PBD::ScopedConnectionList, p sigc::signal1 > show_vca_change; + RouteProcessorSelection& selection() { return _selection; } + void register_actions (); + + void load_bindings (); + Gtkmm2ext::Bindings* bindings; + protected: void set_axis_targets_for_operation (); @@ -376,6 +383,28 @@ class Mixer_UI : public Gtkmm2ext::Tabbable, public PBD::ScopedConnectionList, p mutable boost::weak_ptr spilled_vca; void escape (); + + Gtkmm2ext::ActionMap myactions; + RouteProcessorSelection _selection; + AxisViewSelection _axis_targets; + + void vca_assign (boost::shared_ptr); + void vca_unassign (boost::shared_ptr); + + template void control_action (boost::shared_ptr (ARDOUR::Stripable::*get_control)() const); + 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 toggle_processors (); + void ab_plugins (); }; #endif /* __ardour_mixer_ui_h__ */ -- cgit v1.2.3