Retrieving track and timing information from Mixxx


I have a project where I need to retrieve information of tracks from Mixxx in order to syncronise it with external software.

Does Mixxx have a way of tracking current songs in an external manner (from another process) ?
The point here is to know when a track is played, paused or resumed.

Thanks to any help

No, there is no means to get this information from an external process currently.

Thanks for the reply! :blush:
From your developer’s perspective, do you think that forking Mixxx source code to write those informations in shared memory, be the simplest option to share informations with another process?
I’m not a developer professionally but I have great experience with cpp/Qt.

Are you on Linux? Then you could look into implementing a DBUS interface:

Iif not, it’d probably use a local socket/named pipe:

I use both Linux and windows, maybe QLocalSocket is the best option because it works on Linux and windows.
I’ll later post on this topic if I find the courage of doing an implementation :wink:

Thanks for the help!

If you plan on mainlining this, please come to Zulip so that we can discuss the message format /API.

Having a sort of Mixxx API would certainly be great to be able to link it with external software (eg: display what song it playing on a screen etc…)

Sure! I’ll do when I have

  • got a developpement environment
  • seriously dig into the source code
  • found a non-breaking and relatively simple way of implementing it

For now, the simplest solution might be to alter the base classes of control (I haven’t digged enough into the source code so I’m not sure at all).

Thanks for both the replies and the interest!

There is an old unfinished branch that started to implement this. I suggest starting with that and resolving the merge conflicts.

Great news! I’ll take a look thanks!