Bump version.
2 * Reset pointer shape on stream stop/eject.
3 * Use re-entrant versions of xine-lib's XML parser functions
5 * gxine.desktop now says that gxine can accept files or URLs.
6 * Handle gamma, sharpness and noise reduction controls (if supported
7 by the selected video output driver).
8 * Add vo_*.available (whether a given control is available).
9 * Handle iconisation of the video window by preventing hiding &
10 re-showing while the window is iconised.
11 * Portability changes (pthreads, console redirection).
12 * Czech translation update.
13 * More GDK functions over X11:
14 - prefer GDK for cursors and setting windows focus
15 - prefer X11 for system tray and GTK video window
16 * Windows port of GTK video widget.
17 * Handle relative paths in m3u playlists.
18 * Fix focus grabbing (in the absence of Xinerama).
21 * Fix a build problem affecting LIRC in the absence of a pkgconfig
22 file for liblircclient.
23 * Report snapshot-saving errors.
24 * Allow use of libgudev instead of libhal (which remains default)
25 for acquiring device information for use in the prefs window.
26 * Add x-content/video-{dvd,svcd,vcd}, but in an extra MIME types
27 file (for the convenience of xine-list-* users).
28 * Fixed up library usage. gxine should now be linkable with
30 * Use a 'hand' pointer shape when over a SPU button (typically, a
31 DVD menu button). (Not reset on full-screen toggle.)
32 * Double-click ⇒ toggle full-screen (unless the pointer is over a
33 button or left one within the last second).
36 * Add a lock to avoid a race which can cause GTK crashes when
37 updating the console log window.
38 * Cope better with invalid UTF-8 when adding text to log buffers.
39 * Properly encode name & password for HTTP auth. (xine-lib 1.2)
40 * If the user cancels the HTTP auth dbox, don't re-ask if repeating.
41 * Avoid multiple instantiations if ~/.gxine is missing.
42 * Split full-screen stickiness control into a default flag (set via
43 the prefs window) and a runtime flag (set via the View menu).
44 * Add x-content/video-dvd etc. to the MIME types list in the desktop
46 * Use and prefer to use xdg-screensaver (where available) for
47 screensaver defeating. Disabled by default.
48 * Disable hiding of the video window (via "hide video" or the tray
49 icon) when in full-screen mode, else gxine will crash (BadMatch).
50 * Don't crash when notified of the creation of a system tray.
53 * Apply auto-detection of DVD and VCD images to files & directories
54 which are dragged to gxine.
55 * Fixed a problem which would cause a segfault during startup if
56 built against xine-lib 1.1.12 but used with an older version.
57 * Combine pairs of message dialogue boxes into single dboxes.
58 * Console output is now duplicated in a new "console" tab in the log
60 * The log window content is now oldest entry first.
61 * The log window's "refresh" button is not present if used with
62 xine-lib 1.1.13 or later (log callback is now implemented).
63 Instead, there's a "clear" button which works per tab.
67 * Fixed MIME type breakage in gxine.desktop.
68 * Fixed init with LIRC running but no valid remote control.
69 (Workaround for a LIRC bug.)
70 * Timeout fixups for when loading a playlist MRL over HTTP.
71 (This is a workaround. If you're compiling for use with xine-lib
72 1.2, configuring with --disable-own-playlist-parsers may be a
74 * List only those video output plugins which require X (if built for
79 * The configuration directory is now ~/.config/gxine.
80 If ~/.gxine exists, it will be renamed when you run gxine.
81 * gxine now uses XCB unless configured with --without-xcb.
82 This allows gxine to use the available XCB versions of the X video
84 * DVD directories and images (*.iso) and VCD files (*.cue, *.nrg),
85 passed to gxine as plain file names, are now handled as if they
86 were dvd:// or vcd:// MRLs.
87 * Added get_pos(), has_time() so that it's possible to seek in streams
88 without time information.
89 Updated the skip forward/back key bindings accordingly.
90 * Display some device information in the prefs window and in file
91 chooser dboxes (requires HAL).
92 * Added revert buttons (to default & to saved) for each config item
94 * Added a "repeat track" option to the playlist window.
95 * Added a system tray icon with two menus - left click for a short
96 playback control menu, right click for the main menu. Also middle
97 to show or hide the main window and its toolbar (note that other
98 windows will remain visible).
99 * Make the prev/next buttons in the playlist window shaded if there
100 are fewer than 2 playlist items (previously, if there are none).
101 * Added menus to the playlist & media marks windows.
102 * Enable by default a few options:
103 - magnify low-res video;
104 - video & audio post-plugin enabling at startup;
106 - windowed-mode blanking prevention.
107 Existing configurations are unaffected.
108 * Allow slider widgets to be presented as buttons with pop-up windows.
109 The volume slider in the default windowed-mode toolbar is a pop-up.
110 * Added SPU sync to the A/V window.
111 * Added support for HTTP authentication. (Requires xine-lib 1.2.)
112 * Obsoleted and disabled most of the deprecated JS functions, except
113 for set_fullscreen() and toolbar_show() which remain deprecated.
114 If you need the others, build with --enable-obsolete.
115 Obsolete functions will be removed and deprecated functions
117 * Brought vo_deinterlace into line with the other two chain objects
118 by adding the missing property & method.
119 * Added a config item to control whether, when in full-screen mode,
120 the video window is forcibly stuck to all desktops & viewports.
121 This is currently only checked at startup.
122 * Reworked the JS property code somewhat. No user-visible changes.
123 * Only display the "broken xine-lib" message (for when there is no
124 demuxer for the logo image) at most once.
125 * Fixed a possible initialisation failure which would cause various GDK
126 "window != NULL" assertion failures and a segfault. This is known to
127 affect gxine in a chrooted environment when talking to a non-chrooted
128 X server on the same machine, and includes a partial reversion of a
129 change which was made between 0.5.9 and 0.5.10.
130 * Moved the windowed-mode blanking menu item into a new submenu in
132 * The subtitles menu now shows the subtitle track names.
133 * Tweaked and re-rendered the splash and logo images.
134 * Allow blanking if the video window is hidden, iconised or shaded.
135 * Lock resizing to the aspect ratio (if in separate toolbar mode).
136 * Track "above" & "below" states (window stacking order) for
137 restoration when leaving full-screen mode.
138 [Feature request 1679490]
139 * Allow automatic window resizing to be switched off by default.
140 [Feature request 1770724]
141 * Fixed toolbar positioning with multiple monitors arranged to make a
142 non-rectangular display. (This may require the enabling of an option
143 such as radeon(4)'s "MergedNonRectangular" option.)
144 * Fixed a logic error which could cause full-screen focus grabbing to
145 be active even when Xinerama is active. [Bug 1803797]
146 * Fixed some problems with prefs window initialisation and redisplay.
147 * Fixed a bug which would cause gxine to abort if one of its menus
148 is opened while the video window is shaded.
149 * Reworked the time display updating for accuracy, subject to
150 xine-lib timer accuracy.
151 * Support for stream end times (implemented as start time + duration).
152 Like the time display, this is dependent on xine-lib providing
153 time information for the stream; if this is fast or slow, the
154 actual playback time will be affected accordingly.
155 A duration of 00:00:00 means "unspecified", i.e. the stream will
156 be played until completion; also, the displayed length of the
157 stream does not reflect the specified duration.
158 * Added support for VDR's subtitles key (VDR 1.5.10).
159 * Use PNG versions of various icons if SVG support isn't present.
161 * Fixed the default audio visualisation setting (should always be goom).
162 * Fixed parsing of negative times.
163 * Improved the locking in the stream-opening thread. This makes it
164 easier to stop the stream while it's still being opened.
165 * Strip parameters from RTSP and PNM MRLs received via Real playlists.
166 * Fixed a full-screen problem (with -f) which would cause the
167 windowed-mode toolbar to remain visible.
168 * Fixed a bug in the auto-resize code which was sometimes causing
169 rapid switching between different aspect ratios when under load.
170 * Process scale changes resulting from stream format changes when
171 auto-resizing is disabled.
172 * Allow overriding of the reported display width and/or height.
173 This is to cope with buggy X display drivers which misreport them.
174 * Made the run-time time elapsed/remaining toggle global, as it
175 probably should have been to start with.
176 * --help now lists the available video and audio output plugins.
177 * Treat .ra and .rm as binary.
178 * Fixed two install-debug failures.
179 * Added a compatibility fix for glib 2.13 and later.
180 * New option --configure for setting configuration items.
181 * Use of -A or -V no longer hides the corresponding driver pref.
182 The configuration remains unchanged by these options.
183 * No longer build with libjs/libsmjs - old libraries, can't test.
184 * Fixed a double-encoding bug which could break subtitle autodetection.
185 * Implement xine-lib's gapless switch.
186 * Make sure that GnomeVFS is always initialised (if available).
187 * Initialise GNOME's authentication manager (if available).
189 + The following changes are active if gxine was built against current
192 * Allow slider widgets to be disabled if the corresponding support
193 isn't available in the video driver.
197 * Always connect to the "toggled" signal for post-plugin prefs buttons.
198 Without this, they wouldn't work if they were initially shaded.
199 * The plugin chain configuration menu items are duplicated in
201 * Fixed a hang which occurs when a stream ends and some modal
202 dialogue box, opened via a JS command, is open. [Bug 1643093]
203 * Fixed some prefs segfaults and file/device/directory configuration
204 loss. This only appears with GTK+2.10 and xine-lib 1.1.4, and of
205 course I didn't have GTK+2.10 when I released 0.5.10...
209 * SECURITY FIX (local exploit, CVE-2007-0406)
210 This version fixes a potential buffer overflow in gxine's server
211 component and in gxine_client. This overflow would occur were $HOME
212 sufficiently long - 94 bytes or more would cause socket creation or
213 connection failure, and 242 bytes or more would cause a segfault or
214 possible arbitrary code execution. (Bug 1629224)
216 * DBus support is now enabled by default (for gnome-screensaver).
217 * Add support for gnome-screensaver >= 2.15 & fix a build bug.
218 (Bug 1617260, patch from Michel Salim)
219 * Whoops. The GNOME screensaver could still be activated despite
220 gxine's configuration when in windowed mode.
221 * Added 'CHANNELPREV' event (for vdr-xine 0.7.10).
222 * Deferred preferences window initialisation until it's actually
223 opened. (This noticeably speeds up startup.)
224 * Fixed some indexing errors in the playlist drag&drop code.
225 * Some small filename buffer usage cleanups.
229 * Added some code to cope with xscreensaver blanking the screen.
230 (Ubuntu bug 64136) (original patch by Jani Monoses <jani@ubuntu.com>)
231 * Cope with building when using Seamonkey libjs. (Gentoo bug 151088)
232 * Fixes for when closing the 'about' dialogue box. (Ubuntu bug 64134)
233 * Fixed a bug which could cause gxine to hang (in X client libs)
234 during startup if it should try to report an error.
235 * Fixed a bug which would cause millions of errors when trying and
236 failing to display the logo image, e.g. if something which is
237 expected to be present, such as the MPEG elementary stream demuxer,
239 * Altered gxine.desktop for HIG compliance. (Based on Ubuntu bug 74979)
240 * Avoid the possibility of a few (harmless) warnings during startup.
241 * Correctly display preference items which have instant effects.
242 * Added a simple segfault handler.
243 * Added an option to show time remaining for the current stream
244 instead of time elapsed. This can be toggled temporarily by
245 clicking on the elapsed/remaining time display.
246 * Added --geometry option (standard X-style). While this sets the
247 initial position & size, the size is then overridden by the video.
248 * Added a config item to control whether the display is kept
249 unblanked during *any* playback (with video or visualisation),
250 much as for fullscreen mode. Default is off (unchanged behaviour).
251 * Added tooltips to the post-plugin parameter value widgets.
252 Whether these are translated is up to the post plugin.
253 * Altered the plugin chain windows' preferences buttons so that it's
254 clearer which plugins are being configured.
255 * Replace F10 hard-wiring with usage of gtk-menu-bar-accel.
256 * Don't set the primary selection when copying - this is clipboard
258 * Allow compile-time logo file format selection.
259 Choose between "mpeg" (logo.mpv; needs MPEG elementary demuxer) and
260 "image" (logo.jpg; requires the image demuxer). The default is mpeg.
261 * Added JS playlist.repeat & playlist.random, both with value 'v' and
263 * Bumped minimum automake requirement to 1.9.
266 * Fix building on FreeBSD, replace a recursive pthread mutex with
271 * Added support for editable menu shortcuts.
272 * Another VO deinterlacer fix - 0.5.7 broke support for tvtime,
273 though pp worked better.
274 * Fixed a typo in configure.ac (affecting Xinerama options).
275 * Upgraded npapi.h from mozilla-dev (Debian). This fixes the browser
277 * Improved the display of the plugin help text.
278 * Fixed a locking bug which could cause gxine to hang on exit.
279 * Re-marked windows as transient-for (broken in 0.5.7).
280 * Display timestamps in log entries differently (needs xine-lib 1.1.3).
281 * New keymap description handling: untranslated text is stored in the
282 bindings file and unmodified default text is translated for display.
283 * Minor cleanups (configuration file names, g_build_filename etc.).
284 * Use the monitor width rather than the logical screen width for the
285 full-screen toolbar. Fixes a problem in Xinerama side-by-side mode.
286 * Oops. XRandR support got broken ages ago... check for it again.
287 * Unbreak Xinerama check on XFree86 (at least, on 4.3 in Debian sarge).
288 * Improved the toolbar focus handling somewhat.
289 * Fixed F10 in full-screen mode when using combined video/toolbar
290 window in windowed mode.
291 * Added a JS "eject()" function and a key binding entry for it.
292 * Don't use dbus if gnome-screensaver isn't available, and don't
293 provide a default path for it at build time.
294 * HTTP redirect support (playlists etc.) (Ubuntu bug 60007)
295 * Allow --help & --version to work without $DISPLAY being set.
299 * Restored disabling of VO deinterlacer when there are active
300 deinterlacer plugins. I finally realised what was missing...
301 * Added names to some windows for use in ~/.gxine/gtkrc: video,
302 fs_toolbar, wm_toolbar.
303 * Added a few name attributes to the toolbar XML and some example style
304 info (commented out) to the default gtkrc for the full-screen toolbar.
305 * When determining a default MRL title, resolve symbolic links.
306 * Prevent text insertion before the system-wide startup script.
307 * A couple of Undo shortcuts got missed in 0.5.6.
308 * Fixed some problems with switching to/from full-screen.
309 * Fixed a startup bug in the window size submenu. (Bug 1487691)
310 * Fixed a bug which prevented the video window from being shrunk.
312 * Fixed a problem with update of the window size menu.
313 * Hopefully fixed a Javascript crash-on-start bug. (Bug 1482697)
314 * Added a watchdog which will abort gxine if it hangs for 30s.
315 (Disabled by default.)
316 * Italian translation from Diego Pettenò.
317 * Build fixes for autoconf 2.59c and later.
321 * Fixed some translation bugs: labels in menus in the prefs window
322 weren't being translated, and some tooltips translations were in the
323 wrong place. (Any prefs window text which still isn't translated is
324 likely to be in xine-lib.)
325 * Fixed health check for CD and DVD drives (wrong config option names).
326 Cope with relevant media.*.device being null; set to default when
327 the health check is run.
328 * Fixed a couple of possible hangs.
329 * Added "splash screen" config option. (Bug 1445189)
330 * Added -s/--splash to complement -S/--no-splash.
331 * Allow the video widget to remain hidden after playing an audio-only
332 stream. (Bug 1393626)
333 * Fixed some related resizing problems.
334 * Fixed a problem which caused the video widget to be blanked. This is
335 caused when the input focus is passed between the video widget and
336 another widget in the same window; the answer is to prevent the
337 video widget from ever having the input focus.
338 (Bug 1391404) (Debian bug 355906)
339 * MRL protocols may contain hyphens (bug 1463224) and numbers.
340 Allow VDR event matching for MRLs beginning with "vdr", not "vdr:/".
341 * Fixed compilation failure with -DLOG. (Bug 1463237)
342 * Playlist reordering was working with GTK+ 2.6 but not 2.8.
344 * Fixed a problem which caused the volume to be modified regardless on
345 startup. (Bug 1466277)
346 * Prevent the main window from reclaiming the input focus if Xinerama
347 is active. (Ubuntu bug 40768)
348 * Fix a few problems with the full-screen toolbar - positioning
349 (Xinerama) and input focus.
350 * Reworked the JS callback() code to avoid some possible hangs.
351 * Include the explanation when displaying messages from xine-lib.
352 * {a,v}o_postproc.set_chain() were broken and didn't update the prefs.
353 Added a r/w interface: {a,v}o_postproc.chain.
354 * Prevent full-screen mode when the video widget is hidden.
355 * Minor display tweaks: quotation marks '' → ‘’, "" → “”.
356 Not done globally, though.
357 * The MRL open dbox now has a history (for the current session).
358 * Each plugin selector in the plugin chain config windows now has a
359 tooltip which reflects the chosen plugin (if the plugin supplies a
361 * Allow the "load playlist" button to load more than just gxine's
363 * Added JS functions playlist_load and playlist_delete.
364 * JS function playlist_add can now take a title parameter.
365 * Support non-UTF-8 consoles (patch from Led). The default g_print and
366 g_printerr transliteration isn't adequate, though, so we do our own
367 - using GLib functions...
368 * More translation markup and a Ukrainian translation (both from Led).
369 * Support non-UTF-8 consoles. (Patch from Led.)
370 * Restore the window size on exit from full-screen mode (if the user
371 hasn't altered the window size setting).
372 * Added a "Reset" option to reset the window size. Basically, this
373 acts like an aspect ratio change...
374 * Don't hide tab & border for single-page notebooks in the prefs window.
375 * Allow the Undo key to work wherever there's an Undo button.
376 * Added some code to cope with gnome-screensaver blanking the screen
377 despite our (previous) best efforts.
378 (Based on totem's screensaver code.) (Ubuntu bug 36153)
382 * Improve handling of negative times.
383 * Fix a compile error which occurs when the DPMS extn isn't available.
385 * Fix a stupid quoting error in the build-time JS include/lib
386 detection (which broke manual libsmjs detection). (Bug 1422935)
387 * Rearranged the JS detection to avoid picking up libmozjs instead
388 of libjs/libsmjs. (Partial fix for bug 1414260)
389 * Detect libmozjs via xulrunner-sh.pc. INSTALL is updated accordingly.
390 * Added automatic subtitle file handling for 'file:' MRLs, and a
391 corresponding configuration option. (Bug 1368823)
392 * Added 75% and 150% to window size menus.
393 * Added --command "Javascript" option.
394 * Added JS object 'event', currently with one property, 'stream_end',
395 which contains a Javascript string which is executed when the end of
396 the stream is reached.
397 * Added DVD title & chapter info to the time widget.
398 * Added an indicator to show when the JS console has new content.
399 * Shade the "play" button if the playlist is empty.
400 * Improved 'live stream' detection (there were some false positives).
401 * Reset the seeker bar when the stream is stopped or ended.
402 * Stop the current stream before exiting.
403 * Tidied up some console-based JS error reporting.
404 * No longer remove MRLs from the playlist when they cause more MRLs to
405 be added. Instead, mark the added MRLs with a "play" icon.
406 * Removed a few small XML-related memory leaks.
407 * Reworked internal JS engine lock usage and some signal handlers
408 which execute JS functions. (We now use recursive mutexes.)
409 * Fixed a race between concurrent video widget resize sequences which
410 was sometimes causing the window to have the wrong size.
411 Or at least made this much more unlikely...
412 * Fixed a race which occasionally caused gxine to hang during startup.
413 * Restored saving of the values (other than the volume level) in the
414 settings window. This also unbreaks xine_cfg_set(), which was only
415 working for string values.
416 This also fixes problems with the setup wizards window being shown
417 every time gxine is started up.
418 * Added a ./configure option to disable built-in playlist parsing.
419 * Stopped the "open" button in the playlist window from allowing
420 huge files to be loaded. (Partially fixes Ubuntu bug 33493)
421 * Added another "open" button to the playlist window's button bar,
422 replacing the "new" button (which now opens the playlist item editing
423 window directly). (Rest of Ubuntu bug 33493)
424 * Added a "File..." button to the playlist/mediamark item editing
425 window, like the one in the "open MRL" window.
426 * Tweaked the behaviour of the aforementioned "File..." buttons to
427 preserve "#..." if the content of the corresponding input field is
428 not obviously a plain file name.
429 * Make the setup wizards window modal unless invoked by the user.
430 * Minor display tweaks: 'XxY' => 'X×Y' etc.
431 * Fixed gxine.desktop so that it passes validation. (Ubuntu bug 33579)
435 * Added pkgconfig test for firefox-js. (Bug 1389864)
436 * Added X_CFLAGS in src/Makefile.am. (Bug 1391488)
437 * Allow automatic rewrapping of the "about" window licence text.
438 The pre-wrapped version is adjusted to match (assuming GTK defaults).
439 * Removed some locking around video widget resizing (there's a hang
440 which may occasionally occur during startup).
441 * Added JS functions xine_cfg_{get,set} for configuration access.
442 * Use a geometry constraint to control the main window size instead
443 of frobbing its 'resizable' flag, which was causing problems with
444 some window managers. (Bug 1404641)
445 * Added --version option.
446 * Reduced the footprint a little by cutting some stack allocation.
447 * Removed audio/x-pn-realaudio-plugin from the plugin's types list.
448 xine-lib doesn't know how to handle many current RV streams.
449 * Plugged a small memory leak in the plugin.
450 * Build-time configuration changes:
451 - Improved various checks (look for and try header files etc.).
452 - Allow xinerama support to be disabled. (Diego Pettenò)
453 - Fail if certain requested features aren't available.
454 - Document VENDOR_PKG_VERSION in --help output.
458 * Fix play speed display breakage in 0.5.2.
459 * Fix crash on startup if built without LIRC support.
460 * Correct misplaced DnD attributes in the full-screen toolbar.
461 * Make deprecated functions generate warnings.
462 * Replace one use of a deprecated function.
463 * Report parameter errors as errors, not informational messages.
464 * Make the XML loading fall back on the files in /etc (or
465 /usr/local/etc) if the corresponding file in ~/.gxine is invalid.
466 * Show an error window if there's an XML problem (but not if a file
467 in ~/.gxine isn't found, since this is allowed).
468 * Add "small" variants for the time and title widgets.
469 * Quit if either toolbar can't be created.
470 * Shade the keypad menu item if the keypad window can't be created.
471 * Some stock items sneaked into 0.5.2. There are now a few more (see
472 README) and some now have icons.
473 * Look for /usr/include/firefox/js/jsapi.h and start using pkgconfig.
478 * Fallout from the icon location changes in 0.5.1:
479 - new stock item "gxine", replacing "gxine-logo" (fixes some icons);
480 - fix up a registration error due to the icon/desktop fixups.
482 - fix detection of /usr/include/jsapi.h;
483 - look for /usr/include/js-1.5/jsapi.h (Götz Waschk);
484 - make --with-spidermonkey=/path/to/include/dir work again;
485 - adjust the config error message for when xine-lib isn't found.
486 * Use "Welcome" text instead of an image in the setup dbox.
487 * Show the version number in the splash window.
488 * Fix a hang in set_video_size() when input from gxine_client.
489 * Altered av_speed (playback speed control). xine-lib's clipping of
490 this value can interfere with its setting, so we present a
491 "sanitised" view of this using a "log2" scale (with 0 = pause).
493 - allow rendering of sliders as spin buttons and vice versa;
494 - allow sliders' increment direction to be reversed;
495 - fix extraction of translatable text from <button> child elements.
496 * Removed the playlist icon in favour of the GTK stock index icon.
497 * Mark autoplay MRLs in the playlist with the stock "jump to" icon.
498 * Add browsable MRLs (except file: MRLs) to the playlist and mark
499 them with the stock "find" icon. They are replaced shortly after
500 an MRL is launched and may be replaced at at any time via the JS
501 function 'mrl_browser_refresh()'.
502 * Prevent editing of autoplay and browsable MRLs.
503 * New JS function 'reload_lirc()' (which restarts the LIRC thread,
504 causing a configuration reload).
505 * Files can now be dropped on the full-screen toolbar and on the
506 separate windowed-mode toolbar; the first of each group is played
507 immediately unless the drop occurs on the playlist button.
508 * Disabled the wm separate toolbar "not kept above" hack since, when
509 sending it to the back, some WMs also send the main window to the
510 back. (If you want this behaviour, add -DWINDOW_STACKING_HACK at
512 * Swedish translation. (Daniel Nylander)
513 * Allow overriding of a few remaining hard-wired paths (for testing).
514 * Add a test script to allow running entirely from the build dir.
515 * gxine_client now exits when its connection to gxine disappears
516 (due to gxine exiting).
520 * COPYING: update FSF address.
521 * Don't allow commas in plugin parameters.
522 * Fix truncation in plugin char-array parameter undo handling.
523 * Don't assume that an mmshttp MRL is an ASX playlist.
524 * Hide some potentially-visible dashes in the settings window.
525 Adjust the widths of the value columns.
526 settings_show() should hide the window if it's visible.
527 * More default locations for the JS headers, and another name for the
528 library. Also add a way to specify where the headers are (in case of
529 yet another location).
530 * Fix hang on startup with --full-screen.
531 * Fix some 'make debug' breakage, apparently exposed by a toolchain
533 * Give the video window the input focus when entering full-screen mode.
534 * Ensure that all filechooser dboxes have the correct parent window.
535 * Ensure that the windowed-mode toolbar isn't kept above and that
536 the video window's initial size is correct.
537 * Don't fail (BadMatch, request code 138) when DPMS is disabled.
538 * Use overwrite confirmation prompt (if available) when saving.
539 * Paste relevant parts of playlist and mediamark items into text boxes
540 (where they are owned by gxine).
541 * German man page fixes, based on patches from Bastian Kleineidam.
543 * Fix a potential null pointer dereference when setting the MRL's
544 default title. (Bug 1349639)
545 * Add independent zoom control for X and Y.
546 * JS console changes:
547 - Append, rather than prepend, results to the output area.
548 - Page Up and Page Down scroll the output area.
549 - Cursor up and down select from the history.
550 * Make the splash window be displayed for a fixed time.
551 * Use GTK's bindings code rather than our own for the key binding
552 editor's accelerator key field.
553 * Connect up the key bindings editor's tools' shortcuts.
554 * Fix a possible crash in the JS child object handling code.
555 * Do away with the Tools menu: the display windows are now accessed via
556 the View menu, and the setup window via File->Configure.
557 * "Window" -> "Window size" in the View menu.
558 * Fix type checking for JS methods which should take boolean params.
559 * JS callback() now accepts a second parameter for setting "this".
560 * Improve XML stock item lookup somewhat.
561 * Add alt text for nonexistent stock images (once only, at startup).
562 * Add listen and onchange attributes (for listening to gxine's
564 * Update the keypad and fs toolbar to use onchange events.
565 * Update the keypad to use the stock fullscreen icons if available.
566 * Switch tarball compression from gzip to bzip2.
567 * Some icon location and desktop file fixups. (Diego Pettenò)
568 * Some new graphics. :-)
572 * Reorganised and/or reimplemented large chunks of the UI.
573 - There are now top-level menus for audio and video.
574 - The toolbar is now defined using XML-based structures.
575 - There's a "remote control"-style window.
576 (Some of this is done to avoid deprecated bits of GTK+ and GLib.)
577 * Drag-resizing the main window now alters the scaling factor.
578 - The window can be shrunk more easily.
579 - Changes in video size no longer force the scale to the default
580 value or a value set via the window menu or set_video_size().
581 * Allow the windowed-mode controls to be in a separate window. There's
582 a new prefs option to control whether this happens (requires gxine
583 to be restarted to take effect). The window can be hidden and can
584 be stuck to the video window.
585 * Added a Javascript console. You can now see the errors generated
586 by your key bindings :-)
587 * Added startup script support. Error reporting is via the JS console.
588 Certain commands (dialogue boxes, stream, playlist, media marks)
589 have no effect, other than to generate warnings, during startup.
590 * Made the deinterlacer configuration generic. This allows use of
591 post-plugins such as 'pp'.
592 NOTE: unless deinterlacing is done by an active plugin, the old
593 deinterlacing method is used automatically.
595 * Separated the settings window into video and audio parts.
596 * Added a graphic equaliser (in the settings window).
597 * Added clipboard support to the playlist and media marks windows.
598 * Removed the "up" & "down" buttons in the playlist window.
599 * Added a "file" button to the 'open MRL' dialogue box. This makes it
600 easier to open some local MRLs, e.g. a DVD image on a hard disk.
601 * Added a "copy to mediamarks" button to the playlist window.
602 * Editing the currently-played item's playlist entry makes an
603 off-list copy of the original entry. Adding to mediamarks copies
605 * Reimplemented full-screen mode (it now reuses the main window).
606 - Force windowed mode for audio-only with no visualisation.
607 * Improved the LIRC support:
608 - also read ~/.lircrc (mappings in ~/.gxine/lircrc have priority);
609 - if the connection to lircd is lost, try to reconnect.
610 * Moving the stream position slider no longer selects normal play.
611 * Added Russian translation (Pavel Maryanov).
613 * Require GTK+ 2.6 and external Spidermonkey JS library.
614 * Added autoconf tests for C99 and certain GCC extensions.
615 * Add support for unblanking via DPMS, and prefer to use it.
616 * Unblank when starting or resuming playback.
617 * Separated utility functions and UI slider code.
618 * Made the playlist and speaker buttons themeable.
619 Prefix "gxine-media-", names "playlist", "speaker", "speaker-mute".
620 * Added JS settings objects for:
621 - each control in the settings window;
622 - various xine parameters and gxine runtime configuration items.
623 Some of these were previously accessed via JS functions: these
624 functions are now deprecated. You should upgrade your key bindings.
625 * Added JS callback function.
626 * Reworked the time widget and info bar. These can now be configured
627 via $SYSCONFDIR/gxine/gtkrc (typically /etc/gxine/gtkrc),
628 ~/.gtkrc-2.0 or ~/.gxine/gtkrc.
629 * Improved default widget handling (action on Return/Enter).
630 * Improved info bar metadata update.
631 * Show more metadata (if available) in the stream info window.
632 If there's too much, use an ellipsis.
633 * Playlist next and previous now wrap.
634 * Switched to GtkFileChooser for the file dialogue boxes.
635 (Based on a patch from Arjan Timmerman <arjan@soulfly.nl>.)
636 * Make use of GNOME VFS (if available) as a backend for GtkFileChooser.
637 Allow non-local URLs where we can currently cope with them.
638 * Keep dialogue boxes above their parent windows.
639 * Moved "title from stream" out of the playlist/mediamark item editor
641 * Handle externally-generated screen resolution changes (XRandR).
642 * Handle window-manager-generated main window fullscreen toggling.
643 * Reworked the "setup wizards" dialogue box.
644 * Overhauled error message handling (and write them to stderr).
645 * Show DVD title/chapter/angle count (if available) in stream info.
646 * Switched to tool buttons in playlist, media marks, key bindings.
647 * Improved ASX parsing. Don't complain about unrecognised elements
648 - gxine doesn't support some and I'm not planning to check for them.
649 Use <starttime> (which is standard) instead of <time> (which isn't).
650 * Listen for extended MRL ref events (if available at compile time).
651 * The browser plugin no longer causes the playlist to be cleared.
652 There's an extra option -a --add to support this.
653 * The splash window is now a popup (no effect on new window placement).
654 * Don't use deprecated GNOME VFS MIME functions.
655 * Prevent F10 and Menu from being used in (new) key bindings.
656 (These are hard-wired within GTK for menu display purposes.)
657 * Should now cope with movement between (logical) screens.
658 * Adjusted the default size to force recalc of the initial video size.
659 * Unshade the video window on entry to full-screen mode.
660 * Link the full-screen toolbar position to the window position.
661 * Reworked the video widget; gxine now uses one thread less.
662 * Shift focus-grabbing from the video widget to the main window.
663 (Keyboard grab would be used but for problems with some utilities.)
665 0.4.10: (never released)
667 Backports from 0.5.x:
668 * COPYING: update FSF address.
669 * Don't allow commas in plugin parameters.
670 * Fix truncation in plugin char-array parameter undo handling.
671 * Don't assume that an mmshttp MRL is an ASX playlist.
672 * Slightly rework initialisation; delay initial MRL launch a little.
673 * Hide some potentially-visible dashes in the setting
674 * Fix a potential null pointer dereference when setting the MRL's
675 default title. (Bug 1349639)
676 * gxine_client now exits when its connection to gxine disappears
677 (due to gxine exiting).
679 * Make warning about built-in JS lib much more noticeable.
680 * Be more careful about giving the full-screen window the input focus.
681 * German man page fixes, based on a patch from Bastian Kleineidam.
686 * Make XTest optional (screenblanker-defeating fake keypresses).
687 It seems to be causing problems...
688 * Don't touch the volume at startup if remember_volume isn't set.
689 * Don't reset the volume on exit - xine-lib alters it (if
690 remember_volume is set) before gxine gets anywhere near it.
692 * Fix Xinerama handling. (Bug 1295801, Debian bug 225367)
693 * Enforce black background beyond video area within video window.
694 * Don't create links to the browser plugin if it isn't present.
695 * Added Simplified Chinese translation. (Tao Pin, Dong Changdao)
696 * Fix a few filename-related memory leaks.
697 * Fixed problems with # in filenames. (Bug 1314149)
698 * Use --as-needed (if supported) when linking.
702 * Fix an initialisation bug which can cause near 100% CPU usage.
703 Of course, it didn't show up in my normal desktop environment...
704 * Improve insertion & removal of the vis plugin (minimise audio loss).
708 * Delay application of slider settings until a stream is started.
709 * Fix a missing-format-string bug (string parameters for post
710 plugins; practically harmless). (Diego Pettenò)
711 * Be safer about temporary files in gxine_client. (Diego Pettenò)
712 * Check for gdk-pixbuf-csource (build requirement).
713 * Fix an fd leak in read_entire_file (error path).
714 * Fix an upper limit off-by-one in the audio channel spin button.
715 * Fix snapshot() argument parsing.
716 * Don't link gxine_client or the browser plugin with the JS library.
717 * Don't build a static version of the browser plugin.
721 * Cope better with different window managers (full-screen toolbar).
722 * Fixed a few small string-related bugs in the browser plugin.
723 * Don't play the next item if not playing the deleted item (playlist).
724 * Improved gxine.desktop, based on work not sent upstream by Dag Wieers.
725 * Delayed startup notification until the main window is displayed.
726 * German translation typo fixes. (Debian bug 314039)
727 * Fix detection of xine-lib's gettext binding (xine-lib bug).
728 * Show the logo if the stream can't be played for some reason.
729 * Correct the initial position of the video widget's window.
730 * Moved gxine-logo.png into /usr/[local/]share/pixmaps (based on a
731 patch from Chris Lord).
732 * Fix a couple of playlist insertion bugs.
733 * Mark a few more strings as translatable.
734 * Remove MRLs from the playlist when they cause more MRLs to be added.
735 * Fix a GNOME VFS shutdown bug.
736 * Fix play() start index handling.
740 * SECURITY FIX (CVE-2005-1692) (pst.advisory 2005-21)
741 Remotely-exploitable missing-format-string vulnerability in some
742 message dialogue boxes.
744 * Fixed some brokenness in the visualisations menu; hide/show the
745 video widget as needed when selecting an item from that menu.
746 * Better handling of uninstantiatable post-plugins when configuring.
747 * Caught and replaced another asprintf. [Bug 1204625]
748 * Compile fix (Solaris): need $(X_EXTRA_LIBS).
749 * Correct the documentation of the '-e' option in gxine.1.
750 (en is done; de, pt-BR not done.)
751 * Don't set a title for the full-screen toolbar.
752 * Set up X threads earlier (it was being done too late).
753 (based on a patch from Antti P Miettinen <ananaza@iki.fi>.)
757 * Added support for VDR's AUDIO key.
758 * Made the browser plugin optional.
759 * Stop playback on playlist clear.
760 * Fixed a bug in multi-file drag+drop.
764 * Fix a bug in JS vdr(). It should check the active MRL rather than
765 the currently-selected playlist entry.
766 * Fix a post-plugin parameter handling error.
767 * Provide a few more default bindings with keys.
771 ! Use external JS lib by default (if available).
772 If you're using amd64, you want this, I'm told.
773 ! This version should be buildable and useable with GTK+2.2.
774 It may also use, but not rely on, a few features from GTK+2.6.
775 * Configure switches for GTK+ versions compatibility and whether to
776 use the desktop integration wizard. (Mainly for packagers.)
777 * Mark 'repeat' and 'random' buttons (playlist) as having accelerator
779 * Improve prefs window numeric entry editing.
780 * "tvtime" deinterlace plugin support.
781 * Video and audio post-plugin chain support.
782 The deinterlace plugin is prepended to the video chain if enabled.
783 The visualisation plugin is prepended to the audio chain if active.
784 * Hide tab & border for single-page notebooks in the prefs window.
785 * Make columns in playlist etc. resizable.
786 * Fixed a few crash/warning bugs (mediamarks/playlist item edit) left
788 * Respond to volume changes made externally.
789 * Fix crash on virtual desktop change. The full-screen window is now
790 sticky and on all desktops. (If you have a better way of fixing
791 this which *doesn't* require this, let me know.)
792 * Fix overlay bug with window managers, such as IceWM, which have
794 * Text preferences which are uncommitted may be undone by Ctrl '-' or
796 * Make the visualisation setting a preference.
797 * Fix a few problems in playlist expansion via xine-lib.
798 * Add JS event(NAME) function and make event() and vdr() output help
799 text if called without parameters.
800 * Add keybinding entries for 'next angle' and 'previous angle'.
801 * Save the A/V offset setting.
802 * Build fix: apparently, Spidermonkey isn't always libsmjs.so.
803 * Stop GTK's complaints when the locale doesn't use UTF-8.
804 (This is done by telling gettext that we want translated text in
805 UTF-8. Some is intended for the console; this isn't special-cased.)
806 * Add a few extra icons to the menus.
807 * Add config options for default window size and magnification of
808 low-res video streams.
809 * Improve live-stream detection; recognise streams of unknown length.
810 * Improve the current stream title display.
811 * Rely on xine-lib's XML parser and quote some characters when saving
812 the playlist, media marks and key bindings.
813 * Change the way in which the control button images are implemented.
814 (There are problems with some GTK+ theme engines otherwise.)
815 * Try to update the current playlist item's title from the stream
816 automatically unless the title has been edited.
817 * Deleting a playlist item will, if it is being played, cause the
818 next item to be played (or the player to enter idle mode).
819 * Use ellipsis in long entries in the playlist & mediamarks windows.
821 * Allow drag&drop for reordering playlist items.
822 * Prevent multiple install wizard instantiations.
823 * Add menu tooltips for plugins with short descriptions in the plugin
824 chain configuration windows.
825 * Make playlist repeat & random settings persistent. (Guenter)
829 * Require at least GTK+ 2.4 and GLib 2.4. (I can't test 2.2.)
830 * Rework toolbar widget internals, mainly for the UI control buttons
831 (so that the displayed state is consistent) and sliders (for
833 * Update the volume sliders from javascript:set_volume().
834 * Tweak the toolbar layout a little.
835 * Add an extra line to the info widget (for audio codec info).
836 * More internal rearrangement, intended to get rid of a hang in the
837 video window event handler thread.
838 (Locking problem between XNextEvent() and XSelectInput()?)
839 * Handle app window resize even when in full-screen mode.
840 * Get title from meta-info for 'add mediamark'.
841 * Add configuration items for deinterlace-by-default and toolbar.
842 * Add menu options for toolbar handling.
843 * Nested tab boxes in the prefs window for the renamed preferences in
845 * Fix building with --disable-nls.
846 * The speaker button now displays a crossed-out speaker when audio is
848 * Improve the visualisation show/hide code: check for audio as well
850 * Pass button press events to libxine, except for button 2 (override
851 if Shift is pressed). Similarly, pass release events.
854 [dsalt] [0.4.0 branch]
855 * Hack to update the volume level sliders.
856 * Require at least GTK+ 2.2 and GLib 2.2.
857 (Note that I've only been able to test against 2.0 and 2.4.)
859 0.4.0-rc2: 2004-11-28
860 [dsalt] [0.4.0 branch]
861 * More internal rearrangement, intended to get rid of a hang in the
862 video window event handler thread.
863 (Locking problem between XNextEvent() and XSelectInput()?)
864 * Handle app window resize even when in full-screen mode.
865 * Bug fixes, mostly wrt features new to -rc1.
867 0.4.0-rc1: 2004-11-18
869 + fix loading of GNOME VFS library (Debian 221509)
870 + fix preferences-editing crash bug
871 (sf 1019423, 1051186; Debian 258894)
872 + don't report missing config files (Debian 257479)
873 + fix -DLOG FTBFS (Debian 228185)
874 + unbreak mouse UI->video coordinates translation
875 + fix some deleted window reopening bugs
876 + move away from older GTK deprecated interfaces
877 + give the media mark add/edit dbox cancel and undo buttons
878 + generalised Javascript menu function (Debian 257493)
879 + make various menu items tickable
880 + use stock icons in menus and some buttons
881 + add save buttons to the prefs, key bindings and media marks
883 + add refresh buttons to the engine log and stream info windows
884 + make the scroll bars in the engine log window automatic
885 + key bindings have descriptions, general key binding editor
886 improvements (Debian 257480)
887 + add/enable auto-resize code and a menu option for it
888 - BUG: race if both width and height are altered
889 + fix playlist item move/delete wrt item being played
891 + tweaked the prefs window tabs' layout to avoid very short sliders
892 e.g. in the video tab when given '-V xshm'
893 + chdir to |input.file_origin_path| at startup
894 + alter the About window implementation (no more multiple windows)
895 + reduced some menu callback code
896 + all in-source menu items have _shortcuts
897 + added experience level setting to prefs, replaced non-editable
898 combo boxes with option menus (should be GtkComboBox, but that's
900 + don't add duplicate MRLs (via menu or MRL dbox) to the playlist
901 + add popup menu (hardwired on F10 & button 3)
902 + fix fullscreen dialogue box problems (sf 908698)
903 + allow menu shortcuts in full-screen mode
904 + [SECURITY] (CVE-2004-1034)
905 fix a buffer overflow in the HTTP fetch code
906 + fix crash if http_proxy (environment) is set
908 + Don't fast-forward or pause live audio/video
909 + UI buttons now show current state
910 + Bring BBC media marks up to date
912 + plugin 'fixed' to not shutdown or crash browser
913 + playlist: indicate item being played
914 + allow compilation/linking using external spidermonkey (libsmjs)
915 + added menu items for playlist and settings
916 + restore visualisations for audio-only files/streams
917 + added toolbar for full-screen mode
918 * CVS: Add 0.4.0 branch for 0.4.0-rc1.
921 * fix time display in mediamarks / live streams
922 * playlist drag&drop support
923 * new layout of playlist editor
924 * drag&drop of multiple files
925 * fix annoying console warnings
926 * drag&drop bugfixes and cleanups
927 * correct build with xine-lib-1_rc6 (bug #1036299)
930 * browser plugin uses athena widgets now, this will hopefully
931 fix compatibility issues with browsers that are linked against
933 * improved real player plugin emulation
934 * improve PLS handling (local files / http)
935 * open_mrl dialog fixes
936 * display xine engine async messages
937 * switch between visualizations without interrupting the current stream
940 * ASX parser fixes (more tolerant version checking)
941 * adapted to new libxine engine verbosity setting method
942 * filter out non-ascii characters for strings handed over to pango
943 (should fix some gtk warnings)
944 * use gtk widgets in browser plugin, add popup window displaying
945 the mrl in a gtk entry field so the user can copy it to the clipboard
946 e.g. for stream downloading
947 * emulate real player plugin autoplay mode
948 * better protection against accidently starting gxine more than once
949 from the browser plugin
950 * a splash screen for the impatient
951 * dvd snapshot bug workaround
954 * make sure dialog widgets are not destroyed when closed
955 using the window manager's close button
956 * exit from fullscreen mode via ctrl-f is now possible
957 (simply pressing f still works)
958 * playlist repeat and random modes
959 * playlist add button
960 * multiple selections possible in file dialog
961 * filter out numlock / scroll lock / shift lock from key events
962 * fix dvd menu navigation keyboard shortcuts
963 (delete your ~/.gxine/keybindings for this to take effect)
964 * browser plugin bugfixes (make sure you run the setup wizard again
965 to have the new plugin copied to your ~/.mozilla/plugins)
966 * fix handling of verbose (-v) command line option
967 make sure multiple -v options are handled correctly (more verbosity)
968 * drag&drop support (drop files from nautilus on gxine for playback)
969 * javascript engine bugfix for ppc by manfred tremmel
970 * mediamarks import function
971 * implement deinterlacer setting
972 * subtitle channel selection moved to view menu
976 * switched to asx/xml file formats for mediamarks/playlists
977 * ability to load/save playlist files
978 * drag&drop interactive sorting support in mediamarks and
980 * full deployment of javascript engine
981 * remote-controllable via unix domain socket, client included
982 * gxine will start only one instance per user
984 * play_item concept (mediamarks and playlist items are the same)
985 * configurable keybindings plus a keybindings editor
986 * the gtk xine widget (included in gxine) now automatically tries
987 to disable screensavers during playback
989 * zoom in/out video option
990 * visualization plugins (e.g. goom) support
991 * link browser plugin against libX11/libXt to avoid relocation errors
992 with newer mozilla versions
993 * support reference events
996 * mouse dvd menu navigation
997 * fix fullscreen for net_wm compliant window managers (metacity)
998 * command line options for audio/video driver selection, verbose
999 * make mouse cursor visible in fullscreen mode while mouse moves
1000 * menu also available as context menu
1001 * CTRL-F exits fullscreen now (as well as F, Esc)
1002 * menu entries that bring up dialogs have a "..." suffix now
1003 * engine log window has scrollbars
1004 * fix dialog show/hide issues with preferences, playlist and settings
1007 * renamed to "gxine" (some issues still pending)
1008 * now using the libxine.1 API (ie current alpha releases)
1009 * lots of new features