summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.h
AgeCommit message (Collapse)Author
2015-03-25remove crufty variableBen Loftis
2015-03-25DnD, only use track relationshipRobin Gareus
Ignore any routes or automation lanes during region y-axis distance calculation.
2015-03-25Major rework of DnD.Robin Gareus
Allow dragging multiple regions from multiple tracks across any number of hidden tracks and automation lanes. fixes #6176 and #6172
2015-02-13fix up recent cherry-picks from waves' tracksPaul Davis
2015-02-13implement axis-limited draggingPaul Davis
2015-02-13detect if drags appear to be vertical or horizontal as we cross the move ↵Paul Davis
threshold Conflicts: gtk2_ardour/editor_drag.cc gtk2_ardour/editor_drag.h
2015-02-05implement RangeMarkerBarDrag::abortPaul Davis
Conflicts: gtk2_ardour/editor_drag.cc
2015-01-24make MouseCursors invalid cursor API be static; use to initialize default ↵Paul Davis
cursor value in Drag API; use C API to set canvas cursor
2015-01-23fix indentation from prior commitPaul Davis
2015-01-23[Summary] Fixed bug 45163: Trim range from right corner of timeline leads ↵GZharun
Tracks to crash [Details] Crash was provoked because of an attempt to add commands to the session reversible command, but when autoscroll started and trim began with autoscroll the session reversible command was not created for for Trim Drag.
2015-01-13Fix automation range drag and implement for MIDI.David Robillard
Range select rect sticks around now after switching to the draw tool, but disappears if a note selection is made. Not sure if draw is really the most appropriate tool here (particularly if we ever implement actual pencil-like drawing); edit contents seems more appropriate but that would probably cause more selection issues, so here we are.
2014-12-20Fix various cursor problems.David Robillard
Add a new scoped cursor system that makes it much harder to screw up and end up with stick cursors and so on.
2014-12-07Unify gain and draw tools.David Robillard
There might be a few special cases lingering around from attempts at magic tool business, but this seems to work fine as far as I can tell.
2014-11-25Remove dead code.David Robillard
2014-11-24when dragging on the canvas, use x,y pointer coordinates to decide if motion ↵Paul Davis
has occured. Using _last_pointer_frame breaks when dragging to the left of the canvas, because we clamp the value of the frame to >= 0. Motion would step once the pointer crossed the left edge of the canvas because the frame value would always be zero. This is not a problem when using the pointer x,y values which end up appropriately negative under all conditions.
2014-09-17new code to support creating skip markersPaul Davis
2014-07-07some code shuffling to make sure that cut mode always operates at the mouse ↵Paul Davis
location, with (maybe) the right regions
2014-07-07use an EditorCursor when dragging in cut mode to indicate cut positionPaul Davis
2014-07-07add functionality for cut toolPaul Davis
2014-07-01Merge branch 'ripple-mode-cc' into cairocanvasColin Fletcher
Fix up merge conflicts in gtk2_ardour/editor_mouse.cc gtk2_ardour/editor_ops.cc Also fix up compile errors.
2014-07-01Fixes for ripple mode dragColin Fletcher
Make undo of ripple mode dragging work a bit better, and hopefully prevent rippled regions from jumping about when being dragged.
2014-06-19modifications to region drag implementationPaul Davis
(1) if we're dragging over the drop zone, then x-axis motion is irrelevant for threshold-of-move (2) store original time axis view of a dragged region so that if we create a new track with the region drag, it can be the same height
2014-06-17a set of inter-related subtle changes to get vertical autoscrolling to work, ↵Paul Davis
or at least work better.
2014-06-08introduce Drag::_trackview_only which indicates that all y-axis positions ↵Paul Davis
for the pointer during a drag should be relative to the top of the trackview group. More or less all drags except for Cursor (playhead) and drags in the range marker bars have this true (which is the default value)
2014-06-01disable snap fades to 'other' region (for now)Robin Gareus
2014-05-31towards region-trims preserving fade durationRobin Gareus
2014-05-19adding a new track via copy-region-drag now works (and shares code with the ↵Paul Davis
non-copy case
2014-05-07Ripple mode: tidy upColin Fletcher
Remove a load of debug output and dead code. Move implementation of RegionRippleDrag::y_movement_allowed() out of header into .cc file.
2014-05-07Ripple mode: basic implementationColin Fletcher
Add a value for Ripple to EditMode enum. Add Ripple edit mode to edit mode dropdown, by adding it to the Editor::build_edit_mode_menu() helper function, and remove the old code that added items to the (now unused) Editor::edit_mode_strings. Add the regions that should be affected by the drag to RegionDrag::_views so that the drag carries them along automatically. Use a copy of the RegionList in Playlist::core_ripple(), since bad things happen when iterating over regions and they get moved around in the list. Handle rippling in removal of regions from playlist. When dragging in ripple mode, exclude all regions that lie before the original start position of the selected regions being dragged from rippling: this is what Mixbus does. Make editor dragging respect snap-to settings, by using the existing compute_x_delta() function, which did almost the right thing. Move setting of _last_frame_position out of that function so all ripple-dragged regions can move. Ripple when dragging from region list: even though Mixbus doesn't do this, it seems like a good idea. Prevent multi-track selection being dragged across tracks, by making RegionMotionDrag::y_movement_allowed() virtual, and overriding it in RegionRippleDrag to forbid dragging of selections containing regions on more than one track to dofferent tracks in ripple mode. Remember which TimeAxisView a ripple-mode drag that's allowed cross-track drags started from, so that the effect of rippling regions after any region that's dragged off that track can be undone.
2014-05-07shift-modifier during trim dragging causes region to jump to original ↵Paul Davis
position (anchored at start or end, depending on trim type)
2013-07-10some sort-of-deep fixes to get autoscroll/vertical scroll to work properly ↵Paul Davis
for cairocanvas
2013-06-21some prep work for generally handling dbl-click on draggable objectsPaul Davis
2013-04-17fix playhead dragging from rulersPaul Davis
2013-04-17various work waveview amplitude mgmt; fix playhead cursor drag from timebar ↵Paul Davis
click
2013-04-11Merge branch 'master' into cairocanvasRobin Gareus
Conflicts: gtk2_ardour/editor.h gtk2_ardour/editor_canvas.cc gtk2_ardour/wscript
2013-04-11enable videotimeline by defaultRobin Gareus
2013-04-04initial commit of hand merging, plus getting "ancient" waf script to work ↵Paul Davis
correctly
2013-03-13videotimlineRobin Gareus
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-01-02various fixes for moving markers, fixes a crash reported by tim blechmann ↵Paul Davis
and also likely #5232 and #5241 git-svn-id: svn://localhost/ardour2/branches/3.0@13754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19fix push-drags of automation data - previously we did not resync the model ↵Paul Davis
with the view for the points that were pushed (i.e. not selected, but moved anyway) git-svn-id: svn://localhost/ardour2/branches/3.0@13681 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13various fixes for "advanced" operations on range selections. ctrl-drags now ↵Paul Davis
add a new range selection, allowing discontiguous selections as in ardour2, shift-click extends an existing range selection to the clicked position, alt-drag on a range selection moves it, and to do a so-called "separation drag" now use ctrl-alt-drag (or ctrl-alt-click) git-svn-id: svn://localhost/ardour2/branches/3.0@13660 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13crossfade hack and slash. removed overlap checks, overlap mode, default ↵Ben Loftis
length, fade_is_xfade, fade_is_short, and other leftovers from previous crossfade models. Draw crossfade drags in realtime so fade_line is no longer needed. remove code for hiding crossfades during a drag. moved crossfade rect to top layer so crossfade lines dont grab mouse focus. drag-trim-with-fixed-fade-anchor is partially implemented and needs discussion git-svn-id: svn://localhost/ardour2/branches/3.0@13659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10cleaner version of previous commit's fix for AutomationRangeDrag y fraction ↵Paul Davis
computation git-svn-id: svn://localhost/ardour2/branches/3.0@13013 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10provide some numerical data during automation trim (range) drags, and ↵Paul Davis
correct computation of y-fraction for such drags git-svn-id: svn://localhost/ardour2/branches/3.0@13011 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24Compile cleanly with clang.David Robillard
To compile Ardour with LLVM/clang, do the usual thing but set the CXX and CC environment variables, e.g.: CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure build git-svn-id: svn://localhost/ardour2/branches/3.0@12418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10incorrect but visible context menu for xfadesPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12243 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10if an xfade involves only 2 regions, clamp its length to the overlap between ↵Paul Davis
them git-svn-id: svn://localhost/ardour2/branches/3.0@12238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10basic xfade draggingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12236 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09skeleton for crossfade edge draggingPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12235 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14Fix a few framecnt / framepos type confusions.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11975 d708f5d6-7413-0410-9779-e7cbd77b26cf