An associate of mine, who does work as a DJ, approached me with a minor problem which frequently arises during his work. He mentioned that when playing a medley of songs, each song has only a handful of other songs which are ‘viable’ to follow up with (due to same ending beat, rhythm, theme, etc). Instead of memorizing or writing down a list, he wanted to be able to rapidly search through his music library and add n amount of custom tags to a particular song.
I created for him a small program uncreatively titled: “DJ Helper”. Below you’ll find some usage screenshots and a link to the code on my GitHub.
Tools: Java 1.8, JavaFX, JDom, Maven, jaudiotagger, mp3agic, Thumbnailator, ControlsFX
- XML reading/writing
- regex-based auto-suggest
- mp3/m4a meta-tag reading
- pagination using a customized VBox
The first step requires that an XML document which contains all song title and filename information be created. This is a simple step for the end-user, only requiring their music folder filepath as shown above. An additional option is available to add more music extensions as well. This initialization step only occurs once (so long as the program finds the XML file). Changes to the music directory, or adding extensions can be done in an accompanying text file titled “config.properties.”
1. Typing at least 3 characters will trigger the auto-search and populate the search list below for any matching titles/artists via regex.
2. Clicking on a song in the search list will display its ‘follow songs’ on the follow list on the right.
3. This text field uses auto-suggest provided by the ControlFX library. Songs input into this field will be added to the ‘desired’ song’s follow song list directly below.
4. You can select any of the follow songs and search for it as a desired song so you can smoothly traverse a web of follow songs.