summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
AgeCommit message (Collapse)Author
2013-01-20Fix crash when trimming MIDI region with automation.David Robillard
This seems impossible, but it happens. Reproduction instructions: 1) Click in an empty portion of MIDI track to create a region 2) Add a CC lane 3) Click some points into lane (perhaps unnecessary) 4) Switch lane to linear mode (perhaps unnecessary) 5) Attempt to extend region leftward (with draw tool, but probaby doesn't matter) 6) Boom Note trimming still doesn't work in this case and something seems deeply broken, but at least it doesn't crash now. git-svn-id: svn://localhost/ardour2/branches/3.0@13922 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-06fix problem with dragging an end range marker if the start of the range was ↵Paul Davis
near zero git-svn-id: svn://localhost/ardour2/branches/3.0@13795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04fix invalid casts in prev commit.Robin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13775 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04merge Marcel Bonnet's patches for Free-BSDRobin Gareus
(may need further cleanup: compare with timbyr's windows patch, verify fst/vsti + ALSA) git-svn-id: svn://localhost/ardour2/branches/3.0@13774 d708f5d6-7413-0410-9779-e7cbd77b26cf
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-14code cleanup; crossfade shape drawing is now more closely associated with ↵Ben Loftis
the fade-in shape rather than a separate thing. could probably be consolidated into fewer functions, but this is an interim step for testing. Also remove the use-current-fade-shape option which is not meaningful in new model git-svn-id: svn://localhost/ardour2/branches/3.0@13669 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-14fix a couple of issues with range selection, caused by clicked_selection ↵Paul Davis
persisting across drag/click ops git-svn-id: svn://localhost/ardour2/branches/3.0@13666 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-12-13end drags on regions before doing front trim, so that fades get visually ↵Paul Davis
updated rather than skipped because dragging() still returned true git-svn-id: svn://localhost/ardour2/branches/3.0@13657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-05prevent Primary-click or Shift-click from deselecting when clicking on a ↵Paul Davis
track "background" git-svn-id: svn://localhost/ardour2/branches/3.0@13604 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-28tweak Auto Play behavior: dont auto-play a range selection if the auto-play ↵Ben Loftis
option is on; but note that this is still possible if both auto-play and follow-edits is on git-svn-id: svn://localhost/ardour2/branches/3.0@13562 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26region selections and moves should have optional preroll when playhead ↵Ben Loftis
follows edits git-svn-id: svn://localhost/ardour2/branches/3.0@13552 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26tweak Smart Mode to be more like Mixbus. Smart mode is just a modifier on ↵Ben Loftis
Object mode which provides Range selection in the top half of the waveform. probably lots of corner cases to clear up before its all over, but at least we can use Mixbus as a consistent target rather than making it all up again. git-svn-id: svn://localhost/ardour2/branches/3.0@13551 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-20Always Play Range is now Follow Edits, and is based on Mixbus ↵Ben Loftis
implementation. Added menu item. Follow Edits button replaces Auto Play; removed the connector between play and play-range. Some Smart Mode changes came along for the ride but will be cleaned up shortly git-svn-id: svn://localhost/ardour2/branches/3.0@13537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18grid/snap minimum selection lengthRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-17substantive change to automation line dragging code to avoid O(N^4) ↵Paul Davis
behaviour. performance fixes are still required for realistically data-rich automation lines git-svn-id: svn://localhost/ardour2/branches/3.0@13515 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13remove a bunch of cerr output and/or convert to use error<<Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13477 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-07-10add a comment to the previous changePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13008 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10don't spin on Session::timecode_transmission_suspended() if disconnected ↵Paul Davis
from JACK because it will never be re-enabled (fixes lockups when disconnected) git-svn-id: svn://localhost/ardour2/branches/3.0@13007 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25drastic rethink of the relationship between remote control ID and route ↵Paul Davis
order keys. unless the user explicitly switches to UserOrdered, Route::_remote_control_id is an unallocated pointer, and Route::remote_control_id() simply returns a value based on the relevant order_key() value. Also, change the key used in the Route::order_keys std::map<> from a string to an enum, since there is no evidence that we are benefitting from the theoretical benefit of using a string. Generally tidy up allocation of order keys so that the master and monitor busses always get a "special" MixerSort key value, based on the MMC ID for master (already defined within Ardour), and all other tracks/busses start at zero. Syncing keys between editor and mixer will leave the MixerSort key for the master and monitor bus alone, reflecting the fact that we display these in their own distinct parts of the GUI and they are not orderable like other tracks or busses within the mixer window git-svn-id: svn://localhost/ardour2/branches/3.0@12923 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-15Re-show all xfades that we hide during drags (#4933).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12729 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Make y position of MIDI note drags slightly better.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12707 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13fix some bugs with dragging patch/program changes aroundPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12692 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09Make crossfade edge drags undoable.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09Remove apparently erroneous commit_reversible_command.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12621 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31Don't round conversions from frame to unit when setting up control points, ↵Carl Hetherington
as it will cause big inaccuracies when zoomed out. git-svn-id: svn://localhost/ardour2/branches/3.0@12503 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27Prevent x movement of the end points of region gainCarl Hetherington
lines (should fix #4680). git-svn-id: svn://localhost/ardour2/branches/3.0@12461 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27Patch from tophatdave to improve display of timestretch inCarl Hetherington
stacked layers mode (#4379). git-svn-id: svn://localhost/ardour2/branches/3.0@12460 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10implement undo/redo for xfade trimminPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12242 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-10fix dragging of end xfadesPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12237 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-05-07hide xfades while dragging region(s)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12202 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02a variety of mostly unused parameter errors from OS X Lion's compilerPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12148 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25remove the apparently unnecessary "ui_bind()" macro from entire source basePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-23Minor simplification.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12059 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-21Remove some unused code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12052 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16Fairly major change to the way in which crossfades are handled;Carl Hetherington
they are now done with region fades, rather than separate objects. After this commit, Ardour will try to convert your session files to the new crossfade format, but will make a backup in your session folder first. If you have works in progress using Ardour 3 it is ***STRONGLY RECOMMENDED*** that you back up session files before updating to this commit. git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22Remove unused op parameter to temporal_zoom_by_frame. Add Zoom to Range ↵Carl Hetherington
option to range marker context menu (#4778). git-svn-id: svn://localhost/ardour2/branches/3.0@11750 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22Don't leave internal edit mode when clicking on an automation region view ↵Carl Hetherington
(#4747). git-svn-id: svn://localhost/ardour2/branches/3.0@11749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-09Remove unused RegionGainDrag; fix logic in adding newCarl Hetherington
region gain points; remove unreached switch {} that may have come from a mis-merge. git-svn-id: svn://localhost/ardour2/branches/3.0@11631 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-08mouse draw mode can draw AND select (and trim) notes (but trim cursors don't ↵Paul Davis
appear yet) git-svn-id: svn://localhost/ardour2/branches/3.0@11470 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-31fix for crash while drag-creating a new MIDI note and dragging before the ↵Paul Davis
start of the region (from tophatdave git-svn-id: svn://localhost/ardour2/branches/3.0@11396 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-30many changes, large and small, related to smart mode editing, range/region ↵Paul Davis
selection, and behaviour of playhead when always-play-range is enabled. could be buggy, but probably in subtle (or even very subtle) ways rather than obvious git-svn-id: svn://localhost/ardour2/branches/3.0@11394 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-30Don't autoscroll right if we are moving left, and vice versa; should fix #4676.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11393 d708f5d6-7413-0410-9779-e7cbd77b26cf