use new action map API instead of ActionManager::get_action
[ardour.git] / gtk2_ardour / ardour_ui.h
index 4c55afaaef2ba52f8fdbe7714ac09637f9cb1e95..535a84ee7613ec9784583b0cbe73de19d4b09ddc 100644 (file)
@@ -165,7 +165,9 @@ namespace ArdourWidgets {
        class Tabbable;
 }
 
-class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr, public TransportControlProvider
+#define MAX_LUA_ACTION_SCRIPTS 12
+
+class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr, public TransportControlProvider, public Gtkmm2ext::ActionMapOwner
 {
 public:
        ARDOUR_UI (int *argcp, char **argvp[], const char* localedir);
@@ -193,7 +195,6 @@ public:
        void finish();
 
        int load_session (const std::string& path, const std::string& snapshot, std::string mix_template = std::string());
-       bool session_loaded;
        bool session_load_in_progress;
        int build_session (const std::string& path, const std::string& snapshot, ARDOUR::BusProfile*);
        bool session_is_new() const { return _session_is_new; }
@@ -230,15 +231,8 @@ public:
        void new_midi_tracer_window ();
        void toggle_editing_space();
        void toggle_mixer_space();
-       void toggle_mixer_list();
-       void toggle_monitor_section_visibility ();
        void toggle_keep_tearoffs();
 
-       void toggle_vca_pane();
-#ifdef MIXBUS
-       void toggle_mixbus_pane();
-#endif
-
        void reset_focus (Gtk::Widget*);
 
        static PublicEditor* _instance;
@@ -298,7 +292,8 @@ public:
        void flush_videotimeline_cache (bool localcacheonly=false);
        void export_video (bool range = false);
 
-       void session_add_audio_route (bool, int32_t, int32_t, ARDOUR::TrackMode, ARDOUR::RouteGroup *, uint32_t, std::string const &, bool, ARDOUR::PresentationInfo::order_t order);
+       void session_add_audio_route (bool, int32_t, int32_t, ARDOUR::TrackMode, ARDOUR::RouteGroup *,
+                                     uint32_t, std::string const &, bool, ARDOUR::PresentationInfo::order_t order);
 
        void session_add_mixed_track (const ARDOUR::ChanCount&, const ARDOUR::ChanCount&, ARDOUR::RouteGroup*,
                                      uint32_t, std::string const &, bool strict_io,
@@ -313,6 +308,8 @@ public:
                                     ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*,
                                     ARDOUR::PresentationInfo::order_t order);
 
+       void session_add_foldback_bus (uint32_t, std::string const &);
+
        void display_insufficient_ports_message ();
 
        void attach_to_engine ();
@@ -359,8 +356,6 @@ public:
        bool tabbed_window_state_event_handler (GdkEventWindowState*, void* object);
        bool key_event_handler (GdkEventKey*, Gtk::Window* window);
 
-       Gtkmm2ext::ActionMap global_actions;
-
        ARDOUR::PresentationInfo::order_t translate_order (RouteDialogs::InsertAt);
 
        std::map<std::string, std::string> route_setup_info (const std::string& script_path);
@@ -368,6 +363,11 @@ public:
 protected:
        friend class PublicEditor;
 
+       void toggle_use_monitor_section ();
+       void monitor_dim_all ();
+       void monitor_cut_all ();
+       void monitor_mono ();
+
        void toggle_auto_play ();
        void toggle_auto_input ();
        void toggle_punch ();
@@ -511,7 +511,7 @@ private:
        ArdourWidgets::ArdourButton feedback_alert_button;
        ArdourWidgets::ArdourButton error_alert_button;
 
-       ArdourWidgets::ArdourButton action_script_call_btn[10];
+       ArdourWidgets::ArdourButton action_script_call_btn[MAX_LUA_ACTION_SCRIPTS];
        Gtk::Table action_script_table;
 
        Gtk::VBox alert_box;