SonicVibe is a JUCE-based desktop audio player built for playlist playback, waveform seeking, synced lyrics, cue markers, tempo control, A/B looping, and a neon intro experience.
- Dual Pulse player views: Pulse One, Pulse Two, and Dual View
- Playlist loading, saving, reordering, restoring, and queue management
- Waveform seek display
- Synced lyrics panel
- Cue markers with jump support
- Tempo control powered by SoundTouch
- A/B loop, repeat, shuffle, mute, and navigation controls
- Neon WebView intro video using
SonicVibeAssets/intro.mp4 - Polished About modal with SonicVibe branding
- C++
- JUCE
- Visual Studio 2022
- SoundTouch
- WebView2 /
WebBrowserComponentfor intro playback
SonicVibe/
├── Source/
│ ├── Main.cpp
│ ├── MainComponent.cpp
│ ├── MainComponent.h
│ ├── PlayerAudio.cpp
│ ├── PlayerAudio.h
│ ├── PlayerGUI.cpp
│ ├── PlayerGUI.h
│ ├── WaveformDisplay.cpp
│ └── WaveformDisplay.h
├── SonicVibeAssets/
│ ├── about_logo.png
│ └── intro.mp4
├── ThirdParty/
│ └── SoundTouch/
└── SonicVibe.jucer
Make sure these modules are enabled in Projucer:
juce_audio_basicsjuce_audio_devicesjuce_audio_formatsjuce_audio_utilsjuce_corejuce_data_structuresjuce_eventsjuce_graphicsjuce_gui_basicsjuce_gui_extrajuce_video
For the intro video on Windows, juce_gui_extra should have WebView2 enabled:
JUCE_WEB_BROWSER = Enabled
JUCE_USE_WIN_WEBVIEW2 = Enabled
JUCE_USE_WIN_WEBVIEW2_WITH_STATIC_LINKING = Disabled
- Open
SonicVibe.jucerin Projucer. - Confirm the JUCE module paths are correct.
- Save and open in Visual Studio 2022.
- Build the
SonicVibe_Apptarget. - Keep
SonicVibeAssets/intro.mp4andSonicVibeAssets/about_logo.pnginside the project folder.
This project uses Git LFS for video/audio assets such as intro.mp4.
Before pushing for the first time:
git lfs install
git lfs track "*.mp4"
git add .gitattributesBuild outputs, Visual Studio cache files, and generated intro frame fallback assets are intentionally ignored.