Compiling mpd
From The Neuros Technology Wiki
Note: Further audio efforts on the OSD will most likely use XMMS2 instead of MPD for all its audio needs. See the xmms2 site for more details on xmms2 building on the OSD. Also check [Xmms2 in the Projects Page] for more info.
As I posted on OdNT a while back, you can use your OSD as a music server/player with mpd. Mpd is short for Music Player Daemon. It will run as a server on the OSD and play music from a playlist that you can configure by connecting remotely with an mpd client.
To follow this project you will need:
- an OSD that boots from NFS
- libao + may1937's patch
- The Xiph kit: libogg + tremor
- mpd sources from Subversion
- be sure to have done "source neuros-bsp/neuros-env" from the shell you're going to use
For instructions on compiling libao see Hostile's tutorial.
To get the Xiph sources I recommend using the latest from Subversion.
- libogg sources: svn co http://svn.xiph.org/trunk/ogg/
- tremor sources: svn co http://svn.xiph.org/trunk/Tremor/
Cross-compile these in that order and intall them to the ODS's filesystem (do this for both).
- ./autogen.sh --host=arm-linux
- make
- DESTDIR=$INSTALL_MOD_PATH make install
To get the mpd sources, I again recommend using the code in Subversion (at the time I did this with may1937, the latest release did not support libao).
Then cross-compile.
- ./configure --host=arm-linux
- make
- DESTDIR=/srv/neuros-osd-rootfs make install
After compiling, find the mpd.conf example file in the mpd source tree, edit it for using libao as audio output, and put your conf file in /etc/mpd.conf.
Umm... if this doesn't work complain to me (sitwon/sitwonade/xoring) or may1937 or anyone on #neuros that will listen to you. I wrote this pretty much from memory and my memory is pretty faulty so don't be too surprised if I got something totally wrong. Just let me know and I'll fix it. Or you can fix it, it is a wiki after all. I don't have my OSD with me to test these instructions so I can't guarantee they work.
If you've gotten Scratchbox working you can try to use that to cross-compile. Though, as of this writting, Xorlev has reported some difficulty with that approach.
