INSTALLATION INSTRUCTIONS 1. (Optional) Add the directory containing zeya.py to your PATH. 2. Install dependencies: Install the Ogg/Vorbis encoder and the decoders for one or more of the following: Ogg/Vorbis, FLAC, MP3, and M4A. On a Debian/Ubuntu system you can do this with: # Vorbis encoder and decoder (required) aptitude install vorbis-tools # Flac/MP3/M4A decoders (optional; needed for playing music in those # formats) aptitude install flac mpg123 faad Make sure you have Python 2.5 or 2.6 installed: aptitude install python2.6 Python 2.5 users will need to install the simplejson library: aptitude install python-simplejson If you're using the 'dir' (directory) backend, also install tagpy: aptitude install python-tagpy If you're using Fedora, you can install the requisite packages (excluding MP3/M4A support) with: yum install vorbis-tools flac python-simplejson python-tag 3. Run zeya.py. The --help flag shows the available options. We support three backends: 'dir': read all music in a directory and its subdirectories. This is the default. $ zeya.py --path=/path/to/music # If omitted, --path defaults to ./ 'rhythmbox': read files from the current user's Rhythmbox library. $ zeya.py --backend=rhythmbox 'playlist': read files from the specified m3u or PLS playlist file $ zeya.py --backend=playlist --path=/path/to/your/m3u/pls/file CLIENT SUPPORT Zeya works well in Firefox 3.5+ and Chrome 4+. See the section below, titled "NOTES ON SUPPORTED CLIENTS", for more details. We also provide zeyaclient.py, a rudimentary Python client (1) for use when a more lightweight client is needed or when no HTML5-compliant browser is available and (2) as a simple example of programmatic (and non browser-based) access to a Zeya servers. NOTES ON SUPPORTED CLIENTS * Firefox All Firefox versions >= 3.5 should work. Zeya is known to work in Firefox 3.5.3 on GNU/Linux and Windows. * Chrome Zeya should work in Chrome 4.0.223+, on GNU/Linux, Windows, and Mac OS. Known issues: Latency between when you click on a song and when it starts playing is high. Chrome seems to require the Content-Length header to be set on audio data, so we have to finish encoding the entire file before we can send any data to the client. * Internet Explorer (with Chrome Frame plugin) Known Issues: see Chrome KIs above.