Colin Fletcher
d75c7151d4
Ripple mode: basic implementation
...
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-07 19:46:24 +01:00
Paul Davis
56af57d682
shift-modifier during trim dragging causes region to jump to original position (anchored at start or end, depending on trim type)
2014-05-07 12:13:34 -04:00
Paul Davis
525cb6b4a7
some sort-of-deep fixes to get autoscroll/vertical scroll to work properly for cairocanvas
2013-07-10 19:10:06 -04:00
Paul Davis
479e97dc59
some prep work for generally handling dbl-click on draggable objects
2013-06-21 15:18:54 -04:00
Paul Davis
fce1733808
fix playhead dragging from rulers
2013-04-17 15:29:03 -04:00
Paul Davis
ec102f94e1
various work waveview amplitude mgmt; fix playhead cursor drag from timebar click
2013-04-17 15:22:09 -04:00
Robin Gareus
6ae4f10437
Merge branch 'master' into cairocanvas
...
Conflicts:
gtk2_ardour/editor.h
gtk2_ardour/editor_canvas.cc
gtk2_ardour/wscript
2013-04-11 22:24:05 +02:00
Robin Gareus
66ee2c8e59
enable videotimeline by default
2013-04-11 19:49:48 +02:00
Paul Davis
aaea166135
initial commit of hand merging, plus getting "ancient" waf script to work correctly
2013-04-04 00:32:52 -04:00
Robin Gareus
0c3e840700
videotimline
...
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-03-13 20:28:15 +01:00
Paul Davis
67265c6d90
various fixes for moving markers, fixes a crash reported by tim blechmann and also likely #5232 and #5241
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-02 23:54:06 +00:00
Paul Davis
30237aad7f
fix push-drags of automation data - previously we did not resync the model 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-19 15:55:06 +00:00
Paul Davis
40e9dae606
various fixes for "advanced" operations on range selections. ctrl-drags now 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-13 19:39:36 +00:00
Ben Loftis
2292e33ee4
crossfade hack and slash. removed overlap checks, overlap mode, default 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-13 16:42:05 +00:00
Paul Davis
43c850cdf3
cleaner version of previous commit's fix for AutomationRangeDrag y fraction computation
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13013 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10 15:58:09 +00:00
Paul Davis
e89bdcd9eb
provide some numerical data during automation trim (range) drags, and 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-10 15:44:56 +00:00
David Robillard
27a1cf2cf7
Compile cleanly with clang.
...
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-24 02:54:10 +00:00
Paul Davis
c6d983bda5
incorrect but visible context menu for xfades
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12243 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 19:14:11 +00:00
Paul Davis
da7215e1ad
if an xfade involves only 2 regions, clamp its length to the overlap between them
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 12:14:26 +00:00
Paul Davis
e3a9576aed
basic xfade dragging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12236 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 00:46:22 +00:00
Paul Davis
25655e1a6d
skeleton for crossfade edge dragging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12235 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09 23:04:18 +00:00
Carl Hetherington
cc7d4db5fe
Fix a few framecnt / framepos type confusions.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-14 22:04:51 +00:00
Carl Hetherington
3120bae8b4
Don't leave internal edit mode when clicking on an automation region view ( #4747 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22 16:41:23 +00:00
Carl Hetherington
e9bf20021e
Remove unused RegionGainDrag; fix logic in adding new
...
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-03-09 20:47:40 +00:00
Paul Davis
7629120cda
many changes, large and small, related to smart mode editing, range/region 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-30 22:53:22 +00:00
Paul Davis
f2e542afe7
in non-note-edit mouse object mode, single click on midi track creates a region if nothing is selected (because said click would then clear the selection, as before). this makes getting started with hand-edited MIDI regions massively easier
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11350 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-25 19:39:20 +00:00
Paul Davis
5de9a8f38b
make mouse range mode do something interesting when in internal/note edit mode. not entirely finished because the usual modifiers to add/extend the selection don't work correctly. note that this works both on the scroomer (where the modifiers do work correctly) and in the track (where they do not)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 02:54:23 +00:00
Paul Davis
c80649d913
restore correct behaviour of undo/redo for tempo map drags
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11162 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 20:40:06 +00:00
Carl Hetherington
b177514930
Revert internals of the last layering-related commit, and go back a slightly-cleaned-up version of how it was before. Remove all layering modes; only option now is add-is-higher. Move-add-higher could easily be re-added if anyone uses it.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-29 22:14:15 +00:00
Carl Hetherington
6304261b98
Re-work layering in possibly debatable ways. Sketchy docs in doc/layering.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 01:42:49 +00:00
Carl Hetherington
b4d7120a58
Fix some bugs I introduced with the last commit.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10973 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 13:42:18 +00:00
Carl Hetherington
ab4e7cf472
Move note creation code into a Drag; fix snapping of note
...
starts when drag-created (part of #4505 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10972 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 12:54:54 +00:00
Carl Hetherington
ec90b0ceb0
Use a Drag class for midi note selection, so that it
...
gets autoscroll (#4474 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16 20:11:33 +00:00
Carl Hetherington
e549e8f82c
Cope with drags of selections that include regions on hidden tracks ( #3493 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-22 18:11:40 +00:00
Paul Davis
d5e09076ca
much ado about nothing when it comes to gain control
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9748 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-19 23:02:55 +00:00
David Robillard
ed626628b5
Delete trailing whitespace
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
Carl Hetherington
fb39b47861
Zoom session when the mouse pointer is moved up and down during a playhead drag.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-25 16:38:49 +00:00
Carl Hetherington
4216d201fb
Fix offset of verbose cursor when dragging fade-ins ( #4010 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-04 14:56:24 +00:00
Carl Hetherington
988348185e
Separate verbose cursor out into its own class and clean up the API. Fixes #4010 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9455 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-02 13:38:16 +00:00
Carl Hetherington
0d40ff55c8
Trim some includes.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9095 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-07 17:17:03 +00:00
Paul Davis
7a5b6a5031
patches from lincoln to speed up the regionlist and provide region removal (causes dangling shared ptrs to regions, fix to come
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8845 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-14 21:49:43 +00:00
Carl Hetherington
85acf35337
Disable follow-playhead during drags. Fixes #3647 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8444 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-05 02:28:28 +00:00
Paul Davis
e522ed1953
remove unnecessary line for marker drags (marker has its own)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8352 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 20:37:11 +00:00
Carl Hetherington
84b4dd94e3
Remove unnecessary _have_transaction flag in TrimDrag. Fix undo when a trim of one region affects the previous or next regions too ( #3632 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8348 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 19:17:37 +00:00
Carl Hetherington
f8ebb4582d
Unify program change and bank handling so that they are manipulated together.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 18:19:40 +00:00
Carl Hetherington
95bb346926
Refactor so that all the locate-related stuff in CursorDrag is in one method. Also, wait for timecode transmission to be suspended before sending MMC/MTC locates, rather than hoping it will be suspended in time.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-22 23:43:04 +00:00
Carl Hetherington
039adb4c6b
Account for the fact that CursorDrag only ever drags the playhead. Fix playhead misbehaviour when you start a drag from outside it.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-22 23:16:39 +00:00
Carl Hetherington
37b680cd15
Fix region resizing with grid snapping enabled ( #3620 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8325 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-22 01:06:18 +00:00
Carl Hetherington
570ed69d2a
Allow dragging of program change flags in MIDI regions.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-20 03:42:59 +00:00
Carl Hetherington
d29f14bf33
Fix trim of multiple regions. Fixes #3528 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-09 01:58:42 +00:00