Paul Licameli
70d9e4bdc7
GetMinMax, GetRMS functions take a mayThrow argument, return numbers
2017-03-21 14:19:02 -04:00
Paul Licameli
18be1bdad6
Remove naked new[] in: tracks
2017-03-17 17:52:47 -04:00
Paul Licameli
ea05fac870
Remove naked new[] in: mixer
2017-03-17 17:52:45 -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
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
08b99c533b
Remove Effect::mWarper, and stack-allocate warpers instead
2017-03-17 17:52:32 -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
81285ee0c1
More const and override
2017-03-17 17:52:20 -04:00
Paul Licameli
64d163ebcd
Make EXPERIMENTAL_OUTPUT_DISPLAY compile
2017-03-17 17:52:18 -04:00
Paul Licameli
8b66fc4b05
Restore change of Waveform dB scale with change of magnification...
...
... This is done with Shift+Ctrl+wheel and pointer in the vertical ruler, and
the pointer y coordinate near the bottom of the dB scale.
If y coordinate is far from there, then Shift+Ctrl+wheel changes dB level
without change of magnification (as before this commit).
2016-10-28 12:36:26 -04:00
Paul Licameli
ad04187a41
Change sampleCount arguments, variables, return values to size_t...
...
... whenever they really describe the size of a buffer that fits in memory, or
of a block file (which is never now more than a megabyte and so could be fit in
memory all at once), or a part thereof.
2016-09-15 21:03:17 -04:00
Paul Licameli
5cf331ae8c
Rewrite WaveTrack::GetEnvelopeValues, taking one less argument...
...
... In practice this argument was always 1 / rate so it was superfluous.
Also make the buffer size argument unsigned.
2016-08-21 09:45:53 -04:00
Paul Licameli
84a6456788
Iterate over all clips of a track, including cutlines, where needed
2016-08-13 20:17:55 -04:00
Paul Licameli
46f38708ed
Dir manager uses std::shared_ptr
2016-08-13 12:23:05 -04:00
Paul Licameli
cb48ca2b91
Use arrays of smart pointers to WaveClip
2016-08-12 20:53:38 -04:00
Paul Licameli
a400a7408c
Distinguish whether clip ptr arrays own; vector; const-correctness
2016-08-12 20:53:38 -04:00
Paul Licameli
77a3647922
Simplify iterations over WaveClips in WaveTrack.cpp; stl idioms
2016-08-12 20:53:37 -04:00
Paul Licameli
b548e641ae
Simplify iterations over WaveClips outside of WaveTrack/WaveClip; ...
...
... also add some const qualifiers
2016-08-12 20:53:37 -04:00
Paul Licameli
20bee00115
Remove some naked new amd delete in: tracks and clips
2016-08-08 07:30:44 -04:00
Paul Licameli
def73e80ef
Revert "Simplify WaveTrack::Locker"
...
This reverts commit 02a2bdc92b7a572fefb37f72f71a2c7cd69c986c.
2016-04-13 18:11:45 -04:00
Paul Licameli
02a2bdc92b
Simplify WaveTrack::Locker
2016-04-12 12:03:01 -04:00
Paul Licameli
1033095696
RAII for locking of WaveTracks
2016-04-12 00:55:59 -04:00
Paul Licameli
f7780adbf5
Comments about CloseLock() functions
2016-04-12 00:54:55 -04:00
Paul Licameli
f94b3b3afa
Add some const qualifiers to BlockFile methods
2016-04-10 21:05:20 -04:00
Paul Licameli
3015a9c8d9
Track cut and copy functions return a unique_ptr argument...
...
... Because they are factory functions.
2016-03-26 11:50:13 -04:00
Paul Licameli
f42a953752
Track duplication methods return unique_ptr, although some callers...
...
... simply release() them for now.
2016-03-26 11:50:10 -04:00
Paul Licameli
2157b92b7b
Another const argument, another "override"
2016-03-02 12:47:52 -05:00
Paul Licameli
48a5f55179
More const qualifiers, for copying of tracks, and replacing in lists of tracks
...
... (the tracks may be const, not the list, when replacing)
2016-02-27 17:30:30 -05:00
Paul Licameli
6f63226291
More const qualifiers and mutable members for drawing of tracks
2016-02-27 13:04:34 -05:00
Paul Licameli
d097c7fad4
More const qualifications. The source of a paste is const.
2016-02-27 12:54:57 -05:00
Paul Licameli
70c1d57591
More const qualifications, and mutables, for functions that draw tracks...
...
... The display related members that had to become mutable are probably
ones that don't belong in the track classes, ultimately.
2016-02-27 12:35:17 -05:00
Paul Licameli
05f5375e4a
Use std::vector for wave track locations
2016-02-27 12:08:03 -05:00
Paul Licameli
990080ae7d
Replace virtual with override wherever possible; eliminate needless virtual...
...
... for functions in final classes.
override is like const -- it's not necessary, but it helps the compiler to
catch mistakes.
There may be some overriding functions not explicitly declared virtual and I did
not identify such cases, in which I might also add override.
2016-02-26 12:35:38 -05:00
Paul Licameli
4a6fd96a97
Commented out some unused functions
2016-02-26 12:35:30 -05:00
Paul Licameli
7824e94030
Harmlessly qualify classes as final (or explicitly comment not)...
...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls. Mostly useful as documentation of design intent.
Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli
a5b6c9fd8f
Add some const qualifiers; define TrackListConstIterator
2016-02-24 19:10:39 -05:00
Paul Licameli
9bf098c7d9
Sweep unnecessary wxString copies: rest
2016-02-23 02:15:56 -05:00
Paul Licameli
7c4c45a0d5
"new"->"NEW" in comments, easier to find remaining naked operator new
2016-02-14 18:52:41 -05:00
Paul Licameli
56e7653343
"delete"->"DELETE" in comments, easier to find remaining naked operator delete
2016-02-14 18:50:45 -05:00
Paul Licameli
507cee7ee5
One less indirection accessing Region
2016-02-02 11:49:53 -05:00
Paul Licameli
321d5259a2
More uses of SampleBuffer, eliminating explicit DeleteSamples calls
2016-02-01 10:16:00 -05:00
Paul Licameli
d70ff3337d
Bug501: Improve time-shift of clips between tracks...
...
... When you click in a stereo clip, move the correct partner clip with it.
When you click in the selection and it spans clips, move all clips containing
any part of the selection. (As horizontal dragging does.) Even if these are
not all within the same stereo track.
I implemented this rule: If any clip moves up (or down) by n audio tracks
(not counting the label tracks), all clips must move the same number, and
all must move from mono to mono or left to left or right to right. If that
is not possible, no move happens.
2016-01-24 23:08:10 -05:00
Paul Licameli
b84c1b322e
Bug1169: end the separate treatment of lin vs. log display bounds for spectrum...
...
... also make WaveTrack responsible for storing and validating the bounds
... also let the bounds vary per-track even though other settings are default
... also change some code names to mention "period" not "undertone"
2015-09-06 21:47:14 -04:00
Paul Licameli
80d7ed36f0
Bug1162: Be careful remapping db scale extremes, when the db limit value changes
2015-08-27 16:06:13 -04:00
Paul Licameli
555aa14e9e
Bug1160: Fix scale limits in waveform views
2015-08-26 07:24:20 -04:00
Paul Licameli
4a704af03f
Restore Waveform (dB) to Tracks preferences for default view mode
2015-08-19 10:21:09 -04:00
Paul Licameli
f81231efae
Remove Sequence.h from other headers
2015-07-28 10:02:08 -04:00
Paul Licameli
d39eaa4e65
Remove WaveTrack.h from other headers
2015-07-28 10:02:05 -04:00
Paul Licameli
5abbd463b2
Waveform dB is not a track type. Logarithmic is a Wavetrack scale type...
...
... Also removed one line from the track control drop-down, and changed
accelerators to more mnemonic choices.
Also the open page of View Settings... determines track view type after OK
2015-07-28 08:08:13 -04:00
Paul Licameli
0c4418af22
Boilerplate for empty waveform preferences, analogous to Spectra
2015-07-28 08:08:10 -04:00