Per-pad FX chain, animated toggles, GR meter, simplified master panel
- FX moved from master bus to per-pad processing: each pad has its own Filter, Distortion, EQ, Compressor, Reverb via DrumPad::applyPadFx() with temp buffer rendering - FxPanel now edits the selected pad's FX parameters - Animated toggle switches with smooth lerp transition and glow - Per-pad compressor GR meter connected to FxPanel display - Master panel simplified: Volume/Tune/Pan + Limiter toggle + VU meter - Master bus chain: Vol/Pan → Output Limiter (0dB brickwall) → VU - Pointer glow reduced to half intensity (4 layers, narrower spread) - Smooth 8-layer arc glow with exponential opacity falloff Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -52,16 +52,8 @@ public:
|
||||
std::atomic<float> masterPan { 0.0f };
|
||||
std::atomic<float> masterTune { 0.0f };
|
||||
|
||||
// FX params
|
||||
std::atomic<float> compThreshold { -12.0f };
|
||||
std::atomic<float> compRatio { 4.0f };
|
||||
std::atomic<float> eqLo { 0.0f };
|
||||
std::atomic<float> eqMid { 0.0f };
|
||||
std::atomic<float> eqHi { 0.0f };
|
||||
std::atomic<float> distDrive { 0.0f };
|
||||
std::atomic<float> distMix { 0.0f };
|
||||
std::atomic<float> reverbSize { 0.3f };
|
||||
std::atomic<float> reverbDecay { 0.5f };
|
||||
// Master bus
|
||||
std::atomic<bool> outputLimiterEnabled { true };
|
||||
|
||||
// VU meter levels (written by audio thread, read by GUI)
|
||||
std::atomic<float> vuLevelL { 0.0f };
|
||||
@@ -72,13 +64,6 @@ private:
|
||||
int numActivePads = defaultNumPads;
|
||||
juce::AudioFormatManager formatManager;
|
||||
|
||||
// Master FX chain
|
||||
juce::dsp::Reverb reverb;
|
||||
juce::dsp::Compressor<float> compressor;
|
||||
juce::dsp::IIR::Filter<float> eqLoFilterL, eqLoFilterR;
|
||||
juce::dsp::IIR::Filter<float> eqMidFilterL, eqMidFilterR;
|
||||
juce::dsp::IIR::Filter<float> eqHiFilterL, eqHiFilterR;
|
||||
|
||||
double currentSampleRate = 44100.0;
|
||||
|
||||
void initializeDefaults();
|
||||
|
||||
Reference in New Issue
Block a user