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 ) * 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