Centro Player		-	An mp3 player (front end) designed to run on Empeg hardware and other platforms.

History:
	My original project was an LED display front end for empeg players.  After some hacking around I also
	made my own empeg style FFT display and front end for a linux PC, shortly after porting I ported it to 
	the Raspberry Pi board.
	Patrick (pca) complained that the code would not run on Empeg unit itself so I ported it across.  After much
	late night hacking and a months full time work I had a working mp3 player.

Credits:
	I did not write all the code from scratch.  I imported (lifted) from other GPL projects a floating point and
	an integer FFT.  
	I also used the very useful empeg code examples from here:
	http://www.empeg.mars.org/devel.php


How it works (empeg):
	Centro player is really just a front end for an mp3 player (called mp3 decoder in the centro source) that does the
	real work.  In this case its madplayer (via libmad) that does the heavy lifting, de-compressing mp3 audio.  
	libmad is very suitable for the empeg, the SA1100 CPU lacks hardware floating point, emulated floating point
	is very slow. libmad does an integer only mp3 decoder so works well on the empeg hardware.
	libmad already supported the empeg player hardware, I simply modified it a little to allow Centro player to
	remotely control the madplayer process.
	I send a personal thank you to the creators of libmad/madplayer and the large amount of hard work that obviously
	went into their project. I apoligise for the crude hacks I did to their source code !

	Centro player requires a modified madplayer executable which in turn is using an unmodifided libmad


How it works (other platforms):
	On hardware other than the empeg Centro player uses mplayer to decode mp3 content.  This also allows the
	player to use other facilities built into mplayer such as its streaming radio support.


Centro Player Features:
	Drives 128x32 displays with visuals including FFT, Oscilloscope, Digital VU meters etc
	Menu system.
	Network settings		(empeg, Static or DHCP via dhcpcd)
	Master / Slave mode
	Internet Radio			(not on empeg hardware, sorry)
	Can drive external displays


Missing (empeg hardware):
	Version 0.5b (Beta) is missing the following that empeg users might want :

	The idea was to produce a player that will generate a playlist and play the contents of a generic directory
	of mp3 files. It was not designed to use FIDS, empeg playlists or to work with emplode.

	In summary:
		* No Emplode support 
		* Does not understand FIDS
		* No USB support at all
		* No tuner support
		* No support for external inputs (AUX etc)
		* INFO menu does nothing useful at the moment

	Centro player can be remotely controlled via a command interpreter, it would be possible to add this functionality
	as an external process, this would be my preferred solution.

	Centro player on the empeg hardware requires the Hijack kernel.   Many thanks to Mark Lord for his fantastic work,
	without his hard work a stand alone open source player would not be possible.
	Centro player has been tested on Hijack V515 kernel only.


Compiler:
	Centro player is cross compiled on an Intel (arch that is) PC linux.  Debian is a safe bet but others should work.
	armtools-empeg should work for building it:
	http://empeg-hijack.sourceforge.net/
	My compiler is in this absolute path "/usr/local/arm/arm-linux/bin/gcc", it reports its version as "2.95.2"

Building:
	cd centro_player/player
	./compile_empeg


empeg mark 1 hardware:
	Yep, works.  Rename player_mk1 as "player".  The _mk1 player is built from the same sources, it has the networking code	
	removed

License:
	libmad and madplay are GPL 2
	Centro player is GPL 2

Forks:
	Feel free, I won't take it personally :-)



Installation, for the brave or foolish at the moment:

	These instructions are for MK2 (ethernet) player.  For MK1 hardware use a USB to IDE interface and plug the hard disk into a PC
	I am not IN ANY WAY LIABLE FOR DISTRESS PAIN OR LOSS IF THIS DOES NOT WORK, GOES WRONG, BREAKS, FAILS, EXPLODES
	you have been warned !

	At the moment I have no installer, the following process (for the brave) is how it must be done.

	Install an empeg with latest Hijack hernel, preferably on a fresh hard disk.
	Enable ftp and telnet:

	Get a shell on the empeg player, via serial port is best
	make the unit read write:
		# rw
		# mount -o remount rw /drive0

	Make a copy of the empeg player binary just in case
		# cd /empeg/bin
		# cp player player_original

	Ensure the last 6 lines of /empeg/var/config.ini match these.  Note DHCP=0 must go before [hijack], please
	add the line if it is missing:

		DHCP=0
		[hijack]
   		  ktelnetd_port=23
   		  dc_servers=1

	(from the PC end)
	Tar up the empeg_files directory from centro player soruces.
		# tar cvf empeg_files.tar empeg_files/

	Take a note of the empeg units IP address, ftp the tar file to the empeg player, in may case the IP is 10.10.10.85
		# ftp 10.10.10.85
		 > put empeg_files.tar

	(from the empeg)
		# cd /
		# tar xvf empeg_files.tar
		# rm empeg_files.tar
		# cd /empeg/bin
		# ls -l player
			<check it is +x and looks ok>
		# ./player
			<check it starts ok>
		^C the player
		# sync

	<power cycle player>
	With luck and a following wind the Centro player is now running

	Get a shell on the empeg player, via serial port is best
	make the unit read write:
		# rw
		# mount -o remount rw /drive0

	Now ftp a load of mp3 files into /drive0

	If the playlist seems out of date you can always remove it, it *should* generate another one when it starts:
		# rm /drive0/playlist.txt

	Centro player uses TWO configuration files, it gets its network settings from config.ini in a format
	it (hopefully) shares with the original player:
	/empeg/var/config.ini
		and its main configuration information from:
	/etc/player.cfg