eboxy xine plugin 0.11
----------------------

This eboxy plugin is a basic wrapper around the xine-lib library for playing 
audio and video files. Eventually it will be extended and better integrated.

This plugin requires xine-lib version 1-beta12 or later, available from:
http://www.xinehq.de. At this time it also only works when eboxy is
outputting to X11.


Installation
------------

Run make and then (as root) make install.

If your system is set up in a non-standard way you may have to modify the
makefile slightly. In the future this plugin will use autoconf/automake to
avoid this.


Usage
-----

To load the plugin, you need to add a <plugin> section into your XML file.
Here's an example (details have been stripped out):

...
    <page name="test2">
      <plugin module="xine" />
      <event type="OnLoad">
        # Set position of video output area in eboxy window
        xine.x = "300"
        xine.y = "200"
        # Set size of video output area
        xine.width = "320"
        xine.height = "200"
      </event>
      <button x="40" y="20" caption="Play" template="t_button">
        <event type="OnClick">
          xine.mrl = text1.text
          xine.play()
        </event>
      </button>
      <button x="40" y="180" caption="Pause" template="t_button">
        <event type="OnClick">
          xine.pause()
        </event>
      </button>
      <button x="40" y="260" caption="ToggleFS" template="t_button">
        <event type="OnClick">
          # With fullscreen enabled, the video output is displayed at full-screen size on a separate window
          xine.togglefullscreen()
        </event>
      </button>
      <button x="40" y="420" caption="Stop" template="t_button">
        <event type="OnClick">
          xine.stop()
        </event>
      </button>
      <textfield x="300" y="100" name="text1" template="t_textfieldsmall" maxlength="255"/>
...

Reference
---------

Properties:

  x
    the x position (in pixels) in the eboxy window of the video output area

  y
    the y position (in pixels) in the eboxy window of the video output area

  width
    the width (in pixels) of the video output area

  height
    the height (in pixels) of the video output area

  mrl
    Media Resource Locator of the location to play. Valid mrls are described
    in the xine documentation. Some examples:
            /mnt/media/video/trailers/gladiator_large.mov
            dvd://

Methods:

  play()
    Load the specified mrl and begin playing.

  pause()
    Pause playback (call again to unpause).

  stop()
    Stop playback.

  togglefullscreen()
    With fullscreen enabled, the video output is displayed at full-screen
    size on a separate window.

Events:

  OnFinish
    Triggered when the movie has finished playing. Not called when the movie
    is explicitly stopped.


Todo
----

- Add properties (volume, etc.)
- Add methods (DVD navigation, OSD control, etc.)
- Add some more events
- Fix bug: Make play() not restart the playback when paused.
- Fix bug: occasional shimmering line on left hand side of video (DVDs only?
  xine bug perhaps?)
- Make it work with framebuffer
- Be able to play audio files without having a video output window shown


eboxy
-----

eboxy is a GUI system for set-top boxes. For more information on eboxy, visit:

  http://eboxy.sourceforge.net

If you have any questions or suggestions, please send them to the eboxy mailing
list at eboxy-users@sourceforge.net.


Licence
-------

This plugin is released under the GPL, version 2 (or a later version, at your
option). For more information on the GNU GPL please visit http://www.fsf.org.
For copyright details please see the top of xine.c.
