.hgignore | 3 .hgtags | 1 AUTHORS | 14 BUGS | 19 ChangeLog | 120 + INSTALL | 22 Makefile.am | 20 README | 18 README.cs | 4 README.de | 4 README_l10n | 6 TODO | 11 a/gxine.desktop | 14 a/m4/codeset.m4 | 21 a/m4/gettext.m4 | 631 --------- a/m4/glibc21.m4 | 30 a/m4/iconv.m4 | 101 - a/m4/intdiv0.m4 | 70 - a/m4/intmax.m4 | 30 a/m4/inttypes-pri.m4 | 30 a/m4/inttypes.m4 | 27 a/m4/inttypes_h.m4 | 26 a/m4/isc-posix.m4 | 26 a/m4/lcmessage.m4 | 30 a/m4/lib-ld.m4 | 110 - a/m4/lib-link.m4 | 630 --------- a/m4/lib-prefix.m4 | 185 -- a/m4/linger.m4 | 28 a/m4/longdouble.m4 | 31 a/m4/longlong.m4 | 23 a/m4/need-declaration.m4 | 42 a/m4/nls.m4 | 31 a/m4/po.m4 | 428 ------ a/m4/printf-posix.m4 | 44 a/m4/progtest.m4 | 92 - a/m4/signed.m4 | 17 a/m4/size_max.m4 | 60 a/m4/stdint_h.m4 | 26 a/m4/uintmax_t.m4 | 30 a/m4/ulonglong.m4 | 23 a/m4/wchar_t.m4 | 20 a/m4/wint_t.m4 | 20 a/m4/xsize.m4 | 13 autogen.sh | 24 b/doc/man/es/Makefile.am | 12 b/doc/man/es/gxine.1 | 114 + b/doc/man/es/gxine_client.1 | 25 b/gxine.desktop.in | 14 b/m4/gettext/Makefile.am | 45 b/m4/gettext/ansi-c++.m4 | 62 b/m4/gettext/codeset.m4 | 21 b/m4/gettext/gettext.m4 | 419 +++++ b/m4/gettext/glibc2.m4 | 30 b/m4/gettext/glibc21.m4 | 30 b/m4/gettext/iconv.m4 | 101 + b/m4/gettext/intdiv0.m4 | 70 + b/m4/gettext/intl.m4 | 259 +++ b/m4/gettext/intldir.m4 | 19 b/m4/gettext/intmax.m4 | 33 b/m4/gettext/inttypes-pri.m4 | 36 b/m4/gettext/inttypes_h.m4 | 26 b/m4/gettext/lcmessage.m4 | 30 b/m4/gettext/lib-ld.m4 | 110 + b/m4/gettext/lib-link.m4 | 644 +++++++++ b/m4/gettext/lib-prefix.m4 | 185 ++ b/m4/gettext/lock.m4 | 311 ++++ b/m4/gettext/longdouble.m4 | 31 b/m4/gettext/longlong.m4 | 48 b/m4/gettext/nls.m4 | 31 b/m4/gettext/po.m4 | 428 ++++++ b/m4/gettext/printf-posix.m4 | 44 b/m4/gettext/progtest.m4 | 92 + b/m4/gettext/size_max.m4 | 62 b/m4/gettext/stdint_h.m4 | 26 b/m4/gettext/uintmax_t.m4 | 30 b/m4/gettext/ulonglong.m4 | 48 b/m4/gettext/visibility.m4 | 52 b/m4/gettext/wchar_t.m4 | 20 b/m4/gettext/wint_t.m4 | 20 b/m4/gettext/xsize.m4 | 13 b/mime.default | 61 b/misc/po/es.po | 365 +++++ b/pixmaps/set-channel.svg | 64 b/pixmaps/set-hue.svg | 104 + b/pixmaps/set-sync.svg | 67 b/pixmaps/subtitle.svg | 68 b/po/es.po | 3008 +++++++++++++++++++++++++++++++++++++++++++ b/src/list_menus.c | 77 + b/src/list_menus.h | 33 b/src/systray.c | 232 +++ b/src/systray.h | 21 browser-plugin/Makefile.am | 4 browser-plugin/plugin.c | 6 browser-plugin/plugin.h | 4 configure.ac | 130 + debian/changelog | 13 debian/control | 9 debian/rules | 3 doc/Keybindings-HOWTO | 240 +++ doc/Makefile.am | 2 doc/Skin-HOWTO | 21 doc/man/Makefile.am | 2 doc/man/de/Makefile.am | 2 doc/man/de/gxine.1 | 2 doc/man/en/gxine.1 | 24 gxine-test | 12 include/Makefile.am | 4 include/cset_id.sh | 7 include/i18n.h | 9 m4/Makefile.am | 36 m4/_gxine.m4 | 82 + m4/_js.m4 | 62 misc/Makefile.am | 2 misc/keypad.xml | 18 misc/lircrc | 13 misc/po/LINGUAS | 1 misc/po/Makevars | 2 misc/po/cs.po | 135 + misc/po/de.po | 135 + misc/po/fr.po | 135 + misc/po/gxine.theme.pot | 133 + misc/po/it.po | 135 + misc/po/ja.po | 135 + misc/po/pl.po | 135 + misc/po/pt_BR.po | 3 misc/po/ru.po | 135 + misc/po/sv.po | 135 + misc/po/uk.po | 135 + misc/po/zh_CN.po | 142 +- misc/startup | 1 misc/toolbar-fullscreen.xml | 11 misc/toolbar-window.xml | 13 pixmaps/Makefile.am | 35 pixmaps/README.pixmaps | 11 po/LINGUAS | 1 po/Makefile.in.in | 1 po/Makevars | 2 po/POTFILES.in | 2 po/cs.po | 1419 +++++++++++--------- po/de.po | 1454 +++++++++++--------- po/fr.po | 1425 +++++++++++--------- po/gxine.pot | 1462 +++++++++++--------- po/it.po | 1490 ++++++++++++--------- po/ja.po | 1402 +++++++++++--------- po/pl.po | 1428 +++++++++++--------- po/pt_BR.po | 3 po/ru.po | 1472 +++++++++++---------- po/sv.po | 1520 ++++++++++++--------- po/uk.po | 1625 +++++++++++++---------- po/zh_CN.po | 1445 +++++++++++--------- src/Makefile.am | 24 src/client.c | 13 src/console_output.c | 2 src/console_output.h | 2 src/defs.h | 4 src/desktop_integration.c | 68 src/desktop_integration.h | 11 src/drag_drop.c | 4 src/drag_drop.h | 8 src/engine.c | 53 src/engine.h | 6 src/globals.h | 23 src/gtkflipbutton.c | 4 src/gtkflipbutton.h | 10 src/gtkvideo.c | 394 ++++- src/gtkvideo.h | 16 src/history.c | 12 src/history.h | 2 src/http.c | 9 src/http.h | 7 src/info_widgets.c | 131 + src/info_widgets.h | 10 src/key_events.c | 103 - src/key_events.h | 10 src/lirc.c | 2 src/lirc.h | 8 src/log_window.c | 4 src/log_window.h | 8 src/main.c | 271 +++ src/mediamarks.c | 176 +- src/mediamarks.h | 8 src/menu.c | 98 + src/menu.h | 10 src/noskin_window.c | 166 +- src/noskin_window.h | 13 src/open_mrl.c | 4 src/open_mrl.h | 8 src/play_item.c | 102 - src/play_item.h | 20 src/player.c | 492 ++++--- src/player.h | 14 src/playlist.c | 443 ++++-- src/playlist.h | 8 src/post.c | 40 src/post.h | 7 src/preferences.c | 402 ++++- src/preferences.h | 6 src/script_engine.c | 82 - src/script_engine.h | 36 src/server.c | 4 src/server.h | 8 src/settings.c | 54 src/settings.h | 8 src/snapshot.c | 12 src/snapshot.h | 8 src/stream_info.c | 4 src/stream_info.h | 8 src/ui.c | 290 +++- src/ui.h | 62 src/utils.c | 173 ++ src/utils.h | 22 src/vis.c | 4 src/vis.h | 8 src/wizards.c | 133 - src/wizards.h | 8 src/xml_widgets.c | 218 ++- src/xml_widgets.h | 8 217 files changed, 21737 insertions(+), 11870 deletions(-) diff -r ffa154f3d0d1 -r 8f9648cc0548 .hgignore --- a/.hgignore Thu Feb 01 01:17:47 2007 +0000 +++ b/.hgignore Sat Mar 08 00:05:55 2008 +0000 @@ -13,6 +13,7 @@ ^config\.(guess|log|status|sub)$ ^configure$ ^depcomp$ +^gxine\.desktop$ ^include/config\.h(\.in|)$ ^include/version\.h$ ^include/stamp-h1$ @@ -27,4 +28,6 @@ ^missing$ ^mkinstalldirs$ ^(misc/|)po/remove-potcdate\.sed$ +^pixmaps/set-.*\.png$ +^pixmaps/subtitle\.png$ ^src/(gxine|gxine_client|mktrans)$ diff -r ffa154f3d0d1 -r 8f9648cc0548 .hgtags --- a/.hgtags Thu Feb 01 01:17:47 2007 +0000 +++ b/.hgtags Sat Mar 08 00:05:55 2008 +0000 @@ -26,3 +26,4 @@ 1f3793ae1a687ac3587b145c35fd36316e57a157 1f3793ae1a687ac3587b145c35fd36316e57a157 gxine-0_5_8-release af1ef59473984edc44cb7d5845ab5efc29c3bfc2 gxine-0_5_9-release 64b19db22f17e42007a4e5b14d6053d7acf8649f gxine-0_5_10-release +ffa154f3d0d157c7431e26768b3f475530c5310f gxine-0_5_11-release diff -r ffa154f3d0d1 -r 8f9648cc0548 AUTHORS --- a/AUTHORS Thu Feb 01 01:17:47 2007 +0000 +++ b/AUTHORS Sat Mar 08 00:05:55 2008 +0000 @@ -1,23 +1,27 @@ [* = known active when this file was last updated] [. = believed inactive when this file was last updated] +[@ = address no longer valid] * Darren Salt . Guenter Bartsch - František Dvořák . +@ František Dvořák . Czech translation. * Philipp Matthias Hahn German translation. - Mahgally Clovis - Philippe Gervais +* Carlos E. Robinson , 2008. + Spanish translation. + +@ Mahgally Clovis +. Philippe Gervais French translation. - Bartlomiej Muryn +. Bartlomiej Muryn Polish translation. -. Carlos Vendramini +@ Carlos Vendramini Brazilian Portuguese translation. * Pavel Maryanov diff -r ffa154f3d0d1 -r 8f9648cc0548 BUGS --- a/BUGS Thu Feb 01 01:17:47 2007 +0000 +++ b/BUGS Sat Mar 08 00:05:55 2008 +0000 @@ -22,3 +22,22 @@ Both options cause *lots* of output to be generated. If you can provide a patch, so much the better... + +"The window's just shrunk." + + There's a known issue here - occasionally, when the video aspect ration is + changed, events are received in the "wrong" order, causing the video + window to be incorrectly resized. + + Patches welcome :-) + +"gxine just hung." + + You may (or may not) want to disable XCB support (--without-xcb). If you + see something like _XReply showing up in the backtrace, then tell the X + developers or use your distribution's bug tracker (depending on how you + installed X). Details including which video output method gxine was using + will be *very* helpful. + + If it's demonstrably a bug in gxine or xine-lib rather than in an X + library, then tell us or use your distribution's bug tracker. diff -r ffa154f3d0d1 -r 8f9648cc0548 ChangeLog --- a/ChangeLog Thu Feb 01 01:17:47 2007 +0000 +++ b/ChangeLog Sat Mar 08 00:05:55 2008 +0000 @@ -1,3 +1,121 @@ 0.5.11: 2007/02/01 +0.5.901: 2008/03/08 + [dsalt] + * The configuration directory is now ~/.config/gxine. + If ~/.gxine exists, it will be renamed when you run gxine. + * gxine now uses XCB unless configured with --without-xcb. + This allows gxine to use the available XCB versions of the X video + output plugins. + * DVD directories and images (*.iso) and VCD files (*.cue, *.nrg), + passed to gxine as plain file names, are now handled as if they + were dvd:// or vcd:// MRLs. + * Added get_pos(), has_time() so that it's possible to seek in streams + without time information. + Updated the skip forward/back key bindings accordingly. + * Display some device information in the prefs window and in file + chooser dboxes (requires HAL). + * Added revert buttons (to default & to saved) for each config item + in the prefs window. + * Added a "repeat track" option to the playlist window. + * Added a system tray icon with two menus - left click for a short + playback control menu, right click for the main menu. Also middle + to show or hide the main window and its toolbar (note that other + windows will remain visible). + * Make the prev/next buttons in the playlist window shaded if there + are fewer than 2 playlist items (previously, if there are none). + * Added menus to the playlist & media marks windows. + * Enable by default a few options: + - magnify low-res video; + - video & audio post-plugin enabling at startup; + - separate toolbar; + - windowed-mode blanking prevention. + Existing configurations are unaffected. + * Allow slider widgets to be presented as buttons with pop-up windows. + The volume slider in the default windowed-mode toolbar is a pop-up. + * Added SPU sync to the A/V window. + * Added support for HTTP authentication. (Requires xine-lib 1.2.) + * Obsoleted and disabled most of the deprecated JS functions, except + for set_fullscreen() and toolbar_show() which remain deprecated. + If you need the others, build with --enable-obsolete. + Obsolete functions will be removed and deprecated functions + obsoleted next year. + * Brought vo_deinterlace into line with the other two chain objects + by adding the missing property & method. + * Added a config item to control whether, when in full-screen mode, + the video window is forcibly stuck to all desktops & viewports. + This is currently only checked at startup. + * Reworked the JS property code somewhat. No user-visible changes. + * Only display the "broken xine-lib" message (for when there is no + demuxer for the logo image) at most once. + * Fixed a possible initialisation failure which would cause various GDK + "window != NULL" assertion failures and a segfault. This is known to + affect gxine in a chrooted environment when talking to a non-chrooted + X server on the same machine, and includes a partial reversion of a + change which was made between 0.5.9 and 0.5.10. + * Moved the windowed-mode blanking menu item into a new submenu in + the View menu. + * The subtitles menu now shows the subtitle track names. + * Tweaked and re-rendered the splash and logo images. + * Allow blanking if the video window is hidden, iconised or shaded. + * Lock resizing to the aspect ratio (if in separate toolbar mode). + * Track "above" & "below" states (window stacking order) for + restoration when leaving full-screen mode. + [Feature request 1679490] + * Allow automatic window resizing to be switched off by default. + [Feature request 1770724] + * Fixed toolbar positioning with multiple monitors arranged to make a + non-rectangular display. (This may require the enabling of an option + such as radeon(4)'s "MergedNonRectangular" option.) + * Fixed a logic error which could cause full-screen focus grabbing to + be active even when Xinerama is active. [Bug 1803797] + * Fixed some problems with prefs window initialisation and redisplay. + * Fixed a bug which would cause gxine to abort if one of its menus + is opened while the video window is shaded. + * Reworked the time display updating for accuracy, subject to + xine-lib timer accuracy. + * Support for stream end times (implemented as start time + duration). + Like the time display, this is dependent on xine-lib providing + time information for the stream; if this is fast or slow, the + actual playback time will be affected accordingly. + A duration of 00:00:00 means "unspecified", i.e. the stream will + be played until completion; also, the displayed length of the + stream does not reflect the specified duration. + * Added support for VDR's subtitles key (VDR 1.5.10). + * Use PNG versions of various icons if SVG support isn't present. + [Bug 1708332] + * Fixed the default audio visualisation setting (should always be goom). + * Fixed parsing of negative times. + * Improved the locking in the stream-opening thread. This makes it + easier to stop the stream while it's still being opened. + * Strip parameters from RTSP and PNM MRLs received via Real playlists. + * Fixed a full-screen problem (with -f) which would cause the + windowed-mode toolbar to remain visible. + * Fixed a bug in the auto-resize code which was sometimes causing + rapid switching between different aspect ratios when under load. + * Process scale changes resulting from stream format changes when + auto-resizing is disabled. + * Allow overriding of the reported display width and/or height. + This is to cope with buggy X display drivers which misreport them. + * Made the run-time time elapsed/remaining toggle global, as it + probably should have been to start with. + * --help now lists the available video and audio output plugins. + * Treat .ra and .rm as binary. + * Fixed two install-debug failures. + * Added a compatibility fix for glib 2.13 and later. + * New option --configure for setting configuration items. + * Use of -A or -V no longer hides the corresponding driver pref. + The configuration remains unchanged by these options. + * No longer build with libjs/libsmjs - old libraries, can't test. + * Fixed a double-encoding bug which could break subtitle autodetection. + * Implement xine-lib's gapless switch. + * Make sure that GnomeVFS is always initialised (if available). + * Initialise GNOME's authentication manager (if available). + + + The following changes are active if gxine was built against current + xine-lib 1.2: + + * Allow slider widgets to be disabled if the corresponding support + isn't available in the video driver. + 0.5.11: 2007/02/01 [dsalt] * Always connect to the "toggled" signal for post-plugin prefs buttons. @@ -5,7 +123,7 @@ 0.5.11: 2007/02/01 * The plugin chain configuration menu items are duplicated in File->Configure. * Fixed a hang which occurs when a stream ends and some modal - dialogue box, opened via a JS command, is open. + dialogue box, opened via a JS command, is open. [Bug 1643093] * Fixed some prefs segfaults and file/device/directory configuration loss. This only appears with GTK+2.10 and xine-lib 1.1.4, and of course I didn't have GTK+2.10 when I released 0.5.10... diff -r ffa154f3d0d1 -r 8f9648cc0548 INSTALL --- a/INSTALL Thu Feb 01 01:17:47 2007 +0000 +++ b/INSTALL Sat Mar 08 00:05:55 2008 +0000 @@ -5,16 +5,13 @@ gxine requires the following libraries: Name Version In package ---- ------- ---.deb--- --RPM-- - xine-lib >= 1.0.1 libxine-dev - GTK+ >= 2.6 libgtk2.0-dev - GLib >= 2.6 libglib2.0-dev + xine-lib >= 1.1.0 libxine-dev + if using XCB >= 1.1.5 + GTK+ >= 2.8 libgtk2.0-dev + GLib >= 2.10 libglib2.0-dev gettext * (part of GNU libc) - libjs >= 1.5rc* libsmjs-dev (sarge) js-devel (FC5) - libmozjs-dev (etch) + libmozjs * libmozjs-dev (Debian) firefox-dev (Ubuntu) - -libjs may be downloaded from . -However, you should use libmozjs, which is part of xulrunner. gxine will use the following libraries if their header files are available at compile time: @@ -27,7 +24,8 @@ their header files aren't available at c XTest * libxtst-dev LIRC * liblircclient-dev Xinerama * libxinerama-dev - dbus (glib) * libdbus-glib-1-dev | dbus-glib-1-dev + dbus (glib) * libdbus-glib-1-dev + hal * libhal-dev gxine requires the following packages at compile time: @@ -47,11 +45,11 @@ Should you need to run autogen.sh (you p Should you need to run autogen.sh (you probably don't, unless you've fetched the source via CVS), you need autoconf >= 2.59 and automake >= 1.9. -Pango 1.12.0 or later is recommended. If you have an older version of this -library, text containing invalid UTF-8 may not be displayed. +Pango 1.12.0 or later is required as of 0.6.0 because, with older versions, +text containing invalid UTF-8 may not be displayed. PACKAGERS: you should set VENDOR_PKG_VERSION at configure time. Something of -the form "0.5.0-1; Debian" is adequate. +the form "0.6.0-1; Debian" is adequate. Browser plugin location diff -r ffa154f3d0d1 -r 8f9648cc0548 Makefile.am --- a/Makefile.am Thu Feb 01 01:17:47 2007 +0000 +++ b/Makefile.am Sat Mar 08 00:05:55 2008 +0000 @@ -1,11 +1,14 @@ SUBDIRS = m4 pixmaps include src doc bro SUBDIRS = m4 pixmaps include src doc browser-plugin misc po #DEB_FILES = debian/rules debian/changelog debian/control debian/copyright debian/README.Debian debian/menu -EXTRA_DIST = config.rpath gxine.desktop autogen.sh gxine-test \ +EXTRA_DIST = config.rpath gxine.desktop.in mime.default autogen.sh gxine-test \ BUGS README.de README.cs README_l10n Applicationsdir = $(datadir)/applications -Applications_DATA = gxine.desktop +nodist_Applications_DATA = gxine.desktop + +BUILT_SOURCES = gxine.desktop +CLEANFILES = $(BUILT_SOURCES) debug: @list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -28,7 +31,7 @@ prune-cache: mostlyclean-generic: -rm -f *~ \#* .*~ .\#* - -rm -f $(PACKAGE)_$(VERSION).tar.gz + -rm -f $(PACKAGE)-$(VERSION).tar.bz2 -rm -f $(distdir).tar.gz $(PACKAGE).tgz package_descriptions -rm -rf $(distdir) @@ -54,4 +57,13 @@ translator: dist-pre $(MAKE) -C $(top_builddir)/po update-po $(MAKE) -C $(top_builddir)/misc/po update-po -ACLOCAL_AMFLAGS = -I m4 +XINE_MIME = $(if $(shell test "$(XINE_CONFIG)" = '' && echo y),$(shell pkg-config --variable=plugindir libxine),$(shell $(XINE_CONFIG) --plugindir))/mime.types + +MIME = $(if $(shell test -f $(XINE_MIME) && echo y),$(XINE_MIME),$(srcdir)/mime.default) + +gxine.desktop: gxine.desktop.in $(MIME) + exec > $@; \ + cat $<; \ + awk 'BEGIN { s = "%s" } { printf s, $$1; s = ";%s" } END { print }' <$(MIME) + +ACLOCAL_AMFLAGS = -I m4 -I m4/gettext diff -r ffa154f3d0d1 -r 8f9648cc0548 README --- a/README Thu Feb 01 01:17:47 2007 +0000 +++ b/README Sat Mar 08 00:05:55 2008 +0000 @@ -3,8 +3,8 @@ =============================== (C) 2001-2004 Guenter Bartsch -(C) 2004-2006 Darren Salt -(C) 2001-2006 the xine project team +(C) 2004-2007 Darren Salt +(C) 2001-2007 the xine project team gxine is free software released under the GPL. @@ -41,6 +41,14 @@ you'll need to ensure that Xv colourkey 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 + +As of 0.6.0, gxine will prompt for authentication for http:// MRLs if needed. +("http://user:pass@site/path" was previously the only way to do this.) + +Currently, storage of the authentication details is insecure: it is stored +as plain text in the playlist file, and the playlist file (when saved) is +subject to the umask setting, which is normally 022 or 002 - both of which +allow it to be read by anybody. LIRC support @@ -86,6 +94,12 @@ There's a Javascript reference at There's a Javascript reference at http://developer.mozilla.org/en/docs/JavaScript +As of 0.6.0, various deprecated functions are obsolete and are not included +by default. You can enable them with --enable-obsolete, but this is not +recommended; you should migrate to the vo_* and ao_* objects. + +Obsolete functions will be removed and deprecated functions obsoleted in 2008. + VDR support ----------- diff -r ffa154f3d0d1 -r 8f9648cc0548 README.cs --- a/README.cs Thu Feb 01 01:17:47 2007 +0000 +++ b/README.cs Sat Mar 08 00:05:55 2008 +0000 @@ -3,8 +3,8 @@ ============================= (C) 2001-2004 Guenter Bartsch -(C) 2004-2005 Darren Salt -(C) 2001-2006 tým projektu xine +(C) 2004-2007 Darren Salt +(C) 2001-2007 tým projektu xine gxine je svobodný software vydaný pod GPL. diff -r ffa154f3d0d1 -r 8f9648cc0548 README.de --- a/README.de Thu Feb 01 01:17:47 2007 +0000 +++ b/README.de Sat Mar 08 00:05:55 2008 +0000 @@ -3,8 +3,8 @@ =============================== (C) 2001-2004 Guenter Bartsch -(C) 2004-2005 Darren Salt -(C) 2001-2005 the xine project team +(C) 2004-2007 Darren Salt +(C) 2001-2007 the xine project team gxine ist unter der GPL veröffentlichte freie Software. diff -r ffa154f3d0d1 -r 8f9648cc0548 README_l10n --- a/README_l10n Thu Feb 01 01:17:47 2007 +0000 +++ b/README_l10n Sat Mar 08 00:05:55 2008 +0000 @@ -8,3 +8,9 @@ that the .pot files are up to date. New translations and updates should normally be for CVS HEAD, using freshly-generated po/gxine.pot and misc/po/gxine.theme.pot. + +If you need to create new translation files, copy the appropriate .pot +files, add the language code to po/LINGUAS, then run ./configure (or +./config.status if you've already run ./configure). + +You will need to install the translated files to be able to test them. diff -r ffa154f3d0d1 -r 8f9648cc0548 TODO --- a/TODO Thu Feb 01 01:17:47 2007 +0000 +++ b/TODO Sat Mar 08 00:05:55 2008 +0000 @@ -39,6 +39,17 @@ ideas / feature requests - auto-show and auto-hide toolbar Based on pointer position; needs a timeout, poss. also a pointer shape change. +- keyboard shortcut profiles, or at least equivalent shortcuts; + "xine-ui profile"? + [rourke on #xine] + +- frame single-stepping + [roguebug on #xine] + +- 'skip' buttons +- some sort of UI editor + [kalikiana on #xfce] + unsorted stuff ============== diff -r ffa154f3d0d1 -r 8f9648cc0548 autogen.sh --- a/autogen.sh Thu Feb 01 01:17:47 2007 +0000 +++ b/autogen.sh Sat Mar 08 00:05:55 2008 +0000 @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2000-2003 the xine project +# Copyright (C) 2000-2006 the xine project # # This file is part of xine, a unix video player. # @@ -18,8 +18,6 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA # -# $Id: autogen.sh,v 1.12 2006-02-21 19:06:09 dsalt Exp $ -# # Maintained by Stephen Torri # # run this to generate all the initial makefiles, etc. @@ -27,9 +25,10 @@ PROG=gxine PROG=gxine # Minimum value required to build -WANT_AUTOMAKE_1_9=1 export WANT_AUTOMAKE_1_9 -AUTOMAKE_MIN=1.9.0 -AUTOCONF_MIN=2.53 +WANT_AUTOMAKE_1_8=1 export WANT_AUTOMAKE_1_8 +WANT_AUTOMAKE=1.8 export WANT_AUTOMAKE +AUTOMAKE_MIN=1.8.0 +AUTOCONF_MIN=2.59 LIBTOOL_MIN=1.4.0 # Check how echo works in this /bin/sh @@ -200,7 +199,7 @@ run_automake () { #------------------- detect_aclocal() { - # if no automake, don't bother testing for aclocal + # if no automake, don't bother testing for aclocal; set -- `type aclocal 2>/dev/null` RETVAL=$? NUM_RESULT=$# @@ -229,9 +228,14 @@ run_aclocal () { fi echo $_echo_n " + Running aclocal: $_echo_c" - aclocalinclude=`if [ ! -z "$XINE_CONFIG" ]; then $XINE_CONFIG --acflags; else xine-config --acflags; fi` - - aclocal -I m4 $aclocalinclude + + aclocalinclude=`if [ ! -z "$XINE_CONFIG" ]; then + $XINE_CONFIG --acflags + else + pkg-config --atleast-version 1.1.90 libxine && pkg-config --variable=acflags libxine || xine-config --acflags + fi` + + aclocal -I m4 -I m4/gettext $aclocalinclude echo "done." } diff -r ffa154f3d0d1 -r 8f9648cc0548 browser-plugin/Makefile.am --- a/browser-plugin/Makefile.am Thu Feb 01 01:17:47 2007 +0000 +++ b/browser-plugin/Makefile.am Sat Mar 08 00:05:55 2008 +0000 @@ -10,7 +10,7 @@ plugin_headers = jri.h \ npupp.h \ plugin.h -AM_CFLAGS = @CFLAGS@ @GNU99@ @NSPR_CFLAGS@ $(X_CFLAGS) -DMOZ_X11 +AM_CFLAGS = $(CFLAGS) $(GNU99) $(NSPR_CFLAGS) $(X_CFLAGS) -DMOZ_X11 libdir = $(GXINE_PLUGINPATH) @@ -24,7 +24,7 @@ gxineplugin_la_LDFLAGS = -avoid-version gxineplugin_la_LDFLAGS = -avoid-version -module gxineplugin_la_LIBADD = -lm $(X_LIBS) $(X_EXTRA_LIBS) -lX11 -lXt -lXaw $(DYNAMIC_LD_LIBS) -debug: CFLAGS=$(DEBUG_CFLAGS) $(X_CFLAGS) +debug: CFLAGS=$(DEBUG_CFLAGS) debug: all install-debug: debug diff -r ffa154f3d0d1 -r 8f9648cc0548 browser-plugin/plugin.c --- a/browser-plugin/plugin.c Thu Feb 01 01:17:47 2007 +0000 +++ b/browser-plugin/plugin.c Sat Mar 08 00:05:55 2008 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000-2004 the xine project + * Copyright (C) 2000-2007 the xine project * * This file is part of xine, a free video player. * @@ -16,8 +16,6 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - * - * $Id: plugin.c,v 1.33 2006-02-21 19:06:11 dsalt Exp $ * * xine plugin for mozilla * @@ -156,6 +154,8 @@ char *NPP_GetMIMEDescription(void) { "audio/x-mpeg3: mp3: MPEG audio;" "audio/mpeg: mpa,abs,mpega: MPEG audio;" "audio/x-mpeg: mpa,abs,mpega: MPEG audio;" + "audio/mpegurl: m3u: MPEG URL;" + "audio/x-mpegurl: m3u: MPEG URL;" "video/quicktime: mov,qt: Quicktime animation;" "video/x-quicktime: mov,qt: Quicktime animation;" "video/msvideo: avi: AVI animation;" diff -r ffa154f3d0d1 -r 8f9648cc0548 browser-plugin/plugin.h --- a/browser-plugin/plugin.h Thu Feb 01 01:17:47 2007 +0000 +++ b/browser-plugin/plugin.h Sat Mar 08 00:05:55 2008 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002 the xine project + * Copyright (C) 2002-2006 the xine project * * This file is part of xine, a free video player. * @@ -17,8 +17,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * - * $Id: plugin.h,v 1.2 2006-02-21 19:06:11 dsalt Exp $ - * * common header, declares various functions */ diff -r ffa154f3d0d1 -r 8f9648cc0548 configure.ac --- a/configure.ac Thu Feb 01 01:17:47 2007 +0000 +++ b/configure.ac Sat Mar 08 00:05:55 2008 +0000 @@ -1,13 +1,15 @@ AC_PREREQ(2.59) AC_PREREQ(2.59) -AC_INIT([gxine], [0.5.11]) +AC_INIT([gxine], [0.5.901]) AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_HEADERS([include/config.h]) -AM_INIT_AUTOMAKE([dist-bzip2]) +AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip]) AM_MAINTAINER_MODE dnl AM_ACLOCAL_INCLUDE(m4) AC_GNU_SOURCE + +XINE_LIB_MIN_VER=1.1.8 dnl --------------------------------------------- dnl Check for programs. @@ -71,9 +73,20 @@ AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT([external]) dnl --------------------------------------------- -dnl Checks for X11 -dnl --------------------------------------------- -AC_PATH_XTRA +dnl Checks for X11 and Xcb +dnl --------------------------------------------- + +GXINE_CHECK_X11_XCB + +dnl --------------------------------------------- +dnl socket library +dnl --------------------------------------------- + +dnl Test for socket and network support library +NET_LIBS="" +AC_CHECK_LIB(socket, socket, NET_LIBS="-lsocket $NET_LIBS",) +AC_CHECK_LIB(nsl, gethostbyname, NET_LIBS="-lnsl $NET_LIBS",) +AC_SUBST(NET_LIBS) dnl --------------------------------------------- dnl Check for libsmjs (spidermonkey) @@ -105,17 +118,10 @@ dnl ------------------------------------ dnl --------------------------------------------- dnl check for gtk 2.6 or later dnl --------------------------------------------- -PKG_CHECK_MODULE_ATLEAST(GLIB2, glib-2.0, 2.6.0) -PKG_CHECK_MODULE_ATLEAST(GTK2, gtk+-2.0, 2.6.0) -PKG_CHECK_MODULE_ATLEAST(GTHREAD2, gthread-2.0, 2.6.0) -dnl PKG_CHECK_EXISTS(pango >= 1.12.0, [], -dnl [AC_MSG_WARN([you have libpango older than 1.12.0 - text containing invalid UTF-8 may not be displayed])]) -dnl (replaced for compatibility with pkg-config in sarge) -if AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "pango >= 1.12.0"]); then - : -else - AC_MSG_WARN([you have libpango older than 1.12.0 - text containing invalid UTF-8 may not be displayed]) -fi +PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.8.0) +PKG_CHECK_MODULES(GLIB2, glib-2.0 >= 2.10.0) +PKG_CHECK_MODULES(GTHREAD2, gthread-2.0 >= 2.10.0) +PKG_CHECK_MODULES(PANGO, pango >= 1.12.0) saved_CFLAGS="$CFLAGS" saved_LIBS="$LIBS" CFLAGS="$CFLAGS $GLIB2_CFLAGS" @@ -145,6 +151,26 @@ LIBS="$saved_LIBS" LIBS="$saved_LIBS" dnl --------------------------------------------- +dnl HAL (for hardware information) +dnl --------------------------------------------- + +AC_ARG_WITH([hal], + AS_HELP_STRING([--without-hal], [disable HAL support (for device info etc.)]), + [requested=Y], [requested=N]) +if test "x$with_hal" != 'xno'; then + with_hal=yes + if test "x$requested" = "xY"; then + PKG_CHECK_MODULES(HAL, hal) + else + PKG_CHECK_MODULES(HAL, hal, [], [with_hal=no; AC_MSG_RESULT([no])]) + fi +fi +if test "$with_hal" = yes; then + AC_DEFINE(WITH_HAL, 1, [Define if HAL is present and you want to use it.]) + GXINE_HAL_DEVICE_INFO +fi + +dnl --------------------------------------------- dnl GNOME screensaver, DBus dnl --------------------------------------------- AC_PATH_PROG(GSSCMD, gnome-screensaver-command) @@ -190,12 +216,13 @@ dnl ------------------------------------ dnl --------------------------------------------- dnl XTest Extension dnl --------------------------------------------- +ac_have_xtest=no AC_ARG_ENABLE(defeat-screensaver-via-xtest, AS_HELP_STRING(--enable-defeat-screensaver-via-xtest, [enable defeating the screen blanker via fake key presses (if XTest is supported)]), if test "x$enableval" = xno; then xtest=no; else xtest=yes; fi, xtest=no) -if test "$xtest" = yes; then +if test "x$xtest" != xno; then XTEST_LIBS='' AC_CHECK_LIB(Xtst, XTestFakeKeyEvent, [AC_CHECK_HEADER([X11/extensions/XTest.h], @@ -219,14 +246,17 @@ if test "x$with_xinerama" != "xno"; then if test "x$with_xinerama" != "xno"; then saved_CFLAGS="$CFLAGS" saved_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK2_CFLAGS" + CFLAGS="$CFLAGS $X_CFLAGS $GTK2_CFLAGS" ac_have_xinerama=yes + XINERAMA_LIBS='' AC_CHECK_LIB(Xinerama, XineramaQueryExtension, [AC_CHECK_HEADER([X11/extensions/Xinerama.h], + XINERAMA_LIBS=-lXinerama [AC_DEFINE(HAVE_XINERAMA,,[Define this if you have libXinerama])], [ac_have_xinerama=no])], [ac_have_xinerama=no], [$X_LIBS $X_PRE_LIBS -lXext $X_EXTRA_LIBS]) + AC_SUBST(XINERAMA_LIBS) test $requested = Y && test $ac_have_xinerama = no && AC_MSG_ERROR([xinerama was requested but not found]) CFLAGS="$saved_CFLAGS" @@ -241,7 +271,7 @@ dnl ------------------------------------ dnl --------------------------------------------- saved_CFLAGS="$CFLAGS" saved_LIBS="$LIBS" -CFLAGS="$CFLAGS $GTK2_CFLAGS" +CFLAGS="$CFLAGS $X_CFLAGS $GTK2_CFLAGS" AC_CHECK_LIB(Xrandr, XRRQueryExtension, [AC_DEFINE(HAVE_XRANDR,,[Define this if you have libXrandr installed (and GTK+2 uses it)]) ac_have_xrandr=yes], @@ -274,13 +304,13 @@ dnl ------------------------------------ dnl --------------------------------------------- dnl Check for xine-lib dnl --------------------------------------------- -AM_PATH_XINE(1.0.1,, AC_MSG_ERROR([*** Please install xine-lib (devel) first ***])) +AM_PATH_XINE([$XINE_LIB_MIN_VER],, AC_MSG_ERROR([*** Please install xine-lib (devel) first ***])) dnl Extract xine-lib's text domain name LIB_PACKAGE="libxine`echo '#define ENABLE_NLS #include - XINE_MAJOR_VERSION' | $CPP $CPPFLAGS - | sed -e '$! d; s/^ \+//'`" -if test "$LIB_PACKAGE" = ''; then + XINE_MAJOR_VERSION' | $CPP $CPPFLAGS $XINE_CFLAGS - | sed -e '$!d; s/^ \+//'`" 2>/dev/null +if test "$LIB_PACKAGE" = 'libxine'; then AC_MSG_ERROR([Couldn't determine xine-lib's text domain name]) fi AC_DEFINE_UNQUOTED(LIB_PACKAGE,"$LIB_PACKAGE",[xine-lib's text domain name]) @@ -398,6 +428,20 @@ dnl AC_MSG_RESULT([installed version, dnl AC_MSG_RESULT([installed version, using no newer features (except menu icons)]) dnl fi +if test x"$with_xcb" != xno; then + AC_MSG_CHECKING([whether to enable workaround for libXi deadlock on Solaris]) + AC_ARG_ENABLE(sun-xlib-workaround, + AS_HELP_STRING(--enable-sun-xlib-workaround, + [enable workaround for libXi deadlock on Solaris]), + if test "$enableval" = no; then sun_xlib_workaround=no; else sun_xlib_workaround=yes; fi, + sun_xlib_workaround=no) + if test "$sun_xlib_workaround" = yes; then + AC_DEFINE(USE_SUN_XLIB_WORKAROUND, 1, + [Define if you are experiencing a hang in gxine on Solaris]) + fi + AC_MSG_RESULT($sun_xlib_workaround) +fi + AC_MSG_CHECKING([whether to enable the watchdog (will abort gxine if it hangs)]) AC_ARG_ENABLE(watchdog, AS_HELP_STRING(--enable-watchdog, @@ -446,6 +490,20 @@ fi fi AC_MSG_RESULT($deprecated) +if test "$deprecated" = yes; then + AC_MSG_CHECKING([whether to include obsolete features]) + AC_ARG_ENABLE(obsolete, + AS_HELP_STRING(--enable-obsolete, + [include obsolete features, e.g. old Javascript functions]), + if test "$enableval" != yes; then obsolete=no; else obsolete=yes; fi, + obsolete=no) + if test "$obsolete" = yes; then + AC_DEFINE(WITH_OBSOLETE, 1, + [Define if you want gxine to be built with obsolete features]) + fi + AC_MSG_RESULT($obsolete) +fi + dnl --------------------------------------------- dnl Debugging options dnl --------------------------------------------- @@ -483,6 +541,19 @@ AC_SUBST(DEBUG_CFLAGS) AC_SUBST(DEBUG_CFLAGS) AC_SUBST(DEBUG_LDFLAGS) +dnl --------------------------------------------- +dnl PNG versions of our SVG icons +dnl --------------------------------------------- + +OPTIPNG='' +AC_PATH_PROG(RSVG, rsvg) +if test "x$RSVG" != x; then + AC_PATH_PROG(OPTIPNG, optipng) +fi +AM_CONDITIONAL(MAKE_PNG, test "x$RSVG" != x) +AM_CONDITIONAL(OPTIMISE_PNG, test "x$OPTIPNG" != x) + + GXINE_PLUGINDIR="$libdir/gxine" eval GXINE_PLUGINPATH=`eval echo "$GXINE_PLUGINDIR"` AC_DEFINE_UNQUOTED(GXINE_PLUGINDIR,"$GXINE_PLUGINPATH",[where to install the browser plugin]) @@ -525,9 +596,10 @@ AC_DEFINE_UNQUOTED(GXINE_CONFDIR,"$GXINE AC_DEFINE_UNQUOTED(GXINE_CONFDIR,"$GXINE_CONFPATH",[where to install conf files]) AC_SUBST(GXINE_CONFPATH) -AC_ARG_VAR([VENDOR_PKG_VERSION], [vendor build identifier string (default is the upstream version number, suffixed with "release" or "CVS snapshot")]) +AC_ARG_VAR([VENDOR_PKG_VERSION], [vendor build identifier string (default is the upstream version number, suffixed with "release" or identifying a snapshot type)]) POST_VERSION=release -if test -d .hg || expr "$(basename "$(pwd)")" : 'gxine-[[0123456789abcdef]]\{12\}$' >/dev/null; then +PWD="`pwd`" +if test -d .hg || expr "`basename $PWD`" : 'gxine-[[0123456789abcdef]]\{12\}$' >/dev/null; then POST_VERSION='hg snapshot' elif test -d CVS; then POST_VERSION='CVS snapshot' @@ -538,6 +610,7 @@ AC_MSG_NOTICE([using build identifier: " AC_MSG_NOTICE([using build identifier: "$VENDOR_PKG_VERSION"]) AC_DEFINE_UNQUOTED(VENDOR_PKG_VERSION,"$VENDOR_PKG_VERSION",[package build identifier, e.g. vendor name and package version]) +AC_SUBST(MANLINGUAS,["de en es"]) AC_CONFIG_FILES([ Makefile src/Makefile @@ -547,8 +620,10 @@ doc/man/Makefile doc/man/Makefile doc/man/de/Makefile doc/man/en/Makefile +doc/man/es/Makefile include/Makefile m4/Makefile +m4/gettext/Makefile misc/Makefile misc/build_rpms.sh misc/gxine.spec @@ -557,5 +632,10 @@ po/Makefile.in ]) dnl doc/C/Makefile -AC_CONFIG_COMMANDS([default],[[chmod +x ./misc/build_rpms.sh]],[[]]) +AC_CONFIG_COMMANDS([default], + [[chmod +x ./misc/build_rpms.sh; echo ' +#ifdef DEBUG +# undef WITH_WATCHDOG +#endif' >> include/config.h +]],[[]]) AC_OUTPUT diff -r ffa154f3d0d1 -r 8f9648cc0548 debian/changelog --- a/debian/changelog Thu Feb 01 01:17:47 2007 +0000 +++ b/debian/changelog Sat Mar 08 00:05:55 2008 +0000 @@ -1,3 +1,16 @@ gxine (0.5.11-1) unstable; urgency=low +gxine (0.5.900-1) experimental; urgency=low + + * Development non-release. + * Build-depend on libhal-dev. + * Removed old build-dep alternatives and updated required versions. + Buildable on etch, but no longer on sarge. + * Build with --with-logo-format=image due to the xine-lib 1.1.4 package split + in experimental. + * Depend on libxcb1-dev, given a new-enough X installation. + * Depend on libxine2-dev | libxine-dev. + + -- Darren Salt Sat, 02 Jun 2007 18:06:49 +0100 + gxine (0.5.11-1) unstable; urgency=low * New upstream release. Mainly fixes for GTK+ 2.10. diff -r ffa154f3d0d1 -r 8f9648cc0548 debian/control --- a/debian/control Thu Feb 01 01:17:47 2007 +0000 +++ b/debian/control Sat Mar 08 00:05:55 2008 +0000 @@ -3,8 +3,15 @@ Priority: optional Priority: optional Maintainer: Siggi Langauf Uploaders: Darren Salt -Build-Depends: debhelper (>> 4.0.0), libxine-dev (>= 1.0), libgtk2.0-dev, libxaw7-dev, libxtst-dev, libmozjs-dev | libsmjs-dev, liblircclient-dev, libdbus-glib-1-dev | dbus-glib-1-dev +Build-Depends: debhelper (>> 4.0.0), + libxine2-dev | libxine-dev (>= 1.1), libgtk2.0-dev (>= 2.8.0), + libmozjs-dev, liblircclient-dev, + libdbus-glib-1-dev, libhal-dev, + libxcb1-dev | x11-common (<< 1:7.2), + libxaw7-dev, libxtst-dev Standards-Version: 3.7.2 +XS-Vcs-hg: http://hg.debian.org/hg/xine-lib/gxine +XS-Vcs-Browser: http://hg.debian.org/hg/xine-lib/gxine Package: gxine Architecture: any diff -r ffa154f3d0d1 -r 8f9648cc0548 debian/rules --- a/debian/rules Thu Feb 01 01:17:47 2007 +0000 +++ b/debian/rules Sat Mar 08 00:05:55 2008 +0000 @@ -67,7 +67,8 @@ configure-stamp: dh_testdir ./configure $(confflags) \ --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc \ - --disable-integration-wizard \ + --disable-integration-wizard --enable-watchdog \ + --with-logo-format=image \ VENDOR_PKG_VERSION="`dpkg-parsechangelog | sed -ne '/^Version:/ { s/^.* //; p }'`; $(VENDOR)" \ GSSCMD=/usr/bin/gnome-screensaver-command \ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" diff -r ffa154f3d0d1 -r 8f9648cc0548 doc/Keybindings-HOWTO --- a/doc/Keybindings-HOWTO Thu Feb 01 01:17:47 2007 +0000 +++ b/doc/Keybindings-HOWTO Sat Mar 08 00:05:55 2008 +0000 @@ -50,3 +50,243 @@ Most of these are already in the default Other gxine commands can be found by running gxine_client and typing "help();" or "event();". + +Here's a list, correct as of 5 April 2007: + +Available commands (gxine Javascript interface): + + Engine control: + exit () + callback (Javascript) + play ([mrl] [, pos, time]) /* time in milliseconds */ + get_time () /* stream time index */ + get_pos () /* stream position (%) */ + has_time () /* whether the stream has a time index */ + pause ([bool]) + stop () + eject () + play_pause ([bool]) + snapshot ([file name [, scale, blend]]) + set_vis (string) /* visualisation name */ + event /* stream_end=JS */ + + Dialogue boxes: + js_console_show () + about_show () + startup_cmds_show () + log_show () + preferences_show () + playlist_show () + settings_show () + settings_revert () + settings_reset () + settings_clear () + mm_add_show () + mm_manage_show () + keybindings_show () + keypad_show () + deinterlace_show () + postproc_video_show () + postproc_audio_show () + stream_info_show ([bool]) + + Playlist control: + playlist_clear () + playlist_flush () + playlist_load (file) + playlist_add (MRL[, title]) + playlist_delete (int) + playlist_play (int) /* playlist entry number */ + playlist_get_item () + + File access: + open_show () + open_mrl_show () + import_mediamarks () + + Properties: + xine_cfg_get () + xine_cfg_set () + set_video_size (int) + is_live_stream () + vo_zoom.x /* v=int, min, max; video zoom (within window) */ + vo_zoom.y /* v=int, min, max; video zoom (within window) */ + vo_fullscreen.sticky /* v=bool, toggle(); forced stickiness in full-screen mode */ + toolbar.fs.at_top /* v=bool, toggle(): full-screen toolbar position */ + toolbar.wm.snap /* v=bool, toggle(): windowed-mode toolbar attachment */ + toolbar.fs /* v=bool, toggle(): full-screen toolbar visibility */ + toolbar.wm /* v=bool, toggle(): windowed-mode toolbar visibility */ + playlist.repeat /* v=bool, toggle() */ + playlist.repeat_track /* v=bool, toggle() */ + playlist.random /* v=bool, toggle() */ + av_speed /* v=int, min, max; playback speed */ + vo_aspect /* v=int; aspect ratio */ + vo_subtitle /* v=int, min, max; subtitle channel */ + vo_zoom /* v=int, min, max; video zoom (within window) */ + ao_mute /* v=bool, toggle(): audio mute */ + vo_auto_resize /* v=bool, toggle(): auto-resize video on frame shape change */ + vo_auto_rescale /* v=bool, toggle(): double size of low-resolution video */ + vo_fullscreen /* v=bool, toggle(): full-screen mode */ + vo_deinterlace /* v=bool, toggle(): enable deinterlacing */ + ao_postproc /* v=bool, toggle(): audio post-processing; chain=string: plugin chain */ + vo_postproc /* v=bool, toggle(): video post-processing; chain=string: plugin chain */ + wm_unblank /* v=bool, toggle(): unblanking in windowed mode */ + toolbar + ao_volume /* v=int, min, max; revert(), reset() */ + ao_compressor /* v=int, min, max; revert(), reset() */ + ao_amplifier /* v=int, min, max; revert(), reset() */ + av_sync /* v=int, min, max; revert(), reset() */ + spu_sync /* v=int, min, max; revert(), reset() */ + vo_hue /* v=int, min, max; revert(), reset() */ + vo_saturation /* v=int, min, max; revert(), reset() */ + vo_contrast /* v=int, min, max; revert(), reset() */ + vo_brightness /* v=int, min, max; revert(), reset() */ + eq_30 /* v=int, min, max; revert(), reset() */ + eq_60 /* v=int, min, max; revert(), reset() */ + eq_125 /* v=int, min, max; revert(), reset() */ + eq_250 /* v=int, min, max; revert(), reset() */ + eq_500 /* v=int, min, max; revert(), reset() */ + eq_1K /* v=int, min, max; revert(), reset() */ + eq_2K /* v=int, min, max; revert(), reset() */ + eq_4K /* v=int, min, max; revert(), reset() */ + eq_8K /* v=int, min, max; revert(), reset() */ + eq_16K /* v=int, min, max; revert(), reset() */ + playlist + + Input event generation (DVD menus etc.): + input_up () + input_down () + input_left () + input_right () + input_select () + input_menu (int) /* range is 1 to 7 */ + input_menu1 () + input_menu2 () + input_menu3 () + input_previous () + input_next () + event (string) /* event; returns true if sent */ + + External program support: + vdr (string) /* VDR event; returns true if sent */ + + +Events + + LEFT + MENU1 + MENU2 + MENU3 + MENU4 + MENU5 + MENU6 + MENU7 + NEXT + NUMBER_0 + NUMBER_1 + NUMBER_10_ADD + NUMBER_2 + NUMBER_3 + NUMBER_4 + NUMBER_5 + NUMBER_6 + NUMBER_7 + NUMBER_8 + NUMBER_9 + PREVIOUS + RIGHT + SELECT + UP + 0 + 1 + 10 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + - + + +VDR events + +VDR_* + AUDIO + BACK + BLUE + CHANNELMINUS + CHANNELPLUS + CHANNELPREV + CHANNELS + COMMANDS + FASTFWD + FASTREW + GREEN + INFO + MUTE + PAUSE + PLAY + POWER + RECORD + RECORDINGS + RED + SCHEDULE + SETUP + STOP + TIMERS + USER1 + USER2 + USER3 + USER4 + USER5 + USER6 + USER7 + USER8 + USER9 + VOLMINUS + VOLPLUS + YELLOW + +INPUT_*: + ANGLE_NEXT + ANGLE_PREVIOUS + DOWN + LEFT + MENU1 + MENU2 + MENU3 + MENU4 + MENU5 + MENU6 + MENU7 + NEXT + NUMBER_0 + NUMBER_1 + NUMBER_10_ADD + NUMBER_2 + NUMBER_3 + NUMBER_4 + NUMBER_5 + NUMBER_6 + NUMBER_7 + NUMBER_8 + NUMBER_9 + PREVIOUS + RIGHT + SELECT + UP + 0 + 1 + 10 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + - diff -r ffa154f3d0d1 -r 8f9648cc0548 doc/Makefile.am --- a/doc/Makefile.am Thu Feb 01 01:17:47 2007 +0000 +++ b/doc/Makefile.am Sat Mar 08 00:05:55 2008 +0000 @@ -3,7 +3,7 @@ SUBDIRS = man SUBDIRS = man debug: all -install-debug: debug +install-debug: install mostlyclean-generic: -rm -f *~ \#* .*~ .\#* diff -r ffa154f3d0d1 -r 8f9648cc0548 doc/Skin-HOWTO --- a/doc/Skin-HOWTO Thu Feb 01 01:17:47 2007 +0000 +++ b/doc/Skin-HOWTO Sat Mar 08 00:05:55 2008 +0000 @@ -2,8 +2,8 @@ GXINE APPEARANCE HOWTO ---------------------- There are four files which specifically control gxine's appearance. These -files will normally be found in etc/gxine or /usr/local/etc/gxine, but you -/can override them in ~/.gxine. +files will normally be found in /etc/gxine or /usr/local/etc/gxine, but you +can override them in ~/.gxine. gtkrc toolbar-window.xml @@ -76,7 +76,8 @@ Properties common to all widgets: label="LABEL" text label for the item (if stock is not present) image="STOCK" stock image for the item (if stock is not present) * If none of the above attributes are present, then the - button's content is created from child widgets. + button's content is created from child widgets and the + button acts as an . alt="LABEL" text to use if STOCK is unknown (if image is used, label must be undefined) relief="RELIEF" button border style ("normal", "half", "none") @@ -94,6 +95,7 @@ Properties common to all widgets: vertical=BOOL whether the slider is horizontal or vertical show-value=BOOL whether the slider's value is shown inverted=BOOL whether the slider's "increment" direction is reversed + popup=BOOL whether the slider is presented in a pop-up Widget types: Buttons: @@ -119,6 +121,19 @@ Properties common to all widgets: vslider render as a vertical slider spin render as a spin button + If the 'popup' property is set, then the slider is presented as a + button with a pop-up window. As such, the slider acts as a