commit 10573a6c6701f62b569414eb10c4e7242ec68d38 Author: Armin Date: Sun Jul 12 14:18:15 2026 +0200 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..7ad2dc4 --- /dev/null +++ b/README.md @@ -0,0 +1,79 @@ +# Saftpumpe + +A VCA-style bus compressor plugin for macOS (arm64). Built with JUCE. + +Saftpumpe delivers the analog punch of classic rack-mounted bus compressors — soft-knee compression, program-dependent auto-release, and subtle tanh saturation for warmth. The skeuomorphic UI features silver metal faders on a brushed aluminum faceplate. + +## Obligatory AI slop disclaimer + +Yes, this software was built with the help of AI. If that is an issue for you, please use a different plugin. Thank you for your understanding. + +## Compatibility + +I have tested this on macOS (M2 Pro Mac Mini) with FLstudio. That's it. If it breaks on your setup, well, that's bad, I probably can't do much about it. + +## Features + +- **Analog-modeled VCA compression** with soft-knee transition +- **Program-dependent auto-release** — faster for transients, slower for sustained material +- **Tanh saturation** for musical harmonic coloring +- **7 parameters:** Threshold, Ratio, Attack, Release, Knee, Makeup Gain, Dry/Wet Mix +- **Auto Release** toggle switch +- **Real-time waveform scope** (input + compressed output overlay) +- **LED-style meters:** Gain Reduction, Input, Output +- **HiDPI scaling** (0.75x – 2.0x) + +## Formats + +- VST3 +- Audio Unit (AU) +- Standalone application + +## Build + +Requires CMake and JUCE (cloned into the project directory). + +```bash +# First time only — clone JUCE +git clone --depth 1 https://github.com/juce-framework/JUCE.git + +# Build +make + +# Or manually +mkdir build && cd build +cmake .. -DCMAKE_BUILD_TYPE=Release +cmake --build . -j$(sysctl -n hw.ncpu) +``` + +The build automatically installs VST3 and AU to: +- `~/Library/Audio/Plug-Ins/VST3/Saftpumpe.vst3` +- `~/Library/Audio/Plug-Ins/Components/Saftpumpe.component` + +## Makefile Targets + +| Target | Description | +|---|---| +| `make` | Build the plugin | +| `make clean` | Remove build directory | +| `make reinstall` | Clean build | +| `make uninstall` | Remove installed plugins | +| `make run` | Launch standalone app | + +## Parameters + +| Parameter | Range | Default | Description | +|---|---|---|---| +| Threshold | -48 dB – 0 dB | -20 dB | Compression onset level | +| Ratio | 1:1 – 20:1 | 4:1 | Compression ratio | +| Attack | 1 ms – 100 ms | 30 ms | Attack time | +| Release | 50 ms – 1.5 s | 300 ms | Release time (when auto is off) | +| Knee | 0 dB – 12 dB | 6 dB | Soft knee width | +| Makeup | 0 dB – 24 dB | 0 dB | Output gain compensation | +| Mix | 0% – 100% | 100% | Dry/wet blend | +| Auto Release | On/Off | On | Program-dependent release timing | + +## License + +MIT +