OSC: Changed gainVCA to gainfader as VCA is already used.
[ardour.git] / gtk2_ardour / editor.h
index ec7c73dddf483583cba843d866c074d709504372..5778a3cbbbb40d64e9b9ab51727a1d008418de03 100644 (file)
@@ -62,7 +62,6 @@
 #include "selection_memento.h"
 
 namespace Gtkmm2ext {
-       class TearOff;
        class Bindings;
 }
 
@@ -144,7 +143,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        ARDOUR::Session* session() const { return _session; }
 
        Gtk::Window* use_own_window (bool and_fill_it);
-       
+
        void             first_idle ();
        virtual bool     have_idled () const { return _have_idled; }
 
@@ -275,8 +274,11 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        /* analysis window */
 
-       void analyze_region_selection();
-       void analyze_range_selection();
+       void loudness_analyze_region_selection();
+       void loudness_analyze_range_selection();
+
+       void spectral_analyze_region_selection();
+       void spectral_analyze_range_selection();
 
        /* export */
 
@@ -350,7 +352,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void set_summary ();
        void set_group_tabs ();
        void toggle_measure_visibility ();
-       void toggle_logo_visibility ();
 
        /* fades */
 
@@ -383,9 +384,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void maximise_editing_space();
        void restore_editing_space();
 
-       void update_tearoff_visibility();
-       void reattach_all_tearoffs ();
-
        double get_y_origin () const;
        void reset_x_origin (framepos_t);
        void reset_x_origin_to_follow_playhead ();
@@ -441,9 +439,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        TrackViewList axis_views_from_routes (boost::shared_ptr<ARDOUR::RouteList>) const;
 
-       Gtkmm2ext::TearOff* mouse_mode_tearoff () const { return _mouse_mode_tearoff; }
-       Gtkmm2ext::TearOff* tools_tearoff () const { return _tools_tearoff; }
-
        void snap_to (framepos_t&       first,
                      ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
                      bool              for_mark  = false,
@@ -557,7 +552,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void color_handler ();
 
        bool                 constructed;
-       Gtkmm2ext::Bindings  key_bindings;
 
        // to keep track of the playhead position for control_scroll
        boost::optional<framepos_t> _control_scroll_target;
@@ -642,6 +636,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void remove_marker (ArdourCanvas::Item&, GdkEvent*);
        gint really_remove_marker (ARDOUR::Location* loc);
        void goto_nth_marker (int nth);
+       void trigger_script (int nth);
        void toggle_marker_lines ();
        void set_marker_line_visibility (bool);
 
@@ -815,8 +810,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::EventBox             time_bars_event_box;
        Gtk::VBox                 time_bars_vbox;
 
-       ArdourCanvas::Pixbuf     *logo_item;
-
        ArdourCanvas::Container      *tempo_group;
        ArdourCanvas::Container      *meter_group;
        ArdourCanvas::Container      *marker_group;
@@ -1181,7 +1174,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void register_region_actions ();
 
        void load_bindings ();
-       Gtkmm2ext::ActionMap editor_action_map;
 
        /* CUT/COPY/PASTE */
 
@@ -1282,7 +1274,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void naturalize_region ();
 
-       void reset_focus ();
+       void reset_focus (Gtk::Widget*);
 
        void split_region ();
 
@@ -1626,6 +1618,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void initialize_canvas ();
 
+       void manage_action_scripts ();
+       void set_script_action_name (int i, const std::string&);
+
        /* display control */
 
        bool _show_measures;
@@ -1740,7 +1735,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::Table               toolbar_selection_clock_table;
        Gtk::Label               toolbar_selection_cursor_label;
 
-       Gtkmm2ext::TearOff*      _mouse_mode_tearoff;
        ArdourButton mouse_select_button;
        ArdourButton mouse_draw_button;
        ArdourButton mouse_move_button;
@@ -1799,23 +1793,17 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Glib::RefPtr<Gtk::RadioAction> zoom_focus_action (Editing::ZoomFocus);
 
        Gtk::HBox           _zoom_box;
-       Gtkmm2ext::TearOff* _zoom_tearoff;
        void                zoom_adjustment_changed();
 
        void setup_toolbar ();
 
        void setup_tooltips ();
 
-       Gtkmm2ext::TearOff*     _tools_tearoff;
        Gtk::HBox                toolbar_hbox;
        Gtk::EventBox            toolbar_base;
        Gtk::Frame               toolbar_frame;
        Gtk::Viewport           _toolbar_viewport;
 
-       /* midi toolbar */
-
-       Gtk::HBox                panic_box;
-
        void setup_midi_toolbar ();
 
        /* selection process */
@@ -2034,9 +2022,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void cms_new (boost::shared_ptr<ARDOUR::Route>);
        void current_mixer_strip_hidden ();
 
-       void detach_tearoff (Gtk::Box* b, Gtk::Window* w);
-       void reattach_tearoff (Gtk::Box* b, Gtk::Window* w, int32_t n);
-#ifdef GTKOSX
+#ifdef __APPLE__
        void ensure_all_elements_drawn ();
 #endif
        /* nudging tracks */
@@ -2249,6 +2235,14 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        QuantizeDialog* quantize_dialog;
        MainMenuDisabler* _main_menu_disabler;
 
+       /* private helper functions to help with registering axis */
+
+       Glib::RefPtr<Gtk::Action> reg_sens (Glib::RefPtr<Gtk::ActionGroup> group, char const * name, char const * label, sigc::slot<void> slot);
+       void toggle_reg_sens (Glib::RefPtr<Gtk::ActionGroup> group, char const * name, char const * label, sigc::slot<void> slot);
+       void radio_reg_sens (Glib::RefPtr<Gtk::ActionGroup> action_group, Gtk::RadioAction::Group& radio_group, char const * name, char const * label, sigc::slot<void> slot);
+
+       Gtkmm2ext::ActionMap myactions;
+
        friend class Drag;
        friend class RegionDrag;
        friend class RegionMoveDrag;