Remote playing

After having worked with BpmDj for a couple of years, we felt that the main limitation was the amount of songs that fit on a phone. With 700 songs, there are only that many mixes you can make. This feature will give your phone access to all your music.


The phone remains the main user interface, yet

Each desktop machine has to run a daemon. That daemon ('The BpmDj daemon')

Setup on Desktop

To install the daemon on a desktop machine, you have to have java present on your system. The package works from java runtime release 1.8 onwards

Download BpmDj for Desktop and install the software.

Analyze your tracks

Similar as with the phone version, all tracks should be analyzed. In the user interface, this can be achieved by starting the desktop version normally and clicking the import songs button.

Wait until your songs on the desktop are analyzed, otherwise the BpmDj client will feel very sluggish.

Start the daemon

Instead of starting BpmDj for Desktop it as a regular program, start it now with

  java -jar bpmdj.jar --daemon

If successful, this should open a window with about box, the IP address the daemon is bound to and an analysis queue

It is also possible to start the daemon headless. This can be done by typing java -jar bpmdj.jar --daemon --cmd.

When you close the window, the program dies and no songs can be accessed nor analyzed anymore anymore. So leave it open while you use it.

Setup on Phone

At the phone side, you have to enter the IP address of the place where your daemons are running. The name field can be anything you want, it is just there for identification purposes, but has not really any useful functionality. The IP address on the other hand, is the thing that matters. Here you should type in the IP address of the machine that runs the daemon. Each BpmDj install can connect to multiple daemons at the same time.

BpmDj helps you to identify the IP address of the daemon by listing it at the bottom of the Daemon pane as follows: 'listening on' The first 4 numbers are your IP address, and should be typed over. In this case, type '' in the IP field.

To connect a BpmDj client to the daemon, you should go to the Remotes menu and click on the red led. To disconnect from a remote, click on the green led.

Lastly, because the song database at a desktop can be fairly large (multiple hundred thousands of songs), it is sometimes necessary to reduce the amount of data the client on the phone receives. The first time you add songs from a remote place, go to search settings, and change the All setting to, for instance, 1000. (This value is not exactly honored. If you specify 1000, then you will certainly receive the 1000 nearest songs. If however during the process more songs were transmitted, then so be it.)

Known issues

Crashes Acer tablets

A known issue is that on some older devices, the remote playing feature crashes the phone, after which you have to reboot it. Why that is, I don't know. Yet I do know it is not my problem. If Google writes an operating system that can crash like that, then it is their problem. At the moment I don't even have an idea what happens then.

Network issues

On some devices, when the screen is 'off', the anroid network stack stops working. That means that BpmDj will stop playing remote tracks when the screen goes dark. Depending on the device there are possibilities to 'keep the wifi on', but even these options do not necessarily work.

Secondly, make sure your wifi network is sufficiently good. BpmDj does not require much bandwidth, yet long latency times do affect the responsivness of the app. Even with small dropouts, the Android OS tends to delay packets for up to 30 seconds (that is eons for a user). Again, there is nothing I can do about that. Go talk to Google; or if you want to have some background on this, search the net for Android network issues.

Latency issues due to disk speed

When you have a lot of songs scattered over many disks and those disks spin down automatically, then when browsing your collection, it might happen that such disk has to spin up again, delaying the playback of the song.


Faster analysis

It is possible to use the daemon to quickly analyze your tracks on a powerful computer and then sync them to the phone. If you do so, just open the BpmDj client and rescan the directory you downloaded from your computer.

Tracks are identified using a GID inside the .bpmdj1 files. That means that if you sync the tracks to the phone, BpmDj does not necesarily need to contact the daemon to play mixes containing these tracks.

This process can of course be automated without needing to manually sync files. Open the mix you want to download the tracks from and click on the menu , then click on the downloads icon: . Downloaded files are stored in the BpmDj/Downloads folder on your sdcard.

Make room on your phone

The other direction also works. You can move all your music directories from your phone to your desktop. Open the daemon, and scan the newly created directories. Your mixes will still work when you have the daemon running. There is no user interface to offload tracks from the phone.