Saturday, August 25, 2012

What is he playing?

Last Monday, at Robert's practica, I premiered my new system for displaying what I play during my DJ sets. Since I searched long and hard for a pre-made solution, with no luck, I will share with you what I did to make it work.

First to the end result. On my DJ-stand, I have a small LCD screen facing the dancers. I dim the lights to the minimum to make it as non-disturbing as possible, yet visible from across the room. The display shows information like this:

The most important information is the orchestra, and this is visible from across the room for those with good eyes (not me). For those passing by the stand, I also display the type (tango/vals/milonga etc), year, title and singer (if any). I wanted to give it a clean look, therefore everything except the orchestra is given a small font. By the way, this song is from a brand new tanda, made from a CD that arrived to my mail box this morning! Look out for it next Monday! :-)

And for the cortinas, I have another layout:

I hope my choice of cortinas do not make this display of 'Cortina' needed, but for the beginners it might be nice. I also show artist and title, as I often ask myself that question during a cortina I like.

So to the technical details

As explained in a different post, I use Foobar 2000 as my DJ software. After searching wikis and forums, I found the 'Now Playing Simple' plugin. Thank you, Skipy Rich, for making that available!!

The plugin writes information about the currently playing song to a file. I have configured it as follows:


As you can see, it writes the information to the file 'np.csv' on my Desktop. The formatting string you see is:
$if(%isplaying%,
$if(%ispaused%,
paused
,
playing
);%type%;%artist%;%title%;%singer%;%date%,
stopped
)

Then I needed to display that file in a nice way. I therefore wrote a simple Java servlet program to read the file, parse it, and output a nicely formatted HTML page. That servlet is right now a big hack, but it works. If you are interested in the code, please let me know! I will then see if I can tidy it up a bit, and release it under a open source license.

Some interesting (?) details:

I use Jquery quickfit to adjust the size of the text. That way, I make sure the text fits, no matter how long the song title, name of the orchestra, etc.

I use Maven Console Plugin to package the servlet into an executable file. When I start DJing, I simply double-click on the packaged file, and I am ready to go! Thanks to you, my colleague at Kantega, Eirik Bjørsnøs, for making computer programming simpler!

I then display the HTML on an external screen using Google Chrome. As the HTML is available over the network, I could also display it some other places. For example an iPad closer to where the people are in the milonga.

4 comments:

  1. Hello Anders,

    you were using your Tanda Display in a milonga in Oslo and I thought it was a great feature!

    Did you release the code, it would be great to give it a try.

    ReplyDelete
    Replies
    1. Thank you for your comment! Nice to hear it was noticed!

      I will try to make it open source, just have to do some cleanup first!

      Delete
  2. many thanks for the bunch of informations and advices shared. I would like also download this servlet (to be able to display the current music played). So if you kindly could share it...

    ReplyDelete
    Replies
    1. Thank you for the comment!

      And sorry for the late response! I will clean up the code as fast as I can, and release it.

      In the mean time, as I might be a little busy, check this one out. It might be much better! :-)

      http://www.beam-project.com/

      Delete