Cooking with Linux - Put Another Nickel in...
What do you mean, you've never heard this song, François? This is classic Steppenwolf, mon ami. Bo-rn to be wi-i-ild! What's that? You think I should keep my singing to the shower? I think, François, that you are forgetting who the Chef and owner of this restaurant is. Non, mon ami, that was purely informational, and I already have chosen to ignore that subtle dig. Look here, though. Each of these programs allows us to provide customized playlists of our favorite music for our guests.
Speaking of our guests, they are here. Welcome, mes amis, to Chez Marcel, home of fine Linux fare, exceptional wines and the finest in musical entertainment. Entertainment is, after all, the theme of this issue. Why musical entertainment, you ask? In a much earlier part of my life, I used to make some extra money babysitting some of my parents' friends' children. One of their friends repaired jukeboxes for a living. Consequently, a real honest-to-goodness jukebox was always in the house, full of 45 RPM singles. From time to time, the model and type of machine would change, but with the coin mechanism disabled, I had all the music I wanted available. Now, that's entertainment!
Like a lot of readers out there, I keep a lot of songs on my disk in Ogg Vorbis or MP3 format. This makes sense because although I have a large CD collection, popping CDs into my notebook means carrying the things around, and that's not convenient. So I rip songs from all those CDs I've bought and store them in the tiniest space possible, namely my notebook. The CDs in jewel cases disappear into that virtual space that is my disk, but the system still is far from perfect. Now I have all these songs in a number of large folders with little or no organization. If I want to play something, I have to go searching. Well, no more, mes amis! On today's menu, I offer you some great open-source jukebox programs. With any of these on your Linux system, your song collections can become well organized, searchable and fun to use—just like the machines of my youth, only much more compact.
François! What are you still doing here? To the wine cellar, immédiatement! I think we need something light today—something fresh and exciting. The 2001 Riesling Auslese Gold Cap Mosel-Saar-Ruwer Wehlener from Germany certainly qualifies as stellar entertainment for that most important of the senses, taste. Vite, François!
While François brings back the wine, let's start our tour of jukebox programs available for your Linux system. If you are a KDE desktop user (and even if you are not), you should consider having a look at Scott Wheeler's JuK (Figure 1). In terms of pronunciation, think jukebox and you have the idea. This program, being a KDE application, integrates nicely into the KDE desktop, with a tray icon to drop the application out of sight quickly. It includes support for your MP3 and Ogg Vorbis files, collection and playlist management, tag editing and much more.
JuK will be released as part of KDE 3.2 and should be part of any future KDE installation. In the meantime, you can get your copy from the JuK Web site at www.slackorama.net/cgi-bin/content.pl?juk. Building Juk is a simple matter of using the old extract and build five-step:
tar -xzvf juk-1.95.tar.gz cd juk-1.95 ./configure make su -c "make install"
When JuK starts up (with the command juk), you find yourself looking at a simple two-pane interface with a sidebar on the left-hand side and a large work/display window on the right, both of which you can size to suit. The expected menu and quick access icons are along the top. The sidebar has a single folder icon labeled Collection List. Adding songs to your JuK box is as simple as clicking the open folder icon, pointing to a folder and selecting the songs you want. Click OK and your songs appear in the default collection list. Because organization is key, you can create additional playlists, then drag and drop titles into your folder of choice. The titles appear in your new playlist but remain in the master collection as well.
From the main track list window, you can click each of the columns to sort by album title, artist, date or other catalog identifier. As anyone with a collection of songs on their computer knows, the information contained in the information tags isn't always perfect. To deal with this problem, we have JuK's power tag editor. What I really like about this feature is you can edit information in-line by right-clicking on a song title, as well as by bringing up the more comprehensive tag editor. Let's say you have 12 songs from a single album and you'd like to enter the date for that album, JuK's editor lets you select multiple titles and do mass changes to selected fields. This is extremely handy and a great time-saver.
On the GNOME side of things, allow me to introduce you to Colin Walters' Rhythmbox (Figure 2). Rhythmbox is another slick-looking jukebox program. You can search for songs, sort by a variety of fields, create playlists and so on. The music library browser views can be configured for two or three columns listing artist, genre or album title. Click on any of the choices, and Rhythmbox narrows down your choices. There's a tag editor for your collection but no in-line edit feature (at least, not at the time of this writing). It even has built-in support for Internet Radio; with a tuner card, you can set your favorite stations and listen from the same interface. You can pick up your copy of Rhythmbox at www.rhythmbox.org.
Rhythmbox plays its songs using the gstreamer package, so that's an important prerequisite. Building Rhythmbox from source isn't difficult, but I did wind up spending some time looking for all the various required GNOME development packages. These included the development packages for bonobo, GTK+, pango, gnomeui, atk, gconf and others. I mention this because I found myself going back quite a few times for packages I was missing when building this one. Binaries are available for those who would like a shortcut. For a great RPM repository, try rpm.pbone.net. But I digress; Rhythmbox is another extract and build five-step project, so no big surprises there:
tar -xzvf rhythmbox-0.5.3.tar.gz cd rhythmbox-0.5.3 ./configure make su -c "make install"
When you start Rhythmbox for the first time, you're met with a small question-and-answer dialog. As part of that setup, you are asked where on the system you store your music. You can either provide a pathname here or skip the step entirely. If you skip it, you can add your songs manually. Rhythmbox reads the song titles, artist name, album title and so on from each cut's tag and sorts the whole thing automatically. Using the tag editor, you also can rate the songs from zero to five stars and then use that rating to look for your favorite tunes.
The final item on tonight's menu bills itself as “the one music manager to rule them all”, a boast that certainly makes you take notice. On that note, I think we all should take a minute to sip our wines. The program to rule them all is Andreas Klöckner's Madman (Figure 3), and it is housed at madman.sourceforge.net/index.php.
Should you decide to build Madman from source, you need to do a reprise of your old friend, the extract and build five-step. At the time of this writing, Madman's source release package was madman-0.91.1.tar.gz.
Obviously, the basic features of Madman are much the same as JuK's and Rhythmbox's in that it provides an interface that allows you to organize your music collection and play selected songs. That said, Madman really is different—it even feels different. For instance, the search function is ridiculously flexible. Let's say you wanted to play a song by Celine Dion, but you didn't know how to spell Celine. Simply enter selin or something that looks like it might be right, and Madman locates the song for you (Figure 4). Mais oui, of course I know how to spell it.
But wait, there's more. In the bottom part of Madman's main screen sits another one of Madman's cool features. The program automatically tracks which songs you've listened to completely and how often. So, you create an automatic list of favorites, simply by listening. You also can right-click on a song and assign it a rating using a five-star system.
Madman starts by asking you to enter directories in which you store your songs. This is a simple add dialog where you can add as many as you like. All the music in your collection can be accessed by artist, genre or album title. You also can search for a song using Madman's aforementioned super-flexible search engine. When you find a song you like, highlight it and press F9; press F10 to play it next. Alternatively, you can choose totally random select.
While the other two programs I looked at tonight play directly from the interface, with the machinery hidden in the background, Madman fires up XMMS to do the actual playing. An option can be found in the preferences dialog to select a different player, but at this time, XMMS seems to be the only option available.
There's a lot to like about Madman. When I rip and encode CDs, I sometimes find the information isn't properly carried through into the tag. As a result, I'll get a blank listing. No problem; press F9 to play it, check the title in XMMS's display and edit the tag in-line on Madman's display with a slow double-click.
What did you say, François? Ah, thank you. I'm sorry, mes amis, but it appears as though we have sailed right through another evening. Where does the time go, eh? Still, at Chez Marcel, we never want you to leave without one more leisurely glass of wine, so I will have François pour you a final glass. Since you all have Linux systems at your tables, why not bring up the jukebox program of your choice, put on the headphones and listen to one last song while you finish your wine. Until next time, mes amis, let us drink to one another's health. A votre santé Bon appétit!
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- High-Availability Storage with HA-LVM
- Localhost DNS Cache
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- DNSMasq, the Pint-Sized Super Dæmon!
- Days Between Dates: the Counting
- You're the Boss with UBOS
- The Usability of GNOME
- Linux for Astronomers
- PostgreSQL, the NoSQL Database
- February 2015 Issue of Linux Journal: Web Development