 |
Be in your Stereo
A BeOS-centric system for controlling a database of audio files via HTTP, by Stephen van Egmond.
|
Table of contents
- Introduction
- Requirements
- Installation
- Building an mp3 database
- Making it run forever
- Usage
- Future work
- Getting and giving help
This software is freely redistributable in binary form.
Source is not currently available. Further licensing to be worked out based on community
response.
Introduction
This software was inspired by the need to scratch a particular itch -- in this case,
the fact that my digital music collection was growing far quicker than my ability to store and organize it.
With hundreds of CDs and an equivalent amount of MP3's, my environment was starting to get pretty disorganized.
Did I keep those files on my firewall, Linux machine, Windows partition, BeOS machine at work, or my wife's system?
Argh.
I noticed that my original BeBox -- which had long been collecting dust after a move --
could be used in building a solution. It has one fan (in the power supply), which makes it
far quieter than my AMD-powered jet engine. I could imagine leaving it on,
and not have the noise drive me nuts.
I undertook a survey of what was out there that would let me control the BeBox remotely.
- I could telnet in. Ugh.
- Be In Control would let me control playback
(if I had an infrared receiver module). Very nice, but I still need a means of adding songs to the playlist.
- emp3box looked very, very promising: it required a web server,
perl, SoundPlay, and not much else. Four hours of
fighting with the PowerPC compilers to build a single Perl module (still unsuccessful)
made me reconsider.
- SoundPlay comes with a handy HTTP user interface for controlling which song is played,
and included a few features for streaming playback. It also adheres to the BeOS philosophy: It Just Works. The source code was
included in the SoundPlay plugin SDK. Cool.
Marco was kind enough to provide me with a more up-to-date version of the source to HTTP-UI, and I
set to work deriving a BeOS-centric tool that could be used to easily navigate a large mp3 collection.
The problem of navigating a large amount of information is a tricky one. I don't think that what I've got here is perfect, but it's a start.
Some of the ideas I've implemented:
- Don't show too-large a list of information. For instance, if a list of audio files is just too long (~ 60 items) it doesn't even bother to show it to you.
- Don't bother with pull-down menus. The idea is to get quick access to your mp3 collection; the gestures with the mouse to navigate a pull-down menu-laden web interface just aren't worth it.
- Give lots of ways to view the information. I've done this by allowing exploration by Year, Genre, Artist, and Album.
There is nothing more depressing that having watching your software being used by others. It's also very
insightful, and provides lots of information that can make the software better if you have the humility to learn the lessons.
Therefore, I look to you to let me know how you're using this software, and what parts
drive you nuts.
Requirements
- A bunch of mp3's.
- SoundPlay for the mp3 playback. Do like it says, and register it!
- Hardware-wise, this will work on a PowerPC or Intel-based machine. My BeBox 133 has barely enough horsepower to play a song and serve the HTTP requests.
- Your file system needs to be configured to store a database of mp3's. Be in your Stereo relies upon the BeOS attribute database
to serve up its lists of files. Where those files are stored, and in which combinations of (sub)directories, is unimportant. How to set this up is explained
on the installation page.
next: installation