Proposal: An Open Source music jukebox system

theolster | Open Source, Music | Monday, November 20th, 2006

I have recently emailed the lugRadio team asking for help on an open source project that I want to start.  Since I’ve never started an open source project I could really do with some help.  The email went like this:

Hey Guys,

I’m a long time listener first time caller (well emailer anyway). A brief history of my Linux use is required before I move on to my main questions. I first got involved with Linux about 3 years ago, and although I currently have a FC5 server and watch all my TV on my (fantastic) MythTV box, I now use a Mac as my main desktop machine (please don’t bitch about this, not everyone has the time or technical skills to get linux to meet their requirements - and the Mac just works).

Anyway, in the true spirit of open-source I have a scratch-my-own-itch project that I want to start. The basic concept is (yet another) music jukebox program that downloads podcasts, and syncs with my Creative mp3 player (which iTunes won’t do since I’m not using an iPod or one of the other 5 non-apple devices which work). Since I was only recently given this player as a birthday present, | cannot afford/justify/want to replace this with an apple alternative - especially since they seem to be pretty shit compared to what I’ve got.

Through an Open University course I have recently completed the basics of programming in Java, and have looked into getting this project to work using this language, and it seems pretty viable. I’m also starting the Advanced Java course with the OU in Feb and could do with the programming practice. I plan to open-source this project, and want other users to get it to work on their operating systems too, Java seems ideal.

First question: Bearing in mind that I’d like my program to work on Macs and Linux (and if I can be arsed Windoze too), is there a more suitable language that would be better than Java (now open-sourced :-) ) and would be just as easy to create a decent gui?
Second question: Apart from say applying the GNU license, and releasing the code with the program on my website, what other things should I consider when open sourcing a project? Is there a beginners how-to for open-sourcing a project?

I may be a Mac desktop user, but I love Linux and look forward to the day when it just works and I don’t have to follow shit loads of complicated command line how-tos to get the OS to be usable. Keep up the good work, you guys provide great debate and info!

Because the last show did not have an emails section, they have not had the opportunity to respond to this yet. Hopefully I will hear from them in two weeks time. Anyway I wanted to extend the rough outline (from the email) of what I want to do for this project.

Purpose for the project
As an ex-windows/Linux user I have used a variety of music jukebox players (but mostly MusicMatch Jukebox on Windows) and have never been completely happy with any of them. Since moving to the Mac OS X platform, I have not really picked up iTunes. This is because although I would love be basic functionality, it  only really works if you use an iPod as a music player. As far as I can see there is no alternative/patch to get it to work with other players.

Functionality
1. To play music - specifically mp3 and ogg.
2. To quickly manually sync my music between three locations: the desktop/laptop computer, a network server (preferably by ftp), and a hard disk mp3 player such as the Creative MuVo.
3. To download podcasts and automatically sync these with the mp3 player.
4. I don’t intend to include CD ripping initially, but this would need to be included at the second revision stage.

Programming
I would like to program this project in Java. This seems to be the easiest way to write the program with a decent GUI, as well as maintaining cross-platform compatibility between a wide range of operating systems. My main programming background is as a website designer based around php/mySQL, Flash ActionScript, and I have only recently been introduced to Java though an Open University course. I have never used Eclipse for writing Java code, but this seems like good idea. Another limitation of mine is that I have not done any graphical/widget based programming and I’m not sure whether to delve straight into Swing or to use SWT (eclipse Standard Widget Toolkit? - whats the relation between this and Swing) which I have only recently discovered. Other than the GUI side of things, the code for the Music Library side of things is pretty much sorted (in my head) and shouldn’t take too long for me to sort out.

The GUI
GUIs should be simple and easy to use and appear to be familiar. I find that Linux apps tend to ignore this side of things and I hope to buck that with this app. Anyway here goes, this is the basic sketched outline with rough descriptions for functionallity: (click to see larger)

GUI Concept Sketch

3 Comments »

  1. […] So after a nearly a month of silence since my last post I thought I’d update on my recent programming. I’ve decided to call this project AudioTraffic. So rather than being a media player (with bells and whistles) the name actually says what it does (ish) - i.e. it manages all your audio between the web (podcasts), your PC/Laptop, a network storage (ftp?), etc. […]

    Pingback by AudioTraffic-- theOlster.net — 14, December 2006 @ 12:45 pm

  2. I’ve also been looking for an open-source equivalent of MusicMatch Jukebox. Haven’t found it yet, but check out http://www.songbirdnest.com

    Comment by Roger Hand — 14, January 2007 @ 10:21 am

  3. Hi - You should also consider reading this post from 21st Dec: http://www.theolster.net/2006/12/21/songbird-vs-audiotraffic/

    Comment by theolster — 18, January 2007 @ 9:01 am

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress | Theme by Roy Tanck