void new_region_from_selection ();
void separate_regions_between (const TimeSelection&);
void separate_region_from_selection ();
+ void separate_under_selected_regions ();
void separate_region_from_punch ();
void separate_region_from_loop ();
void separate_regions_using_location (ARDOUR::Location&);
static Gdk::Cursor* fade_out_cursor;
static Gdk::Cursor* selector_cursor;
static Gdk::Cursor* grabber_cursor;
+ static Gdk::Cursor* grabber_note_cursor;
static Gdk::Cursor* grabber_edit_point_cursor;
static Gdk::Cursor* zoom_cursor;
static Gdk::Cursor* time_fx_cursor;
void select_all_selectables_between (bool within);
void select_range_between ();
- boost::shared_ptr<ARDOUR::Region> find_next_region (nframes64_t, ARDOUR::RegionPoint, int32_t dir, TrackViewList&, TimeAxisView ** = 0);
- nframes64_t find_next_region_boundary (nframes64_t, int32_t dir, const TrackViewList&);
+ boost::shared_ptr<ARDOUR::Region> find_next_region (ARDOUR::framepos_t, ARDOUR::RegionPoint, int32_t dir, TrackViewList&, TimeAxisView ** = 0);
+ ARDOUR::framepos_t find_next_region_boundary (ARDOUR::framepos_t, int32_t dir, const TrackViewList&);
- std::vector<nframes64_t> region_boundary_cache;
+ std::vector<ARDOUR::framepos_t> region_boundary_cache;
void build_region_boundary_cache ();
Gtk::HBox top_hbox;
void cut ();
void copy ();
void paste (float times);
+
+ void place_transient ();
+ void remove_transient (ArdourCanvas::Item* item);
+ void snap_regions_to_grid ();
+ void close_region_gaps ();
int get_prefix (float&, bool&);
bool canvas_frame_handle_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_region_view_name_highlight_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_region_view_name_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
+ bool canvas_feature_line_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*);
bool canvas_stream_view_event (GdkEvent* event,ArdourCanvas::Item*, RouteTimeAxisView*);
bool canvas_marker_event (GdkEvent* event,ArdourCanvas::Item*, Marker*);
bool canvas_zoom_rect_event (GdkEvent* event,ArdourCanvas::Item*);
void marker_menu_edit ();
void marker_menu_remove ();
void marker_menu_rename ();
- void marker_menu_lock (bool yn);
+ void toggle_marker_menu_lock ();
void marker_menu_hide ();
void marker_menu_loop_range ();
void marker_menu_select_all_selectables_using_range ();
void transport_marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
void new_transport_marker_context_menu (GdkEventButton*, ArdourCanvas::Item*);
void build_range_marker_menu (bool loop_or_punch);
- void build_marker_menu (bool);
+ void build_marker_menu (bool, ARDOUR::Location *);
void build_tempo_or_meter_marker_menu (bool);
void build_new_transport_marker_menu ();
void dynamic_cast_marker_object (void*, MeterMarker**, TempoMarker**) const;
Glib::RefPtr<Gtk::RadioAction> zoom_focus_action (Editing::ZoomFocus);
- Gtk::HBox zoom_box;
- Gtk::HBox track_zoom_box;
- Gtk::VBox zoom_vbox;
-
+ Gtk::HBox _zoom_box;
+ Gtkmm2ext::TearOff* _zoom_tearoff;
void zoom_adjustment_changed();
void setup_toolbar ();
sigc::connection step_timeout;
TimeAxisView* entered_track;
+ /** If the mouse is over a RegionView or one of its child canvas items, this is set up
+ to point to the RegionView. Otherwise it is 0.
+ */
RegionView* entered_regionview;
EditorGroupTabs* _group_tabs;
void fit_route_group (ARDOUR::RouteGroup *);
+ void step_edit_status_change (bool);
void start_step_editing ();
void stop_step_editing ();
bool check_step_edit ();
friend class EditorGroupTabs;
friend class EditorRoutes;
+ friend class RhythmFerret;
};
#endif /* __ardour_editor_h__ */