BallroomDJ - The Ballroom Music Player


BallroomDJ is a ballroom music player. It is designed to be able to play music the entire evening without intervention. Use for your personal training, dance studio, and ballroom, argentine tango, country western, or west coast swing events. It features flexible playlists, music queue management, requests, seeking in songs, speed with pitch control.

Required Software:

Linux / FreeBSD:

  • vlc or mplayer
  • tcl (8.6+)
  • tk (8.6+)
  • libtk-img
  • python 2.x
  • pulseaudio-utils (Linux)
  • flac
  • python-mutagen
  • faad
  • vorbis-tools
  • lirc (optional for remote control)


  • Runs on Windows XP, Vista, 7, 8, Linux and FreeBSD.
  • Free and open source software.
  • Extensive context sensitive help.
  • Additional help with images on the wiki.
  • Uses your music collection from your hard drive. No drag and drop.
  • No limitations on the number of audio files.
  • Synchronize the BallroomDJ database and audio files between multiple computers.
  • Uses VLC as the audio player.
  • Songs can be removed/moved/added to the queue while playing.
  • Configure maximum play time.
  • Configure gap between songs.
  • Configure marquee display.
  • Raffle Games.
  • Automatic playlist selection.
    • Choose which dances and how often they play compared to other dances.
    • Choose songs based on dance rating.
    • Allow songs tagged with a particular keyword to play.
    • Require songs tagged with a particular keyword to play.
    • Define a sequence to play dances in a particular order.
  • Manual playlist selection.
    • Use a manual playlist to play songs in an exact order.
    • Export manual playlists to CSV, HTML, M3U or M3U8.
  • Flexible playlist generation and controls.
    • Stop playing at a particular time and pause or continue with the next playlist.
    • Stop playing after some number of songs and pause or continue with the next playlist.
    • Configure gap between songs for the playlist.
    • Configure maximum play time for the playlist.
    • Mix all of the above in the playlist queue.
    • Rearrange or modify the playlist queue at any time.
  • Create a manual playlist based on the playlist queue.
  • Export the playlist queue to a startup file for fast and easy startup.
  • Requests.
  • Requests of external songs not in the database.
  • Seek in song.
  • Speed w/pitch control.
  • Support for remote control.
  • Optional BPM.
    • Configure BPM Ranges per dance.
    • BPM Counter.
    • BPM display changes depending on the speed adjustment for the song.
  • Optional announcements associated with a dance.
  • Optional music management to organize your audio files.
    • Paths to the audio files are fully configurable.
    • Files are renamed automatically.
  • Optional status tracking for the audio files.


Copyright 2012-2015 Brad Lanam, Walnut Creek, CA, USA

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.

BallroomDJ is free and open source software. Support for bugs and problems is free. If you would like to pay for support you have received, please use one of the PayPal buttons below.