1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-03 09:09:47 +02:00

9216 Commits

Author SHA1 Message Date
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