... the preference is independent of those in Interface and Recording
preferences, which affect meters, sound activated recordings, time track,
and Plot Spectrum
... 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
... 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.
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.
final but it's a big improvement. Reversed a couple changes from
original indication scheme that are no longer necessary. Unfortunately
it's really hard to remove colors from AllThemeResources.h.