u/hahar123

▲ 19 r/MIXXX

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.mp3 is loaded into Deck 1 or Deck 2 when I want that deck to represent Spotify.
  • A separate SpotifyMixxx.js controller script detects this dummy track and turns that Mixxx deck into a Spotify proxy deck.
  • A macOS IAC virtual MIDI port called SpotifyMixxx connects 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:

  1. Someone requests a song I don't have locally.
  2. Find/select it in the normal Spotify app.
  3. Load spotify-silence.mp3 from a dedicated Mixxx crate into the free deck.
  4. From there use PFL, PLAY, FX, channel fader and crossfader almost exactly like a normal Mixxx track.
  5. 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!

reddit.com
u/hahar123 — 4 days ago

3D print preparation workflow - cutting in FreeCAD

Hey there,

I saw recently question but cannot find it now , so sharing here anyway, maybe it will help someone.
If you created an object in PartDesign WB, and you need it to cut it in two pieces for printing, one way to go is "do the cutting part in your slicer" ( BambuLab studio, or whatever), just before 3D printing. But if you later change your thing in FreeCAD, you have to repeat all the slicing in slicer again. I order to avoid repeating this manual process, I have done this slicing in FreeCAD, in the following way.

So, lets call "OriginalBody" the PartDesign body we need to print.
I want to have 2 parts at the end, e.g. "upper" and "lower" part, that together form "OriginalBody"
First, I create 2 clones (2 new bodies, based on original body - lets call them Part1 and Part2).
Next, I create a new PD Body "Slicer" - it usually consist of one big "Box" object. This Box will be used for boolean operations. Transform this body, positioning it in such a way that it cuts our original body - one body we will get based on intersection between Slicer and Original, and another as cutting off the part of Original that is inside our Slicer.

Next step , lets create two clones of Slicer, getting "Slicer1" and "Slicer2" bodies.

Now, activate Part1 body, do "Boolean" operation, add "Slicer1" body, and chose "common" - you got first body for printing!
Last step, activate Part2 body, to the "Boolean" operation, add "Slicer2" body, and chose "cut" operation - you got printing part 2.

Both together (part1 and part2) should form OriginalBody.

And the beauty of this approach is that if you change OriginalBody (so, you can keep working on it), Part1 and Part2 are parametric - so all the changes will be applied there also !

Hope this will help somebody!

reddit.com
u/hahar123 — 2 months ago

I created this in PartDesign-Sketch. Basically one arc at the start of the line, and then array it 50 times. Now, if I want to "pad" it, solver says "wire is not closed". So, I have to click at each "arc to arc" connection and enforce coincident constraint. This solves the problem, but is time consuming, and also boring :) Is there a way to select all the arcs and just say "make it all connected" or something along that way ?

u/hahar123 — 4 months ago