A Web-based MP3 organizer, player and streamer SourceForge Logo

ScreenShots, etc.
Project Home
ReadMe file

Welcome to ProMP3

Here's a quick overview of what ProMP3 can do:

  • Can play music directly from the web server:
    • Uses xmms on the server to have a central source for music.
    • All the standard player features supported
    • Hook up a central stereo to a sound card in the web server!
  • Allows streaming of mp3's to local clients.
  • Access Control:
    • Allow View: you can allow the world or select hosts access to browse and search your music collection without access to the music
    • Allow Stream: only let certain hosts stream music from your server
    • Allow Player: allow certain hosts control over the music played from the server
  • Categorizes by album genre for later displaying
  • Allows creation of custom categories to pick out your favorites and full editting capability of the custom lists.
  • Allows random selections: "Play 100 tracks from Rock" or "Add 300 tracks from Jay's Favorites"
  • Allows full text searching on Artist, Album or Song title.
ProMP3 is developed to be easily supported and expanded. It's also developed to be fast and easy to use.

   Back in the spring of 2000, I came across an article in The Perl Journal by Lincoln Stein about a new module he had written called Apache::MP3. It was my first exposure to just how easy making a streaming music server could be. I looked over the code, and modified it to fit better into my music collection. Life was good for a while... until I continued to rip my music collection. Around 300 CD's the system, now mere scraps of Apache::MP3 remained, couldn't keep up with the demand.
ProMP3 is born
   I knew I had to do something different so I scrapped everything I had done around september of 2000. Around this time I just finished running ethernet through my house as well as installing a central stereo with speakers in every room. I wanted my digital music collection in whole-house mode.
   I had been doing a lot of work in mod_perl and HTML::Mason, so I used that at first. I wrote an entire mp3 system in one weekend. I threw out the notion of streaming, I had no use for it. And ProMP3 was born. I set up the project in sourceforge, wrote up a lot nice things with some pictures, but I never released any code. It still was too slow and the install process was too complicated. After a break from it, I found the time and rewrote it once again. I Took out as many dependancies as I could (including HTML::Mason). I fixed everything that bothered me about the 4 previous versions. And now it's a standalone perl module only requiring a database. The install is still a bit rough, and that requires some other modules, but all in all it's good enough to be released.
   For the final rewrite, I spent way too much time on the interface. From all of my previous versions I had learned a very important lesson. Screen space is precious. When listing hundreds, or thousands of items the screen real estate is priceless. Take a look at the screenshots and see what I mean.

Enjoy it.