X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_drag.h;h=cd1b0c2474446934222a3f5cf9b3b41623fb6276;hb=552e995297d7706790ed2dfaab75749e914ad317;hp=b9310c79fb063cb50b5847aec7c99c0c70d9884d;hpb=e1f168de110322e7024dfa334b97f3b433907ae1;p=ardour.git diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h index b9310c79fb..cd1b0c2474 100644 --- a/gtk2_ardour/editor_drag.h +++ b/gtk2_ardour/editor_drag.h @@ -202,7 +202,7 @@ public: bool initially_vertical() const { return _initially_vertical; } - + /** Set up the _pointer_frame_offset */ virtual void setup_pointer_frame_offset () { _pointer_frame_offset = 0; @@ -246,7 +246,7 @@ protected: /* sets snap delta from unsnapped pos */ void setup_snap_delta (framepos_t pos); - boost::shared_ptr add_midi_region (MidiTimeAxisView*); + boost::shared_ptr add_midi_region (MidiTimeAxisView*, bool commit); void show_verbose_cursor_time (framepos_t); void show_verbose_cursor_duration (framepos_t, framepos_t, double xoffset = 0); @@ -362,6 +362,7 @@ protected: virtual bool y_movement_allowed (int, double, int skip_invisible = 0) const; bool _brushing; + bool _ignore_video_lock; ARDOUR::framepos_t _last_frame_position; ///< last position of the thing being dragged double _total_x_delta; int _last_pointer_time_axis_view; @@ -532,6 +533,7 @@ private: MidiRegionView* region; bool relative; bool at_front; + bool _was_selected; double _snap_delta; }; @@ -555,7 +557,7 @@ class NoteDrag : public Drag NoteBase* _primary; double _cumulative_dx; double _cumulative_dy; - bool _was_selected; + bool _was_selected; double _note_height; }; @@ -581,7 +583,7 @@ public: private: double y_to_region (double) const; ARDOUR::framecnt_t grid_frames (framepos_t) const; - + MidiRegionView* _region_view; ArdourCanvas::Rectangle* _drag_rect; framepos_t _note[2]; @@ -645,6 +647,7 @@ protected: private: ARDOUR::frameoffset_t _startdrag_video_offset; ARDOUR::frameoffset_t _max_backwards_drag; + bool _stuck; }; /** Drag to trim region(s) */ @@ -673,7 +676,7 @@ public: private: Operation _operation; - + bool _preserve_fade_anchor; bool _jump_position_when_done; }; @@ -822,7 +825,7 @@ private: void update_item (ARDOUR::Location *); ArdourMarker* _marker; ///< marker being dragged - + bool _selection_changed; struct CopiedLocationMarkerInfo { ARDOUR::Location* location; std::vector markers; @@ -930,7 +933,7 @@ public: * @param drag_in_progress true if the drag is currently happening. */ virtual void select_things (int button_state, framepos_t x1, framepos_t x2, double y1, double y2, bool drag_in_progress) = 0; - + virtual void deselect_things () = 0; protected: @@ -1040,7 +1043,7 @@ public: RangeMarkerBarDrag (Editor *, ArdourCanvas::Item *, Operation); ~RangeMarkerBarDrag (); - + void start_grab (GdkEvent *, Gdk::Cursor* c = 0); void motion (GdkEvent *, bool); void finished (GdkEvent *, bool); @@ -1132,7 +1135,7 @@ class CrossfadeEdgeDrag : public Drag void motion (GdkEvent*, bool); void finished (GdkEvent*, bool); void aborted (bool); - + bool y_movement_matters () const { return false; }