1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-07 07:57:43 +02:00

199 Commits

Author SHA1 Message Date
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
b89c2a130c Remove Track.h from other headers 2015-07-28 10:02:03 -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
adb4a534e8 Pitch is no longer a special view type... && bug fixes 1040, 1041
... It is a choice of algorithm in spectrogram settings, and any frequency
scale may be chosen with it.  Spectral selection works in it.
2015-07-27 23:01:20 -04:00
Paul Licameli
846c5d454e Other spectrogram scales, easily defined!! -- and include bug fixes 1038, 1039 2015-07-27 23:01:16 -04:00
Paul Licameli
9b9ceab6ab Ruler uses generalized number scale when plotting "log" 2015-07-27 23:01:14 -04:00
Paul Licameli
43b7df701b Use class NumberScale in TrackArtist and spectral selection, abstracting...
... the details of mapping to and from pixel height
2015-07-27 23:01:11 -04:00
Paul Licameli
7d379cde13 Conditional compilation (disabled) to make Spectral selection choice global...
... not per track,
and the preferences or View Settings page has a separate static box for
global settings as opposed to track settings.  This is the only global setting
for now.
2015-07-27 23:01:06 -04:00
Paul Licameli
f74713f020 WaveTrack::WaveTrackDisplay does not encode scale or spectral selection...
... SpectrogramSettings does that instead, and Preferences or View Settings
are the user interface for changing it.

Handle invalidation of spectrogram pixel cache for scale type changes,
just as for other changes of settings.  No more
TrackArtist::InvalidateSpectrumCache().

View type of track now switches to Spectrum when applying or OKing the
View Settings... dialog and the Spectrogram page is open (and for now
it is still the only page)
2015-07-27 23:01:04 -04:00
Paul Licameli
1dffeace93 Access SpectrogramSettings via WaveTrack, which may be nondefault (no UI yet)...
... and add accessors to SpectrogramSettings, and remove TrackArtist functions
for getting and setting the globals.
2015-07-26 21:10:16 -04:00
Paul Licameli
a1621f7d1b Define and use SpectrogramSettings::GetFFTLength() 2015-07-26 21:10:15 -04:00
Paul Licameli
786c1da645 Move class SpectrogramSettings to its own file 2015-07-26 21:10:13 -04:00
Paul Licameli
f37c37e67c Fix travis errors by other means 2015-07-26 19:23:55 -04:00
Paul Licameli
ca30328e8f Revert "Fix Travis Build (const in structure)"
This reverts commit 13c17d3d5da5fdaf5d0f0ea99886b06194f4fc41.
2015-07-26 19:08:33 -04:00
Paul Licameli
a548303fdc Bug1090: Draw sync-lock tiles only when we should 2015-07-25 22:03:26 -04:00
Paul Licameli
dc9549df53 Bug1095 -- quantize times when drawing selection backgroun in wave track 2015-07-25 20:54:55 -04:00
Paul Licameli
03984c48a5 Bug1096: Fix crash changing view types 2015-07-25 19:58:24 -04:00
Steve Daulton
df8ddde874 Added dB - linear amplitude conversion macros. 2015-07-24 21:59:34 +01:00
Leland Lucius
3fe146f306 Merge remote-tracking branch 'upstream/master' into wx3 2015-07-19 18:00:02 -05:00
James Crook
13c17d3d5d Fix Travis Build (const in structure)
Not supported by version of gcc used by travis.
2015-07-19 19:01:15 +01:00
Paul Licameli
c02652b3ab rest of fisheye drawing code...
And finally, make ZoomInfo::zoom protected!
2015-07-19 11:44:29 -04:00
Paul Licameli
e0f4595485 TrackArtist, LabelTrack, TimeTrack, Envelope functions take ZoomInfo...
... and SelectedRegion, and not ViewInfo or zoom level as a double.

Also some leftOffset arguments.

Assumptions of uniform zoom level persist in TrackArtist::DrawClipSpectrum and
in TrackArtist::DrawClipWaveform but no longer in the rest.
2015-07-19 11:44:13 -04:00
Paul Licameli
35e0897bf7 Avoid needless mix/max/rms calculation when showing individual samples. 2015-07-19 11:43:55 -04:00
Paul Licameli
1b125f8fe3 more variable name changes 2015-07-19 11:43:53 -04:00
Paul Licameli
9a22b94d99 Change some argument names. I don't like one-letter variable names. 2015-07-19 11:43:52 -04:00
Paul Licameli
b25994a82d Throw away EXPERIMENTAL_FFT_SKIP_POINTS...
... with James' consent.
2015-07-18 23:21:27 -04:00
Leland Lucius
d1f66d768f Updates for wx3
A long way to go yet, but many OSX issues fixed including
conversion of Audio Unit effects.
2015-06-30 11:25:32 -05:00
Paul Licameli
4d2825e3d1 Bug837 Fix mismatch of spectrum display and vertical ruler...
... It was caused by unnecessary rounding to integer for "minSamples" and
"maxSamples".

