
  gxine, a GTK+ frontend for xine
  ===============================

(C) 2001-2004 Guenter Bartsch
(C) 2004-2006 Darren Salt
(C) 2001-2006 the xine project team

gxine is free software released under the GPL.


About
-----

gxine is a GTK+ based GUI for the xine-lib video player library. It is a
media player that can play all the audio/video formats that libxine
supports. Currently, this includes MPEG1/2, some AVI and Quicktime files,
some network streaming methods and disc based media (VCD, SVCD, DVD).
A more complete list can be found on http://xinehq.de/.

* Example files referenced in the following text may be found in the misc/
  directory in gxine's source or in the documentation directory, typically
  /usr/share/doc/gxine if you're using a packaged version.


General use
-----------

A few things which may not be immediately obvious:

- You can hide and show the toolbar by clicking the middle mouse button over
  the video display. (In windowed mode, you need to be using the separate
  toolbar for this to work.)

- You can always access the menus by right-clicking over the video panel.

You need a window manager which supports full-screen windows. If you're
using one which doesn't, full-screen mode won't work.

If you're using xcompmgr or a window manager which supports compositing,
you'll need to ensure that Xv colourkey autopainting is disabled (and you
may need to restart gxine).
  File -> Configure -> Preferences: video.device.xv_colorkey


LIRC support
------------

gxine has full LIRC support. You need to have either of
  ~/.gxine/lircrc
  ~/.lircrc
to use it. The files are read in that order; definitions are *not* overridden.

An example lircrc file is included. You'll almost certainly want to modify it.

You can let gxine execute any Javascript code you want on lirc input :-)


Javascript
----------

gxine is almost entirely controllable via Javascript. You can bind keys to
Javascript fragments (single commands, sequences of commands) - have a look
at the key bindings window (accessed via the File menu) for more
information.

As of 0.5.0, there's also support for startup scripts - one global, one
user-defined. Both are run, the global script first, when you start gxine.

Here's an example which provides independent zoom settings for windowed
and full-screen modes. You'll need to modify your keymap as described.

  // swap_zoom() suggested usage:
  //   Windowed mode:
  //     if (vo_fullscreen.v) swap_zoom (); vo_fullscreen.v = false;
  //   Fullscreen mode:
  //     swap_zoom (); vo_fullscreen.toggle ();
  function swap_zoom ()
  {
    var tmp = vo_zoom.v;
    vo_zoom.v = zoom_other;
    zoom_other = tmp;
  }
  var zoom_other = 100;

There's a Javascript reference at
  http://developer.mozilla.org/en/docs/JavaScript


VDR support
-----------

As of 0.4.0, gxine has VDR support. You'll need vdr, vdr-xine and a
suitably-patched xine-lib (see the vdr-xine documentation for details) to
make use of this.

If ~/.gxine already exists and contains a key bindings file from an older
version of gxine:

 * Your key bindings be upgraded automatically. Any bindings with command
   strings which don't match one of the defaults or which already have
   descriptions (also new in 0.4.0) will be left untouched - you'll have to
   check these ones yourself.

 * There are some new bindings for use with VDR. These will be added at the
   same time.


GNOME VFS support
-----------------

You'll get this automatically if the GNOME VFS library is present on your
system.


GTK themes
----------

If you wish to use different speaker icons, you must provide button-sized
images (normally 20x20) for stock items "gxine-media-speaker" and
"gxine-media-speaker-mute". The direction, size and state settings should be
wildcarded.

Also present are some "gxine-settings-*" items: "av-sync", "hue",
"saturation", "contrast", "brightness", "volume", "compressor", "amplifier".

The appearance of the time widget and info bar may be controlled via any of
the following (highest priority last):
  gxine's default gtkrc file (typically /usr/share/gxine/gtkrc)
  gxine's gtkrc conf file (typically /etc/gxine/gtkrc)
  ~/.gtkrc-2.0
  ~/.gxine/gtkrc


Toolbar and keypad windows
--------------------------

gxine has three files which define the layout and content of the toolbars
(windowed and full-screen modes are handled separately) and the keypad
window. You can override the defaults by providing

  ~/.gxine/keypad.xml
  ~/.gxine/toolbar-fullscreen.xml
  ~/.gxine/toolbar-window.xml

These files may contain translatable labels and tooltips; they are prefixed
with "~". (You probably won't need this.)

The keypad definition is a full window definition; the other definitions
require a single non-window container at the top level. The menu bar and
video pane are fixed features.

(Full documentation of these files is yet to be written.)


Bug reports and feature requests
--------------------------------

* If you installed gxine from a distribution:

  You should report problems and request features via your distribution's bug
  tracking system.

* If you installed gxine from source fetched from xinehq.de or Sourceforge:

  Check that you're using a recent version and that the problem is still
  present in that version. If you are or it is, then you should report the
  problem. To do this, visit
    <URL:http://sourceforge.net/projects/xine/>
  and use either the "Bugs" link or the "RFE" link.

* If you installed gxine from a third-party archive:

  You should contact that archive's maintainer.


If you find that your problem or missing feature has already been reported,
there's no point in re-reporting it, but if you have any extra information
which may help in fixing the problem, you should add that to the existing
report.

If you're not sure what to do, you can always post to the xine-user mailing
list. (But do search the list archive first.)
