2fa6caad95
Support cut/copy/paste of several regions and lines at once.
...
The idea here is to do the reasonable thing, and copy objects of some
type (e.g. MIDI region, gain line) to tracks with a matching type. The user
can override this with a track selection, which will be used straight-up.
Lost: ability to copy/paste lines across types, e.g. gain to pan. This is
often questionable, but sometimes useful, so we will need to implement some
sort of "greedy mode" to make it possible. Implementation simple, but not sure
what to do. Perhaps this should only be possible if one automation track is
explicitly (i.e. via track selection) involved, and the types are at least
compatible-ish?
2014-11-16 22:35:45 -05:00
6b3a8915f3
add abort() to non-reached code
...
This cleans up a lot of false-positives in static analysis
and also helps compilers to optimize code paths in general.
(tagging the fatal stingstream operator as ‘noreturn’ is
far less trivial)
2014-11-14 11:30:08 +01:00
4e85bda431
selecting a track in the mixer, with synced selection, will now clear any objects selected
2014-09-03 09:40:22 -05:00
abe203de65
fix copy paste error in selection
2014-07-07 14:15:25 -05:00
b39c30dbd1
remove leftover cruft from link-region-and-track removal
2014-07-07 09:07: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
0b38d65dd0
new approach to selections which will help rationalize Split and similar functions. Object and Track selections are now mutually exclusive. a split will happen at (a) selection->regions (b) the intersection of edit_point and selection->tracks or (c) the region under the mouse, IFF nothing else is selected.
2014-07-05 20:47:43 -05:00
977f2b35df
severe rationalization (still incomplete) of behaviour of cut + copy.
...
Quite a bit more to do here to make this as intuitive as it ought to be.
2014-02-26 10:51:38 -05:00
9ba2c04820
ensure that track selection operations call ::set_selected() for tracks, allowing faster lookups of selected status during drags
2014-02-25 21:53:52 -05:00
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
5a23ede9ec
do NOT deselect markers when clearing object selection - markers are outside of the main canvas, do not belong to timeaxisviews and thus are not objects in the sense that this method is intended for
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13686 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 20:20:11 +00:00
174b2fd7b1
fix more range selection issues
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 21:10:44 +00:00
036e7339ff
make sure we never use ID of zero for range selections, fixing a very minor glitch in deleting a specific range selection from several
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13661 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 19:56:43 +00:00
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
b43875dd27
explicitly enforce selection rules to avoid some corner cases and avoid user confusion
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13549 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 22:37:34 +00:00
6b72e755e3
fix O(N^M) behaviour of control point selection (N = number of control points, M = number of automatable parameters)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13525 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 15:18:34 +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
Carl Hetherington
b17c8d5826
Deselect other control points on normal selection.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12323 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-17 14:03:10 +00:00
ec1ef5d6b5
remove the apparently unnecessary "ui_bind()" macro from entire source base
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 12:58:19 +00:00
Carl Hetherington
a4434809e1
Use a list of ControlPoints to hold the automation selection,
...
rather than a time range. This makes more sense now that we
display every point on an automation line, rather than just
a subset. Makes the code a fair bit simpler, and should fix
some unexpected behaviours, especially when cutting automation
points.
git-svn-id: svn://localhost/ardour2/branches/3.0@12054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 14:03:07 +00:00
442dd75533
clear marker selection as part of Selection::clear(); fixes "error" that prevents click from creating a new midi region because there appears to be a marker selection
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11449 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-05 21:00:59 +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
Carl Hetherington
5f750624b0
Don't add markers to the selection multiple times when adding a list.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-27 01:26:44 +00:00
acddc9bc7a
fix minor logic error with linked region & track selections
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10905 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-05 18:33:20 +00:00
e2757229a7
provide link-editor-and-mixer-selection option. gui implementation is slightly hacky because of the implicit endless loop that the link creates
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10624 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-15 19:33:09 +00:00
Carl Hetherington
abedf1fae3
Save marker selection state in instant.xml ( #4203 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-20 00:05:31 +00:00
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
dd5d994367
Prevent the point selection straying -ve when control points are positioned close to 0 (should fix #3861 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9412 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-23 00:03:17 +00:00
Carl Hetherington
80abf7693e
Remove extend-range-to-{start,end}-of-region and replace with move-range-{start,end}-to-{previous,next}-region boundary after discussions with Chris. Seems to make more sense, and works without the need for a region selection, which is fiddly to adjust when one is in range mode.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-17 13:55:41 +00:00
Carl Hetherington
073cf1782c
Fix crash on getting state of selected MIDI region automation tracks ( fixes #3860 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9187 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-22 19:01:34 +00:00
Carl Hetherington
fde56cc730
Unselect regions on tracks when the tracks are hidden. Fixes #3653 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8426 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-04 01:03:36 +00:00
Carl Hetherington
73192bc1a7
Remove all use of nframes_t.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
10bdce85a0
megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags for cc and c++ builds, remove them from source (2) add new Property::midi_data used by MidiRegion to signal that its (MIDI) contents have changed (3) massive switch from nframes_t to framepos_t/framecnt_t including removal of ARDOUR::max_frames (replaced by ARDOUR::max_frame{pos,cnt} (lots more to do but this set was driven by changes to the Diskstream API to use framepos_t
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 16:24:22 +00:00
3254468526
fix crash caused when deleting a region without a playlist PLUS make it impossible to select a region without a playlist (i.e. part of an unfinished capture pass). fixes #1502
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-15 14:37:08 +00:00
Carl Hetherington
4ce12d75e1
Fix another assertion failure if a saved selection doesn't correspond to the things that are actually present in the session file.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7769 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-14 00:34:49 +00:00
Carl Hetherington
ea2648503b
Cleanup of region drag code to be a bit more efficient and shorter. Fixes crashes when dragging regions to the wrong track type.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-06 12:34:11 +00:00
Carl Hetherington
80084dcdf3
Fix another crash on session creation if the stored selection no longer exists in the session.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7711 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-30 01:37:56 +00:00
Carl Hetherington
b75956d35d
Respect link of region and track selection when setting via a list of Selectables. Should fix #2153 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7710 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-30 01:24:00 +00:00
be85889464
fix load+save of plugin parameter automation
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-24 22:07:53 +00:00
Carl Hetherington
fac3690842
Fix my broken logic for control point selection.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7663 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 22:46:15 +00:00
Carl Hetherington
579fcb70e2
First go at saving window visibility and position state across saves.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-18 02:20:15 +00:00
Carl Hetherington
efe60474d6
Hopefully fix up automation control point selection (finally).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7592 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-11 01:23:03 +00:00
14b0ca31bc
handle deletion of UI objects between the time that a callback is queued with the UI event loop and the execution of the callback (intrusive, big)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-30 15:18:43 +00:00
Carl Hetherington
5f8f481172
Fixes to permit drags of multiply-selected automation control points.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6450 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-05 02:22:58 +00:00
b6f4cdaea2
rationalize destruction pathway (some more); tidy-ify some ImageFrame code
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6398 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-25 21:06:52 +00:00
c83389b8ec
cleanup up cleanup at session destruction; clarify the meaning of 3 signals (DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 20:21:43 +00:00
f450df300c
fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00
aae367b63c
use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19 20:26:31 +00:00
f6fdd8dcbf
switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
Carl Hetherington
04c7158a41
Remove confusing track / group members in TimeSelection struct; time selection
...
applies to the selected tracks. Some tinkering with how tracks are selected
during time selections.
git-svn-id: svn://localhost/ardour2/branches/3.0@6360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-13 21:27:19 +00:00