Releases: kushiemoon-dev/OpenDrop-VJ
v0.3.6 — Windows Compatibility Fixes & In-App Error Log
v0.3.6 — Windows Compatibility Fixes & In-App Error Log
Bug Fixes
Renderer crashes on Windows
- Replaced all panicking
expect()calls in the OpenGL context setup with graceful error handling — the renderer now sends a descriptive error message and exits cleanly instead of crashing silently - Renderer errors are now forwarded to the main app and surfaced as toast notifications
UI freezes when stopping audio
- Stopping audio input/output no longer freezes the interface — added a 2-second timeout on the audio thread shutdown, preventing a WASAPI deadlock from locking up the UI indefinitely
stop_audionow uses non-blocking lock acquisition to avoid contention with the audio pump loop
VU meters not responding
- CPAL/WASAPI stream errors are now captured and shown as toast notifications
- When loopback capture is active but nothing is playing, a hint appears after 5 seconds: "No audio detected — play audio through the selected output device"
New Feature
In-App Error Log
- Settings panel now includes an Error Log section (collapsible)
- Captures renderer crashes, audio stream errors, and other diagnostics with timestamps
- Copy to clipboard button for easy bug reporting
- Clear button to reset the log
Full Changelog: v0.3.5...v0.3.6
v0.3.5 - Windows Compatibility & Renderer Stability
What's New
Renderer Crash Prevention (Windows)
- OpenGL pre-flight validation checks critical GL functions before ProjectM initialization
- Panic guard around ProjectM FFI to catch driver crashes gracefully
- Safe initial framebuffer size (640x480) then resize — fixes crashes on some GPU drivers
- New
--testhealth check mode for renderer diagnostics - Better error messages with GPU driver update suggestion
Path & Preset Fixes
- Cross-platform path normalization eliminates duplicate presets on Windows
- Texture directories no longer incorrectly include preset directories
- Folder browser dialog now works correctly on Windows
- Case-insensitive path deduplication on Windows
UI Improvements
- Removed backend preset limit (was capped at 2000)
- Progressive preset loading: 500 initial, then +500 per click
- Warning for collections over 5000 presets
Platform Polish
- Detailed WASAPI loopback debug logging for Windows audio troubleshooting
- SpoutLibrary.dll bundled in Windows installer
- Renderer console window suppressed on Windows
- Renderer health check command for diagnostics
Downloads
| Platform | File |
|---|---|
| Windows (installer) | OpenDrop_0.3.5_x64-setup.exe |
| Windows (MSI) | OpenDrop_0.3.5_x64_en-US.msi |
| Linux (AppImage) | OpenDrop_0.3.5_amd64.AppImage |
| Linux (Debian) | OpenDrop_0.3.5_amd64.deb |
Full Changelog: v0.3.4...v0.3.5
v0.3.4
What's Changed
Bug Fixes
- Fix duplicate directories on Windows - Texture and preset directories no longer appear twice when paths use mixed separators (
/vs\).
Paths are now normalized before comparison. - Fix auto-detected paths display - Settings panel now deduplicates paths from the backend
Improvements
- Responsive preset browser - The preset grid now adapts to window size instead of being limited to 200px height. Resize the window and the
browser expands/shrinks accordingly.
Notes
- Color persistence is intentional - Your accent color choice is saved to localStorage and restored on launch. This is expected behavior, not a
bug.
Full Changelog: v0.3.3...v0.3.4
v0.3.3
What's Changed
- feat: v0.3.2 - Preset patch fixes, added textures by @OfficialIncubo in #3
New Contributors
- @OfficialIncubo made their first contribution in #3
Bug Fixes
- Fixed native folder dialog not opening on Windows (missing dialog permission)
- Fixed preset browser displaying only 50 presets instead of all parsed presets
- Fixed custom preset paths from Settings not being included in preset scanning
- Fixed deck cards resizing when loading presets with long names
- Fixed textures not being bundled in Windows/Linux installers
Improvements
- Preset browser now displays up to 200 presets with "Show all" pagination
- Custom preset directories are now scanned alongside default paths
Full Changelog: v0.3.1...v0.3.3
v0.3.1
What's Changed
Windows Fixes
- Fixed renderer crash on window resize before OpenGL context initialized
- Added null safety checks for
gl::GetString(prevents crash on some GPUs) - Audio now works out-of-the-box - uses default output device for loopback capture instead of microphone
- Default audio output device is now marked in the device list for easy selection
Full Changelog
v0.3.0
Audio System
- Upgraded CPAL audio library to version 0.17
- Implemented explicit WASAPI host selection on Windows for reliable loopback capture
- Added comprehensive audio stream logging for diagnostics
- Improved user feedback for loopback mode requirements
Preset Management
- Bundled 383 visualization presets with the application
- Extended preset discovery to include application resource directories
- Added Linux AppImage preset path support
- Implemented multi-directory preset search
Configuration
- Added Settings panel with persistent configuration
- Custom preset directory support
- User preferences stored locally
Fixes
- Resolved color picker overlay visibility issue
- Fixed cross-platform renderer executable resolution
- Corrected Svelte 5 module state export compatibility
- Improved preset path handling across all platforms
Infrastructure
- Configured Tauri sidecar for renderer binary
- Integrated dialog plugin for native folder selection
- Enhanced build pipeline for preset bundling
Full Changelog: v0.2.2...v0.3.0
v0.2.2
Full Changelog: v0.2.1...v0.2.2
v0.2.1
Fixes
- Dark theme by default - OpenDrop now starts in dark mode regardless of system preference, providing a better visualizer experience
- Header layout fix - Theme toggle and accent color picker are now properly positioned next to the status indicators (AUDIO/VISU)
- projectM-4 linking - Fixed pkg-config detection order to correctly link against projectM-4 instead of legacy projectM v3
Technical Changes
- Updated theme.svelte.ts to default to dark theme
- Restructured Header component with proper flex grouping
- Fixed build.rs in projectm-sys crate to prioritize projectM-4 package
Downloads
┌───────────────────────┬──────────────────────────┐
│ Platform │ File │
├───────────────────────┼──────────────────────────┤
│ Linux (Debian/Ubuntu) │ OpenDrop_0.2.1_amd64.deb │
├───────────────────────┼──────────────────────────┤
│ Linux (Binary) │ opendrop │
└───────────────────────┴──────────────────────────┘
Requirements
- projectM 4.x (libprojectM-4)
- PipeWire or PulseAudio
- OpenGL 4.x compatible GPU
v0.2.0
Full Changelog: https://github.com/kushiemoon-dev/OpenDrop-VJ/commits/v0.2.0