Skip to content
My fork of Phil Sung <psung at alum.mit.edu> 's music server
Python JavaScript
Pull request Compare This branch is 15 commits ahead, 132 commits behind psung:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc
resources
testdata
.gitignore
COPYING
README
TODO
backend.py
common.py
decoders.py
directory.py
options.py
rhythmbox.py
zeya.py
zeyaclient.py
zeyatest.py

README

Zeya - a web music server.


AUTHORS

Copyright (C) 2009 Phil Sung <psung at alum.mit.edu>
Copyright (C) 2009 Samson Yeung <fragmede at onepatchdown.net>
Copyright (C) 2009 Romain Francoise <romain at orebokech.com>

Zeya uses public-domain icons from tango-icon-theme.
  More information: <http://tango.freedesktop.org/>


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, and MP3. On an Ubuntu system you can do this
   with:

     aptitude install vorbis-tools    # Vorbis encoder and decoder
     aptitude install flac mpg123     # Flac and MP3 decoders

   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

3. Run zeya.py. The --help flag shows the available options. We support two
   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


CLIENT SUPPORT

Zeya works well in Firefox 3.5+ and well enough on Chrome 3+. 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 is known to 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 very
  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.

  The Previous button (and the "k" key) doesn't work in Chrome.

    This is apparently related to Chrome not implementing audio.currentTime.

* Internet Explorer (with Chrome Frame plugin)

  Known Issues: see Chrome KIs above.


DEVELOPMENT AND TESTING

You can invoke our test suite by running zeyatest.py.
Something went wrong with that request. Please try again.