[7a6260]: ChangeLog Maximize Restore History

Download this file

ChangeLog    1003 lines (959 with data), 50.3 kB

0.5.906: 2010/??/??
	* Reset pointer shape on stream stop/eject.
	* Use re-entrant versions of xine-lib's XML parser functions
	  (if available).
	* gxine.desktop now says that gxine can accept files or URLs.
	* Handle gamma, sharpness and noise reduction controls (if supported
	  by the selected video output driver).
	* Add vo_*.available (whether a given control is available).

0.5.905: 2010/01/01
	* Fix a build problem affecting LIRC in the absence of a pkgconfig
	  file for liblircclient.
	* Report snapshot-saving errors.
	* Allow use of libgudev instead of libhal (which remains default)
	  for acquiring device information for use in the prefs window.
	* Add x-content/video-{dvd,svcd,vcd}, but in an extra MIME types
	  file (for the convenience of xine-list-* users).
	* Fixed up library usage. gxine should now be linkable with
	  --no-add-needed.
	* Use a 'hand' pointer shape when over a SPU button (typically, a
	  DVD menu button). (Not reset on full-screen toggle.)
	* Double-click ⇒ toggle full-screen (unless the pointer is over a
	  button or left one within the last second).

0.5.904: 2009/04/01
	* Add a lock to avoid a race which can cause GTK crashes when
	  updating the console log window.
	* Cope better with invalid UTF-8 when adding text to log buffers.
	* Properly encode name & password for HTTP auth. (xine-lib 1.2)
	* If the user cancels the HTTP auth dbox, don't re-ask if repeating.
	* Avoid multiple instantiations if ~/.gxine is missing.
	* Split full-screen stickiness control into a default flag (set via
	  the prefs window) and a runtime flag (set via the View menu).
	* Add x-content/video-dvd etc. to the MIME types list in the desktop
	  file.
	* Use and prefer to use xdg-screensaver (where available) for
	  screensaver defeating. Disabled by default.
	* Disable hiding of the video window (via "hide video" or the tray
	  icon) when in full-screen mode, else gxine will crash (BadMatch).
	* Don't crash when notified of the creation of a system tray.

0.5.903: 2008/06/12
	* Apply auto-detection of DVD and VCD images to files & directories
	  which are dragged to gxine.
	* Fixed a problem which would cause a segfault during startup if
	  built against xine-lib 1.1.12 but used with an older version.
	* Combine pairs of message dialogue boxes into single dboxes.
	* Console output is now duplicated in a new "console" tab in the log
	  window.
	* The log window content is now oldest entry first.
	* The log window's "refresh" button is not present if used with
	  xine-lib 1.1.13 or later (log callback is now implemented).
	  Instead, there's a "clear" button which works per tab.

