peak-indicator threshold configuration
[ardour.git] / gtk2_ardour / editor.h
index c287a259eaa5bc29012d6de4d10bf0e532a20a0d..919d6e0781c249f032e37661cc8d25a0ee32d30c 100644 (file)
@@ -61,7 +61,6 @@
 #include "editor_items.h"
 #include "region_selection.h"
 #include "canvas.h"
-#include "window_proxy.h"
 
 namespace Gnome {
        namespace Canvas {
@@ -108,13 +107,24 @@ class BundleManager;
 class ButtonJoiner;
 class ControlPoint;
 class DragManager;
+class EditNoteDialog;
+class EditorCursor;
+class EditorGroupTabs;
+class EditorLocations;
+class EditorRegions;
+class EditorRoutes;
+class EditorRouteGroups;
+class EditorSnapshots;
+class EditorSummary;
 class GroupedButtons;
 class GUIObjectState;
 class Marker;
 class MidiRegionView;
 class MixerStrip;
+class MouseCursors;
 class PlaylistSelector;
 class PluginSelector;
+class ProgressReporter;
 class RhythmFerret;
 class Selection;
 class SoundFileOmega;
@@ -123,29 +133,9 @@ class TempoLines;
 class TimeAxisView;
 class TimeFXDialog;
 class TimeSelection;
-class EditorGroupTabs;
-class EditorRoutes;
-class EditorRouteGroups;
-class EditorRegions;
-class EditorLocations;
-class EditorSnapshots;
-class EditorSummary;
 class RegionLayeringOrderEditor;
-class ProgressReporter;
-class EditorCursor;
-class MouseCursors;
 class VerboseCursor;
 
-/* <CMT Additions> */
-class ImageFrameView;
-class ImageFrameTimeAxisView;
-class ImageFrameTimeAxis;
-class MarkerTimeAxis ;
-class MarkerView ;
-class ImageFrameSocketHandler ;
-class TimeAxisViewItem ;
-/* </CMT Additions> */
-
 class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr
 {
   public:
@@ -198,14 +188,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void set_internal_edit (bool yn);
        bool toggle_internal_editing_from_double_click (GdkEvent*);
 
-#ifdef WITH_CMT
-       void add_imageframe_time_axis(const std::string & track_name, void*) ;
-       void add_imageframe_marker_time_axis(const std::string & track_name, TimeAxisView* marked_track, void*) ;
-       void connect_to_image_compositor() ;
-       void scroll_timeaxis_to_imageframe_item(const TimeAxisViewItem* item) ;
-       TimeAxisView* get_named_time_axis(const std::string & name) ;
-#endif /* WITH_CMT */
-
        void foreach_time_axis_view (sigc::slot<void,TimeAxisView&>);
        void add_to_idle_resize (TimeAxisView*, int32_t);
 
@@ -783,9 +765,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
                ruler_time_range_marker = 7,
                ruler_time_transport_marker = 8,
                ruler_time_cd_marker = 9,
-#ifdef WITH_VIDEOTIMELINE
                ruler_video_timeline = 10,
-#endif
        };
 
        static GtkCustomMetric ruler_metrics[4];
@@ -921,7 +901,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::Label  transport_mark_label;
        Gtk::Label  cd_mark_label;
 
-#ifdef WITH_VIDEOTIMELINE
+       /* videtimline related actions */
        ArdourCanvas::SimpleRect* videotl_bar;
        Gtk::Label                videotl_label;
        ArdourCanvas::Group*      videotl_bar_group;
@@ -933,8 +913,11 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Glib::RefPtr<Gtk::ToggleAction> xjadeo_frame_action;
        Glib::RefPtr<Gtk::ToggleAction> xjadeo_osdbg_action;
        Glib::RefPtr<Gtk::ToggleAction> xjadeo_fullscreen_action;
+       Glib::RefPtr<Gtk::ToggleAction> xjadeo_letterbox_action;
+       Glib::RefPtr<Gtk::Action> xjadeo_zoom_100;
        void set_xjadeo_proc ();
        void toggle_xjadeo_proc (int state=-1);
+       void set_close_video_sensitive (bool onoff);
        void set_xjadeo_sensitive (bool onoff);
        void set_xjadeo_viewoption (int);
        void toggle_xjadeo_viewoption (int what, int state=-1);
@@ -943,7 +926,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        int get_videotl_bar_height () const { return videotl_bar_height; }
        void export_video ();
        void toggle_region_video_lock ();
-#endif
 
        Gtk::VBox          time_button_vbox;
        Gtk::HBox          time_button_hbox;
@@ -1454,7 +1436,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        bool canvas_range_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*);
        bool canvas_transport_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*);
        bool canvas_cd_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*);
-#ifdef WITH_VIDEOTIMELINE
+
        bool canvas_videotl_bar_event (GdkEvent* event, ArdourCanvas::Item*);
        void update_video_timeline (bool flush = false);
        void set_video_timeline_height (const int);
