copy contents of analysis, plugins, automation and externals folders during save-as
[ardour.git] / gtk2_ardour / editor.h
index bd5f3816fb9838181141bfe91572355d36011605..eaa9132e862292486ea85c4e5f8dec6425c38888 100644 (file)
@@ -261,6 +261,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void set_selected_regionview_from_region_list (boost::shared_ptr<ARDOUR::Region> region, Selection::Operation op = Selection::Set);
 
+       void remove_tracks ();
+       
        /* tempo */
 
        void set_show_measures (bool yn);
@@ -363,8 +365,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void scroll_tracks_down_line ();
        void scroll_tracks_up_line ();
-       bool scroll_up_one_track ();
-       bool scroll_down_one_track ();
+       
+       bool scroll_up_one_track (bool skip_child_views = false);
+       bool scroll_down_one_track (bool skip_child_views = false);
 
        void prepare_for_cleanup ();
        void finish_cleanup ();
@@ -382,7 +385,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void reset_zoom (framecnt_t);
        void reposition_and_zoom (framepos_t, double);
 
-       framepos_t get_preferred_edit_position (bool ignore_playhead = false,
+       framepos_t get_preferred_edit_position (Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE,
                                                bool use_context_click = false,
                                                bool from_outside_canvas = false);
 
@@ -519,11 +522,16 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        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 mouse_add_new_marker (framepos_t where, bool is_cd=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);
        
+       void mouse_add_new_tempo_event (framepos_t where);
+       void mouse_add_new_meter_event (framepos_t where);
+       void edit_tempo_section (ARDOUR::TempoSection*);
+       void edit_meter_section (ARDOUR::MeterSection*);
+
   protected:
        void map_transport_state ();
        void map_position_change (framepos_t);
@@ -678,6 +686,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void hide_marker (ArdourCanvas::Item*, GdkEvent*);
        void clear_marker_display ();
        void mouse_add_new_range (framepos_t);
+       void mouse_add_new_loop (framepos_t);
+       void mouse_add_new_punch (framepos_t);
        bool choose_new_marker_name(std::string &name);
        void update_cd_marker_display ();
        void ensure_cd_marker_updated (LocationMarkers * lam, ARDOUR::Location * location);
@@ -994,7 +1004,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void toggle_ruler_video (bool onoff) {ruler_video_action->set_active(onoff);}
        int videotl_bar_height; /* in units of timebar_height; default: 4 */
        int get_videotl_bar_height () const { return videotl_bar_height; }
-       void export_video (bool range = false);
        void toggle_region_video_lock ();
 
        friend class EditorCursor;
@@ -1252,6 +1261,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void do_insert_time ();
        void insert_time (framepos_t, framecnt_t, Editing::InsertTimeOption, bool, bool, bool, bool, bool, bool);
 
+       void do_cut_time ();
+       void cut_time (framepos_t pos, framecnt_t distance, Editing::InsertTimeOption opt, bool ignore_music_glue, bool markers_too, bool tempo_too);
+
        void tab_to_transient (bool forward);
 
        void set_tempo_from_region ();
@@ -1429,6 +1441,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void set_punch_from_selection ();
        void set_punch_from_region ();
 
+       void set_session_start_from_playhead ();
+       void set_session_end_from_playhead ();
        void set_session_extents_from_selection ();
 
        void set_loop_from_region (bool play);
@@ -2129,7 +2143,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void fit_selection ();
        void set_track_height (Height);
 
-       void remove_tracks ();
+       void _remove_tracks ();
+       bool idle_remove_tracks ();
        void toggle_tracks_active ();
 
        bool _have_idled;