DiscoverTube DJ v2.0.0 Release Notes
We are thrilled to announce the next major update for ION-Discover-DJ! This release brings massive improvements to the core DJ experience, including full stem separation, new effects, and a highly requested configuration interface.
✨ New Features & Enhancements
- Stem Manager Integration ([#7], [#12]): Seamlessly isolate vocals, drums, bass, and other instruments using Demucs integration.
- DJ Effects ([#4]): Apply real-time effects to your tracks to spice up your transitions.
- Browse Modal with Filesystem ([#10]): Easily navigate your local filesystem to find and load tracks into the decks.
- Settings & Configuration Modal ([#14]): A brand new settings interface to configure application behaviors, including default storage paths.
- Subtitles Feature ([#2]): Real-time subtitles support for a richer multimedia experience.
- UI Improvements ([#16]): Overall graphical polish and layout adjustments for a premium feel.
- In-App Toast Notification System: Replaced all blocking native notifications with a non-blocking, animated toast system for
success,error,info, andwarningnotifications.
🐛 Bug Fixes & Stability
- Controller and Stem fixes ([#8]): Resolved MIDI controller mapping issues and stem playback synchronization bugs.
🎛️ Jog Wheel — Mapping, Scratch & Pitch Overhaul
- Jog touch sensor mapping fixed: Changed
jog_touch_Btotype: "noteon",note: 78to correctly interpret ION hardware signals. - Scratch mode safety: Scratching now strictly requires both scratch mode to be enabled AND physical platter touch, preventing unintended behavior when nudging.
- Reverse state leaking fixed: Prevented compounding flips when ending a scratch in reverse.
- Velocity-aware scratch and seek: Jog movement now uses exponential velocity smoothing for natural vinyl feel, fine scrubbing, and coarse seeking.
- Vinyl deceleration: Ramped deceleration on scratch release (
setTargetAtTime) and braking (linearRampToValueAtTime) prevent audio clicks and give a natural "held record" slowdown. - Pitch fader accuracy: Pitch buttons act as a continuous pitch fader, adjusting continuously while held.
- Pitch lock (cruise control): The playback rate can now be locked at the current scratch speed when the jog platter is released.
🎛️ Browse Knob — Direction & Mouse Drag
- Direction inverted: Physical browse knob and mouse drag scroll direction inverted to correctly match user expectations.
- Dedicated
BrowseKnobcomponent: Implemented horizontal drag and mousewheel scrolling.
🎚️ Controller Surface & Hardware Feedback
- Mid EQ band added: Full 3-band EQ implemented with a dedicated mid-frequency control.
- Total Kill EQ: EQ knobs now map to
-30dBat minimum for full frequency kill, matching professional DJ mixers. - Hardware button state tracking: Controller button presses now visually highlight the corresponding on-screen buttons in real time.
- State Persistence: Crossfader, master volume, EQ mode, and per-deck EQ settings are now persisted across app restarts.
🔧 Stems Manager and Stability Fixes
- Memory Exhaustion (Black Screen Crash) Prevented:
- Increased the AI worker memory limit to 8GB (
--max-old-space-size=8192) to preventError: bad allocationwhen decoding massive audio tracks for Demucs. - Implemented immediate garbage collection triggers to instantly reclaim memory after audio buffers are passed to the backend.
- Intercepted memory limits with graceful OS error dialogs and safe reloads instead of black screening.
- Increased the AI worker memory limit to 8GB (
- Stems Manager Suggestions List: The queue popup now dynamically updates and removes tracks from the Library Suggestions list the exact moment they finish generating.
- Retry State on Decks: Hitting Retry on a failed stem separation immediately clears the red error state from the deck UI and restores the progress bar.
- Stem Progress Display: Removed redundant processing progress from the deck panels. The bottom
StemProgressbar is now the single source of truth, and correctly propagates error states if the AI engine fails. - ENOSPC Space Fix: Stem separation now runs its heavy temporary buffers on the actual drive you selected for Stems (e.g.,
D:\), preventing silent crashes when yourC:drive runs out of space. - Installation Improvements: The NSIS installer now forces the details view open by default so users can track extraction, and custom UI branding images render perfectly.
- YouTube Downloads & Metadata:
- Added automatic retry logic (with backoff) for YouTube 403 Forbidden errors.
- Saved
.meta.jsonsidecar files alongside downloaded tracks to persist YouTube Video IDs across restarts, ensuring previously generated stems are always found.
Full Changelog: https://github.com/SagiEv/ION-Discover-DJ/commits/v1.1.0