v1.2.2: Live spectrum analyzer, makeup gain, drag-and-drop signal chain

- Real-time FFT spectrum analyzer drawn behind EQ curves
- Makeup gain knob (+/- 24 dB) after limiter
- Draggable signal chain panel: reorder Master Gain / Limiter / Makeup Gain
- Chain order saved/restored with DAW session
- Scaled fonts in signal chain panel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hariel1985
2026-03-25 11:44:27 +01:00
szülő 72c7958d98
commit 9c5b5a3957
9 fájl változott, egészen pontosan 474 új sor hozzáadva és 14 régi sor törölve

Fájl megtekintése

@@ -19,6 +19,7 @@ public:
void setListener (Listener* l) { listener = l; }
void setBands (const std::vector<EQBand>& bands);
void setMagnitudeResponse (const std::vector<float>& magnitudesDb, double sampleRate, int fftSize);
void setSpectrum (const float* data, int numBins, double sampleRate, int fftSize);
int getSelectedBandIndex() const { return selectedBand; }
void setSelectedBand (int index);
@@ -32,6 +33,9 @@ public:
private:
std::vector<EQBand> bands;
std::vector<float> magnitudeResponseDb;
std::vector<float> spectrumDb;
double spectrumSampleRate = 44100.0;
int spectrumFftSize = 2048;
double responseSampleRate = 44100.0;
int responseFftSize = 8192;
int selectedBand = -1;
@@ -62,6 +66,7 @@ private:
float yToDb (float y) const;
void drawGrid (juce::Graphics& g);
void drawSpectrum (juce::Graphics& g);
void drawResponseCurve (juce::Graphics& g);
void drawPerBandCurves (juce::Graphics& g);
void drawNodes (juce::Graphics& g);