... 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
... 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.
... 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)
... 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.
... 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.
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.
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.
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.