How sweetorange1/y2kmeter works
Y2Kmeter is a JUCE audio analyzer and visualizer delivered as VST3/AU and as a standalone app. Audio enters through a plugin host or standalone device, is analyzed by the processor’s AnalyserHub, and is presented through a configurable editor workspace of meter, spectrum, waveform, EQ, Milkdrop, and VirtuPet modules. The README documents these major features; the sampled excerpts support the hub’s frame dispatch, workspace behavior, standalone setup, and Milkdrop integration, but do not expose the full processor-to-analyzer wiring. Optional update and telemetry services are kept separate.
Main entry points: AnalyserHub.cpp Analysis hub · ModuleWorkspace.cpp Module workspace · Y2KStandaloneApp.cpp Standalone app · PluginProcessor.cpp Audio processor
Components 20
Audio analysis
- Audio processor
PluginProcessor.cpp - Analysis hub
source/analysis/AnalyserHub.cpp - Level and loudness
source/analysis/AnalyserHub.cpp - Phase analysis
source/analysis/PhaseCorrelator.cpp - Dynamic range
source/analysis/DynamicRangeMeter.cpp
Editor and modules
- Plugin editor
PluginEditor.cpp - Module workspace
source/ui/ModuleWorkspace.cpp - Analysis modules
source/ui/modules/SpectrumModule.cpp - Milkdrop renderer
source/ui/modules/MilkdropModule.cpp - Pink XP theme
source/ui/PinkXPStyle.cpp - VirtuPet
source/ui/modules/VirtuPetModule.cpp
Standalone runtime
- Standalone app
source/standalone/Y2KStandaloneApp.cpp - Loopback capture
source/standalone/WasapiLoopbackCapture.cpp - Audio dump recorder
source/standalone/AudioDumpRecorder.cpp
Network services
- Update checker
source/network/UpdateChecker.cpp - Telemetry client
source/network/TelemetryClient.cpp
Other components
- Plugin host
- Audio devices
- libprojectM
- Update service
Connections 19
- Plugin host → Audio processor: supplies audio
- Audio devices → Standalone app: provides input
- Standalone app → Audio processor: hosts
- Audio processor → Analysis hub: analyzes audio
- Analysis hub → Level and loudness: computes metrics
- Analysis hub → Phase analysis: updates analysis
- Analysis hub → Dynamic range: updates analysis
- Audio processor → Plugin editor: creates editor
- Plugin editor → Module workspace: manages modules
- Module workspace → Analysis modules: hosts modules
- Module workspace → Milkdrop renderer: hosts module
- Module workspace → VirtuPet: hosts module
- Analysis hub → Analysis modules: publishes frames
- Milkdrop renderer → libprojectM: renders with
- Plugin editor → Pink XP theme: uses theme
- Standalone app → Loopback capture: captures loopback
- Standalone app → Audio dump recorder: records audio
- Update checker → Update service: checks version
- Telemetry client → Update service: sends telemetry