*/
+#ifndef __gtk2_ardour_monitor_section_h__
+#define __gtk2_ardour_monitor_section_h__
+
#include <gtkmm/box.h>
#include <gtkmm/eventbox.h>
#include <gtkmm/sizegroup.h>
class TearOff;
}
-class MonitorSection : public RouteUI, public Gtk::EventBox, public Gtkmm2ext::StaticActionMapOwner
+class MonitorSection : public RouteUI, public Gtk::EventBox
{
public:
- MonitorSection (ARDOUR::Session*);
+ MonitorSection ();
~MonitorSection ();
void set_session (ARDOUR::Session*);
PluginSelector* plugin_selector() { return _plugin_selector; }
- Gtkmm2ext::ActionMap& my_actions() const { return myactions; }
+ void use_others_actions ();
private:
Gtk::HBox hpacker;
void map_state ();
boost::shared_ptr<ARDOUR::MonitorProcessor> _monitor;
- boost::shared_ptr<ARDOUR::Route> _route;
-
- enum MonitorActions {
- MonitorMono,
- MonitorCutAll,
- MonitorDimAll,
- ToggleExclusiveSolo,
- ToggleMuteOverridesSolo,
- SoloUseInPlace,
- SoloUseAFL,
- SoloUsePFL,
- ToggleMonitorProcessorBox
- };
-
- enum ChannelActions {
- CutChannel,
- DimChannel,
- SoloChannel,
- InvertChannel
- };
- static Glib::RefPtr<Gtk::ActionGroup> monitor_actions;
- static void register_actions ();
-
- static void action_proxy0 (enum MonitorActions);
- static void action_proxy1 (enum ChannelActions, uint32_t);
+ Glib::RefPtr<Gtk::ActionGroup> monitor_actions;
+ Glib::RefPtr<Gtk::ActionGroup> solo_actions;
+ void register_actions ();
void cut_channel (uint32_t);
void dim_channel (uint32_t);
uint32_t count_processors ();
void processors_changed (ARDOUR::RouteProcessorChange);
- Glib::RefPtr<Gtk::Action> proctoggle;
+ Glib::RefPtr<Gtk::ToggleAction> proctoggle;
bool _ui_initialized;
- static Gtkmm2ext::ActionMap myactions;
- static Gtkmm2ext::Bindings* bindings;
+ Gtkmm2ext::Bindings* bindings;
- static void load_bindings ();
+ void load_bindings ();
bool enter_handler (GdkEventCrossing*);
bool leave_handler (GdkEventCrossing*);
+
+ void toggle_use_monitor_section ();
+ void drop_route ();
};
+
+#endif /* __gtk2_ardour_monitor_section_h__ */