class EditorSummary;
class GroupedButtons;
class GUIObjectState;
-class Marker;
+class ArdourMarker;
class MidiRegionView;
class MixerStrip;
class MouseCursors;
class PlaylistSelector;
class PluginSelector;
class ProgressReporter;
+class QuantizeDialog;
class RhythmFerret;
class RulerDialog;
class Selection;
int get_regionview_count_from_region_list (boost::shared_ptr<ARDOUR::Region>);
+ void do_ptimport(std::string path, ARDOUR::SrcQuality quality);
+
void do_import (std::vector<std::string> paths,
Editing::ImportDisposition disposition,
Editing::ImportMode mode,
void snap_to (framepos_t& first,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
- bool for_mark = false);
+ bool for_mark = false,
+ bool ensure_snap = false);
void snap_to_with_modifier (framepos_t& first,
GdkEvent const * ev,
uint32_t location_cd_marker_color;
struct LocationMarkers {
- Marker* start;
- Marker* end;
+ ArdourMarker* start;
+ ArdourMarker* end;
bool valid;
LocationMarkers () : start(0), end(0), valid (true) {}
};
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;
+ ARDOUR::Location* find_location_from_marker (ArdourMarker *, bool& is_start) const;
+ ArdourMarker* find_marker_from_location_id (PBD::ID const &, bool) const;
+ ArdourMarker* entered_marker;
bool _show_marker_lines;
typedef std::map<ARDOUR::Location*,LocationMarkers *> LocationMarkerMap;
void update_marker_labels ();
void update_marker_labels (ArdourCanvas::Container *);
- void check_marker_label (Marker *);
+ void check_marker_label (ArdourMarker *);
/** A set of lists of Markers that are in each of the canvas groups
* for the marker sections at the top of the editor. These lists
* a marker has moved we can decide whether we need to update the labels
* for all markers or for just a few.
*/
- std::map<ArdourCanvas::Container *, std::list<Marker *> > _sorted_marker_lists;
- void remove_sorted_marker (Marker *);
+ std::map<ArdourCanvas::Container *, std::list<ArdourMarker *> > _sorted_marker_lists;
+ void remove_sorted_marker (ArdourMarker *);
void hide_marker (ArdourCanvas::Item*, GdkEvent*);
void clear_marker_display ();
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 do_remove_time ();
+ void remove_time (framepos_t pos, framecnt_t distance, Editing::InsertTimeOption opt, bool ignore_music_glue, bool markers_too,
+ bool glued_markers_too, bool locked_markers_too, bool tempo_too);
void tab_to_transient (bool forward);
void insert_region_list_selection (float times);
+ /* PT import */
+ void external_pt_dialog ();
+ typedef struct ptflookup {
+ uint16_t index1;
+ uint16_t index2;
+ PBD::ID id;
+
+ bool operator ==(const struct ptflookup& other) {
+ return (this->index1 == other.index1);
+ }
+ } ptflookup_t;
+
/* import & embed */
void add_external_audio_action (Editing::ImportMode);
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);
int scrub_reverse_distance;
void scrub (framepos_t, double);
+ void set_punch_start_from_edit_point ();
+ void set_punch_end_from_edit_point ();
+ void set_loop_start_from_edit_point ();
+ void set_loop_end_from_edit_point ();
+
void keyboard_selection_begin ();
void keyboard_selection_finish (bool add);
bool have_pending_keyboard_selection;
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_marker_event (GdkEvent* event,ArdourCanvas::Item*, ArdourMarker*);
bool canvas_tempo_marker_event (GdkEvent* event,ArdourCanvas::Item*, TempoMarker*);
bool canvas_meter_marker_event (GdkEvent* event,ArdourCanvas::Item*, MeterMarker*);
bool canvas_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*);
void marker_menu_edit ();
void marker_menu_remove ();
void marker_menu_rename ();
- void rename_marker (Marker *marker);
+ void rename_marker (ArdourMarker *marker);
void toggle_marker_menu_lock ();
void toggle_marker_menu_glue ();
void marker_menu_hide ();
Gtk::Menu* cd_marker_menu;
ArdourCanvas::Item* marker_menu_item;
- typedef std::list<Marker*> Marks;
+ typedef std::list<ArdourMarker*> Marks;
Marks metric_marks;
void remove_metric_marks ();
void snap_to_internal (framepos_t& first,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
- bool for_mark = false);
+ bool for_mark = false,
+ bool ensure_snap = false);
void timecode_snap_to_internal (framepos_t& first,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
void update_bring_in_message (Gtk::Label* label, uint32_t n, uint32_t total, std::string name);
void bring_all_sources_into_session ();
+ QuantizeDialog* quantize_dialog;
+ MainMenuDisabler* _main_menu_disabler;
+
friend class Drag;
friend class RegionDrag;
friend class RegionMoveDrag;