I have an XBox (not the 360, but the really old one that is going for dirt cheap: £98.99 brand new from Amazon, and £29 from the Marketplace) that runs Linux (specifically Xebian) and it seems to work pretty nicely. Video playback is not the clearest or sharpest in the world, but it is sufficient, and I am content with the cost/quality ratio. I only use it to play videos and DVDs, and that’s about it. I don’t use it for surfing the web, email or anything more demanding. So, it makes sense to install a media center front-end like MythTV. The only thing is that MythTV is a resource hog, and only having 64MB of physical RAM it does not cope very well out of the box. However, there are some nice folks out there who have released a modified version of it that works pretty well. Now, considering that the prime (and only!) reason that I use my XBox is to watch videos, the natural component of MythTV that I would find useful is MythVideo. I have followed some instructions very closely, and always end up with the MythVideo module failing to load up due to some unresolved symbols. This is probably due to a library mismatch within one of the shared libs in MythTV. So, there I was with an XBox and I wrote a simple Java/Swing app that can invoke mplayer remotely (yes, yes, I know this is nasty!) on the XBox. Was doing this for about 1-2 years. The only problem with this approach is that I needed another PC/Laptop working to run the Java/Swing app. This was really inconvenient, and in one afternoon, wrote a simple GTK app. I call it MCE – Media Center E (I have no idea what ‘E’ stands for, just that it sounded natural when I was thinking of a name. Feel free to make something up!). The goal of the app is:
- Light weight on resources (memory, disk, etc)
- Simple to use
- Minimalistic eye-candy
- Lease amount of dependencies with other applications, libraries, packages, databases
- Able to run on as many system as possible – Linux, BSDs, AIX, Solaris, Windows, etc
In a nutshell, it should be small and simple! So, I took an afternoon (2-3 hours) and wrote MCE. Now, it’s only in its works, but it is pretty functional as a first cut. To install it, you’ll need to install python, pygtk and any command line media player (like Xine, MPlayer, etc) If you’re using Xebian, or wish to run this on any other non-XBox machine running a Debian (Ubuntu, etc) based (or any other distro that uses dpkg and apt), all you have to run is:
$ apt-get install python python-gtk2
The latest release (version 1) is can be downloaded from: http://roopindersingh.com/releases/mce-1-release.zip There are some instructions in the readme file (under mce/1/docs). I’ll paste here for easy reading:
Prerequisite:-------------You will need the following installed:
1. Python (anything version 2.3 and above is good!)2. PyGtk (GTK2 bindings for Python)3. Mplayer (or any other command line media player)
Installation:-------------1. To install, just unzip it somewhere:$ unzip mce-version-release.zip
2. Then go into the 'bin' directory:$ cd mce//bin
3. And add execute bits to mce.sh$ chmod +x mce.sh
Configuration:--------------
All configuration is done in a file called 'mce.properties'.The file is always under the directory mce//config
The parameters that you're interested in are:media.directories This is a comma seperated list of directories where your media files aremedia.extensions The file extensions that will be picked up by MCE. This is case insensitive media.player The command line player that will be playing the files. You will need to specify a single %s as that's where the media filename will be placed ingui.fs True - run MCE in full screen mode False - run MCE in windowed mode (if you're debugging it, etc)
Running:--------To run it, go into the bin folder in mce//bin and run the'mce.sh' file:$ ./mce.sh
At the moment, you should be able to navigate the file system hierarchy using a mouse, keyboard or the XBox joystick and find your media files and play them. There is some gap around the list of files to allow some space for widescreen TVs. Screenshot:
Future releases will have:
- Support for LIRC – to be able to move around with a remote control
- A little bit of eye candy so make it look appealing – at the moment it looks like an afternoon’s hack job (well, it is!)
- Playing DVDs
- Display photos from files/CD/DVD
And that is all I am going to make it do at this stage. I don’t want it to be one of these all singing and dancing media center frontends that can even make a cup of coffee for you, as that usually means bloat and resource hungry. License? Well, its got the source there – so, help yourself, I put it in the public domain. If you have any questions or requests about support, help, even features, do drop me a quick note by clicking here.