Skip to content

Commit 3463937

Browse files
committed
More tweaks
1 parent 8905969 commit 3463937

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

examples/graphics/source/examples/SpectrumAnalyzer.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,6 @@ class SpectrumAnalyzerDemo
247247

248248
// Spectrum analyzer takes the rest with proper margins for labels
249249
auto analyzerBounds = bounds.reduced (margin);
250-
analyzerBounds.removeFromLeft (35); // Space for dB labels
251-
analyzerBounds.removeFromBottom (20); // Space for Hz labels
252250
analyzerComponent.setBounds (analyzerBounds);
253251
}
254252

@@ -578,8 +576,8 @@ class SpectrumAnalyzerDemo
578576
int selectedId = fftSizeCombo->getSelectedId();
579577
currentFFTSize = 32 << (selectedId - 1); // 32, 64, 128, 256, ..., 16384
580578

581-
// Update the analyzer state with the new FFT size
582-
analyzerState.setFftSize (currentFFTSize);
579+
// Update the analyzer component (which will update the state)
580+
analyzerComponent.setFFTSize (currentFFTSize);
583581
}
584582

585583
void updateWindowType()

modules/yup_audio_gui/displays/yup_SpectrumAnalyzerComponent.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -564,8 +564,9 @@ void SpectrumAnalyzerComponent::setFFTSize (int size)
564564
if (fftSize != size)
565565
{
566566
fftSize = size;
567-
568-
analyzerState.setFftSize (size); // Update the state as well
567+
568+
// Update the state - this reinitializes the FIFO
569+
analyzerState.setFftSize (size);
569570

570571
initializeFFTBuffers();
571572
generateWindow();

modules/yup_dsp/frequency/yup_SpectrumAnalyzerState.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,12 @@ SpectrumAnalyzerState::SpectrumAnalyzerState (int fftSizeToUse)
3636

3737
void SpectrumAnalyzerState::initializeFifo()
3838
{
39+
fftDataReady = false;
3940
fifoSize = fftSize * 4;
41+
4042
audioFifo = std::make_unique<AbstractFifo> (fifoSize);
43+
4144
sampleBuffer.resize (fifoSize, 0.0f);
42-
fftDataReady = false;
4345
}
4446

4547
SpectrumAnalyzerState::~SpectrumAnalyzerState()
@@ -130,6 +132,7 @@ bool SpectrumAnalyzerState::getFFTData (float* destBuffer) noexcept
130132
void SpectrumAnalyzerState::reset() noexcept
131133
{
132134
audioFifo->reset();
135+
133136
fftDataReady = false;
134137

135138
// Clear the sample buffer
@@ -143,6 +146,7 @@ void SpectrumAnalyzerState::setFftSize (int newSize)
143146
if (fftSize != newSize)
144147
{
145148
fftSize = newSize;
149+
146150
initializeFifo();
147151
}
148152
}
@@ -157,4 +161,4 @@ int SpectrumAnalyzerState::getFreeSpace() const noexcept
157161
return audioFifo->getFreeSpace();
158162
}
159163

160-
} // namespace yup
164+
} // namespace yup

0 commit comments

Comments
 (0)