beamgrid/README.md
Armin b6bdc73488 Add GRID visibility knob and fix spectrum/grid rendering
- Add GRID rotary knob (0-1) controlling grid + axis-label brightness/visibility
- Raise analyser ceiling to 0 dBFS; remove overlapping 0/-6 dB lines
- Set plugin minimum width to 800px (and clamp restored width)
- Extend spectrum signal/peak waves to full plot width
- Render signal wave as quadratic spline to match peak smoothness
- Restore 1px gaps in LED mode
2026-08-14 02:06:05 +02:00

65 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# BEAMGRID
A JUCE-based VST3 / AU spectrum analyzer with a fully black UI, teal accents,
and a configurable display.
## Features
- **Three display modes** (top-right `MODE` knob):
- **BARS** — classic log-spaced spectrum bars with peak-hold caps.
- **SPECTRUM** — a smooth (quadratic-spline) waveform trace of the spectrum,
with a matching smooth peak-hold wave. Use the `SMOOTH` knob to go from
raw/edgy to heavily smoothed.
- **LED** — an LED-meter style view (`LEDS` knob sets LEDs per bar).
- **Frequency range** fixed to **20 Hz 20 kHz**.
- **HUE** knob rotates the hue of every UI accent (knob arcs, peaks, title)
without altering the underlying data.
- **UI scaling** dropdown (75% 300%) in the top-right.
- Per-project **size & scale persistence** (stored in the plugin state).
## Parameters
| Knob | Range | Description |
|-------------|------------------|-----------------------------------------------|
| PEAK GRACE | 0 2000 ms | Grace period before a peak-hold marker decays |
| PEAK FALLOFF| 0 1 | Peak-hold decay rate |
| BAR FALLOFF| 0 1 | Spectrum bar release speed |
| BARS | 8 / 16 / 32 / 64 / 128 | Number of spectrum bands (snaps) |
| HUE | 0 1 | Rotates the UI accent hue (0.5 = no change) |
| MODE | 1 / 2 / 3 | BARS / SPECTRUM / LED |
| LEDS | 4 48 | LEDs per bar in LED mode |
| SMOOTH | 0 1 | Waveform smoothing amount in SPECTRUM mode |
| GRID | 0 1 | Grid (frequency/level) visibility / brightness|
## Building
Requires [CMake](https://cmake.org/) (>= 3.22) and a JUCE-supported
toolchain (Xcode / clang on macOS, MSVC / GCC on Windows, etc.). JUCE is
fetched automatically by CMake.
```sh
cmake -B build -G Ninja
cmake --build build --config Release
```
The built plugins are installed to your system plugin folders:
- `build/BEAMGRID_artefacts/Release/VST3/BEAMGRID.vst3`
- `build/BEAMGRID_artefacts/Release/AU/BEAMGRID.component`
Then rescan in your DAW (FL Studio, REAPER, Logic, etc.).
## Project layout
```
Source/
PluginProcessor.cpp/.h Audio processor + parameter layout
PluginEditor.cpp/.h Editor UI, knobs, layout
Analyser.h/.cpp FFT analysis, banding, peak-hold
AnalyserComponent.h Drawing (BARS / SPECTRUM / LED)
BeamgridLookAndFeel.h Black/teal styling, hue rotation, rotary drawing
```
## License
See the repository license file.