A professional real-time multichannel oscilloscope plugin for audio visualization, built with JUCE.
- DAW tempo synchronization: Waveform display aligns to beat/bar boundaries
- Sync Units: 1/4 Bar, 1/2 Bar, 1 Bar, 2 Bars, 4 Bars
- Beat grid overlay: Visual beat markers synced to DAW transport
- Perfect for analyzing transients relative to the beat
- Manual timebase: 1ms to 10 seconds adjustable time window
- Traditional oscilloscope behavior
- Two display modes:
- Vertical: Stacked channels with individual control strips (solo/mute)
- Overlay: All channels overlaid with color-coded legend
- Three drawing styles: Line, Filled, or Both
- dB scale: Adjustable amplitude range (Min/Max dB)
- Peak hold indicators: Visual peak markers with decay
- Up to 16 simultaneous plugin instances
- Track Groups: Organize tracks into groups (0-15)
- Mix to Mono: Combine multi-channel input to mono display
- Color-coded tracks with automatic palette
- Adaptive decimation: Efficient rendering at any timebase
- HiDPI/Retina support: Crisp text on high-resolution displays
- Pass-through audio: Zero latency, no audio processing
- Classic green phosphor on black background
- High contrast for studio environments
| Control | Description |
|---|---|
| Sync Mode | Beat Sync (default) or Free mode |
| Unit / Timebase | Bar divisions (Beat Sync) or ms (Free) |
| Min/Max dB | Visible amplitude range |
| Display | Vertical or Overlay mode |
| Style | Line, Filled, or Both |
| Mix to Mono | Combine channels |
| Group | Track group filter (0-15) |
| Decimation | Rendering quality (128-4096) |
| Freeze | Capture current waveform |
- CMake 3.24+
- C++17 compiler
- JUCE framework (automatically downloaded via CPM)
# Configure and build (Debug)
cmake -B cmake-build-debug -DCMAKE_BUILD_TYPE=Debug
cmake --build cmake-build-debug
# Build Release
cmake -B cmake-build-release -DCMAKE_BUILD_TYPE=Release
cmake --build cmake-build-release- VST3
- AU (macOS)
- Standalone
Plugins auto-install to system folders after build.
- Load plugin in DAW or run standalone
- Route audio (supports up to 16 channels per instance)
- Beat Sync mode (default): Display auto-aligns to DAW tempo
- Adjust Unit to see different bar lengths
- Switch to Free mode for manual timebase control
- Use Min/Max dB to adjust visible amplitude range
- Use Track Groups to organize multiple instances
- Vertical mode: Use solo/mute buttons on each track
- Freeze to capture current waveform
The plugin uses a lock-free multi-instance architecture:
- TrackDataStore: Global shared audio buffer storage (up to 16 tracks)
- TrackMetadataStore: Track names, colors, and group assignments
- WaveSnapshotBuilder: Creates immutable snapshots for GUI rendering
- Beat Sync: Time-mapped buffers align to DAW transport position
See CLAUDE.md for detailed architecture documentation.
MIT License. Uses JUCE framework - see https://juce.com/