@@ -1463,16 +1445,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void set_video_timeline_locked (const bool);
        void queue_visual_videotimeline_update ();
        void embed_audio_from_video (std::string, framepos_t n = 0);
-#endif
-
-       bool canvas_imageframe_item_view_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameView*);
-       bool canvas_imageframe_view_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameTimeAxis*);
-       bool canvas_imageframe_start_handle_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameView*);
-       bool canvas_imageframe_end_handle_event(GdkEvent* event, ArdourCanvas::Item*,ImageFrameView*);
-       bool canvas_marker_time_axis_view_event(GdkEvent* event, ArdourCanvas::Item*,MarkerTimeAxis*);
-       bool canvas_markerview_item_view_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*);
-       bool canvas_markerview_start_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*);
-       bool canvas_markerview_end_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*);
 
        PBD::Signal0<void> EditorFreeze;
        PBD::Signal0<void> EditorThaw;
@@ -1542,7 +1514,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void edit_tempo_marker (ArdourCanvas::Item*);
        void edit_meter_marker (ArdourCanvas::Item*);
        void edit_control_point (ArdourCanvas::Item*);
-       void edit_notes (std::set<Gnome::Canvas::CanvasNoteEvent *> const &);
+        void edit_notes (TimeAxisViewItem&);
 
        void marker_menu_edit ();
        void marker_menu_remove ();
@@ -1923,47 +1895,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void nudge_track (bool use_edit_point, bool forwards);
 
-#ifdef WITH_CMT
-       void handle_new_imageframe_time_axis_view(const std::string & track_name, void* src) ;
-       void handle_new_imageframe_marker_time_axis_view(const std::string & track_name, TimeAxisView* marked_track) ;
-
-       void start_imageframe_grab(ArdourCanvas::Item*, GdkEvent*) ;
-       void start_markerview_grab(ArdourCanvas::Item*, GdkEvent*) ;
-
-       void imageframe_drag_motion_callback(ArdourCanvas::Item*, GdkEvent*) ;
-       void markerview_drag_motion_callback(ArdourCanvas::Item*, GdkEvent*) ;
-       void timeaxis_item_drag_finished_callback(ArdourCanvas::Item*, GdkEvent*) ;
-
-       gint canvas_imageframe_item_view_event(ArdourCanvas::Item* item, GdkEvent* event, ImageFrameView* ifv);
-       gint canvas_imageframe_view_event(ArdourCanvas::Item* item, GdkEvent* event, ImageFrameTimeAxis* ifta);
-       gint canvas_imageframe_start_handle_event(ArdourCanvas::Item* item, GdkEvent* event, ImageFrameView* ifv);
-       gint canvas_imageframe_end_handle_event(ArdourCanvas::Item* item, GdkEvent* event, ImageFrameView* ifv);
-
-       gint canvas_marker_time_axis_view_event(ArdourCanvas::Item* item, GdkEvent* event, MarkerTimeAxis* mta);
-       gint canvas_markerview_item_view_event(ArdourCanvas::Item* item, GdkEvent* event, MarkerView* mv);
-       gint canvas_markerview_start_handle_event(ArdourCanvas::Item* item, GdkEvent* event, MarkerView* mv);
-       gint canvas_markerview_end_handle_event(ArdourCanvas::Item* item, GdkEvent* event, MarkerView* mv);
-
-       void imageframe_start_handle_op(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void imageframe_end_handle_op(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void imageframe_start_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void imageframe_start_handle_end_trim(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void imageframe_end_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void imageframe_end_handle_end_trim(ArdourCanvas::Item* item, GdkEvent* event) ;
-
-       void markerview_item_start_handle_op(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void markerview_item_end_handle_op(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void markerview_start_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void markerview_start_handle_end_trim(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void markerview_end_handle_trim_motion(ArdourCanvas::Item* item, GdkEvent* event) ;
-       void markerview_end_handle_end_trim(ArdourCanvas::Item* item, GdkEvent* event) ;
-
-       void popup_imageframe_edit_menu(int button, int32_t time, ArdourCanvas::Item* ifv, bool with_frame) ;
-       void popup_marker_time_axis_edit_menu(int button, int32_t time, ArdourCanvas::Item* ifv, bool with_frame) ;
-
-       ImageFrameSocketHandler* image_socket_listener ;
-#endif
-
        static const int32_t default_width = 995;
        static const int32_t default_height = 765;
 
@@ -2140,7 +2071,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        bool _following_mixer_selection;
 
        int time_fx (ARDOUR::RegionList&, float val, bool pitching);
-
+        void note_edit_done (int, EditNoteDialog*);
        void toggle_sound_midi_notes ();
 
        /** Flag for a bit of a hack wrt control point selection; see set_selected_control_point_from_click */
@@ -2181,9 +2112,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        friend class RegionCreateDrag;
        friend class RegionMotionDrag;
        friend class RegionInsertDrag;
-#ifdef WITH_VIDEOTIMELINE
        friend class VideoTimeLineDrag;
-#endif
 
        friend class EditorSummary;
        friend class EditorGroupTabs;