Elisa - Enjoy your media from your sofa

What it is
==========

Elisa is an open source cross-platform media center solution designed
to be simple for people not particularly familiar with computers. With
Elisa you can enjoy:

- Watch your pictures with previews and nicely animated slideshows.
- Watch your movies and video clips as well as online ones.
- Manage your music collection by artists or albums covers.
- Elisa finds automatically medias on your network, from network
  drives, ITunes, Windows Mediaplayer, Rhythmbox, etc.
- Detects automatically iPods, cameras, USB hard drives, etc.

Dependencies
============

- Python >= 2.4
- python2.4-dev
- python-elementtree (for Python < 2.5)
- python-celementtree (for Python < 2.5)
- python-setuptools
- python-twisted >= 2.2
- python-twisted-web
- python-pysqlite2 (for Python < 2.5)
- python-gtk2
- python-cairo
- python-pigment 0.3.2 https://core.fluendo.com/pigment/trac

  * for the elisa svn, you should always use pigment-svn/python-pigment-svn

- GStreamer 0.10 + Python Bindings : http://gstreamer.freedesktop.org/
- libvisual0.4-plugins
- for user default multimedia directories support:

  * xdg-user-dirs
  * python-xdg

- for UPnP support:

  * Coherence : cf https://coherence.beebits.net/

- for Stage6 video streaming website support:

  * python-beautifulsoup

- for YouTube video streaming website support:

  * python-gdata (>= 1.0.9)
  * flashdemuxer for gstreamer (gstreamer0.10-flv)

- for Flickr website support:

  * python-twill

- optional dependencies (useful to play some exotic formats):

  * gstreamer-plugins-bad 
  * gstreamer-plugins-ugly 
  * gstreamer-ffmpeg

- for LIRC support:

  * lirc
  * liblircclient0
  * pylirc

- for DAAP support (remote iTunes music browsing) support:

  * PythonDAAP: http://jerakeen.org/code/PythonDaap/
  * dbus, python-dbus, avahi and python-avahi for discovery support (optional)

- for iPod support  

  * libgpod
  * python-gpod
  * for auto-plug support the hal-plugin

- for HAL (autoplugging) support
 
  * hal and python-dbus

You can check if you already have gst-python by doing the following
command on a shell:

:: 

  $ python -c "import gst"

If this command returns nothing, you are good to go.


Running Elisa
=============

If you are not installing Elisa and Pigment system-wide, you need to
set up a Pigment environment including the Python Bindings prior to
running Elisa. To do so, go in Pigment's 'pigment' subdirectory and run:

::

  $ ./misc/pgm-uninstalled


Optionally build Elisa locally, at least one C extension will be built
for DAAP playback:

::

  $ python setup.py build

Then running Elisa is as simple as running elisa.py from the Elisa
directory:

::

  $ python elisa.py


System-wide deployment
======================

1. Ensure you have all dependencies installed (including a system-wide
   setuptools)

2. You can run:
    ::

      $ sudo python setup.py install


Media locations configuration
=============================

See the FIRST_RUN document.


Development mode
================

If you want to hack on Elisa, just run elisa.py, it should launch
without polluting your default environment. No need for a local jail
or PYTHONPATH adjustments.

When you make an update to elisa's setup.py, especially about entry
points, you need to run:

::

  $ python setup.py egg_info

This command will update the elisa.egg-info metadata directory.
