new solo safe/lock button image from oofus (a tad ugly, dare might i say)
[ardour.git] / gtk2_ardour / editor.h
index 19be40b75a93a8242eb5397e739a51f62cdb31f4..8114559fa83526df4c0bd5d193ce8382fc6fabe2 100644 (file)
@@ -375,6 +375,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void show_window ();
 
+       void ensure_time_axis_view_is_visible (const TimeAxisView& tav);
        void scroll_tracks_down_line ();
        void scroll_tracks_up_line ();
 
@@ -538,6 +539,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::HPaned   edit_pane;
        Gtk::VPaned   editor_summary_pane;
 
+       bool idle_reset_vertical_pane_position (int);
+
        Gtk::EventBox meter_base;
        Gtk::HBox     meter_box;
        Gtk::EventBox marker_base;
@@ -587,6 +590,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        LocationMarkers  *find_location_markers (ARDOUR::Location *) const;
        ARDOUR::Location* find_location_from_marker (Marker *, bool& is_start) const;
+       Marker* find_marker_from_location_id (PBD::ID const &, bool) const;
        Marker* entered_marker;
        bool _show_marker_lines;
 
@@ -684,6 +688,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void add_selection_context_items (Gtk::Menu_Helpers::MenuList&);
        Gtk::MenuItem* _popup_region_menu_item;
 
+       void popup_control_point_context_menu (ArdourCanvas::Item *, GdkEvent *);
+       Gtk::Menu _control_point_context_menu;
+
        void handle_new_route (ARDOUR::RouteList&);
        void timeaxisview_deleted (TimeAxisView *);
 
@@ -971,6 +978,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::HBox           edit_controls_hbox;
 
        void control_scroll (float);
+       void control_select (uint32_t rid);
        void access_action (std::string,std::string);
        bool deferred_control_scroll (framepos_t);
        sigc::connection control_scroll_connection;
@@ -1048,6 +1056,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        bool motion_handler (ArdourCanvas::Item*, GdkEvent*, bool from_autoscroll = false);
        bool enter_handler (ArdourCanvas::Item*, GdkEvent*, ItemType);
        bool leave_handler (ArdourCanvas::Item*, GdkEvent*, ItemType);
+       bool key_press_handler (ArdourCanvas::Item*, GdkEvent*, ItemType);
+       bool key_release_handler (ArdourCanvas::Item*, GdkEvent*, ItemType);
 
        Gtkmm2ext::Bindings* button_bindings;
        XMLNode* button_settings () const;
@@ -1075,6 +1085,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void toggle_region_lock ();
        void toggle_opaque_region ();
        void toggle_record_enable ();
+       void toggle_solo ();
+       void toggle_solo_isolate ();
+       void toggle_mute ();
        void toggle_region_lock_style ();
        void raise_region ();
        void raise_region_to_top ();
@@ -1118,7 +1131,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void fork_region ();
 
        void do_insert_time ();
-       void insert_time (framepos_t, framecnt_t, Editing::InsertTimeOption, bool, bool, bool, bool, bool);
+       void insert_time (framepos_t, framecnt_t, Editing::InsertTimeOption, bool, bool, bool, bool, bool, bool);
 
        void tab_to_transient (bool forward);
 
@@ -1331,8 +1344,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void region_view_item_click (AudioRegionView&, GdkEventButton*);
 
-       void remove_gain_control_point (ArdourCanvas::Item*, GdkEvent*);
-       void remove_control_point (ArdourCanvas::Item*, GdkEvent*);
+       bool can_remove_control_point (ArdourCanvas::Item *);
+       void remove_control_point (ArdourCanvas::Item *);
 
        void mouse_brush_insert_region (RegionView*, framepos_t pos);
 
@@ -1470,9 +1483,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void new_transport_marker_menu_popdown ();
        void marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
        void tempo_or_meter_marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
-       void transport_marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
        void new_transport_marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
-       void build_range_marker_menu (bool);
+       void build_range_marker_menu (bool, bool);
        void build_marker_menu (ARDOUR::Location *);
        void build_tempo_or_meter_marker_menu (bool);
        void build_new_transport_marker_menu ();
@@ -1539,7 +1551,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        Gtk::VBox                automation_box;
        Gtk::Button              automation_mode_button;
-       Gtk::ToggleButton        global_automation_button;
 
        Gtk::ComboBoxText edit_mode_selector;
        Gtk::VBox         edit_mode_box;
@@ -1592,7 +1603,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        Gtk::HBox                panic_box;
        Gtk::Button              midi_panic_button;
-       Gtk::ToggleButton        midi_sound_notes;
+       Gtkmm2ext::StatefulToggleButton midi_sound_notes;
        void                     midi_panic ();
        bool                     sound_notes () const { return midi_sound_notes.get_active(); }