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