add "fade range" operation, bound to alt-f at present by default
[ardour.git] / gtk2_ardour / editor.h
index 9faaa4ded331d6e760d51f3b7c9c56d73b79bbca..d96ac0c8f633eecbe227b1c95de2f6a03efe2daf 100644 (file)
@@ -470,6 +470,12 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void metric_get_samples (std::vector<ArdourCanvas::Ruler::Mark>&, gdouble, gdouble, gint);
        void metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>&, gdouble, gdouble, gint);
 
+       /* editing operations that need to be public */
+       void mouse_add_new_marker (framepos_t where, bool is_cd=false, bool is_xrun=false);
+       void split_regions_at (framepos_t, RegionSelection&);
+       void split_region_at_points (boost::shared_ptr<ARDOUR::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false);
+       RegionSelection get_regions_from_selection_and_mouse (framepos_t);
+       
   protected:
        void map_transport_state ();
        void map_position_change (framepos_t);
@@ -625,7 +631,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void hide_marker (ArdourCanvas::Item*, GdkEvent*);
        void clear_marker_display ();
-       void mouse_add_new_marker (framepos_t where, bool is_cd=false, bool is_xrun=false);
        void mouse_add_new_range (framepos_t);
        bool choose_new_marker_name(std::string &name);
        void update_cd_marker_display ();
@@ -1133,9 +1138,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void change_region_layering_order (bool from_context_menu);
        void lower_region ();
        void lower_region_to_bottom ();
-       void split_regions_at (framepos_t, RegionSelection&);
        void split_region_at_transients ();
-       void split_region_at_points (boost::shared_ptr<ARDOUR::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false);
        void crop_region_to_selection ();
        void crop_region_to (framepos_t start, framepos_t end);
        void set_sync_point (framepos_t, const RegionSelection&);
@@ -1382,6 +1385,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void set_fade_in_active (bool);
        void set_fade_out_active (bool);
 
+       void fade_range ();
+
        std::set<boost::shared_ptr<ARDOUR::Playlist> > motion_frozen_playlists;
 
        bool _dragging_playhead;
@@ -1603,6 +1608,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        ArdourButton mouse_zoom_button;
        ArdourButton mouse_timefx_button;
        ArdourButton mouse_audition_button;
+       ArdourButton mouse_cut_button;
 
        ArdourButton smart_mode_button;
        Glib::RefPtr<Gtk::ToggleAction> smart_mode_action;
@@ -1698,6 +1704,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void point_selection_changed ();
        void marker_selection_changed ();
 
+       bool _ignore_follow_edits;
+
        void cancel_selection ();
        void cancel_time_selection ();
 
@@ -1982,6 +1990,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void edit_point_chosen (Editing::EditPoint);
        Glib::RefPtr<Gtk::RadioAction> edit_point_action (Editing::EditPoint);
        std::vector<std::string> edit_point_strings;
+       std::vector<std::string> edit_mode_strings;
 
        void selected_marker_moved (ARDOUR::Location*);
 
@@ -2095,6 +2104,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        TimeAxisView* _stepping_axis_view;
        void zoom_vertical_modifier_released();
 
+       void bring_in_callback (Gtk::Label*, uint32_t n, uint32_t total, std::string name);
+       void update_bring_in_message (Gtk::Label* label, uint32_t n, uint32_t total, std::string name);
+       void bring_all_sources_into_session ();
+
        friend class Drag;
        friend class RegionDrag;
        friend class RegionMoveDrag;