Experience local shipping options and optimized product inventory for your region.
Last time, we went over how to put an older, but stil viable, PowerMac G3 or iMac to good use as a big MP3 jukebox for use as a central repository for music at work (like we do in OWC Tech) or as an addition to your home sound system. While other units exist for this sort of purpose, if you have an older machine just sitting around, it may be a more cost-effective option.
The last article dealt with the nuts and bolts of getting the unit together. If everything went together properly, you should now have the equivalent of a rather non-portable iPod. We will now discuss some of the different ways of customizing your jukebox on the cheap.
In Tech, our original jukebox was a Bondi Blue iMac. Once we got everything together, we realized that something needed to be done with the display. After all, since we had a display built-in, we might as well use it.
Your first instinct may be to just set it to use the Visualizer. It certainly is the simplest way to go. In our particular case, however, the visualizer in later versions of Tunes requires way too much processor power to make it an attractive solution. So, we figured we should let it display info about the current track, preferably with the album art.
We tried a lot of different programs, and the most cost-effective was a little gem called Sofa. There are a few glitches in it (such as it occasionally forgetting all the settings) but it had several other things going for it that offset this little quirk.
We found that by expanding Sofa’s display to it’s maximum size, we could forego it’s floating palette and use the iTunes window itself. By expanding the minimized player (wrap your mind around that one for a moment) we were able to center it nicely under the album cover.
However, there was a problem. Not all the songs in the jukebox had artwork that was available online. Sofa has “No Cover” artwork which fills in the space, but for the default skin (which we liked), this artwork has the sitting girl from the program’s logo that looks kind of like a cross between Michael Jackson and Bjork. Quite creepy.
To resolve this, we created a custom desktop pattern, which had “No Cover Loaded” on it - under where the normal album cover would be - and set Sofa to hide the cover when no art is available. Now, when there’s album art, we get the cover, and when there isn’t, we get the “No Cover Loaded” message, without the creepy-looking girl.
The final things we added are purely cosmetic. We used Unsanity’s ShapeShifter to re-skin the system with a theme that has a slightly-darker menu bar so that it blends into the background a little more. We also used Raging Menace’s Menu Meters so that we could keep an eye on both our processor and network activity.
Here is what it looked like before.
[click image to enlarge in separate window]
And here is what it looks like now, depending on whether or not an album cover is available.
[click image to enlarge in separate window]
LAST MINUTE ADDENDUM: Unfortunately, the author of Sofa passed away earlier this year, and the site it was hosted at is no longer accessible via the Web. We have an archive of the last version released (0.6.0) hosted permanently here.
Our jukebox does basically one thing: it plays music for about 12 hours a day. We wanted it to start up at the beginning of the day and shut down at the end of it, without having to do anything manually.
Startup and shut down was easily done. A quick trip to the Energy Saver preference pane and we were able to set a Start Up/Shut Down schedule. Now that we had it starting up regularly, we needed it to start up and run iTunes and Sofa.
Again, getting the programs to start up is no problem - simply put them into the Startup Items section of the Accounts preference pane, and the programs open up. Nice, but it doesn’t get the music going. In order to do this, a quick Applescript was whipped up that not only opened iTunes and started playing from the Party Shuffle playlist, but also minimized the iTunes window to just the player and centered it under the Album cover being displayed by Sofa.
The script looked something like this:
tell application "iTunes" if (get minimized of browser window 1 is false) then set minimized of browser window> 1 to true set position of browser window 1 to {285, 650} play playlist"Party Shuffle" end tell
This script was saved as an application and was added into the Startup Items as mentioned above. Now, when the computer starts up each morning, iTunes and Sofa open and the Applescript runs to start iTunes playing.
At this point, we’ve got a fairly nice jukebox from “spare” parts, with the only cost being the cost for the CD’s ripped and added to the system. We can stop here and have a nice, effective jukebox, complete with album art. Or, if we want to spend a little more time, we can add a few more customized options.
A few of us in Tech have a bit of a guilty pleasure: during the summer, we like to listen to the Cubs games when they’re on. It took a while to work it out, but we found that there was an inexpensive solution using Applescript, iCal, and Rogue Amoeba’s free LineIn utility.
In OS 9, you were able to select an input in the Sound Control Panel, allowing you to use the Sound In as an input for a line-level signal. However, this ability no longer exists in OS X. LineIn re-adds this ability. By connecting the Sound In port to the “headphones out” of an old transistor radio that we plugged into the wall, we were able to turn the sound feed from the radio on and off and have it play through the jukebox speakers.
The next trick was to find a schedule of all the regular season Cubs games. We were able to find an iCal calendar online that had all the info we needed. We imported it into iCal, and set an alarm for each game that fell during the work day. One of the options for the alarms is to open a file.
The next step was to figure out how to turn off iTunes and switch to the radio broadcast in one stroke, so that it could be opened by iCal. To do this, another Applescript was written and saved as an application. In it’s most basic form, it quit iTunes and started LineIn. Other embellishments were eventually added, including changing the background picture to the Cubs logo and having it play Steve Goodman’s “Go Cubs Go” before each game. (What can I say... we’re an odd bunch).
We selected the Applescript as the file to open as the alarm in iCal, so now five minutes before the game, iTunes turns off and the game turns on. When the game is over, we have another Applescript that we run manually to set things back to normal.
Automatic startup and shutdown is nice, but what about being able to make changes on the fly? While most of our needs are taken care of at startup or with the occasional Applescript launched with iCal, every once in a while we need to access the jukebox to make some changes, add songs, et cetera. While there is a keyboard and mouse attached, they are rather ungainly and inconvenient to use. We decided to add the ability to access and control it from another computer. While Apple Remote Desktop is nice and integrated, the $299 price tag definitely was not, so we went the free “VNC” route. It doesn't have all the features ARD does, but for what we’re using it for (remotely controlling another computer) it's good enough.
There are two programs involved in this process - a client and a server. Fortunately, there are free options for both of them.
The Server software - For the Jukebox
For the server, we used OSXvnc. While you can also accomplish this by updating the ARA Client software from the Apple Web site and adjusting the info in the Sharing preference pane, we found that doing it this way seems to eat up too many processor cycles when connected than with OSXvnc. |
For OSXvnc, the setup is fairly painless.
1. Drag the icon to your Applications folder and double-click.
2. Under the General tab, about the only things you really need to do are add a password and note the Host Names.
3. Under both the System and Sharing tabs, we've found that the default settings work best.
4. The Startup tab allows you to use the current setup to be initialized as soon as the computer boots. We also checked the “Restart Server if it terminates unexpectedly” option, as we always want to be able to access the jukebox when it when its on, but don't want to constantly monitor it.
At this point, the setup on the host computer is done. You don’t absolutely have to, but you may just want to restart the machine at this point, to make sure the VNC server software is active at startup.
The Client Software - for the remote computer.
On the computer we’re going to control it from, we installed Chicken of the VNC. Its an reasonably fast, stable and (most importantly) free VNC client for OS X. |
When you open CotVNC, you are presented with a window for setting up a new connection. Put the name of the computer in the “Host” field (you can get it from the “Host Names” field in OSXvnc) and the password in the “Password” field. Everything else can be pretty much left as-is.
Then, just click the “Connect” button and, provided you have the host computer up and running, you should get the remote computer’s desktop in a window on your screen. With the exception of the mouse cursor appearing as a dot instead of an arrow, you can now use the remote machine pretty much in the same way you would as if you were at the computer itself.
Controlling the jukebox from my desktop machine.
Now, our Mac jukebox has transformed from the “really big iPod” that we had after the first article and has evolved into something a little more. You may not have need for all the things we added, or you may want and have the capacity for more features. Experiment. See what works for you and what doesn’t. The great thing about all this sort of project is that it is open-ended. You can make it whatever you want it to be.
Have Fun!