simonkagstrom (simonkagstrom) wrote,

MPD + Despotify + MCI500h = music

I'm finally getting somewhere with the rooted MCi500h. After initially having based the development environment on buildroot, I never managed to get networking running. Instead, I switched to a Debian Etch-based distribution, which runs fine with the old 2.4.27 kernel.

I also got the source code for the kernel from Philips, which helps a bit with how to use the system. Looking at their patches (which I've uploaded to github), you can see that they violate the kernel conventions in many places with a lot of magic IOCTLs, special hacks and ugly workarounds. Well, well. I don't intend to replace the kernel anyway.

Anyway, my long-term plan is the following:
  • A Debian-based distribution which you can install stuff as you want in

  • The Music Player Daemon to playback music. MPD provides lots of nice features and supports basically all major music formats. It also has very good client support.

  • A web server with a web-based MPD client

  • Spotify-support via Despotify through MPD

  • A MPD-client running on the built-in display and controlled via the remote

  • FM radio support etc

And so far, I've written a set of patches for Despotify to enable libtremor support for integer decoding (the MCI500h ARM is FPU-less). For MPD, I've added Despotify input/playlist plugins and fixes a few bugs which I stumbed upon. The "distribution" and a set of tools is also found in a repository at github. So I've built a binary release for testing which can be downloaded from googlecode.

Left to do is basically the interface stuff plus adapting to the Philips-specific hacks. For example, volume control is done via (I think) i2c (naturally, not using the kernel driver interface but an IOCTL-based one). This will be quite a bit of work, but at least there is something to base the rest on now.
Comments for this post were disabled by the author