summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/editor.h')
-rw-r--r--gtk2_ardour/editor.h75
1 files changed, 50 insertions, 25 deletions
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 9f68929bfb..2acf76fc6c 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -354,8 +354,7 @@ class Editor : public PublicEditor
void reset_zoom (double);
void reposition_and_zoom (nframes_t, double);
- nframes_t edit_cursor_position(bool);
- nframes64_t get_preferred_edit_position () const;
+ nframes64_t get_preferred_edit_position ();
bool update_mouse_speed ();
bool decelerate_mouse_speed ();
@@ -417,7 +416,10 @@ class Editor : public PublicEditor
struct LocationMarkers {
Marker* start;
Marker* end;
+ bool valid;
+ LocationMarkers () : start(0), end(0), valid (true) {}
+
~LocationMarkers ();
void hide();
@@ -429,6 +431,7 @@ class Editor : public PublicEditor
LocationMarkers *find_location_markers (ARDOUR::Location *) const;
ARDOUR::Location* find_location_from_marker (Marker *, bool& is_start) const;
+ Marker* entered_marker;
typedef std::map<ARDOUR::Location*,LocationMarkers *> LocationMarkerMap;
LocationMarkerMap location_markers;
@@ -687,7 +690,6 @@ class Editor : public PublicEditor
*/
Cursor* playhead_cursor;
- Cursor* edit_cursor;
ArdourCanvas::Group* cursor_group;
void cursor_to_next_region_point (Cursor*, ARDOUR::RegionPoint);
@@ -695,8 +697,17 @@ class Editor : public PublicEditor
void cursor_to_region_point (Cursor*, ARDOUR::RegionPoint, int32_t dir);
void cursor_to_selection_start (Cursor *);
void cursor_to_selection_end (Cursor *);
+
+ void edit_point_to_next_region_point (ARDOUR::RegionPoint);
+ void edit_point_to_previous_region_point (ARDOUR::RegionPoint);
+ void edit_point_to_region_point (ARDOUR::RegionPoint, int32_t dir);
+ void edit_point_to_selection_start ();
+ void edit_point_to_selection_end ();
+
void select_all_selectables_using_cursor (Cursor *, bool);
- void select_all_selectables_between_cursors (Cursor *, Cursor *);
+ void select_all_selectables_using_edit (bool);
+ void select_all_selectables_between (bool within);
+ void select_range_between ();
boost::shared_ptr<ARDOUR::Region> find_next_region (nframes_t, ARDOUR::RegionPoint, int32_t dir, TrackViewList&, TimeAxisView ** = 0);
@@ -955,11 +966,12 @@ class Editor : public PublicEditor
void split_region_at (nframes_t);
void split_regions_at (nframes_t, RegionSelection&);
void crop_region_to_selection ();
+ void crop_region_to (nframes_t start, nframes_t end);
void set_a_regions_sync_position (boost::shared_ptr<ARDOUR::Region>, nframes_t);
- void set_region_sync_from_edit_cursor ();
+ void set_region_sync_from_edit_point ();
void remove_region_sync();
- void align_selection (ARDOUR::RegionPoint, nframes_t position);
- void align_selection_relative (ARDOUR::RegionPoint point, nframes_t position);
+ void align_selection (ARDOUR::RegionPoint, nframes_t position, const RegionSelection&);
+ void align_selection_relative (ARDOUR::RegionPoint point, nframes_t position, const RegionSelection&);
void align_region (boost::shared_ptr<ARDOUR::Region>, ARDOUR::RegionPoint point, nframes_t position);
void align_region_internal (boost::shared_ptr<ARDOUR::Region>, ARDOUR::RegionPoint point, nframes_t position);
void remove_selected_regions ();
@@ -988,6 +1000,8 @@ class Editor : public PublicEditor
void reset_focus ();
+ void split ();
+
void cut ();
void copy ();
void paste (float times);
@@ -1007,7 +1021,7 @@ class Editor : public PublicEditor
void rename_region_finished (bool);
void play_from_start ();
- void play_from_edit_cursor ();
+ void play_from_edit_point ();
void play_selected_region ();
void audition_selected_region ();
void loop_selected_region ();
@@ -1088,7 +1102,7 @@ class Editor : public PublicEditor
void move_to_end ();
void goto_frame ();
void center_playhead ();
- void center_edit_cursor ();
+ void center_edit_point ();
void edit_cursor_backward ();
void edit_cursor_forward ();
void playhead_backward ();
@@ -1180,6 +1194,8 @@ class Editor : public PublicEditor
void set_fade_in_shape (ARDOUR::AudioRegion::FadeShape);
void set_fade_out_shape (ARDOUR::AudioRegion::FadeShape);
+
+ void set_fade_length (bool in);
void set_fade_in_active (bool);
void set_fade_out_active (bool);
@@ -1191,6 +1207,7 @@ class Editor : public PublicEditor
void create_region_drag_finished_callback (ArdourCanvas::Item*, GdkEvent*);
bool _dragging_playhead;
+ bool _dragging_edit_point;
void cursor_drag_motion_callback (ArdourCanvas::Item*, GdkEvent*);
void cursor_drag_finished_callback (ArdourCanvas::Item*, GdkEvent*);
@@ -1275,7 +1292,6 @@ class Editor : public PublicEditor
/* non-public event handlers */
bool canvas_playhead_cursor_event (GdkEvent* event, ArdourCanvas::Item*);
- bool canvas_edit_cursor_event (GdkEvent* event, ArdourCanvas::Item*);
bool track_canvas_scroll (GdkEventScroll* event);
bool track_canvas_scroll_event (GdkEventScroll* event);
@@ -1288,24 +1304,15 @@ class Editor : public PublicEditor
void track_canvas_allocate (Gtk::Allocation alloc);
bool track_canvas_size_allocated ();
- void set_edit_cursor (GdkEvent* event);
- void set_playhead_cursor (GdkEvent* event);
+ void set_playhead_cursor ();
void kbd_driver (sigc::slot<void,GdkEvent*>, bool use_track_canvas = true, bool use_time_canvas = true, bool can_select = true);
- void kbd_set_playhead_cursor ();
- void kbd_set_edit_cursor ();
void kbd_mute_unmute_region ();
- void kbd_split ();
void kbd_set_sync_position ();
- void kbd_align (ARDOUR::RegionPoint);
- void kbd_align_relative (ARDOUR::RegionPoint);
void kbd_brush ();
void kbd_audition ();
- void kbd_do_split (GdkEvent*);
void kbd_do_set_sync_position (GdkEvent* ev);
- void kbd_do_align (GdkEvent*, ARDOUR::RegionPoint);
- void kbd_do_align_relative (GdkEvent*, ARDOUR::RegionPoint);
void kbd_do_brush (GdkEvent*);
void kbd_do_audition (GdkEvent*);
@@ -1355,6 +1362,7 @@ class Editor : public PublicEditor
void marker_menu_edit ();
void marker_menu_remove ();
void marker_menu_rename ();
+ void marker_menu_lock (bool yn);
void marker_menu_hide ();
void marker_menu_loop_range ();
void marker_menu_select_all_selectables_using_range ();
@@ -1418,7 +1426,7 @@ class Editor : public PublicEditor
void editor_mixer_button_toggled ();
void editor_list_button_toggled ();
- AudioClock edit_cursor_clock;
+ AudioClock edit_point_clock;
AudioClock zoom_range_clock;
Gtk::Button zoom_in_button;
Gtk::Button zoom_out_button;
@@ -1483,7 +1491,7 @@ class Editor : public PublicEditor
void zoom_adjustment_changed();
- void edit_cursor_clock_changed();
+ void edit_point_clock_changed();
void setup_toolbar ();
@@ -1519,6 +1527,7 @@ class Editor : public PublicEditor
void track_selection_changed ();
void region_selection_changed ();
void point_selection_changed ();
+ void marker_selection_changed ();
enum SelectionOp {
CreateSelection,
@@ -1713,8 +1722,11 @@ class Editor : public PublicEditor
void trim_finished_callback (ArdourCanvas::Item*, GdkEvent*);
void thaw_region_after_trim (RegionView& rv);
- void trim_region_to_edit_cursor ();
- void trim_region_from_edit_cursor ();
+ void trim_region_to_edit_point ();
+ void trim_region_from_edit_point ();
+ void trim_region_to_loop ();
+ void trim_region_to_punch ();
+ void trim_region_to_location (const ARDOUR::Location&, const char* cmd);
bool show_gain_after_trim;
@@ -2005,11 +2017,24 @@ class Editor : public PublicEditor
Gtk::ComboBoxText edit_point_selector;
- void set_edit_point (Editing::EditPoint ep);
+ void set_edit_point_preference (Editing::EditPoint ep);
+ void set_edit_point ();
void edit_point_selection_done ();
void edit_point_chosen (Editing::EditPoint);
Glib::RefPtr<Gtk::RadioAction> edit_point_action (Editing::EditPoint);
std::vector<std::string> edit_point_strings;
+
+ void selected_marker_moved (ARDOUR::Location*);
+ sigc::connection edit_point_clock_connection_a;
+ sigc::connection edit_point_clock_connection_b;
+
+ bool get_edit_op_range (nframes64_t& start, nframes64_t& end) const;
+
+ RegionSelection get_regions_at (nframes64_t where, const TrackSelection& ts) const;
+
+ RegionSelection tmp_regions;
+
+ RegionSelection& get_regions_for_action ();
};
#endif /* __ardour_editor_h__ */