1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-05 14:18:53 +02:00

6205 Commits

Author SHA1 Message Date
Paul Licameli
ea05fac870 Remove naked new[] in: mixer 2017-03-17 17:52:45 -04:00
Paul Licameli
0113e6f44f Remove naked new[] in: ondemand, toolbars, widgets 2017-03-17 17:52:45 -04:00
Paul Licameli
089e696cab More utilities in MemoryX.h 2017-03-17 17:52:44 -04:00
Paul Licameli
5ca8766c52 define freer 2017-03-17 17:52:44 -04:00
Paul Licameli
1eff721f09 Define some useful type aliases for arrays of floats and doubles 2017-03-17 17:52:43 -04:00
Paul Licameli
aebaaf46a0 require unsigned arguments for Array(s)Of::reinit 2017-03-17 17:52:43 -04:00
Paul Licameli
ef2b747c16 Define ValueRestorer for a frequent kind of RAII action 2017-03-17 17:52:43 -04:00
Paul Licameli
a74ea83332 Last loose ends in removal of all naked scalar new 2017-03-17 17:52:42 -04:00
Paul Licameli
bb5dc07c51 Fix one scalar naked new that crept back in 2017-03-17 17:52:41 -04:00
Paul Licameli
38236a807c More new -> NEW, delete -> DELETE in comments 2017-03-17 17:52:41 -04:00
Paul Licameli
ec0297ec28 more safenew 2017-03-17 17:52:41 -04:00
Paul Licameli
9119d703ce Wave track duplication: don't append empty clips, do copy cutlines 2017-03-17 17:52:40 -04:00
Paul Licameli
b4734ff790 Duplicate command copies cutlines 2017-03-17 17:52:40 -04:00
Paul Licameli
934a505e1a Changes in WaveClip construction...
... Eliminate CreateFromCopy, add new one-step constructor instead.
It was wasteful to create a copy only to re-create the Sequence at once.

Sequence::Copy is a factory returning a unique_ptr.

Some error checks are removed, but there will be exceptions instead later.
2017-03-17 17:52:39 -04:00
Paul Licameli
25619fb46e Don't create placeholder clips in Duplicate command ...
... when there is no clip at the right edge of the selection.
2017-03-17 17:52:39 -04:00
Paul Licameli
65c722bfe5 Comment: resample, reformat of WaveClip needs no recursion for cutlines 2017-03-17 17:52:39 -04:00
Paul Licameli
3d29ba12a6 Various precautions, efficiencies, fixes of unreported bugs 2017-03-17 17:52:37 -04:00
Paul Licameli
ac246d0468 Fix bug 1566 differently (signed/unsigned comparison) 2017-03-17 17:52:37 -04:00
Paul Licameli
4744f5cc5e OD tasks store weak pointers to block files...
... This means unneeded block files can be reclaimed sooner.

This also eliminates the checks of use_count, which might vary in a
multithreaded context; though that didn't really matter (because once it
was below 2, the function had the only remaining shared_ptr to the block file,
so it could not have increased again to 2).
2017-03-17 17:52:37 -04:00
Paul Licameli
aee45d9cce Fix bogus error dialog when append-recording with no waves...
But with at least one track of other type, such as Time
2017-03-17 17:52:37 -04:00
Paul Licameli
0be66296cd Sort labels after warping time, just in case...
... Time warping functions should be nondecreasing, but let's not assume so.
If not, the insertion sort just takes linear time to check that there are no
disorders.
2017-03-17 17:52:36 -04:00
Paul Licameli
37e7b5704a a null check 2017-03-17 17:52:36 -04:00
Paul Licameli
d9be2be137 Restore selected status of tracks correctly in export multiple 2017-03-17 17:52:36 -04:00
Paul Licameli
7b073cd63c Fix naming of right channel of mix-and-render results 2017-03-17 17:52:35 -04:00
Paul Licameli
0e43079d06 Further precautions for the corrupt .wav bug...
Check both allocations of buffers.

