X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpublic_editor.h;h=5d054fe17424ef45ca8ec99f8dd820254b0fb3b4;hb=756ffc26bffa6a6c9276d6f4fff5b47cc54ad35a;hp=e19ba1483604d3194bb95268bb3dc3dc582a7894;hpb=ded4a143db069785aa33eeb6dc9da02770e3ae8e;p=ardour.git diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index e19ba14836..5d054fe174 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -20,6 +20,10 @@ #ifndef __gtk_ardour_public_editor_h__ #define __gtk_ardour_public_editor_h__ +#ifdef WAF_BUILD +#include "gtk2ardour-config.h" +#endif + #include #include @@ -82,6 +86,7 @@ class ImageFrameView; class ImageFrameTimeAxis; class MarkerView; class DragManager; +class MouseCursors; using ARDOUR::framepos_t; using ARDOUR::framecnt_t; @@ -191,10 +196,6 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { virtual void transition_to_rolling (bool fwd) = 0; virtual framepos_t unit_to_frame (double unit) const = 0; - // XXX remove me when libardour goes framepos_t - double frame_to_unit (nframes_t frame) const { - return frame_to_unit ((framepos_t) frame); - } virtual double frame_to_unit (framepos_t frame) const = 0; virtual double frame_to_unit (double frame) const = 0; virtual framepos_t pixel_to_frame (double pixel) const = 0; @@ -209,6 +210,9 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { /** Open main export dialog */ virtual void export_audio () = 0; + + /** Open stem export dialog */ + virtual void stem_export () = 0; /** Open export dialog with current selection pre-selected */ virtual void export_selection () = 0; @@ -237,8 +241,9 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { /** Set whether the editor should follow the playhead. * @param yn true to follow playhead, otherwise false. + * @param catch_up true to reset the editor view to show the playhead (if yn == true), otherwise false. */ - virtual void set_follow_playhead (bool yn) = 0; + virtual void set_follow_playhead (bool yn, bool catch_up = false) = 0; /** Toggle whether the editor is following the playhead */ virtual void toggle_follow_playhead () = 0; @@ -284,6 +289,8 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { sigc::signal ZoomFocusChanged; sigc::signal ZoomChanged; + /** Emitted when the horizontal position of the editor view changes */ + sigc::signal HorizontalPositionChanged; sigc::signal Resized; sigc::signal Realized; sigc::signal UpdateAllTransportClocks; @@ -291,6 +298,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { static sigc::signal DropDownKeys; Glib::RefPtr editor_actions; + Glib::RefPtr _region_actions; virtual void reset_focus () = 0; @@ -349,9 +357,9 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { #endif virtual gdouble get_trackview_group_vertical_offset () const = 0; - virtual gdouble get_canvas_timebars_vsize () const = 0; - virtual ArdourCanvas::Group* get_background_group () const = 0; + virtual double get_canvas_timebars_vsize () const = 0; virtual ArdourCanvas::Group* get_trackview_group () const = 0; + virtual ArdourCanvas::Group* get_background_group () const = 0; virtual TimeAxisView* axis_view_from_route (boost::shared_ptr) const = 0; @@ -373,6 +381,8 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { virtual void maybe_autoscroll (bool, bool) = 0; virtual void stop_canvas_autoscroll () = 0; + virtual MouseCursors const * cursors () const = 0; + /// Singleton instance, set up by Editor::Editor() static PublicEditor* _instance; @@ -381,6 +391,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { friend bool forward_key_press (GdkEventKey*); PBD::Signal0 SnapChanged; + PBD::Signal0 MouseModeChanged; }; #endif // __gtk_ardour_public_editor_h__