Changelog
Reverse-chronological release history. See the user guide for how each feature works.
v0.1.2 Latest 2026-05-15
Full two-way Mixxx ↔ app feedback.
Every continuous control on the app — knobs, faders, hot cues, BPM, key offset — now syncs both ways with Mixxx. Move a knob in Mixxx and the app follows. Drag in the app and Mixxx follows. Soft takeover means dragging your finger is never fought by an incoming Mixxx echo.
NEW
- Continuous-control feedback for 24 controls: EQ Hi/Mid/Lo per deck, filter, volume, tempo, FX slot 1/2/3 meta + FX mix per deck, master gain, head volume, head mix, crossfader. EQ knobs are scaled so that centred = neutral (no boost, no cut).
- Hot-cue long-press deletes the cue. Hold a cue pad ≥ 500 ms and Mixxx wipes the cue. Quick taps still activate as before.
- KEY −/+ pads per deck on the Beatmatch tab, between BPM/SLIP and the jog wheel. Step the track pitch by ±1 semitone. The current offset shows as
KEY +N / KEY −N / KEY 0 and reflects Mixxx's pitch directly.
- FX tab layout tightened: each deck's master column flipped so the FX ON button aligns with the slot prev/next pad row, and the MIX knob aligns with the slot meta knobs. All buttons land on one row, all knobs on another.
IMPROVED
- BPM precision from ~0.55 BPM to ~0.01 BPM. The app now matches Mixxx's BPM display to two decimal places (uses 14-bit MIDI internally).
- USB MIDI parser now buffers leftover bytes between callbacks. Android's USB MIDI subsystem can split a single 3-byte MIDI message across two delivery calls; the previous parser dropped both halves under bursts (e.g. 8 hot-cue notes after a track load). Cue lighting on track load is reliable now.
- Hot cues light correctly on track load (deferred 150 ms resync). Eject blasts all 8 OFF after a 300 ms debounce, cancelled by an immediate reload — track-replace doesn't flicker.
- Production-quiet: diagnostic logs stripped from both the script and the APK.
Heads-up: v0.1.2 changes the MIDI bindings. You must update both the APK and the Mixxx mapping files (MobaDJ.midi.xml + MobaDJ.script.js) together — running v0.1.1 mapping with v0.1.2 APK (or vice versa) will give you partial behavior.
v0.1.1 2026-05-09
Domain migration to mobadj.com.
CHANGED
- Migrated from
mobadj.infinityfree.me to mobadj.com.
- About screen "Website" button now reads (mobadj.com).
- About screen "Check for updates" link points to mobadj.com.
- Project email is now digital@mobadj.com.
No functional changes. PIX key, Mixxx mapping, MIDI behaviour, and the rest of the UI are identical to v0.1.0.
v0.1.0 2026-05-09
First public signed release.
The first publicly distributed version of MobaDJ.
HIGHLIGHTS
- Native Android app — Kotlin, standard Android Views, no Jetpack Compose.
- Class-compliant USB MIDI to Mixxx 2.4+ on macOS / Windows / Linux. No drivers, no extra software.
- Four tabs — Decks, Beatmatch, Mix, FX — designed in the order a live mix actually flows.
- Two decks with eight hot cues, nine beatloops (1/8 to 32 beats), twelve beatjumps (±1 to ±32).
- Two jog wheels with concentric inner SCRATCH and outer BEND zones, configurable sensitivities.
- Two tempo faders with a centre detent and ±0.01 BPM fine-nudge pads.
- Per-deck three-band EQ, filter with QuickEffect chain selector, vertical volume fader, PFL.
- Three-slot FX rack per deck mirroring Mixxx's EffectRack one-to-one.
- Master gain, headphone mix, headphone volume, dual-channel master VU with peak-hold.
- Horizontal crossfader with colour-blended accent.
- Settings sheet for scratch sensitivity, bend sensitivity, scratch zone, tempo range. Persisted across sessions.
- Ships with a hand-tuned Mixxx mapping (XML + JavaScript) installed in the Mixxx controllers folder.
- Android 9.0+ required, USB host + USB MIDI peripheral mode (most Samsung Galaxy and Google Pixel devices from 2020 onward).
- USB-C data cable required.
Older builds
v0.1.0 was the first public release. Earlier internal builds were never published.
Questions or bugs
File a report on the feedback form or email digital@mobadj.com.