#ifndef __gtk_ardour_public_editor_h__
#define __gtk_ardour_public_editor_h__
+#ifdef WAF_BUILD
+#include "gtk2ardour-config.h"
+#endif
+
#include <map>
#include <string>
class ImageFrameTimeAxis;
class MarkerView;
class DragManager;
+class MouseCursors;
using ARDOUR::framepos_t;
using ARDOUR::framecnt_t;
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;
/** 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;
/** 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;
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;
friend bool forward_key_press (GdkEventKey*);
PBD::Signal0<void> SnapChanged;
+ PBD::Signal0<void> MouseModeChanged;
};
#endif // __gtk_ardour_public_editor_h__