Skip to content

sumikawa/raop_play

Repository files navigation

Apple Airport Express Client Player
===================================

Main Features:
--------------

	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://")

Download the latest Version:
----------------------------

	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

Required Packages:
------------------

	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.

Compile and Install:
--------------------

	./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'.



How to play:
------------

	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.

How to play mp3 stream:
-----------------------

	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.


How to mount iPod:
------------------

	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


Known issues:
-------------

	* Play after pause can't restart at the exact paused point, it loses data in buffer.

	* With the forward button and the rewind button, a little pieces of previous song data
	is played just before starting a new song.

	* When aexcl_play selected two very short songs, playing stops after the first one.


Programs :
----------

	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>

About

FreeBSD patch set for raop_play to compile

Resources

License

Stars

Watchers

Forks

Packages

No packages published