Which were also misleading variable names, so I changed them.  And took the
excuse to rename some other variables.
2015-06-11 23:26:19 -04:00
Paul Licameli
b24e0f9115 Change min/max frequency in spectrogram prefs causes display refresh (again)
... Sorry I broke that!
2015-06-10 14:49:04 -04:00
Paul Licameli
976eb6164f More reorganization of wave and spectrum caches, and performance...
Simplify the partial copying of wave and spectrum caches.  Use memcpy for speed.

Don't memcpy out of the caches into temporary buffers for TrackArtist,
just pass
pointers.

More vectors in the cache classes, fewer deletes.

Pulled big loop, and its body, out of the spectrogram routine into functions.
2015-06-06 11:43:10 -04:00
Paul Licameli
1916bc3142 Fix compilation of some disabled experimental branches for spectrograms ...
... Not promising that they work, just compilation.
2015-06-04 11:30:08 -04:00
Paul Licameli
952a22c8b1 Created a global structure to hold spectrogram preferences...
Don't read "/Spectrum/" preferences anywhere but in SpectrumPrefs.cpp.
Don't store global values in TrackArtist.

Possibly some day, there will be other instances of SpectrogramSettings so we
can have independent per-track settings.
2015-06-04 11:29:17 -04:00
Paul Licameli
38f24a42ef Don't invalidate SpecCache for changes of min, max, gain or range...
... because those do not affect it.  They only affect the SpecPxCache.

Did other things to that class:  renamed fields, new constructors.
2015-06-04 11:29:16 -04:00
Paul Licameli
3e61ae0db5 Some simplified argument passing in drawing code 2015-06-03 11:26:22 -04:00
Paul Licameli
437e28db1a Moved ValueOfPixel into global namespace, it wants to live next to its inverse 2015-06-02 19:16:05 -04:00
unknown
5f71e334dc Bug999: top bin of spectrogram display 2015-06-01 22:58:20 -04:00
unknown
d74e995024 After drawing stripes, restore the pen 2015-06-01 22:58:20 -04:00
unknown
8aea663882 Lifted code that draws multi-tool sliders -- it's per track, not clip 2015-06-01 22:58:19 -04:00
unknown
29fb5a2ffe Simplified passing of min/min/rmx/bl/where values for drawing waveforms 2015-06-01 22:58:18 -04:00
unknown
ecb97e9c58 Split apart the loops that update the spectrogram cache and that use it 2015-06-01 22:58:16 -04:00
unknown
8ef354aba0 Abstracted common code out of waveform and spectrum drawing routines 2015-06-01 22:41:56 -04:00
unknown
3752f3b4be Simplified optional profiling code in TrackArtist 2015-06-01 22:41:41 -04:00
Paul Licameli
6a1227f039 zero-padding factor for spectrograms, internals 2015-05-31 16:43:09 -04:00
Steve Daulton
d1994e702e Remove spectral selection edges when not in spectral selection. 2015-05-30 11:13:01 +01:00
Steve Daulton
26707aabfa Return to gray highlighting for Spectrogram. 2015-05-30 11:04:45 +01:00
James Crook
88a9e434f5 Select Spectral Edit from Track DropDown 2015-05-30 11:04:45 +01:00
Paul Licameli
6810095509 Removed some functions never called, code never reached, fields never used 2015-05-29 00:13:50 -04:00
Paul Licameli
e6ccd51326 Use WaveTrackCache for spectrograms
Zooming-in of spectrograms (or other view changes that invalidate the
whole pixel cache of the WaveClip) used to do at least one opening and
closing of a block file for each column of pixels.  With this change,
open each block file not more than once for each repopulation of the
cache.

Improved speed may be more noticeable on less powerful computers, or when
the audio file is in a slower storage device.
2015-05-26 20:02:38 -04:00
Paul Licameli
7c17d99ea5 Bug971: spectrogram display 2015-05-25 11:05:31 -04:00