Remove unused and uncompiled panner code.
[ardour.git] / gtk2_ardour / editor_drag.h
index 04d7150ee4446409554619fa5593cd3f320debbc..ab81db5a63438f9c650a809092eada0e56fb4a8c 100644 (file)
@@ -42,7 +42,7 @@ namespace PBD {
 namespace Gnome {
        namespace Canvas {
                class CanvasNoteEvent;
-               class CanvasProgramChange;
+               class CanvasPatchChange;
        }
 }
 
@@ -100,6 +100,7 @@ private:
        double _current_pointer_x; ///< trackview x of the current pointer
        double _current_pointer_y; ///< trackview y of the current pointer
        ARDOUR::framepos_t _current_pointer_frame; ///< frame that the pointer is now at
+       bool _old_follow_playhead; ///< state of Editor::follow_playhead() before the drags started
 };
 
 /** Abstract base class for dragging of things within the editor */
@@ -147,8 +148,9 @@ public:
 
        /** Called to abort a drag and return things to how
         *  they were before it started.
+        *  @param m true if some movement occurred, otherwise false.
         */
-       virtual void aborted () = 0;
+       virtual void aborted (bool m) = 0;
 
        /** @param m Mouse mode.
         *  @return true if this drag should happen in this mouse mode.
@@ -289,7 +291,7 @@ public:
        virtual void start_grab (GdkEvent *, Gdk::Cursor *);
        virtual void motion (GdkEvent *, bool);
        virtual void finished (GdkEvent *, bool) = 0;
-       virtual void aborted ();
+       virtual void aborted (bool);
 
        /** @return true if the regions being `moved' came from somewhere on the canvas;
         *  false if they came from outside (e.g. from the region list).
@@ -320,7 +322,7 @@ public:
 
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool regions_came_from_canvas () const {
                return true;
@@ -376,7 +378,7 @@ public:
        RegionInsertDrag (Editor *, boost::shared_ptr<ARDOUR::Region>, RouteTimeAxisView*, ARDOUR::framepos_t);
 
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool regions_came_from_canvas () const {
                return false;
@@ -391,7 +393,7 @@ public:
 
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 };
 
 /** Drags to create regions */
@@ -402,7 +404,7 @@ public:
 
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
 private:
        MidiTimeAxisView* _view;
@@ -419,7 +421,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
 private:
        MidiRegionView*     region;
@@ -436,7 +438,7 @@ class NoteDrag : public Drag
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
   private:
 
@@ -451,15 +453,15 @@ class NoteDrag : public Drag
        double _note_height;
 };
 
-/** Drag to move MIDI program changes */
-class ProgramChangeDrag : public Drag
+/** Drag to move MIDI patch changes */
+class PatchChangeDrag : public Drag
 {
 public:
-       ProgramChangeDrag (Editor *, ArdourCanvas::CanvasProgramChange *, MidiRegionView *);
+       PatchChangeDrag (Editor *, ArdourCanvas::CanvasPatchChange *, MidiRegionView *);
 
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool y_movement_matters () const {
                return false;
@@ -469,7 +471,7 @@ public:
 
 private:
        MidiRegionView* _region_view;
-       ArdourCanvas::CanvasProgramChange* _program_change;
+       ArdourCanvas::CanvasPatchChange* _patch_change;
        double _cumulative_dx;
 };
 
@@ -485,7 +487,7 @@ public:
                return (m == Editing::MouseGain);
        }
 
-       void aborted ();
+       void aborted (bool);
 };
 
 /** Drag to trim region(s) */
@@ -503,7 +505,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool y_movement_matters () const {
                return false;
@@ -514,7 +516,6 @@ public:
 private:
 
        Operation _operation;
-       bool _have_transaction; ///< true if a transaction has been started, false otherwise. Must be set true by derived class.
 };
 
 /** Meter marker drag */
@@ -526,7 +527,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool allow_vertical_autoscroll () const {
                return false;
@@ -552,7 +553,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool allow_vertical_autoscroll () const {
                return false;
@@ -570,7 +571,7 @@ private:
 };
 
 
-/** Drag of a cursor */
+/** Drag of the playhead cursor */
 class CursorDrag : public Drag
 {
 public:
@@ -579,7 +580,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool active (Editing::MouseMode) {
                return true;
@@ -592,13 +593,11 @@ public:
        bool y_movement_matters () const {
                return false;
        }
-
-       void setup_pointer_frame_offset ();
        
 private:
-       EditorCursor* _cursor; ///< cursor being dragged
+       void fake_locate (framepos_t);
+       
        bool _stop; ///< true to stop the transport on starting the drag, otherwise false
-
 };
 
 /** Region fade-in drag */
@@ -610,7 +609,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool y_movement_matters () const {
                return false;
@@ -628,7 +627,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool y_movement_matters () const {
                return false;
@@ -647,7 +646,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool allow_vertical_autoscroll () const {
                return false;
@@ -664,7 +663,6 @@ private:
 
        Marker* _marker; ///< marker being dragged
        std::list<ARDOUR::Location*> _copied_locations;
-       ArdourCanvas::Line* _line;
        ArdourCanvas::Points _points;
 };
 
@@ -677,7 +675,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool active (Editing::MouseMode m);
 
@@ -700,7 +698,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool active (Editing::MouseMode) {
                return true;
@@ -725,7 +723,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool active (Editing::MouseMode) {
                return true;
@@ -752,7 +750,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        std::pair<ARDOUR::framecnt_t, int> move_threshold () const {
                return std::make_pair (8, 1);
@@ -768,7 +766,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 };
 
 /** Scrub drag in audition mode */
@@ -780,7 +778,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 };
 
 /** Drag in range select mode */
@@ -799,7 +797,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        void setup_pointer_frame_offset ();
 
@@ -826,7 +824,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool allow_vertical_autoscroll () const {
                return false;
@@ -853,7 +851,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        std::pair<ARDOUR::framecnt_t, int> move_threshold () const {
                return std::make_pair (4, 4);
@@ -872,7 +870,7 @@ public:
        void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
        void motion (GdkEvent *, bool);
        void finished (GdkEvent *, bool);
-       void aborted ();
+       void aborted (bool);
 
        bool x_movement_matters () const {
                return false;