1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-26 15:23:48 +01:00

pixel column counts and sample window sizes use unsigned types

This commit is contained in:
Paul Licameli
2016-09-08 14:28:34 -04:00
parent b910bf63da
commit ed21545c80
36 changed files with 1031 additions and 1010 deletions

View File

@@ -371,8 +371,8 @@ namespace
{
enum { WINDOW, TWINDOW, DWINDOW };
void RecreateWindow(
float *&window, int which, int fftLen,
int padding, int windowType, int windowSize, double &scale)
float *&window, int which, size_t fftLen,
size_t padding, int windowType, size_t windowSize, double &scale)
{
if (window != NULL)
delete[] window;
@@ -402,7 +402,7 @@ namespace
// Future, reassignment
case TWINDOW:
NewWindowFunc(windowType, windowSize, extra, window + padding);
for (int ii = padding, multiplier = -windowSize / 2; ii < endOfWindow; ++ii, ++multiplier)
for (int ii = padding, multiplier = -(int)windowSize / 2; ii < endOfWindow; ++ii, ++multiplier)
window[ii] *= multiplier;
break;
case DWINDOW:
@@ -429,8 +429,8 @@ void SpectrogramSettings::CacheWindows() const
if (hFFT == NULL || window == NULL) {
double scale;
const int fftLen = windowSize * zeroPaddingFactor;
const int padding = (windowSize * (zeroPaddingFactor - 1)) / 2;
const auto fftLen = WindowSize() * ZeroPaddingFactor();
const auto padding = (windowSize * (zeroPaddingFactor - 1)) / 2;
if (hFFT != NULL)
EndFFT(hFFT);
@@ -475,7 +475,7 @@ void SpectrogramSettings::ConvertToActualWindowSizes()
#endif
}
int SpectrogramSettings::GetFFTLength() const
size_t SpectrogramSettings::GetFFTLength() const
{
return windowSize
#ifdef EXPERIMENTAL_ZERO_PADDED_SPECTROGRAMS
@@ -488,7 +488,7 @@ NumberScale SpectrogramSettings::GetScale
(float minFreq, float maxFreq, double rate, bool bins) const
{
NumberScaleType type = nstLinear;
const int half = GetFFTLength() / 2;
const auto half = GetFFTLength() / 2;
// Don't assume the correspondence of the enums will remain direct in the future.
// Do this switch.

View File

@@ -100,12 +100,20 @@ public:
int frequencyGain;
int windowType;
private:
int windowSize;
public:
size_t WindowSize() const { return windowSize; }
#ifdef EXPERIMENTAL_ZERO_PADDED_SPECTROGRAMS
private:
int zeroPaddingFactor;
public:
size_t ZeroPaddingFactor() const { return zeroPaddingFactor; }
#endif
int GetFFTLength() const; // window size (times zero padding, if STFT)
size_t GetFFTLength() const; // window size (times zero padding, if STFT)
bool isGrayscale;

View File

@@ -51,7 +51,7 @@ SpectrumPrefs::SpectrumPrefs(wxWindow * parent, WaveTrack *wt)
mDefaulted = false;
}
const int windowSize = mTempSettings.windowSize;
const auto windowSize = mTempSettings.WindowSize();
mTempSettings.ConvertToEnumeratedWindowSizes();
Populate(windowSize);
}
@@ -78,7 +78,7 @@ enum {
ID_DEFAULTS,
};
void SpectrumPrefs::Populate(int windowSize)
void SpectrumPrefs::Populate(size_t windowSize)
{
mSizeChoices.Add(_("8 - most wideband"));
mSizeChoices.Add(wxT("16"));
@@ -112,7 +112,7 @@ void SpectrumPrefs::Populate(int windowSize)
// ----------------------- End of main section --------------
}
void SpectrumPrefs::PopulatePaddingChoices(int windowSize)
void SpectrumPrefs::PopulatePaddingChoices(size_t windowSize)
{
#ifdef EXPERIMENTAL_ZERO_PADDED_SPECTROGRAMS
mZeroPaddingChoice = 1;
@@ -132,9 +132,9 @@ void SpectrumPrefs::PopulatePaddingChoices(int windowSize)
pPaddingSizeControl->Clear();
}
int padding = 1;
unsigned padding = 1;
int numChoices = 0;
const int maxWindowSize = 1 << (SpectrogramSettings::LogMaxWindowSize);
const size_t maxWindowSize = 1 << (SpectrogramSettings::LogMaxWindowSize);
while (windowSize <= maxWindowSize) {
const wxString numeral = wxString::Format(wxT("%d"), padding);
mZeroPaddingChoices.Add(numeral);
@@ -449,7 +449,7 @@ void SpectrumPrefs::OnWindowSize(wxCommandEvent &evt)
// size and padding may not exceed the largest window size.
wxChoice *const pWindowSizeControl =
static_cast<wxChoice*>(wxWindow::FindWindowById(ID_WINDOW_SIZE, this));
int windowSize = 1 <<
size_t windowSize = 1 <<
(pWindowSizeControl->GetSelection() + SpectrogramSettings::LogMinWindowSize);
PopulatePaddingChoices(windowSize);

View File

@@ -48,8 +48,8 @@ class SpectrumPrefs final : public PrefsPanel
bool Validate() override;
private:
void Populate(int windowSize);
void PopulatePaddingChoices(int windowSize);
void Populate(size_t windowSize);
void PopulatePaddingChoices(size_t windowSize);
void PopulateOrExchange(ShuttleGui & S);
void OnControl(wxCommandEvent &event);