See commit 407c1dc4b209111e4dbb3eec88f333aa8f69094c
2017-03-17 17:52:35 -04:00
Paul Licameli
2c0cdda353 Fix dangling pointer bug in lv2 effects 2017-03-17 17:52:35 -04:00
Paul Licameli
87775d35e0 null pointer checks on all uses of WaveTrackCache::Get 2017-03-17 17:52:35 -04:00
Paul Licameli
31832b21a3 fix WaveTrackCache, again...
... There was still some duplicated loading of block files during normal
forward play, though not more than two loads per file.
2017-03-17 17:52:34 -04:00
Paul Licameli
40651241d9 Benchmark::OnRun: clarify, simplify, avoid possible divide by 0 2017-03-17 17:52:34 -04:00
Paul Licameli
6a57987f88 safer use of weak pointer 2017-03-17 17:52:34 -04:00
Paul Licameli
509f974dfb Consistently use delete[] not free for NoteTrack serialization...
... Because allocation is with new[], if you search for where it happens in
lib-src.
2017-03-17 17:52:33 -04:00
Paul Licameli
7dbb946d29 Propagate progress bar cancellation correctly in Normalize 2017-03-17 17:52:33 -04:00
Paul Licameli
97fd8f5689 Certain short-lived things don't need to persist as member variables...
... so that there will be less need for save-and-restore RAII code
2017-03-17 17:52:32 -04:00
Paul Licameli
08b99c533b Remove Effect::mWarper, and stack-allocate warpers instead 2017-03-17 17:52:32 -04:00
Paul Licameli
b9e4aa01eb Simplify Normalize by removing needless member variables 2017-03-17 17:52:31 -04:00
Paul Licameli
0af9b46eac Move many fields out of Envelope that are needed only during editing 2017-03-17 17:52:31 -04:00
Paul Licameli
3c4a15f5cb Remove some unused members 2017-03-17 17:52:30 -04:00
Paul Licameli
790ade7f37 Some simplifications and un-duplications 2017-03-17 17:52:29 -04:00
Paul Licameli
5fdd9fe05a Remove TrackList::GetLink 2017-03-17 17:52:29 -04:00
Paul Licameli
9eaa40659e Utility for track editing leaves fewer direct calls to GetLinked() 2017-03-17 17:52:28 -04:00
Paul Licameli
54aea4bccf Rewrite TrackPanel::FindTrack as FindCell ...
... which reports disjoint rectangles for the track control panel, the vertical
ruler, and the proper track area.
2017-03-17 17:52:28 -04:00
Paul Licameli
8ddbc1d3d3 Assume number of spectrogram bins = 1/2 FFT window in fewer places...
... and that they have equal width on the linear scale
... also simplify the logic involving zero padding factor

This is more preparation for constant-q.
2017-03-17 17:52:28 -04:00
Paul Licameli
d831318132 simplify SpectrogramSettings::GetScale; abstract frequency-to-bin...
... this is a preparation for the constant-q feature, if we want it.
2017-03-17 17:52:27 -04:00
Paul Licameli
a4a9df5c03 One function for the common parts of BlockFile::ReadData overrides 2017-03-17 17:52:27 -04:00
Paul Licameli
a86cc1cb3b Stylistic changes 2017-03-17 17:52:25 -04:00
Paul Licameli
004df48438 Make Effect::mTracks private 2017-03-17 17:52:25 -04:00
Paul Licameli
aa0d55ac83 Use enum class ProgressResult, don't interconvert with int or bool 2017-03-17 17:52:24 -04:00
Paul Licameli
5036583549 Fewer inclusions of AudacityApp.h 2017-03-17 17:52:24 -04:00
Paul Licameli
a9396b912d Change required to compile certain uses of finally, I don't know why 2017-03-17 17:52:23 -04:00
Paul Licameli
d174099c3d Disallow copy of Sequence 2017-03-17 17:52:23 -04:00