beamgrid/README.md

76 lines
3.3 KiB
Markdown
Raw Normal View History

2026-08-14 01:30:58 +02:00
# BEAMGRID
A JUCE-based VST3 / AU spectrum analyzer with a fully black UI, teal accents,
and a configurable display.
## Screenshots
![Screenshot 01](beamgrid01.png)
![Screenshot 01](beamgrid02.png)
2026-08-14 01:30:58 +02:00
## Features
- **Three display modes** (`MODE` knob):
2026-08-14 04:04:27 +02:00
- **BARS** - classic log-spaced spectrum bars with peak-hold caps.
- **SPECTRUM** - a smooth (quadratic-spline) waveform trace of the spectrum,
2026-08-14 01:30:58 +02:00
with a matching smooth peak-hold wave. Use the `SMOOTH` knob to go from
raw/edgy to heavily smoothed.
2026-08-14 04:04:27 +02:00
- **LED** - an LED-meter style view (`LEDS` knob sets LEDs per bar).
2026-08-14 01:30:58 +02:00
- **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|
| ZOOM | 98.0% 102.0% | Grid zoom about the plot centre |
| GRID FADE | 0 1 | Fades inner grid lines; outer border stays |
| CURVING | 0 1 | LED corner radius (0 = square, 1 = rounded) |
| TILT | -1 1 | Spectral tilt: + boosts highs / cuts lows, - does the reverse (0 = flat) |
| BOOST | 0.75 2.5 | Global display level multiplier (1.0 = unity) |
| 3D | 0 1 | Pseudo-3D bevel/shading on bars, LEDs, peaks and curve (0 = flat) |
| G-ANG | -180 180 | Gradient angle for the 3D shading (0 = top-lit, +/-90 = side-lit) |
2026-08-14 01:30:58 +02:00
## 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.