Paul Licameli
31d46ae624
Importer functions return a vector of vector of pointers to tracks...
...
... grouping the channels; rather than one flat vector.
OGG, GStreamer and FFmpeg import were written to allow multiple multi-channel
tracks; others always imported one group of channels.
All of that is reflected in the results returned by the importers, though it
makes no difference yet in AudacityProject::AddImportedTracks (where the
results are used).
2018-10-01 13:42:35 -04:00
Paul Licameli
b0c5f42b9a
Remove old iterators, type tests, GetLink(ed) from Track's interface
2018-10-01 13:42:35 -04:00
Paul Licameli
2ee87082cb
Track::GetLink and GetLinked are private, but SetLinked isn't yet
2018-10-01 13:42:34 -04:00
Paul Licameli
b36c3efec1
Track::GetKind is private
2018-10-01 13:42:34 -04:00
Paul Licameli
b5f52e7c1c
Remove old style track iterator classes
2018-10-01 13:42:34 -04:00
Paul Licameli
fbec3efa0c
Eliminate some unnecessary track type tests
2018-10-01 13:42:34 -04:00
Paul Licameli
7d55defde6
Rewrite channel iterations that don't generalize to more than two...
...
... requiring at least some message rewrites.
All these places have a comment:
// TODO: more-than-two-channels
or in simpler cases just
// TODO: more-than-two-channels-message
2018-10-01 13:42:33 -04:00
Paul Licameli
dbf44efc9f
Iterations over channels in remaining places that won't generalize...
...
... simply to the more-than-stereo case.
All these places have the comment:
// TODO: more-than-two-channels
2018-10-01 13:42:33 -04:00
Paul Licameli
4aa990e835
Remove GetLink(ed) in various other places
2018-10-01 13:42:33 -04:00
Paul Licameli
c107fb298b
Remove GetLink(ed) in channel manipulation menu items
2018-10-01 13:42:32 -04:00
Paul Licameli
ecc869bdbe
Remove GetLink(ed) in TrackPanel resizing code
2018-10-01 13:42:32 -04:00
Paul Licameli
d2a18f01e3
Remove use of GetLink(ed) in AudacityProject::OnPaste
2018-10-01 13:42:32 -04:00
Paul Licameli
7eadd7a36f
Iterations over channels involving third-party effects libraries...
...
... I don't know whether these libraries support more than two channels with
no problems.
All these places have the comment:
// TODO: more-than-two-channels
2018-10-01 13:42:31 -04:00
Paul Licameli
22c85dd99c
Rewrite GetLink(ed) in SBSMS
2018-10-01 13:42:31 -04:00
Paul Licameli
48ae1eb3c9
Rewrite GetLink(ed) in SoundTouch
2018-10-01 13:42:31 -04:00
Paul Licameli
70f7b0f6ef
Iterations over channels where more general messages may be needed...
...
... but otherwise the logic generalizes without a problem.
All these places have the comment:
// TODO: more-than-two-channels-message
2018-10-01 13:42:30 -04:00
Paul Licameli
518df314eb
Rewrite GetLink(ed) in vamp effects
2018-10-01 13:42:30 -04:00
Paul Licameli
a68184f81d
Remove GetLink(ed) in track panel drawing and refresh
2018-10-01 13:42:30 -04:00
Paul Licameli
46557a9a2d
Rewrite many track type switches, track and channel iterations...
...
... that present no complications to more-than-stereo genralization
2018-10-01 13:42:29 -04:00
Paul Licameli
4c75175e41
Remove GetLink(ed) in Normalize effect...
...
... It's much simpler and should be easy to generalize, but what would be
appropriate messages?
2018-10-01 13:42:29 -04:00
Paul Licameli
f276373f3c
Remove GetLink(ed) in clip-moving functions
2018-10-01 13:42:29 -04:00
Paul Licameli
3561154311
More rewrites of iterations over channels...
...
... that can generalize to more than stereo
2018-10-01 13:42:28 -04:00
Paul Licameli
669054b4f4
Remove many uses of GetLink in TrackPanel
2018-10-01 13:42:24 -04:00
Paul Licameli
0c0c2c0d1e
Rewrite iteration over visible tracks in TrackArtist...
...
... also eliminating AudacityProject::GetFirstVisible.
2018-10-01 13:41:51 -04:00
Paul Licameli
51e0ae0447
Remove GetLink() in AudacityProject::AddImportedTracks...
...
... Be careful when you call IsLeader()! It's correct only after the
tracks belong to the project's TrackList.
2018-10-01 13:41:51 -04:00
Paul Licameli
a7ca6db7c3
Rewrite many iterations over tracks and channels, track type tests...
...
... which do not require cautions for future more-than-stereo cases.
2018-10-01 13:41:50 -04:00
Paul Licameli
968d63d5fd
Rewrite many iterations over tracks and channels in various places
2018-10-01 13:35:51 -04:00
Paul Licameli
fee0f284fe
Rewrite many iterations over tracks and channels in src/toolbars
2018-10-01 11:25:07 -04:00
Paul Licameli
3eee8b8cf0
Rewrite many iterations over tracks and channels in src/import, src/export
2018-10-01 11:24:50 -04:00
Paul Licameli
c7ab9f2338
Rewrite many iterations over tracks and channels in src/commands
2018-10-01 11:24:37 -04:00
Paul Licameli
23a85893a1
Rewrite some iterations over tracks and channels in TrackPanel
2018-10-01 11:24:25 -04:00
Paul Licameli
aee4005044
Rewrite many iterations over tracks and channels in src/effects
2018-10-01 11:24:04 -04:00
Paul Licameli
b94e8fec96
Remove VisibleTrackIterator
2018-10-01 11:20:52 -04:00
Paul Licameli
ae2ce1ad90
Rewrite many iterations over tracks and channels in Project.cpp
2018-10-01 11:19:54 -04:00
Paul Licameli
d01013e0d0
Rewrite many iterations over tracks and channels in Menus.cpp
2018-10-01 11:19:35 -04:00
Paul Licameli
1e32309d24
Rewrite MenuCommandHandler::HandleAlign
2018-10-01 11:19:18 -04:00
Paul Licameli
b6a6b8e73e
Rewrite iterations over sync-lock groups
2018-10-01 11:09:20 -04:00
Paul Licameli
bb3aa00f50
Effect::CopyInputTracks was only called with two values...
...
So now it simply takes a bool.
2018-10-01 11:06:31 -04:00
Paul Licameli
2e11844f6a
Effect::inputTracks() now gives only const access
2018-10-01 10:59:48 -04:00
Paul Licameli
1be3187b99
Use TrackIterRange::Visit
2018-10-01 10:59:24 -04:00
Paul Licameli
17089d03bf
Rewrite MenuCommandHandler::OnPaste with TypeSwitch and new iterators
2018-10-01 10:59:09 -04:00
Paul Licameli
51842fc78b
Use TypeSwitch and track_cast
2018-10-01 10:58:47 -04:00
Paul Licameli
fd10ed26cd
Use TypeSwitch and track_cast in TrackPanel
2018-10-01 10:58:33 -04:00
Paul Licameli
e17c4acd5d
Rewrite sorting of tracks
2018-10-01 10:54:37 -04:00
Paul Licameli
48f5bd7353
Rewrite details of Track, TrackList with new iterators and track_cast
2018-10-01 10:54:27 -04:00
Paul Licameli
1a59ba6331
Simplify some internals of TrackList, don't assume at most 2 channels
2018-10-01 10:54:14 -04:00
Paul Licameli
7ec734b087
Rewrite TrackList::SwapNodes without GetLink(ed)
2018-10-01 10:54:04 -04:00
Paul Licameli
b05c32e2ac
Remove some things from Track.h, replacing their uses with new iterators
2018-10-01 10:50:34 -04:00
Paul Licameli
05ddfaf82b
Remove TrackList::Select
2018-10-01 10:47:51 -04:00
Paul Licameli
5c6fd64a0e
TrackList::GetPrev and ::GetNext are private
2018-10-01 10:44:58 -04:00