Files
InstaShadow/Source/TransformerPanel.h
hariel1985 a587a43ff9 Initial release — InstaShadow mastering compressor v1.0
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
2026-03-27 16:03:24 +01:00

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)
};