0.5.902: 2008/04/17
	[dsalt]
	* Fixed MIME type breakage in gxine.desktop.
	* Fixed init with LIRC running but no valid remote control.
	  (Workaround for a LIRC bug.)
	* Timeout fixups for when loading a playlist MRL over HTTP.
	  (This is a workaround. If you're compiling for use with xine-lib
	   1.2, configuring with --disable-own-playlist-parsers may be a
	   better option.)
	* List only those video output plugins which require X (if built for
	  xine-lib >= 1.1.12.)

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.
	  Without this, they wouldn't work if they were initially shaded.
	* 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. [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...

0.5.10:	2007/01/08
	[dsalt]
	* SECURITY FIX (local exploit, CVE-2007-0406)
	  This version fixes a potential buffer overflow in gxine's server
	  component and in gxine_client. This overflow would occur were $HOME
	  sufficiently long - 94 bytes or more would cause socket creation or
	  connection failure, and 242 bytes or more would cause a segfault or
	  possible arbitrary code execution. (Bug 1629224)

	* DBus support is now enabled by default (for gnome-screensaver).
	* Add support for gnome-screensaver >= 2.15 & fix a build bug.
	  (Bug 1617260, patch from Michel Salim)
	* Whoops. The GNOME screensaver could still be activated despite
	  gxine's configuration when in windowed mode.
	* Added 'CHANNELPREV' event (for vdr-xine 0.7.10).
	* Deferred preferences window initialisation until it's actually
	  opened. (This noticeably speeds up startup.)
	* Fixed some indexing errors in the playlist drag&drop code.
	* Some small filename buffer usage cleanups.

0.5.9:	2006/12/16
	[dsalt]
	* Added some code to cope with xscreensaver blanking the screen.
	  (Ubuntu bug 64136) (original patch by Jani Monoses <jani@ubuntu.com>)
	* Cope with building when using Seamonkey libjs. (Gentoo bug 151088)
	* Fixes for when closing the 'about' dialogue box. (Ubuntu bug 64134)
	* Fixed a bug which could cause gxine to hang (in X client libs)
	  during startup if it should try to report an error.
	* Fixed a bug which would cause millions of errors when trying and
	  failing to display the logo image, e.g. if something which is
	  expected to be present, such as the MPEG elementary stream demuxer,
	  is missing.
	* Altered gxine.desktop for HIG compliance. (Based on Ubuntu bug 74979)
	* Avoid the possibility of a few (harmless) warnings during startup.
	* Correctly display preference items which have instant effects.
	* Added a simple segfault handler.
	* Added an option to show time remaining for the current stream
	  instead of time elapsed. This can be toggled temporarily by
	  clicking on the elapsed/remaining time display.
	* Added --geometry option (standard X-style). While this sets the
	  initial position & size, the size is then overridden by the video.
	* Added a config item to control whether the display is kept
	  unblanked during *any* playback (with video or visualisation),
	  much as for fullscreen mode. Default is off (unchanged behaviour).
	* Added tooltips to the post-plugin parameter value widgets.
	  Whether these are translated is up to the post plugin.
	* Altered the plugin chain windows' preferences buttons so that it's
	  clearer which plugins are being configured.
	* Replace F10 hard-wiring with usage of gtk-menu-bar-accel.
	* Don't set the primary selection when copying - this is clipboard
	  territory.
	* Allow compile-time logo file format selection.
	  Choose between "mpeg" (logo.mpv; needs MPEG elementary demuxer) and
	  "image" (logo.jpg; requires the image demuxer). The default is mpeg.
	* Added JS playlist.repeat & playlist.random, both with value 'v' and
	  method 'toggle()'.
	* Bumped minimum automake requirement to 1.9.

	[dpettenò]
	* Fix building on FreeBSD, replace a recursive pthread mutex with
	  glib's equivalent.

0.5.8:	2006/10/07
	[dsalt]
	* Added support for editable menu shortcuts.
	* Another VO deinterlacer fix - 0.5.7 broke support for tvtime,
	  though pp worked better.
	* Fixed a typo in configure.ac (affecting Xinerama options).
	* Upgraded npapi.h from mozilla-dev (Debian). This fixes the browser
	  plugin on 64-bit.
	* Improved the display of the plugin help text.
	* Fixed a locking bug which could cause gxine to hang on exit.
	* Re-marked windows as transient-for (broken in 0.5.7).
	* Display timestamps in log entries differently (needs xine-lib 1.1.3).
	* New keymap description handling: untranslated text is stored in the
	  bindings file and unmodified default text is translated for display.
	* Minor cleanups (configuration file names, g_build_filename etc.).
	* Use the monitor width rather than the logical screen width for the
	  full-screen toolbar. Fixes a problem in Xinerama side-by-side mode.
	* Oops. XRandR support got broken ages ago... check for it again.
	* Unbreak Xinerama check on XFree86 (at least, on 4.3 in Debian sarge).
	* Improved the toolbar focus handling somewhat.
	* Fixed F10 in full-screen mode when using combined video/toolbar
	  window in windowed mode.
	* Added a JS "eject()" function and a key binding entry for it.
	* Don't use dbus if gnome-screensaver isn't available, and don't
	  provide a default path for it at build time.
	* HTTP redirect support (playlists etc.) (Ubuntu bug 60007)
	* Allow --help & --version to work without $DISPLAY being set.

0.5.7:	2006/07/05
	[dsalt]
	* Restored disabling of VO deinterlacer when there are active
	  deinterlacer plugins. I finally realised what was missing...
	* Added names to some windows for use in ~/.gxine/gtkrc: video,
	  fs_toolbar, wm_toolbar.
	* Added a few name attributes to the toolbar XML and some example style
	  info (commented out) to the default gtkrc for the full-screen toolbar.
	* When determining a default MRL title, resolve symbolic links.
	* Prevent text insertion before the system-wide startup script.
	* A couple of Undo shortcuts got missed in 0.5.6.
	* Fixed some problems with switching to/from full-screen.
	* Fixed a startup bug in the window size submenu. (Bug 1487691)
	* Fixed a bug which prevented the video window from being shrunk.
	  (Ubuntu bug 46403)
	* Fixed a problem with update of the window size menu.
	* Hopefully fixed a Javascript crash-on-start bug. (Bug 1482697)
	* Added a watchdog which will abort gxine if it hangs for 30s.
	  (Disabled by default.)
	* Italian translation from Diego Pettenò.
	* Build fixes for autoconf 2.59c and later.

0.5.6:	2006/04/30
	[dsalt]
	* Fixed some translation bugs: labels in menus in the prefs window
	  weren't being translated, and some tooltips translations were in the
	  wrong place. (Any prefs window text which still isn't translated is
	  likely to be in xine-lib.)
	* Fixed health check for CD and DVD drives (wrong config option names).
	  Cope with relevant media.*.device being null; set to default when
	  the health check is run.
	* Fixed a couple of possible hangs.
	* Added "splash screen" config option. (Bug 1445189)
	* Added -s/--splash to complement -S/--no-splash.
	* Allow the video widget to remain hidden after playing an audio-only
	  stream. (Bug 1393626)
	* Fixed some related resizing problems.
	* Fixed a problem which caused the video widget to be blanked. This is
	  caused when the input focus is passed between the video widget and
	  another widget in the same window; the answer is to prevent the
	  video widget from ever having the input focus.
	  (Bug 1391404) (Debian bug 355906)
	* MRL protocols may contain hyphens (bug 1463224) and numbers.
	  Allow VDR event matching for MRLs beginning with "vdr", not "vdr:/".
	* Fixed compilation failure with -DLOG. (Bug 1463237)
	* Playlist reordering was working with GTK+ 2.6 but not 2.8.
	  Fixed for 2.8.
	* Fixed a problem which caused the volume to be modified regardless on
	  startup. (Bug 1466277)
	* Prevent the main window from reclaiming the input focus if Xinerama
	  is active. (Ubuntu bug 40768)
	* Fix a few problems with the full-screen toolbar - positioning
	  (Xinerama) and input focus.
	* Reworked the JS callback() code to avoid some possible hangs.
	* Include the explanation when displaying messages from xine-lib.
	* {a,v}o_postproc.set_chain() were broken and didn't update the prefs.
	  Added a r/w interface: {a,v}o_postproc.chain.
	* Prevent full-screen mode when the video widget is hidden.
	* Minor display tweaks: quotation marks '' → ‘’, "" → “”.
	  Not done globally, though.
	* The MRL open dbox now has a history (for the current session).
	* Each plugin selector in the plugin chain config windows now has a
	  tooltip which reflects the chosen plugin (if the plugin supplies a
	  short help string).
	* Allow the "load playlist" button to load more than just gxine's
	  own playlist format.
	* Added JS functions playlist_load and playlist_delete.
	* JS function playlist_add can now take a title parameter.
	* Support non-UTF-8 consoles (patch from Led). The default g_print and
	  g_printerr transliteration isn't adequate, though, so we do our own
	  - using GLib functions...
	* More translation markup and a Ukrainian translation (both from Led).
	* Support non-UTF-8 consoles. (Patch from Led.)
	* Restore the window size on exit from full-screen mode (if the user
	  hasn't altered the window size setting).
	* Added a "Reset" option to reset the window size. Basically, this
	  acts like an aspect ratio change...
	* Don't hide tab & border for single-page notebooks in the prefs window.
	* Allow the Undo key to work wherever there's an Undo button.
	* Added some code to cope with gnome-screensaver blanking the screen
	  despite our (previous) best efforts.
	  (Based on totem's screensaver code.) (Ubuntu bug 36153)

0.5.5:	2006/03/08
	[dsalt]
	* Improve handling of negative times.
	* Fix a compile error which occurs when the DPMS extn isn't available.
	  (Bug 1414087)
	* Fix a stupid quoting error in the build-time JS include/lib
	  detection (which broke manual libsmjs detection). (Bug 1422935)
	* Rearranged the JS detection to avoid picking up libmozjs instead
	  of libjs/libsmjs. (Partial fix for bug 1414260)
	* Detect libmozjs via xulrunner-sh.pc. INSTALL is updated accordingly.
	* Added automatic subtitle file handling for 'file:' MRLs, and a
	  corresponding configuration option. (Bug 1368823)
	* Added 75% and 150% to window size menus.
	* Added --command "Javascript" option.
	* Added JS object 'event', currently with one property, 'stream_end',
	  which contains a Javascript string which is executed when the end of
	  the stream is reached.
	* Added DVD title & chapter info to the time widget.
	* Added an indicator to show when the JS console has new content.
	* Shade the "play" button if the playlist is empty.
	* Improved 'live stream' detection (there were some false positives).
	* Reset the seeker bar when the stream is stopped or ended.
	* Stop the current stream before exiting.
	* Tidied up some console-based JS error reporting.
	* No longer remove MRLs from the playlist when they cause more MRLs to
	  be added. Instead, mark the added MRLs with a "play" icon.
	* Removed a few small XML-related memory leaks.
	* Reworked internal JS engine lock usage and some signal handlers
	  which execute JS functions. (We now use recursive mutexes.)
	* Fixed a race between concurrent video widget resize sequences which
	  was sometimes causing the window to have the wrong size.
	  Or at least made this much more unlikely...
	* Fixed a race which occasionally caused gxine to hang during startup.
	* Restored saving of the values (other than the volume level) in the
	  settings window. This also unbreaks xine_cfg_set(), which was only
	  working for string values.
	  This also fixes problems with the setup wizards window being shown
	  every time gxine is started up.
	* Added a ./configure option to disable built-in playlist parsing.
	* Stopped the "open" button in the playlist window from allowing
	  huge files to be loaded. (Partially fixes Ubuntu bug 33493)
	* Added another "open" button to the playlist window's button bar,
	  replacing the "new" button (which now opens the playlist item editing
	  window directly). (Rest of Ubuntu bug 33493)
	* Added a "File..." button to the playlist/mediamark item editing
	  window, like the one in the "open MRL" window.
	* Tweaked the behaviour of the aforementioned "File..." buttons to
	  preserve "#..." if the content of the corresponding input field is
	  not obviously a plain file name.
	* Make the setup wizards window modal unless invoked by the user.
	* Minor display tweaks: 'XxY' => 'X×Y' etc.
	* Fixed gxine.desktop so that it passes validation. (Ubuntu bug 33579)

0.5.4:	2006/01/23
	[dsalt]
	* Added pkgconfig test for firefox-js. (Bug 1389864)
	* Added X_CFLAGS in src/Makefile.am. (Bug 1391488)
	* Allow automatic rewrapping of the "about" window licence text.
	  The pre-wrapped version is adjusted to match (assuming GTK defaults).
	* Removed some locking around video widget resizing (there's a hang
	  which may occasionally occur during startup).
	* Added JS functions xine_cfg_{get,set} for configuration access.
	* Use a geometry constraint to control the main window size instead
	  of frobbing its 'resizable' flag, which was causing problems with
	  some window managers. (Bug 1404641)
	* Added --version option.
	* Reduced the footprint a little by cutting some stack allocation.
	* Removed audio/x-pn-realaudio-plugin from the plugin's types list.
	  xine-lib doesn't know how to handle many current RV streams.
	* Plugged a small memory leak in the plugin.
	* Build-time configuration changes:
	  - Improved various checks (look for and try header files etc.).
	  - Allow xinerama support to be disabled. (Diego Pettenò)
	  - Fail if certain requested features aren't available.
	  - Document VENDOR_PKG_VERSION in --help output.

0.5.3:  2005/12/24
	[dsalt]
	* Fix play speed display breakage in 0.5.2.
	* Fix crash on startup if built without LIRC support.
	* Correct misplaced DnD attributes in the full-screen toolbar.
	* Make deprecated functions generate warnings.
	* Replace one use of a deprecated function.
	* Report parameter errors as errors, not informational messages.
	* Make the XML loading fall back on the files in /etc (or
	  /usr/local/etc) if the corresponding file in ~/.gxine is invalid.
	* Show an error window if there's an XML problem (but not if a file
	  in ~/.gxine isn't found, since this is allowed).
	* Add "small" variants for the time and title widgets.
	* Quit if either toolbar can't be created.
	* Shade the keypad menu item if the keypad window can't be created.
	* Some stock items sneaked into 0.5.2. There are now a few more (see
	  README) and some now have icons.
	* Look for /usr/include/firefox/js/jsapi.h and start using pkgconfig.
	  (Bug 1388725)

0.5.2:  2005/12/20
	[dsalt]
	* Fallout from the icon location changes in 0.5.1:
	  - new stock item "gxine", replacing "gxine-logo" (fixes some icons);
	  - fix up a registration error due to the icon/desktop fixups.
	* Build fixes:
	  - fix detection of /usr/include/jsapi.h;
	  - look for /usr/include/js-1.5/jsapi.h (Götz Waschk);
	  - make --with-spidermonkey=/path/to/include/dir work again;
	  - adjust the config error message for when xine-lib isn't found.
	* Use "Welcome" text instead of an image in the setup dbox.
	* Show the version number in the splash window.
	* Fix a hang in set_video_size() when input from gxine_client.
	* Altered av_speed (playback speed control). xine-lib's clipping of
	  this value can interfere with its setting, so we present a
	  "sanitised" view of this using a "log2" scale (with 0 = pause).
	* XML:
          - allow rendering of sliders as spin buttons and vice versa;
	  - allow sliders' increment direction to be reversed;
	  - fix extraction of translatable text from <button> child elements.
	* Removed the playlist icon in favour of the GTK stock index icon.
	* Mark autoplay MRLs in the playlist with the stock "jump to" icon.
	* Add browsable MRLs (except file: MRLs) to the playlist and mark
	  them with the stock "find" icon. They are replaced shortly after
	  an MRL is launched and may be replaced at at any time via the JS
	  function 'mrl_browser_refresh()'.
	* Prevent editing of autoplay and browsable MRLs.
	* New JS function 'reload_lirc()' (which restarts the LIRC thread,
	  causing a configuration reload).
	* Files can now be dropped on the full-screen toolbar and on the
	  separate windowed-mode toolbar; the first of each group is played
	  immediately unless the drop occurs on the playlist button.
	* Disabled the wm separate toolbar "not kept above" hack since, when
	  sending it to the back, some WMs also send the main window to the
	  back. (If you want this behaviour, add -DWINDOW_STACKING_HACK at
	  build time.)
	* Swedish translation. (Daniel Nylander)
	* Allow overriding of a few remaining hard-wired paths (for testing).
	* Add a test script to allow running entirely from the build dir.
	* gxine_client now exits when its connection to gxine disappears
	  (due to gxine exiting).

0.5.1:	2005/11/29
	[dsalt]
	* COPYING: update FSF address.
	* Don't allow commas in plugin parameters.
	* Fix truncation in plugin char-array parameter undo handling.
	* Don't assume that an mmshttp MRL is an ASX playlist.
	* Hide some potentially-visible dashes in the settings window.
	  Adjust the widths of the value columns.
	  settings_show() should hide the window if it's visible.
	* More default locations for the JS headers, and another name for the
	  library. Also add a way to specify where the headers are (in case of
	  yet another location).
	* Fix hang on startup with --full-screen.
	* Fix some 'make debug' breakage, apparently exposed by a toolchain
	  update.
	* Give the video window the input focus when entering full-screen mode.
	* Ensure that all filechooser dboxes have the correct parent window.
	* Ensure that the windowed-mode toolbar isn't kept above and that
	  the video window's initial size is correct.
	* Don't fail (BadMatch, request code 138) when DPMS is disabled.
	* Use overwrite confirmation prompt (if available) when saving.
	* Paste relevant parts of playlist and mediamark items into text boxes
	  (where they are owned by gxine).
	* German man page fixes, based on patches from Bastian Kleineidam.
	  (Debian bug 337521)
	* Fix a potential null pointer dereference when setting the MRL's
	  default title. (Bug 1349639)
	* Add independent zoom control for X and Y.
	* JS console changes:
	  - Append, rather than prepend, results to the output area.
	  - Page Up and Page Down scroll the output area.
	  - Cursor up and down select from the history.
	* Make the splash window be displayed for a fixed time.
	* Use GTK's bindings code rather than our own for the key binding
	  editor's accelerator key field.
	* Connect up the key bindings editor's tools' shortcuts.
	* Fix a possible crash in the JS child object handling code.
	* Do away with the Tools menu: the display windows are now accessed via
	  the View menu, and the setup window via File->Configure.
	* "Window" -> "Window size" in the View menu.
	* Fix type checking for JS methods which should take boolean params.
	* JS callback() now accepts a second parameter for setting "this".
	* Improve XML stock item lookup somewhat.
	* Add alt text for nonexistent stock images (once only, at startup).
	* Add listen and onchange attributes (for listening to gxine's
	  control objects).
	* Update the keypad and fs toolbar to use onchange events.
	* Update the keypad to use the stock fullscreen icons if available.
	* Switch tarball compression from gzip to bzip2.
	* Some icon location and desktop file fixups. (Diego Pettenò)
	* Some new graphics. :-)

0.5.0:	2005/10/30
	[dsalt]
	* Reorganised and/or reimplemented large chunks of the UI.
	- There are now top-level menus for audio and video.
	  - The toolbar is now defined using XML-based structures.
	  - There's a "remote control"-style window.
	  (Some of this is done to avoid deprecated bits of GTK+ and GLib.)
	* Drag-resizing the main window now alters the scaling factor.
	  - The window can be shrunk more easily.
	  - Changes in video size no longer force the scale to the default
	    value or a value set via the window menu or set_video_size().
	* Allow the windowed-mode controls to be in a separate window. There's
	  a new prefs option to control whether this happens (requires gxine
	  to be restarted to take effect). The window can be hidden and can
	  be stuck to the video window.
	* Added a Javascript console. You can now see the errors generated
	  by your key bindings :-)
	* Added startup script support. Error reporting is via the JS console.
	  Certain commands (dialogue boxes, stream, playlist, media marks)
	  have no effect, other than to generate warnings, during startup.
	* Made the deinterlacer configuration generic. This allows use of
	  post-plugins such as 'pp'.
	  NOTE: unless deinterlacing is done by an active plugin, the old
	  deinterlacing method is used automatically.
				    - o O o -
	* Separated the settings window into video and audio parts.
	* Added a graphic equaliser (in the settings window).
	* Added clipboard support to the playlist and media marks windows.
	* Removed the "up" & "down" buttons in the playlist window.
	* Added a "file" button to the 'open MRL' dialogue box. This makes it
	  easier to open some local MRLs, e.g. a DVD image on a hard disk.
	* Added a "copy to mediamarks" button to the playlist window.
	* Editing the currently-played item's playlist entry makes an
	  off-list copy of the original entry. Adding to mediamarks copies
	  the original.
	* Reimplemented full-screen mode (it now reuses the main window).
	  - Force windowed mode for audio-only with no visualisation.
	* Improved the LIRC support:
	  - also read ~/.lircrc (mappings in ~/.gxine/lircrc have priority);
	  - if the connection to lircd is lost, try to reconnect.
	* Moving the stream position slider no longer selects normal play.
	* Added Russian translation (Pavel Maryanov).
				    - o O o -
	* Require GTK+ 2.6 and external Spidermonkey JS library.
	* Added autoconf tests for C99 and certain GCC extensions.
	* Add support for unblanking via DPMS, and prefer to use it.
	* Unblank when starting or resuming playback.
	* Separated utility functions and UI slider code.
	* Made the playlist and speaker buttons themeable.
	  Prefix "gxine-media-", names "playlist", "speaker", "speaker-mute".
	* Added JS settings objects for:
	  - each control in the settings window;
	  - various xine parameters and gxine runtime configuration items.
	  Some of these were previously accessed via JS functions: these
	  functions are now deprecated. You should upgrade your key bindings.
	* Added JS callback function.
	* Reworked the time widget and info bar. These can now be configured
	  via $SYSCONFDIR/gxine/gtkrc (typically /etc/gxine/gtkrc),
	  ~/.gtkrc-2.0 or ~/.gxine/gtkrc.
	* Improved default widget handling (action on Return/Enter).
	* Improved info bar metadata update.
	* Show more metadata (if available) in the stream info window.
	  If there's too much, use an ellipsis.
	* Playlist next and previous now wrap.
	* Switched to GtkFileChooser for the file dialogue boxes.
	  (Based on a patch from Arjan Timmerman <arjan@soulfly.nl>.)
	* Make use of GNOME VFS (if available) as a backend for GtkFileChooser.
	  Allow non-local URLs where we can currently cope with them.
	* Keep dialogue boxes above their parent windows.
	* Moved "title from stream" out of the playlist/mediamark item editor
	  dbox's buttons area.
	* Handle externally-generated screen resolution changes (XRandR).
	* Handle window-manager-generated main window fullscreen toggling.
	* Reworked the "setup wizards" dialogue box.
	* Overhauled error message handling (and write them to stderr).
	* Show DVD title/chapter/angle count (if available) in stream info.
	* Switched to tool buttons in playlist, media marks, key bindings.
	* Improved ASX parsing. Don't complain about unrecognised elements
	  - gxine doesn't support some and I'm not planning to check for them.
	  Use <starttime> (which is standard) instead of <time> (which isn't).
	* Listen for extended MRL ref events (if available at compile time).
	* The browser plugin no longer causes the playlist to be cleared.
	  There's an extra option -a --add to support this.
	* The splash window is now a popup (no effect on new window placement).
	* Don't use deprecated GNOME VFS MIME functions.
	* Prevent F10 and Menu from being used in (new) key bindings.
	  (These are hard-wired within GTK for menu display purposes.)
	* Should now cope with movement between (logical) screens.
	* Adjusted the default size to force recalc of the initial video size.
	* Unshade the video window on entry to full-screen mode.
	* Link the full-screen toolbar position to the window position.
	* Reworked the video widget; gxine now uses one thread less.
	* Shift focus-grabbing from the video widget to the main window.
	  (Keyboard grab would be used but for problems with some utilities.)

0.4.10:	(never released)
	[dsalt]
	Backports from 0.5.x:
	* COPYING: update FSF address.
	* Don't allow commas in plugin parameters.
	* Fix truncation in plugin char-array parameter undo handling.
	* Don't assume that an mmshttp MRL is an ASX playlist.
	* Slightly rework initialisation; delay initial MRL launch a little.
	* Hide some potentially-visible dashes in the setting
	* Fix a potential null pointer dereference when setting the MRL's
	  default title. (Bug 1349639)
	* gxine_client now exits when its connection to gxine disappears
	  (due to gxine exiting).
	Specific to 0.4.x:
	* Make warning about built-in JS lib much more noticeable.
	* Be more careful about giving the full-screen window the input focus.
	* German man page fixes, based on a patch from Bastian Kleineidam.
	  (Debian bug 337521)

0.4.9:	2005/10/14
	[dsalt]
	* Make XTest optional (screenblanker-defeating fake keypresses).
	  It seems to be causing problems...
	* Don't touch the volume at startup if remember_volume isn't set.
	* Don't reset the volume on exit - xine-lib alters it (if
	  remember_volume is set) before gxine gets anywhere near it.
	  (Debian bug 329300)
	* Fix Xinerama handling. (Bug 1295801, Debian bug 225367)
	* Enforce black background beyond video area within video window.
	* Don't create links to the browser plugin if it isn't present.
	* Added Simplified Chinese translation. (Tao Pin, Dong Changdao)
	* Fix a few filename-related memory leaks.
	* Fixed problems with # in filenames. (Bug 1314149)
	* Use --as-needed (if supported) when linking.

0.4.8:	2005/09/12
	[dsalt]
	* Fix an initialisation bug which can cause near 100% CPU usage.
	  Of course, it didn't show up in my normal desktop environment...
	* Improve insertion & removal of the vis plugin (minimise audio loss).

0.4.7:	2005/08/26
	[dsalt]
	* Delay application of slider settings until a stream is started.
	* Fix a missing-format-string bug (string parameters for post
	  plugins; practically harmless). (Diego Pettenò)
	* Be safer about temporary files in gxine_client. (Diego Pettenò)
	* Check for gdk-pixbuf-csource (build requirement).
	* Fix an fd leak in read_entire_file (error path).
	* Fix an upper limit off-by-one in the audio channel spin button.
	* Fix snapshot() argument parsing.
	* Don't link gxine_client or the browser plugin with the JS library.
	* Don't build a static version of the browser plugin.

0.4.6:	2005/07/18
	[dsalt]
	* Cope better with different window managers (full-screen toolbar).
	* Fixed a few small string-related bugs in the browser plugin.
	* Don't play the next item if not playing the deleted item (playlist).
	* Improved gxine.desktop, based on work not sent upstream by Dag Wieers.
	* Delayed startup notification until the main window is displayed.
	* German translation typo fixes. (Debian bug 314039)
	* Fix detection of xine-lib's gettext binding (xine-lib bug).
	* Show the logo if the stream can't be played for some reason.
	* Correct the initial position of the video widget's window.
	* Moved gxine-logo.png into /usr/[local/]share/pixmaps (based on a
	  patch from Chris Lord).
	* Fix a couple of playlist insertion bugs.
	* Mark a few more strings as translatable.
	* Remove MRLs from the playlist when they cause more MRLs to be added.
	* Fix a GNOME VFS shutdown bug.
	* Fix play() start index handling.

0.4.5:	2005/05/24
	[dsalt]
	* SECURITY FIX (CVE-2005-1692) (pst.advisory 2005-21)
	  Remotely-exploitable missing-format-string vulnerability in some
	  message dialogue boxes.

	* Fixed some brokenness in the visualisations menu; hide/show the
	  video widget as needed when selecting an item from that menu.
	* Better handling of uninstantiatable post-plugins when configuring.
	* Caught and replaced another asprintf. [Bug 1204625]
	* Compile fix (Solaris): need $(X_EXTRA_LIBS).
	* Correct the documentation of the '-e' option in gxine.1.
	  (en is done; de, pt-BR not done.)
	* Don't set a title for the full-screen toolbar.
	* Set up X threads earlier (it was being done too late).
	  (based on a patch from Antti P Miettinen <ananaza@iki.fi>.)

0.4.4:	2005/04/26
	[dsalt]
	* Added support for VDR's AUDIO key.
	* Made the browser plugin optional.
	* Stop playback on playlist clear.
	* Fixed a bug in multi-file drag+drop.

0.4.3:	2005/03/27
	[dsalt]
	* Fix a bug in JS vdr(). It should check the active MRL rather than
	  the currently-selected playlist entry.
	* Fix a post-plugin parameter handling error.
	* Provide a few more default bindings with keys.

0.4.2:	2005/03/08
	[dsalt]
	! Use external JS lib by default (if available).
	  If you're using amd64, you want this, I'm told.
	! This version should be buildable and useable with GTK+2.2.
	  It may also use, but not rely on, a few features from GTK+2.6.
	* Configure switches for GTK+ versions compatibility and whether to
	  use the desktop integration wizard. (Mainly for packagers.)
	* Mark 'repeat' and 'random' buttons (playlist) as having accelerator
	  keys.
	* Improve prefs window numeric entry editing.
	* "tvtime" deinterlace plugin support.
	* Video and audio post-plugin chain support.
	  The deinterlace plugin is prepended to the video chain if enabled.
	  The visualisation plugin is prepended to the audio chain if active.
	* Hide tab & border for single-page notebooks in the prefs window.
	* Make columns in playlist etc. resizable.
	* Fixed a few crash/warning bugs (mediamarks/playlist item edit) left
	  over from 0.4.1.
	* Respond to volume changes made externally.
	* Fix crash on virtual desktop change. The full-screen window is now
	  sticky and on all desktops. (If you have a better way of fixing
	  this which *doesn't* require this, let me know.)
	* Fix overlay bug with window managers, such as IceWM, which have
	  their own toolbars.
	* Text preferences which are uncommitted may be undone by Ctrl '-' or
	  Undo.
	* Make the visualisation setting a preference.
	* Fix a few problems in playlist expansion via xine-lib.
	* Add JS event(NAME) function and make event() and vdr() output help
	  text if called without parameters.
	* Add keybinding entries for 'next angle' and 'previous angle'.
	* Save the A/V offset setting.
	* Build fix: apparently, Spidermonkey isn't always libsmjs.so.
	* Stop GTK's complaints when the locale doesn't use UTF-8.
	  (This is done by telling gettext that we want translated text in
	  UTF-8. Some is intended for the console; this isn't special-cased.)
	* Add a few extra icons to the menus.
	* Add config options for default window size and magnification of
	  low-res video streams.
	* Improve live-stream detection; recognise streams of unknown length.
	* Improve the current stream title display.
	* Rely on xine-lib's XML parser and quote some characters when saving
	  the playlist, media marks and key bindings.
	* Change the way in which the control button images are implemented.
	  (There are problems with some GTK+ theme engines otherwise.)
	* Try to update the current playlist item's title from the stream
	  automatically unless the title has been edited.
	* Deleting a playlist item will, if it is being played, cause the
	  next item to be played (or the player to enter idle mode).
	* Use ellipsis in long entries in the playlist & mediamarks windows.
	  (Requires GTK+2.6.)
	* Allow drag&drop for reordering playlist items.
	* Prevent multiple install wizard instantiations.
	* Add menu tooltips for plugins with short descriptions in the plugin
	  chain configuration windows.
	* Make playlist repeat & random settings persistent. (Guenter)

0.4.1:	2004/12/17
	[dsalt]
	* Require at least GTK+ 2.4 and GLib 2.4. (I can't test 2.2.)
	* Rework toolbar widget internals, mainly for the UI control buttons
	  (so that the displayed state is consistent) and sliders (for
	  synchronous update).
	* Update the volume sliders from javascript:set_volume().
	* Tweak the toolbar layout a little.
	* Add an extra line to the info widget (for audio codec info).
	* More internal rearrangement, intended to get rid of a hang in the
	  video window event handler thread.
	  (Locking problem between XNextEvent() and XSelectInput()?)
	* Handle app window resize even when in full-screen mode.
	* Get title from meta-info for 'add mediamark'.
	* Add configuration items for deinterlace-by-default and toolbar.
	* Add menu options for toolbar handling.
	* Nested tab boxes in the prefs window for the renamed preferences in
	  xine-lib >1-rc7.
	* Fix building with --disable-nls.
	* The speaker button now displays a crossed-out speaker when audio is
	  muted.
	* Improve the visualisation show/hide code: check for audio as well
	  as video.
	* Pass button press events to libxine, except for button 2 (override
	  if Shift is pressed). Similarly, pass release events.

0.4.0:	2004/12/11
	[dsalt] [0.4.0 branch]
	* Hack to update the volume level sliders.
	* Require at least GTK+ 2.2 and GLib 2.2.
	  (Note that I've only been able to test against 2.0 and 2.4.)

0.4.0-rc2: 2004/11/28
	[dsalt] [0.4.0 branch]
	* More internal rearrangement, intended to get rid of a hang in the
	  video window event handler thread.
	  (Locking problem between XNextEvent() and XSelectInput()?)
	* Handle app window resize even when in full-screen mode.
	* Bug fixes, mostly wrt features new to -rc1.

0.4.0-rc1: 2004/11/18
	* patches by dsalt:
	  + fix loading of GNOME VFS library (Debian 221509)
          + fix preferences-editing crash bug
            (sf 1019423, 1051186; Debian 258894)
          + don't report missing config files (Debian 257479)
          + fix -DLOG FTBFS (Debian 228185)
          + unbreak mouse UI->video coordinates translation
          + fix some deleted window reopening bugs
          + move away from older GTK deprecated interfaces
          + give the media mark add/edit dbox cancel and undo buttons
          + generalised Javascript menu function (Debian 257493)
          + make various menu items tickable
          + use stock icons in menus and some buttons
          + add save buttons to the prefs, key bindings and media marks
	    windows
	  + add refresh buttons to the engine log and stream info windows
	  + make the scroll bars in the engine log window automatic
          + key bindings have descriptions, general key binding editor
	    improvements (Debian 257480)
          + add/enable auto-resize code and a menu option for it
            - BUG: race if both width and height are altered
          + fix playlist item move/delete wrt item being played
            (Debian 225853)
          + tweaked the prefs window tabs' layout to avoid very short sliders
	    e.g. in the video tab when given '-V xshm'
	  + chdir to |input.file_origin_path| at startup
	  + alter the About window implementation (no more multiple windows)
	  + reduced some menu callback code
	  + all in-source menu items have _shortcuts
	  + added experience level setting to prefs, replaced non-editable
	    combo boxes with option menus (should be GtkComboBox, but that's
	    still quite new)
	  + don't add duplicate MRLs (via menu or MRL dbox) to the playlist
	  + add popup menu (hardwired on F10 & button 3)
	  + fix fullscreen dialogue box problems (sf 908698)
	  + allow menu shortcuts in full-screen mode
	  + [SECURITY] (CVE-2004-1034)
	    fix a buffer overflow in the HTTP fetch code
	  + fix crash if http_proxy (environment) is set
	  + VDR support
	  + Don't fast-forward or pause live audio/video
	  + UI buttons now show current state
	  + Bring BBC media marks up to date
	  + i18n stuff.
	  + plugin 'fixed' to not shutdown or crash browser
	  + playlist: indicate item being played
	  + allow compilation/linking using external spidermonkey (libsmjs)
	  + added menu items for playlist and settings
	  + restore visualisations for audio-only files/streams
	  + added toolbar for full-screen mode
	  * CVS: Add 0.4.0 branch for 0.4.0-rc1.

0.3.4:	unreleased
	* fix time display in mediamarks / live streams
        * playlist drag&drop support
	* new layout of playlist editor
	* drag&drop of multiple files
	* fix annoying console warnings
	* drag&drop bugfixes and cleanups
	* correct build with xine-lib-1_rc6 (bug #1036299)

0.3.3:	2003/04/09
	* browser plugin uses athena widgets now, this will hopefully
	  fix compatibility issues with browsers that are linked against
	  gtk 1.2
	* improved real player plugin emulation
	* improve PLS handling (local files / http)
	* open_mrl dialog fixes
	* display xine engine async messages
	* switch between visualizations without interrupting the current stream

0.3.2:	2003/03/22
	* ASX parser fixes (more tolerant version checking)
	* adapted to new libxine engine verbosity setting method
	* filter out non-ascii characters for strings handed over to pango
	  (should fix some gtk warnings)
	* use gtk widgets in browser plugin, add popup window displaying
	  the mrl in a gtk entry field so the user can copy it to the clipboard
	  e.g. for stream downloading
	* emulate real player plugin autoplay mode
	* better protection against accidently starting gxine more than once
	  from the browser plugin
	* a splash screen for the impatient
	* dvd snapshot bug workaround

0.3.1:	2003/03/09
	* make sure dialog widgets are not destroyed when closed
	  using the window manager's close button
	* exit from fullscreen mode via ctrl-f is now possible
	  (simply pressing f still works)
	* playlist repeat and random modes
	* playlist add button
	* multiple selections possible in file dialog
	* filter out numlock / scroll lock / shift lock from key events
	* fix dvd menu navigation keyboard shortcuts
	  (delete your ~/.gxine/keybindings for this to take effect)
	* browser plugin bugfixes (make sure you run the setup wizard again
	  to have the new plugin copied to your ~/.mozilla/plugins)
	* fix handling of verbose (-v) command line option
	  make sure multiple -v options are handled correctly (more verbosity)
	* drag&drop support (drop files from nautilus on gxine for playback)
	* javascript engine bugfix for ppc by manfred tremmel
	* mediamarks import function
	* implement deinterlacer setting
	* subtitle channel selection moved to view menu

0.3:	2003/03/01
        * ported to gtk 2.0
        * switched to asx/xml file formats for mediamarks/playlists
        * ability to load/save playlist files
        * drag&drop interactive sorting support in mediamarks and
	  playlist editor
        * full deployment of javascript engine
        * remote-controllable via unix domain socket, client included
        * gxine will start only one instance per user
        * major code cleanup
        * play_item concept (mediamarks and playlist items are the same)
	* configurable keybindings plus a keybindings editor
	* the gtk xine widget (included in gxine) now automatically tries
	  to disable screensavers during playback
	* lirc support
	* zoom in/out video option
	* visualization plugins (e.g. goom) support
	* link browser plugin against libX11/libXt to avoid relocation errors
	  with newer mozilla versions
	* support reference events

0.2.1:	2002/12/26
       * mouse dvd menu navigation
       * fix fullscreen for net_wm compliant window managers (metacity)
       * command line options for audio/video driver selection, verbose
       * make mouse cursor visible in fullscreen mode while mouse moves
       * menu also available as context menu
       * CTRL-F exits fullscreen now (as well as F, Esc)
       * menu entries that bring up dialogs have a "..." suffix now
       * engine log window has scrollbars
       * fix dialog show/hide issues with preferences, playlist and settings

0.2:	2002/12/07
       * renamed to "gxine" (some issues still pending)
       * now using the libxine.1 API (ie current alpha releases)
       * lots of new features

0.1:	2002/04/29
       * initial release