X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpublic_editor.h;h=9e73596b9f5fe1d07a86ee8db30faca05fd4dff6;hb=e98824e3287bc2ab85ae882f5faf5a7aacb1fd4f;hp=f82585802c148afd51b0f6f1c7d385bdf606c9b9;hpb=ab91bcfdace8f4c3e76de3a9ffbfff93102997fb;p=ardour.git diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index f82585802c..9e73596b9f 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -6,13 +6,13 @@ #include #include #include -#include #include #include #include #include "editing.h" #include "keyboard_target.h" +#include "canvas.h" namespace ARDOUR { class Session; @@ -37,15 +37,26 @@ class Selection; class AutomationLine; class ControlPoint; class SelectionRect; - -class PublicEditor : public Gtk::Window, public Stateful, public KeyboardTarget { +class CrossfadeView; +class AudioTimeAxisView; +class AudioRegionView; +class TempoMarker; +class MeterMarker; +class Marker; +class AutomationTimeAxisView; +class MarkerTimeAxis; +class ImageFrameView; +class ImageFrameTimeAxis; +class MarkerView; + +class PublicEditor : public Gtk::Window, public Stateful { public: PublicEditor(); virtual ~PublicEditor(); typedef list TrackViewList; - static PublicEditor* instance() { return _instance; } + static PublicEditor& instance() { return *_instance; } virtual void connect_to_session (ARDOUR::Session*) = 0; virtual ARDOUR::Session* current_session() const = 0; @@ -83,6 +94,7 @@ class PublicEditor : public Gtk::Window, public Stateful, public KeyboardTarget virtual bool show_measures () const = 0; virtual void export_session() = 0; virtual void export_selection() = 0; + virtual void register_actions() = 0; virtual void add_toplevel_controls (Gtk::Container&) = 0; virtual void set_zoom_focus (Editing::ZoomFocus) = 0; virtual Editing::ZoomFocus get_zoom_focus () const = 0; @@ -119,43 +131,40 @@ class PublicEditor : public Gtk::Window, public Stateful, public KeyboardTarget // FIXED FOR GTK2 - virtual bool canvas_control_point_event (GdkEvent* event,ControlPoint*) = 0; - virtual bool canvas_line_event (GdkEvent* event,AutomationLine*) = 0; - virtual bool canvas_selection_rect_event (GdkEvent* event,SelectionRect*) = 0; - virtual bool canvas_selection_start_trim_event (GdkEvent* event,SelectionRect*) = 0; - virtual bool canvas_selection_end_trim_event (GdkEvent* event,SelectionRect*) = 0; - - // PENDING - - - virtual gint canvas_crossfade_view_event (GdkEvent* event) = 0; - virtual gint canvas_fade_in_event (GdkEvent* event) = 0; - virtual gint canvas_fade_in_handle_event (GdkEvent* event) = 0; - virtual gint canvas_fade_out_event (GdkEvent* event) = 0; - virtual gint canvas_fade_out_handle_event (GdkEvent* event) = 0; - virtual gint canvas_region_view_event (GdkEvent* event) = 0; - virtual gint canvas_region_view_name_highlight_event (GdkEvent* event) = 0; - virtual gint canvas_region_view_name_event (GdkEvent* event) = 0; - virtual gint canvas_stream_view_event (GdkEvent* event) = 0; - virtual gint canvas_marker_event (GdkEvent* event) = 0; - virtual gint canvas_zoom_rect_event (GdkEvent* event) = 0; - - virtual gint canvas_tempo_marker_event (GdkEvent* event) = 0; - virtual gint canvas_meter_marker_event (GdkEvent* event) = 0; - virtual gint canvas_tempo_bar_event (GdkEvent* event) = 0; - virtual gint canvas_meter_bar_event (GdkEvent* event) = 0; - virtual gint canvas_marker_bar_event (GdkEvent* event) = 0; - virtual gint canvas_range_marker_bar_event (GdkEvent* event) = 0; - virtual gint canvas_transport_marker_bar_event (GdkEvent* event) = 0; - virtual gint canvas_imageframe_item_view_event(GdkEvent* event) = 0; - virtual gint canvas_imageframe_view_event(GdkEvent* event) = 0; - virtual gint canvas_imageframe_start_handle_event(GdkEvent* event) = 0; - virtual gint canvas_imageframe_end_handle_event(GdkEvent* event) = 0; - virtual gint canvas_marker_time_axis_view_event(GdkEvent* event) = 0; - virtual gint canvas_markerview_item_view_event(GdkEvent* event) = 0; - virtual gint canvas_markerview_start_handle_event(GdkEvent* event) = 0; - virtual gint canvas_markerview_end_handle_event(GdkEvent* event) = 0; - virtual gint canvas_automation_track_event(GdkEvent* event) = 0; + virtual bool canvas_control_point_event (GdkEvent* event,ArdourCanvas::Item*, ControlPoint*) = 0; + virtual bool canvas_line_event (GdkEvent* event,ArdourCanvas::Item*, AutomationLine*) = 0; + virtual bool canvas_selection_rect_event (GdkEvent* event,ArdourCanvas::Item*, SelectionRect*) = 0; + virtual bool canvas_selection_start_trim_event (GdkEvent* event,ArdourCanvas::Item*, SelectionRect*) = 0; + virtual bool canvas_selection_end_trim_event (GdkEvent* event,ArdourCanvas::Item*, SelectionRect*) = 0; + virtual bool canvas_crossfade_view_event (GdkEvent* event,ArdourCanvas::Item*, CrossfadeView*) = 0; + virtual bool canvas_fade_in_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*) = 0; + virtual bool canvas_fade_in_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*) = 0; + virtual bool canvas_fade_out_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*) = 0; + virtual bool canvas_fade_out_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*) = 0; + virtual bool canvas_region_view_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*) = 0; + virtual bool canvas_region_view_name_highlight_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*) = 0; + virtual bool canvas_region_view_name_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*) = 0; + virtual bool canvas_stream_view_event (GdkEvent* event,ArdourCanvas::Item*, AudioTimeAxisView*) = 0; + virtual bool canvas_marker_event (GdkEvent* event,ArdourCanvas::Item*, Marker*) = 0; + virtual bool canvas_zoom_rect_event (GdkEvent* event,ArdourCanvas::Item*) = 0; + virtual bool canvas_tempo_marker_event (GdkEvent* event,ArdourCanvas::Item*, TempoMarker*) = 0; + virtual bool canvas_meter_marker_event (GdkEvent* event,ArdourCanvas::Item*, MeterMarker*) = 0; + virtual bool canvas_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*) = 0; + + virtual bool canvas_tempo_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0; + virtual bool canvas_meter_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0; + virtual bool canvas_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0; + virtual bool canvas_range_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0; + virtual bool canvas_transport_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0; + + virtual bool canvas_imageframe_item_view_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameView*) = 0; + virtual bool canvas_imageframe_view_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameTimeAxis*) = 0; + virtual bool canvas_imageframe_start_handle_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameView*) = 0; + virtual bool canvas_imageframe_end_handle_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameView*) = 0; + virtual bool canvas_marker_time_axis_view_event(GdkEvent* event, ArdourCanvas::Item*,MarkerTimeAxis*) = 0; + virtual bool canvas_markerview_item_view_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*) = 0; + virtual bool canvas_markerview_start_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*) = 0; + virtual bool canvas_markerview_end_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*) = 0; static PublicEditor* _instance; };