Skip to content

DiscoverTube DJ v2.0.0

Latest

Choose a tag to compare

@SagiEv SagiEv released this 15 Aug 23:17
· 2 commits to main since this release
3e756c1

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, and warning notifications.

🐛 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_B to type: "noteon", note: 78 to 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 BrowseKnob component: 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 -30dB at 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 prevent Error: bad allocation when 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.
  • 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 StemProgress bar 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 your C: 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.json sidecar 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