Dual-stage compressor (optical + VCA) with output transformer saturation. - Port-Hamiltonian T4B opto-cell model with implicit trapezoidal integration - Feed-forward VCA with 7 ratios, 6 attack/release presets, Dual release mode - 3 transformer types (Nickel/Iron/Steel) with 4x oversampled waveshaping - Analog-style needle VU meters, horizontal GR meters - Sidechain HPF, stereo link, independent section bypass - Full state save/restore, CI/CD for Windows/macOS/Linux
27 sor
635 B
C++
27 sor
635 B
C++
#pragma once
|
|
#include <JuceHeader.h>
|
|
#include "LookAndFeel.h"
|
|
|
|
class TransformerPanel : public juce::Component
|
|
{
|
|
public:
|
|
TransformerPanel();
|
|
void resized() override;
|
|
void paint (juce::Graphics& g) override;
|
|
|
|
int getSelectedType() const { return currentType; }
|
|
void setSelectedType (int type);
|
|
|
|
juce::TextButton nickelButton { "NICKEL" };
|
|
juce::TextButton ironButton { "IRON" };
|
|
juce::TextButton steelButton { "STEEL" };
|
|
|
|
private:
|
|
juce::Label titleLabel;
|
|
int currentType = 0; // 0=Off
|
|
|
|
void updateButtonStates();
|
|
|
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TransformerPanel)
|
|
};
|