X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpublic_editor.h;h=7516d48099ea07396fe3cebf391941d621b1c3eb;hb=04c484089c5f1ff064b111ce3e4f1e2ff7e7ec83;hp=a86169b4dbac61c57a1170c5b4d189cac61c6649;hpb=94e0a15325278ec26dbeba4990a0e883db859338;p=ardour.git diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index a86169b4db..7516d48099 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -148,10 +148,10 @@ class PublicEditor : public Gtkmm2ext::Tabbable { * Snap a value according to the current snap setting. * ensure_snap overrides SnapOff and magnetic snap */ - virtual void snap_to (framepos_t& first, - ARDOUR::RoundMode direction = ARDOUR::RoundNearest, - bool for_mark = false, - bool ensure_snap = false) = 0; + virtual void snap_to (ARDOUR::MusicFrame& first, + ARDOUR::RoundMode direction = ARDOUR::RoundNearest, + bool for_mark = false, + bool ensure_snap = false) = 0; /** Undo some transactions. * @param n Number of transactions to undo. @@ -192,20 +192,25 @@ class PublicEditor : public Gtkmm2ext::Tabbable { */ virtual void consider_auditioning (boost::shared_ptr r) = 0; + /* import dialogs -> ardour-ui ?! */ + virtual void external_audio_dialog () = 0; + virtual void session_import_dialog () = 0; + virtual void new_region_from_selection () = 0; virtual void separate_region_from_selection () = 0; virtual void transition_to_rolling (bool fwd) = 0; virtual framepos_t pixel_to_sample (double pixel) const = 0; + virtual framepos_t playhead_cursor_sample () const = 0; virtual double sample_to_pixel (framepos_t frame) const = 0; virtual double sample_to_pixel_unrounded (framepos_t frame) const = 0; virtual Selection& get_selection () const = 0; virtual bool get_selection_extents (framepos_t &start, framepos_t &end) const = 0; virtual Selection& get_cut_buffer () const = 0; - virtual void track_mixer_selection () = 0; virtual bool extend_selection_to_track (TimeAxisView&) = 0; virtual void play_selection () = 0; virtual void play_with_preroll () = 0; + virtual void rec_with_preroll () = 0; virtual void maybe_locate_with_edit_preroll (framepos_t location) = 0; virtual void goto_nth_marker (int nth) = 0; virtual void trigger_script (int nth) = 0; @@ -217,11 +222,37 @@ class PublicEditor : public Gtkmm2ext::Tabbable { virtual void set_loop_range (framepos_t start, framepos_t end, std::string cmd) = 0; virtual void set_punch_range (framepos_t start, framepos_t end, std::string cmd) = 0; + virtual void jump_forward_to_mark () = 0; + virtual void jump_backward_to_mark () = 0; + + virtual void set_session_start_from_playhead () = 0; + virtual void set_session_end_from_playhead () = 0; + + virtual void toggle_location_at_playhead_cursor () = 0; + + virtual void nudge_forward (bool next, bool force_playhead) = 0; + virtual void nudge_backward (bool next, bool force_playhead) = 0; + + virtual void playhead_forward_to_grid () = 0; + virtual void playhead_backward_to_grid () = 0; + + virtual void keyboard_selection_begin ( Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE) = 0; + virtual void keyboard_selection_finish (bool add, Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE) = 0; + + virtual void set_punch_start_from_edit_point () = 0; + virtual void set_punch_end_from_edit_point () = 0; + virtual void set_loop_start_from_edit_point () = 0; + virtual void set_loop_end_from_edit_point () = 0; + virtual Editing::MouseMode effective_mouse_mode () const = 0; /** Import existing media */ - virtual void do_import (std::vector paths, Editing::ImportDisposition, Editing::ImportMode mode, ARDOUR::SrcQuality, framepos_t&, boost::shared_ptr instrument=boost::shared_ptr()) = 0; - virtual void do_embed (std::vector paths, Editing::ImportDisposition, Editing::ImportMode mode, framepos_t&, boost::shared_ptr instrument=boost::shared_ptr()) = 0; + virtual void do_import (std::vector paths, Editing::ImportDisposition, Editing::ImportMode mode, ARDOUR::SrcQuality, + ARDOUR::MidiTrackNameSource, ARDOUR::MidiTempoMapDisposition, framepos_t&, + boost::shared_ptr instrument=boost::shared_ptr()) = 0; + virtual void do_embed (std::vector paths, Editing::ImportDisposition, Editing::ImportMode mode, + framepos_t&, + boost::shared_ptr instrument=boost::shared_ptr()) = 0; /** Open main export dialog */ virtual void export_audio () = 0; @@ -251,9 +282,9 @@ class PublicEditor : public Gtkmm2ext::Tabbable { virtual void set_selected_mixer_strip (TimeAxisView&) = 0; virtual void hide_track_in_display (TimeAxisView* tv, bool apply_to_selection = false) = 0; - virtual void set_stationary_playhead (bool yn) = 0; - virtual void toggle_stationary_playhead () = 0; - virtual bool stationary_playhead() const = 0; + virtual void set_stationary_playhead (bool yn) = 0; + virtual void toggle_stationary_playhead () = 0; + virtual bool stationary_playhead() const = 0; /** Set whether the editor should follow the playhead. * @param yn true to follow playhead, otherwise false. @@ -289,7 +320,7 @@ class PublicEditor : public Gtkmm2ext::Tabbable { virtual void restore_editing_space () = 0; virtual framepos_t get_preferred_edit_position (Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE, bool from_context_menu = false, bool from_outside_canvas = false) = 0; virtual void toggle_meter_updating() = 0; - virtual void split_regions_at (framepos_t, RegionSelection&, const int32_t& sub_num) = 0; + virtual void split_regions_at (ARDOUR::MusicFrame, RegionSelection&, bool snap) = 0; virtual void split_region_at_points (boost::shared_ptr, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false) = 0; virtual void mouse_add_new_marker (framepos_t where, bool is_cd=false) = 0; virtual void foreach_time_axis_view (sigc::slot) = 0; @@ -298,7 +329,7 @@ class PublicEditor : public Gtkmm2ext::Tabbable { virtual framecnt_t get_paste_offset (framepos_t pos, unsigned paste_count, framecnt_t duration) = 0; virtual unsigned get_grid_beat_divisions(framepos_t position) = 0; virtual Evoral::Beats get_grid_type_as_beats (bool& success, framepos_t position) = 0; - virtual unsigned get_grid_music_divisions (uint32_t event_state) = 0; + virtual int32_t get_grid_music_divisions (uint32_t event_state) = 0; virtual void edit_notes (MidiRegionView*) = 0; virtual void queue_visual_videotimeline_update () = 0; @@ -325,8 +356,6 @@ class PublicEditor : public Gtkmm2ext::Tabbable { Glib::RefPtr editor_menu_actions; Glib::RefPtr _region_actions; - virtual void reset_focus (Gtk::Widget*) = 0; - virtual bool canvas_scroll_event (GdkEventScroll* event, bool from_canvas) = 0; virtual bool canvas_control_point_event (GdkEvent* event, ArdourCanvas::Item*, ControlPoint*) = 0; virtual bool canvas_line_event (GdkEvent* event, ArdourCanvas::Item*, AutomationLine*) = 0; @@ -406,10 +435,10 @@ class PublicEditor : public Gtkmm2ext::Tabbable { virtual ARDOUR::Location* find_location_from_marker (ArdourMarker *, bool &) const = 0; virtual ArdourMarker* find_marker_from_location_id (PBD::ID const &, bool) const = 0; - virtual void snap_to_with_modifier (framepos_t & first, - GdkEvent const * ev, - ARDOUR::RoundMode direction = ARDOUR::RoundNearest, - bool for_mark = false) = 0; + virtual void snap_to_with_modifier (ARDOUR::MusicFrame& first, + GdkEvent const * ev, + ARDOUR::RoundMode direction = ARDOUR::RoundNearest, + bool for_mark = false) = 0; virtual void get_regions_at (RegionSelection &, framepos_t where, TrackViewList const &) const = 0; virtual void get_regions_after (RegionSelection&, framepos_t where, const TrackViewList& ts) const = 0;