virtual void set_internal_edit (bool yn) = 0;
+ /** Driven by a double-click, switch in or out of a mode in which
+ editing is primarily focused on "within" regions, rather than
+ regions as black-box objects. For Ardour3, this is aimed at editing
+ MIDI regions but may expand in the future to other types of
+ regions.
+ */
+
+ virtual bool toggle_internal_editing_from_double_click (GdkEvent*) = 0;
+
/** @return Whether editing is currently in "internal" mode or not
*/
virtual bool internal_editing() const = 0;
- /** @return Sound edited notes in MIDI regions while editing
- */
- virtual bool sound_notes () const = 0;
-
/** Possibly start the audition of a region. If @param r is 0, or not an AudioRegion
* any current audition is cancelled. If we are currently auditioning @param r,
* the audition will be cancelled. Otherwise an audition of @param r will start.
virtual gulong frame_to_pixel (framepos_t frame) const = 0;
virtual Selection& get_selection () 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 set_show_measures (bool yn) = 0;
virtual void remove_last_capture () = 0;
virtual void maximise_editing_space () = 0;
virtual void restore_editing_space () = 0;
- virtual framepos_t get_preferred_edit_position (bool ignore_playhead = false) = 0;
+ virtual framepos_t get_preferred_edit_position (bool ignore_playhead = false, bool from_context_menu = false) = 0;
virtual void toggle_meter_updating() = 0;
virtual void split_region_at_points (boost::shared_ptr<ARDOUR::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false) = 0;
virtual void mouse_add_new_marker (framepos_t where, bool is_cd=false, bool is_xrun=false) = 0;
virtual TimeAxisView* get_named_time_axis(const std::string & name) = 0;
#endif
- virtual RouteTimeAxisView* get_route_view_by_route_id (PBD::ID& id) const = 0;
+ virtual RouteTimeAxisView* get_route_view_by_route_id (const PBD::ID& id) const = 0;
virtual void get_equivalent_regions (RegionView* rv, std::vector<RegionView*>&, PBD::PropertyID) const = 0;
static sigc::signal<void> DropDownKeys;
Glib::RefPtr<Gtk::ActionGroup> editor_actions;
+ Glib::RefPtr<Gtk::ActionGroup> editor_menu_actions;
Glib::RefPtr<Gtk::ActionGroup> _region_actions;
virtual void reset_focus () = 0;
virtual Gtkmm2ext::TearOff* tools_tearoff () const = 0;
virtual DragManager* drags () const = 0;
- virtual void maybe_autoscroll (bool, bool) = 0;
+ virtual void maybe_autoscroll (bool, bool, bool, bool) = 0;
virtual void stop_canvas_autoscroll () = 0;
virtual MouseCursors const * cursors () const = 0;
virtual void get_pointer_position (double &, double &) const = 0;
+ virtual ARDOUR::Location* find_location_from_marker (Marker *, bool &) const = 0;
+ virtual Marker* find_marker_from_location_id (PBD::ID const &, bool) const = 0;
+
+ virtual void snap_to_with_modifier (framepos_t &, GdkEvent const *, int32_t direction = 0, bool for_mark = false) = 0;
+
+ virtual void get_regions_at (RegionSelection &, framepos_t where, TrackViewList const &) const = 0;
+
/// Singleton instance, set up by Editor::Editor()
static PublicEditor* _instance;