raop_play is a music file player for Apple Airport Express,
the main functionalities are as follows:
* Make AEX become your 2'nd sound card device. http://raop-play.sourceforge.net/alsa_raoppcm.html
* Discover Airport Express by Apple Rendezvous
* Browse music files
(Supported music file format: m4a(alac or aac), wav, mp3, ogg, flac, aac, pls, raw pcm)
* Send selected files to the Airport Express
* Play mp3 stream data (filename started with "http://")
source: http://prdownloads.sourceforge.net/raop-play/raop_play-0.5.1.tar.gz?download
debian(sarge) package: http://prdownloads.sourceforge.net/raop-play/raop-play_0.5.1_i386.deb?download
openssl library and header
fltk1.1.4 library and header
fluid (this comes with fltk1.1.4)
libglib-2.0 header only
libsamplerate library and header
(Secret Rabbit Code, http://www.mega-nerd.com/SRC/index.html)
libid3tag library and header
In Debian case "apt-get install" for the next packages
libssl,libssl-dev,libfltk1.1-dev,libfltk1.1c102,fluid,libglib2.0-dev,
libsamplerate0, libsamplerate0-dev, libid3tag0, libid3tag0-dev
To play mp3 data, mpg321 needs to be in the executable path.
To play ogg data, ogg123 needs to be in the executable path.
To play aac data, faad needs to be in the executable path.
To play flac data, flac needs to be in the executable path.
./configure
make
make install
# SUSE users may need the next way
CPPFLAGS="-I/usr/X11R6/include" ./configure
CXXFLAGS="-I/usr/X11R6/include" make
make install
Note:
if you see a message like "aexcl_gui.cxx : No such file or directory",
you are missing 'fluid'. aexcl_gui.h and aexcl_gui.cxx are generated by 'fluid'.
aexcl_play [--ipod ipod_mount_point] [--aexip AEX_ip_address] [audio_data_directory]
(e.g. aexl_play --ipod /mnt/ipod /home/cat/audio_data)
The gui shows list of accessible Airport Expres, you choose one of
them.
In the ipod mode (check "ipod" check box)
You can browse songs like what your ipod browser does.
On a songs level menu, select files you want to play, then Push the
play button.
In the local file mode (don't check "ipod" check box)
Select audio files you want to play, then Push the play button.
Pushing the forward button, it goes to a next selected song.
Pushing the rewind button, it goes to a previous selected song.
Checking the repeat box, it goes back to the top selected song when
it finished the last selected song.
If the filename starts with "http://", which is decoded by
mpg321 and sent to the selected Airport Express. The gui
doesn't have a way to input http://* type name. To play from
the gui, you need to prepare playlist file (*.pls file) which
includes http://* type name.
To play from an internet browser, create a script as follows:
#!/bin/sh
if pidof raop_play > /dev/null ; then
killall raop_play
sleep 10
fi
raop_play YOUR_AEX_IP $1
Selecting this script from your internet browser, you can listen to
internet radio stations which provide mp3 stream.
To kill previously running raop_play takes a long time: 10 seconds,
which is very long. And there is no way to stop playing other than
running kill command manually. The gui may support the playing from
an internet browser in future version.
Either usb or ieee1394 can be used to mount an iPod,
For the usb, most of cases just need a mount command like the next:
mount -t vfat /dev/sda2 /mnt/ipod
(sda2 could be sdb2,sdc2,..., by the number of scsi disk devices)
For ieee1394, here is a good document:
http://www.gnu.org/software/gnupod/gnupod.html#SEC5
This package consists of three programs: aexcl_play, raop_play and mDNSClient.
(about the alsa driver, check drivers/README)
<aexcl_play>
this is a gui to manage raop_play and mDNSClient, and to browse music files.
this uses fltk-1.1.4 library.
fltk is available at http://www.fltk.org. Now the latest stable version is 1.1.5,
it is probably all right to use this version.
To parse itunesDB file, I picked up itunesdb.c from the gtkpod (http://gtkpod.sourceforge.net)
by Jorg Schuler.
That parser is originally written by Adrian Ulrich as a perl script "mktunes.pl", which
is provided in gnupod-tools (http://www.blinkenlights.ch/cgi-bin/fm.pl?get=ipod).
itunesdb.c was simplified for read only purpose.
Since I wanted to play this program on an ARM9 based small board (frame buffer +
microwindows + nxlib + fltk1.1.4), I removed the glib dependency by providing glibsubst.c.
But it still needs glib header files.
Using libglib-2.0 might have a better result, you can remove "GLIB_SUBST=1" in aexcl/Makefile
to use libglib-2.0.
<raop_play>
This is a ported version of "JustePort" which is programed by Jon Lech Johansen.
Please look at raop_play/README
<mDNSClient>
Apple rendezvous client program to discover accessible Airport Express.
I've slightly modified the original Apple code.
Original Apple source codes are from mDNSResponder-58.8.tar.gz; the tar file is
available at http://developer.apple.com/darwin/projects/rendezvous/
12/16/2005
Shiro Ninomiya <shiron_AT_snino_DOT_com>