Poor man spotify integration
Ola,
managed to make this work, so sharing high-level idea and workflow here - hope it is not against some rules , pls let me know.
I made a simple Spotify integration for Mixxx on macOS. It doesn't give Mixxx direct access to Spotify audio, but from a DJ workflow perspective it works surprisingly well
How it works:
- Official Spotify desktop app plays the actual Spotify track.
- Spotify audio is routed through BlackHole → Mixxx AUX1.
- A special 10-second
spotify-silence.mp3is loaded into Deck 1 or Deck 2 when I want that deck to represent Spotify. - A separate
SpotifyMixxx.jscontroller script detects this dummy track and turns that Mixxx deck into a Spotify proxy deck. - A macOS IAC virtual MIDI port called
SpotifyMixxxconnects the Mixxx JS script to a small Python bridge. - The Python bridge translates MIDI commands into local Spotify AppleScript commands.
When the dummy track is loaded, normal Mixxx controls work like this:
- PLAY/PAUSE → Spotify play/pause
- CUE → Spotify pause + seek to beginning
- GAIN → Spotify volume
- Channel fader → AUX1 volume
- PFL → AUX1 PFL
- FX assignment → same Mixxx FX unit is also routed to AUX1
- Dummy on Deck 1 → AUX1 assigned to left side of crossfader
- Dummy on Deck 2 → AUX1 assigned to right side
The dummy track automatically loops, AUX1 is enabled, and AutoDJ is disabled while Spotify mode is active.
The nice part is that the JS watches Mixxx's internal Deck 1/2 controls, so it doesn't matter whether PLAY/PFL/fader/etc. came from the mouse, keyboard, or my Numark controller. No modification of the Numark mapping is required.
Workflow at a party:
- Someone requests a song I don't have locally.
- Find/select it in the normal Spotify app.
- Load
spotify-silence.mp3from a dedicated Mixxx crate into the free deck. - From there use PFL, PLAY, FX, channel fader and crossfader almost exactly like a normal Mixxx track.
- Load a normal track into that deck when finished, and Spotify proxy mode automatically turns off.
It's obviously not native Spotify integration — there's no Spotify waveform, BPM analysis, beat sync, etc. — but for the "someone requested a song I don't have" use case, it works remarkably well. LMK if anyone is interested in more details!