13
0
Commit Graph

142 Commits

Author SHA1 Message Date
4fd3adda01 Fix select all before/after edit point. 2015-01-07 20:44:26 -05:00
nick_m
a795892492 Separate selection operations into their own temporary history mechanism.
The user can now replay *all* earlier selection operations until the next
session undo/redo command, or the completion of a new operation.
Nothing relating to selection ops is stored, and selection operation history
is begun on first idle.

Selection operation history is fundamentally different from the history of
operations which act on a selection in terms of both their viewport and the
amount of information required to replay them.
WRT undo, the user of a selection op doesn't care about the viewport state
at the beginning of an op, but rather that at the end of the previous one.
2015-01-02 08:01:12 -05:00
ee8dbdb009 Fix internal select all. 2014-12-29 21:04:23 -05:00
5fef655380 Remove internal edit mode and add "content" tool. 2014-12-18 20:21:01 -05:00
bfbb0f6178 Add legatize and remove overlap MIDI operations.
We're going to need the ability to apply MIDI edit operations to a note/control
selection soon...
2014-12-06 23:42:11 -05:00
aed4ab6ec9 Clicking already-selected region should clear other selections. Thanks to nick_m 2014-08-12 14:40:43 -05:00
16ca4e0f9a Initial steps towards usable range-based automation editing.
TODO:  needs undo. only works in top quarter of automation lane.  selection model feels weird sometimes.  needs to show gain curve when you are using Range tool
2014-08-05 15:42:06 -05:00
6d97d72999 remove some cruft with previous commits. remove option link-region-and-track-selection since they are now exclusive, and rename select-all-regions to select-all-objects to match the implementation 2014-07-06 14:02:13 -05:00
db60bc86b8 now that track and region selections are mutually exclusive, you need a separate action to select-all-tracks and select-all-regions. also, preserve region selection during a split, iff we are working on a region selection: only add the newly created regions, dont change anything else in the selection; leave that in control of the user 2014-07-06 12:57:36 -05:00
80d1631aa3 if a Range end is trimmed, in follow-edits mode, locate to the range end so it can be auditioned. (same as trimming a region end) 2014-07-03 12:56:33 -05:00
043b76569d fix the naming and behavior of always-play-range to match the button, which is follow-edits. when you select a range, the playhead should jump to the start of the range and begin to play the selection. BUT (unlike previous implementation) if the user wants to relocate the playhead, then that should be allowed. The user should always remain in charge of the playhead location. NOTE: your previous config setting will be invalidated. You must re-save a session to overwrite with the new config variable 2014-07-03 12:56:33 -05:00
0f1c7b1d71 start-range and finish-range should graphically show the range being created. also add bindings for comma and period in addition to existing bindings which require a numpad. the old ones are now alternates. all primary functionality should appear on the qwerrty, and the numpad should be considered an ergonomic redundant alternative if you have one 2014-07-02 17:35:37 -05:00
3047919833 remove implicit range. start-range and end-range work better. documentation changes coming soon 2014-07-02 09:18:31 -05:00
76a3a94536 explanatory comment 2014-06-18 21:03:11 -04:00
b600e6c2f9 amending dc38ec8834 so that an empty rubber band selection does NOT deselect tracks.
Still need to decide if the logic for a click that does not select is correct - currently it does deselect tracks unless the SAE profile is in effect (see EditorRubberbandSelectDrag::deselect_things()
2014-02-25 22:16:34 -05:00
dc38ec8834 a rubber-band drag or other selection op that actually selects nothing should cancel the current selection 2014-02-25 15:24:41 -05:00
664e715a00 merge from master 2013-10-22 15:29:44 -04:00
nick_m
5b62e88fbf Unify editor / mixer ordering. 2013-10-21 00:19:43 +11:00
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
66ee2c8e59 enable videotimeline by default 2013-04-11 19:49:48 +02:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
0c3e840700 videotimline
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-03-13 20:28:15 +01:00
72393f101b allow region list selection of whole file regions to select every instance of a region that has any source relationship with that whole file region (from a logic feature that came up while writing the manual)
git-svn-id: svn://localhost/ardour2/branches/3.0@13779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04 22:46:51 +00:00
76d85fb411 add Delete button to patch change dialog when editing it
git-svn-id: svn://localhost/ardour2/branches/3.0@13710 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-22 18:27:33 +00:00
Ben Loftis
f77763020b edit operations should depend on the existence of an explicit range, NOT the mouse mode. this produces less confusion to the user. For an edit (such as delete) the selection should be based on this priority: explicit range selection, ojbect (region) selection, and then implicit range ( i.e. mouse-to-marker)
git-svn-id: svn://localhost/ardour2/branches/3.0@13563 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-28 17:07:35 +00:00
Ben Loftis
62c8963170 region selections and moves should have optional preroll when playhead follows edits
git-svn-id: svn://localhost/ardour2/branches/3.0@13552 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 23:07:21 +00:00
Ben Loftis
e63da83c53 tweak Smart Mode to be more like Mixbus. Smart mode is just a modifier on 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-26 22:43:10 +00:00
adbb47fae7 change semantics for select-all operation: if no track is selected, use the current entered track, or if there is no entered track, use all tracks; if in internal edit mode, check first to see if any MIDI tracks are among those to be operated on, and only do the internal edit version of select-all if there are
git-svn-id: svn://localhost/ardour2/branches/3.0@13508 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-15 17:20:38 +00:00
97d920593f drastic rethink of the relationship between remote control ID and route 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-25 12:46:13 +00:00
Carl Hetherington
e8cb671956 Patch from colinf to sensitize region-related actions even in non-object mode (#4896).
git-svn-id: svn://localhost/ardour2/branches/3.0@12601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-08 12:33:50 +00:00
Carl Hetherington
fc77252d51 Slightly unpleasant hack to stop control points being
unselected when you ctrl-drag a selected point in order to
do a push drag.


git-svn-id: svn://localhost/ardour2/branches/3.0@12502 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 14:39:48 +00:00
6fa6514cfd Remove over 500 unnecessary includes (including 54 of session.h).
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff).  I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.

This commit only targets includes of ardour/*.h.  There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.


git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
8d5065bc32 remove, convert, comment several cerr statements
git-svn-id: svn://localhost/ardour2/branches/3.0@12378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-22 12:57:05 +00:00
Carl Hetherington
1f318fb5a2 Fix region context menu fade items to reflect reality.
git-svn-id: svn://localhost/ardour2/branches/3.0@12197 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-07 12:03:26 +00:00
Carl Hetherington
b5a9d37cb0 Fix toggle selection for control points.
git-svn-id: svn://localhost/ardour2/branches/3.0@12057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 23:14:27 +00:00
Carl Hetherington
a2897ecef6 Fairly major change to the way in which crossfades are handled;
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-04-16 16:32:22 +00:00
62620122a9 propagate GUI track selection to control protocols; make MCP update when GUI track selection changes
git-svn-id: svn://localhost/ardour2/branches/3.0@11941 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-12 14:34:03 +00:00
Carl Hetherington
947c698b0e Finish off fix for crash on region context menu (#4766).
git-svn-id: svn://localhost/ardour2/branches/3.0@11683 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-14 16:58:11 +00:00
372f90ec61 look for RegionMenuMIDI action in the right action group
git-svn-id: svn://localhost/ardour2/branches/3.0@11679 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-14 12:05:53 +00:00
8c5b4ba062 remove reference to removed envelope-visible action
git-svn-id: svn://localhost/ardour2/branches/3.0@11494 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-15 17:19:38 +00:00
b02e95f201 make region gain line visibility global, not per-region
git-svn-id: svn://localhost/ardour2/branches/3.0@11492 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-15 14:03:19 +00:00
Carl Hetherington
452672f78f Make crossfade convert-to-full and activate/deactivate work across edit groups (#4658).
git-svn-id: svn://localhost/ardour2/branches/3.0@11413 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-01 01:07:52 +00:00
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
24978033ef tweak up the region context menu quite a bit
git-svn-id: svn://localhost/ardour2/branches/3.0@11285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 15:53:41 +00:00
d23a6de077 fix for most (all? we can dream ...) issues involved in #4399 (editing multiply-applies operations to playlists used more than once), and as a side-issue, fix playlist selection which broke when we hid Diskstreams inside Tracks by using orig_track_id() rather than orig_diskstream_id()
git-svn-id: svn://localhost/ardour2/branches/3.0@10968 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-10 19:20:15 +00:00
Carl Hetherington
5ef06dd439 Fix setup of gain envelope visible menu item.
git-svn-id: svn://localhost/ardour2/branches/3.0@10939 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-07 18:18:46 +00:00
5423c45788 desensitize make-mono-regions as appropriate
git-svn-id: svn://localhost/ardour2/branches/3.0@10855 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 02:07:13 +00:00
782c9383fc revert previous changes to region selection and action sensitivity handling
git-svn-id: svn://localhost/ardour2/branches/3.0@10613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-15 14:13:33 +00:00
638378ada2 flip a coin for a difficult GUI design question, and leave 4 region edit actions sensitive even when edit_point is EditAtMouse, to allow the kbd binding to still be active
git-svn-id: svn://localhost/ardour2/branches/3.0@10609 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-15 03:21:59 +00:00
c0ec12c5bc try using sensitize_the_right_region_actions() when region selection changes, rather than sensitize_all, following a mixbus2 change
git-svn-id: svn://localhost/ardour2/branches/3.0@10608 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-15 02:14:45 +00:00