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

- Python 2.4
- python2.4-dev
- python-setuptools
- python-imaging
- python-twisted >= 2.2
- python-gnome2-extras
- GStreamer 0.10 + Python Bindings : http://gstreamer.freedesktop.org/
- Pigment 0.1.1 : cf https://core.fluendo.com/pigment/trac
- for UPnP support :

  * twisted.web
  * python2.4-elementtree
  * cElementTree
  * python2.4-soappy

- for Cache support :

  * sqlite (>= 3.2.8)
  * PySQLite2 (>= 2.0.5)
  * TagPy : http://news.tiker.net/software/tagpy

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

  * libdvdcss
  * 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 and its python bindings
  * hal and python-dbus for hotplug support (optional)

- for weather forecast plugin

  * metar : http://homepage.mac.com/wtpollard/Software/FileSharing4.html

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.


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.


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

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

2. You have two alternatives:

    * Either build an Egg and install it:
       
       ::

         $ python setup.py bdist_egg
         $ sudo easy_install dist/*.egg

    * Or directly install:

       ::

         $ sudo python setup.py install

Elisa program
=============

After first run of the box, edit `elisa.conf` and add some media
locations in `[movies]`, `[music]` and `[pictures]` config sections

::


  [plugins.pictures]
  locations = ['file://./sample_data/pictures',]

  [plugins.movies]
  locations = ['file://./sample_data/movies', 'file:///data/movies/', 'smb://mediaserver/movies/']

  [plugins.music]
  locations = ['file://./sample_data/music', 'file:///data/music/']

If you have some folders with the same name but in different
locations, you can set a customized label for them like this:

::

  [plugins.music]
  locations = ['file://./sample_data/music/?label=my music', 'file:///data/music/?label=other music']

key map
-------

- Arrows  : for navigation
- Enter   : Action (play video ...)
- space   : Hide/Show menu.
- p : play
- l : pause
- s : stop
- f : fullscreen toggle
- c : seek+
- x : seek-
- v : next
- w : previous
- m : mute
- u : volume up (doesn't work)
- i : volume down (doesn't work either)

LIRC
----

Currently only streamzap remotes are supported. To support other types
of remotes, create a new lircrc config file like
core/plugins/data/streamzap.lirc. Put the new file in ~/.elisa and
update ~/.elisa.conf accordingly in the [plugins.lirc] section.

::

 # --------------------------------------------------------------------
 # The ElementSOAP library is
 #
 # Copyright (c) 1999-2003 by Fredrik Lundh
 #
 # By obtaining, using, and/or copying this software and/or its
 # associated documentation, you agree that you have read, understood,
 # and will comply with the following terms and conditions:
 #
 # Permission to use, copy, modify, and distribute this software and
 # its associated documentation for any purpose and without fee is
 # hereby granted, provided that the above copyright notice appears in
 # all copies, and that both that copyright notice and this permission
 # notice appear in supporting documentation, and that the name of
 # Secret Labs AB or the author not be used in advertising or publicity
 # pertaining to distribution of the software without specific, written
 # prior permission.
 #
 # SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
 # TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT-
 # ABILITY AND FITNESS.  IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR
 # BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
 # DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
 # ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
 # OF THIS SOFTWARE.
 # --------------------------------------------------------------------
