SliMP3 on MythTV

MythTV's built in music player is fine but not nearly as good as the Slim Devices system. Like MythTV, Slim uses a server/client(s) architecture [look to the graphic at the bottom of that page]. Slim's server is an open source marvel that has just graduated to version six and has a bunch of great plugins that do everything from reading RSS to listening to the Internet Archive's great collection of concert and other free recordings. It's clients range from slim's own fabulous hardware versions to the open source software version called SoftSqueeze (because slim's new hardware players have been called Squeezeboxes). Can't say enough good things about slim devices and wanted to use SoftSqueeze on my KnoppMyth-based MythTV. Here I'll explain how to get that done.


  1. Get slimserver. Set it up following the instructions in the download. I use the tar file.

    1. Download the tar.gz (otherwise known as the Perl Source Code)
    2. Untar it with:
      tar -xvzf FILENAME.tar.gz
    3. Change to the slimserver directory with:
      cd DIRECTORY_NAME
    4. Start the slimserver with:
      ./slimserver.pl --daemon
      (this puts it in daemon mode, be sure that your music directory is accessible for the user running slimserver)
    5. Set the options with your favorite browser, for me:
      firefox http://SLIMSERVER.IP.ADDRESS:9000/
      (most importantly, change the server settings -> music folder to the appropriate folder on your system)

  2. Get java. This is actually the hardest step. If you don't have java installed, it is a bit of a pain to get it set up. Follow the directions here.
  3. Get SoftSqueeze. You can get it by opening your favorite browser to the following URL on your slimserver http://SLIMSERVER.IP.ADDRESS:9000/html/softsqueeze/softsqueeze.jnlp but the most recent version will be at SourceForge, also you'll need the jar to incorporate it into the mythtv menus. Unzip it into its own directory somewhere that your mythtv user can access. For me:
    mkdir /home/mythtv/SoftSqueeze
    cd /home/mythtv/SoftSqueeze
    wget SOFTSQUEEZE_DOWNLOAD_URL
    unzip SOFTSQUEEZE_FILENAME

  4. Make sure softsqueeze works by running it from the command line.
    java -jar SoftSqueeze.jar
    Edit the basic and networking settings to suit your purposes. For me that means setting the SlimServer hostname to the IP of my slimserver and turning on SSH tunnelling. Your mileage may vary. If you have the server on the same box as the client, you can use localhost as the server name and don't need tunnelling. When you are done, click OK, and you should see a SoftSqueeze player that you can navigate with the arrow keys. Once you have verified that, press 'Q' to quit. Of course, there is a handy guide to the SoftSqueeze keys.
  5. Change your mythtv menu structure to accomodate SoftSqueeze. For me, I added the following to the file /usr/share/mythtv/mainmenu.xml:
    <button>
     <type>PLAY_MUSIC</type>
     <text>Play Music</text>
     <action>EXEC /usr/bin/java -jar /home/mythtv/SoftSqueeze/SoftSqueeze.jar</action>
    </button>

  6. Enjoy.

The one extra feature I would love to have implemented in SoftSqueeze is the ability to specify keys differently from the defaults. Then I could match them up with the ones I use in mythtv already. As it is, I have to use my keyboard and remember another set of keys, which is less than ideal.

No comments: