============ Version 0.9.1 2002-08-31 Bastien Nocera <hadess@hadess.net> * data/totem.applications: remove http from the list of supported URI schemes, it crashes and burn with xine 0.9.13 (release) 2002-08-31 Bastien Nocera <hadess@hadess.net> * src/totem.c: (action_handle_key): added ½ as a key to put the scale ratio at (guess ?) ½ of the original size (enhancement request by Hakon G <hakon_@everyday.com>) * README: upd 2002-08-31 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (xine_thread), (gtk_xine_idle_signal), (gtk_xine_set_fullscreen): made the fullscreen window a transient window for the main UI (the totem UI won't go over the top of the fullscreen window). All the keyboard commands available in fullscreen are still available (Closes: #92090) 2002-08-29 Bastien Nocera <hadess@hadess.net> * src/video-utils.c: (old_wmspec_set_fullscreen), (gdk_window_set_fullscreen): add support for the old wm-spec, not tested (Closes: #91937) 2002-08-29 Bastien Nocera <hadess@hadess.net> * src/gtk-playlist.c: (gtk_playlist_add_files), (gtk_playlist_init): * src/totem.c: (on_open1_activate): make file selectors remember the path they were in (Closes: #91894) 2002-08-29 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (gtk_xine_class_init), (gtk_xine_instance_init), (video_window_translate_point), (xine_thread), (gtk_xine_realize), (gtk_xine_idle_signal), (xine_event), (gtk_xine_set_fullscreen): * src/gtk-xine.h: kill the use of GtkInvisible for the fullscreen window (this fixes the DVD menus in fullscreen), and handle the key presses in the xine_thread, kill the GC * src/totem.c: (action_handle_key), (on_video_key_release_event), (on_window_key_press_event), (totem_callback_connect), (video_widget_create): some cleanups in the kbd handling, and upd wrt changes in GtkXine 2002-08-28 Bastien Nocera <hadess@hadess.net> * src/gtk-playlist.c: (gtk_playlist_finalize): add a bit more checks * src/gtk-xine.c: (video_window_translate_point), (generate_mouse_event), (xine_thread): add generation of the necessary xine mouse events to make DVD menus work 2002-08-28 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (frame_output_cb), (xine_thread): re-enable Expose event compression, should fix weird slow-downs 2002-08-28 Bastien Nocera <hadess@hadess.net> * README: upd * data/Makefile.am: desktop_in_files in the EXTRA_DIST, not desktop_DATA 2002-08-28 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (gtk_xine_get_mrls): * src/gtk-xine.h: return const char ** * src/totem.c: (action_play_media): don't g_strfreev the mrls, and actually add them to the playlist, works better 2002-08-27 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (gtk_xine_instance_init), (load_audio_out_driver), (gtk_xine_realize), (gtk_xine_is_fullscreen), (gtk_xine_get_current_time), (gtk_xine_get_stream_length), (gtk_xine_is_playing), (gtk_xine_is_seekable), (gtk_xine_can_play), (gtk_xine_get_mrls): * src/gtk-xine.h: * src/totem.c: (action_play_media), (drop_cb), (action_open_files), (on_play_dvd1_activate), (on_play_vcd1_activate), (totem_callback_connect), (video_widget_create): We should now be able to play DVDs and VCDs, please test, killed a bunch of mem leaks by the same token 2002-08-27 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (frame_output_cb), (gtk_xine_set_scale_ratio): fix the zooming so that it doesn't use xine_get_current_frame () (and leak like mad ;) 2002-08-27 Bastien Nocera <hadess@hadess.net> * configure.in: pump up the minimum Xine version number to 0.9.13 * src/gtk-xine.c: (gtk_xine_class_init), (xine_thread), (gtk_xine_realize), (key_press_event_cb), (gtk_xine_set_fullscreen): use non-deprecated call instead of gtk_type_new, kill the priv->toplevel window, remove all usage of XSetInputFocus with RevertToNone, make the fullscreen window grab keypresses by itself * src/gtk-xine.h: add key-press signal * src/totem.c: (totem_callback_connect), (video_widget_create): ditto 2002-08-27 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (gtk_xine_finalize), (load_video_out_driver), (load_audio_out_driver), (load_config_from_gconf), (xine_thread), (gtk_xine_realize), (gtk_xine_idle_signal), (gtk_xine_new), (gtk_xine_set_fullscreen), (gtk_xine_can_set_volume), (gtk_xine_set_scale_ratio): revert to a 0.9.1 state with these differences: - translate the fullscreen video window title - kill ->priv->fullscreen_width/height - fix a possible crash on exit bug - a bit of gdk-ification in the full-screen handling * src/gtk-xine.h: remove the xine.h include * src/video-utils.c: (wmspec_change_state), (gdk_window_set_fullscreen): upd 2002-08-26 Bastien Nocera <hadess@hadess.net> * README: add snippet about black fullscreen bug * configure.in: added es to ALL_LINGUAS from Ricardo Mones Lastra <mones@trasgu.aic.uniovi.es> * src/gtk-xine.c: (load_config_from_gconf), (xine_thread), (gtk_xine_realize), (gtk_xine_idle_signal), (gtk_xine_set_fullscreen), (gtk_xine_set_scale_ratio): kill ->gc, some cleanups, re-enable some hacks so it keeps working, possible crash on exit fix from Hallski 2002-08-26 Bastien Nocera <hadess@hadess.net> * data/totem.glade: * src/totem.c: (action_set_mrl): get the sensitivity right on the next/previous, and skip buttons 2002-08-25 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (dest_size_cb), (frame_output_cb), (xine_thread), (gtk_xine_realize), (gtk_xine_set_fullscreen), (gtk_xine_set_scale_ratio): kill fullscreen_width/height and the toplevel Window * src/video-utils.c: (wmspec_change_state), (gdk_window_set_fullscreen), (eel_gdk_window_set_invisible_cursor): * src/video-utils.h: some bug fixes wrt fullscreen 2002-08-25 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (load_video_out_driver), (load_audio_out_driver), (gtk_xine_realize), (gtk_xine_set_fullscreen), (gtk_xine_set_show_cursor): some little leaks plugged, use a GdkWindow for the full-screen window * src/video-utils.c: (wmspec_change_gdk_window_state), (gdk_window_set_fullscreen), (eel_gdk_window_set_invisible_cursor): borrow eel's cursor hiding stuff, use GdkWindows when possible * src/video-utils.h: api change 2002-08-25 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (load_video_out_driver), (gtk_xine_realize): use the gdk functions instead of the X ones when possible 2002-08-24 Christian Neumair <christian-neumair@web.de> * configure.in (ALL_LINGUAS): Added German (de). ============ Version 0.9.1 2002-08-24 Bastien Nocera <hadess@hadess.net> * README: upd * configure.in: 0.9.1 * data/.cvsignore: upd * data/Makefile.am: upd * data/gtk-xine.schemas.in: removed * data/totem.schemas.in: added * src/gtk-xine.c: (load_config_from_gconf): change default * src/scrsaver.c: (fake_event), (scrsaver_disable), (scrsaver_enable): cleanups ============ Version 0.9 2002-08-24 Bastien Nocera <hadess@hadess.net> * README: added 0.9 release details * configure.in: 0.9 2002-08-24 Bastien Nocera <hadess@hadess.net> * data/totem.glade: disable DVD and VCD, as there's no code behind them yet 2002-08-24 Bastien Nocera <hadess@hadess.net> * README: * data/totem.glade: added 1:2 zoom * src/gtk-xine.c: (gtk_xine_set_scale_ratio): implement with mucho hackery... but it works (whee!) * src/gtk-xine.h: * src/totem.c: (action_set_scale_ratio), (on_zoom_1_2_activate), (on_zoom_1_1_activate), (on_zoom_2_1_activate): implement these and add the 0,1 and 2 shortcuts 2002-08-24 Bastien Nocera <hadess@hadess.net> * src/Makefile.am: * src/gtk-xine.c: * src/video-utils.c: (xwindow_set_fullscreen): * src/video-utils.h: move the fullscreen stuff to video-utils.[ch] 2002-08-23 Bastien Nocera <hadess@hadess.net> * acconfig.h: added * configure.in: added tests for XTest * src/Makefile.am: added src/scrsaver.[ch] * src/gtk-xine.c: (xine_thread), (gtk_xine_realize), (gtk_xine_set_fullscreen): should disable the screensaver when playing full-screen now * src/scrsaver.c, src/scrsaver.h: nicked and adapted from sinek 2002-08-22 Bastien Nocera <hadess@hadess.net> * data/totem.applications: add more supported URIs (http, mms...) * src/gtk-xine.c: (x_window_is_visible), (xine_thread), (gtk_xine_unrealize), (gtk_xine_toggle_aspect_ratio), (gtk_xine_set_scale_ratio): fix crashing bug when switching back and forth to a desktop with a fullscreen video on it, added non-working gtk_xine_set_scale_ratio api * src/gtk-xine.h:added non-working gtk_xine_set_scale_ratio api * README: added url for bugzilla 2002-08-15 Bastien Nocera <hadess@hadess.net> * README: upd * src/totem.c: (drop_cb), (action_open_files): update the previous/next button when starting up on the cli 2002-08-12 Bastien Nocera <hadess@hadess.net> * README: upd * data/.cvsignore: upd * data/Makefile.am: * data/gtk-xine.schemas.in: added * src/gtk-xine.c: (gtk_xine_finalize), (load_config_from_gconf), (gtk_xine_unrealize): fix configuration saving, beginnings of the configuration work * src/totem.c: (update_sliders_cb): update the volume pixmap if the volume was changed by an external source 2002-08-10 Bastien Nocera <hadess@hadess.net> * README: upd * data/playlist.glade: moved the add and remove buttons together * data/totem.glade: some UI stuff, not implemented yet * src/gtk-xine.c: * src/gtk-xine.h: removed gtk_xine_save_config () 2002-08-09 Bastien Nocera <hadess@hadess.net> * data/Makefile.am: * data/totem_logo.mpv: add new nifty logo * src/gtk-xine.c: (gtk_xine_class_init), (gtk_xine_finalize), (load_audio_out_driver), (load_config_from_gconf), (gtk_xine_realize), (gtk_xine_unrealize): beginnings of the the configuration stuff, and support new logo, fixes related to object destruction (should work ok now) * src/totem.c: (action_exit), (main_window_destroy_cb), (totem_callback_connect), (video_widget_create): fix exiting properly 2002-08-07 Bastien Nocera <hadess@hadess.net> * .cvsignore: upd * src/totem.c: (action_play), (drop_cb), (on_open1_activate), (playlist_changed_cb): playlist fixes (dropping files, and open dialog) 2002-08-07 Bastien Nocera <hadess@hadess.net> * Makefile.am: * README: * configure.in: * data/*: moved the arch-all stuff to data/, add a user-install target for users to install the Nautilus configs if necessary, upd README, change the previous and next button to the proper ones 2002-08-07 Bastien Nocera <hadess@hadess.net> * README: upd * src/gtk-xine.c: (gtk_xine_instance_init), (xine_thread), (gtk_xine_realize), (gtk_xine_new), (gtk_xine_check): * src/gtk-xine.h: add width and height args to gtk_xine_new, make gtk_xine_check do something useful * src/totem.c: (long_action), (action_error), (action_play), (action_play_pause), (action_fullscreen_toggle), (update_sliders_cb), (action_open_files), (on_error_event), (video_widget_create), (main): wait until Xine is up to make it play movies (using gtk_xine_check), mucho error dialog work. * src/totem.desktop.in: s/Media Player/Totem Movie Player/ * src/totem.glade: move the sliders at 0 by default 2002-08-07 Bastien Nocera <hadess@hadess.net> * configure.in: added it to ALL_LINGUAS 2002-08-07 Bastien Nocera <hadess@hadess.net> * src/gtk-xine.c: (dest_size_cb), (frame_output_cb), (load_video_out_driver), (xine_thread), (configure_cb), (gtk_xine_realize), (gtk_xine_size_allocate): g_strfreev is nice, and fix some brain damage in configure_cb 2002-08-07 Bastien Nocera <hadess@hadess.net> * README: upd * src/.cvsignore: added the marshal generated files * src/Makefile.am: upd * src/debug.h: fix declaration of TE and TL * src/gtk-xine.c: * src/gtk-xine.h: plenty of small fixes, and cleanups * src/totem.c: create the video widget after the window has been shown (should make it feel faster on slow machines), remove long_action() * src/totem.glade: make the video widget be at a 4:3 ratio by default 2002-08-06 Bastien Nocera <hadess@hadess.net> * src/Makefile.am: added the marshal list * src/gtk-xine.c: (gtk_xine_class_init), (gtk_xine_instance_init), (gtk_xine_realize), (gtk_xine_idle_signal), (xine_event), (codec_reporting), (xine_error): * src/gtk-xine.h: * src/gtkxine-marshal.list: marshals * src/totem.c: (play_pause_set_label), (action_set_mrl), (action_previous), (action_next), (playlist_changed_cb), (current_removed_cb), (on_eos_event), (on_error_event), (video_widget_create), (main): mucho work wrt threading, deadlocks, etc. All the deadlocks should now be gone, the player itself probably behaves a bit bizzarely right now, I'll fix it soon. Thanks to Steve Baker and Owen Taylor for their great help. 2002-08-05 Bastien Nocera <hadess@hadess.net> * README: * src/gtk-xine.c: (xine_error): * src/totem.c: (action_stop), (action_previous), (action_next), (on_about1_activate), (playlist_changed_cb), (main): added Guenter to the authors, fix typos (thanks Christophe Fergeau) add some commented out code that's buggy, damn threads 2002-08-04 Christophe Fergeau <teuf@users.sourceforge.net> * configure.in: added fr.po 2002-08-04 Bastien Nocera <hadess@hadess.net> * README: upd * src/debug.h: added threads debugging * src/gtk-xine.c: (gtk_xine_class_init): moved threads init here * src/totem.applications: * src/totem.keys: added wav and fli handling * src/totem.c: (on_eos_event), (main): upd * src/totem.glade: add a Play DVD item, just to see 2002-08-02 Bastien Nocera <hadess@hadess.net> * README: upd * src/gtk-playlist.c: (gtk_playlist_set_playing): * src/gtk-playlist.h: change the args for gtk_playlist_set_playing * src/gtk-xine.c: (gtk_xine_class_init), (gtk_xine_realize), (xine_error): * src/gtk-xine.h: add signals for the playing errors * src/totem.c: (action_set_mrl), (playlist_changed_cb), (on_play_error_event), (video_widget_create), (main): add crude error reporting, upd against gtk_playlist_set_playing API change 2002-08-02 Bastien Nocera <hadess@hadess.net> * README: upd * configure.in: v0.8 * src/Makefile.am: added totem.applications * src/totem.applications: addded, fixing nautilus integration * src/totem.c: (playlist_changed_cb): fixed dnd'ing a file that's already playing on the main window * src/totem.desktop.in: fixed pixmap location 2002-08-02 Bastien Nocera <hadess@hadess.net> * README: * configure.in: * src/Makefile.am: * src/gtk-playlist.c: (gtk_playlist_get_type), (gtk_playlist_finalize): * src/rb-ellipsizing-label.[ch]: * src/totem.c: (action_play_pause), (action_set_mrl), (label_create): removed eel dependency, made the title label bigger 2002-08-01 Bastien Nocera <hadess@hadess.net> * src/gtk-playlist.c: (drop_cb), (init_treeview), (gtk_playlist_new): added dnd * src/gtk-playlist.h: * src/totem.c: (action_play), (action_play_pause), (action_set_mrl), (drop_cb), (on_play_pause_button_clicked), (action_open_files), (on_about1_activate), (playlist_changed_cb), (current_removed_cb), (on_eos_event), (video_widget_create), (totem_callback_connect): s/GTK_OBJECT/G_OBJECT/g, start playing when file is dropped on us, and more dnd related fixes 2002-08-01 Bastien Nocera <hadess@hadess.net> * src/totem.c: (volume_set_image), (action_set_mrl), (action_seek_relative), (action_volume_relative), (vol_cb): update the volume icon when the volume changes 2002-08-01 Bastien Nocera <hadess@hadess.net> * src/Makefile.am: upd * src/gtk-xine.c: (xine_thread): remove extraneous debug * src/rhythmbox-volume-max.png: * src/rhythmbox-volume-medium.png: * src/rhythmbox-volume-min.png: * src/rhythmbox-volume-zero.png: added * src/stock_media_previous.png: * src/stock_media_next.png: change style to fwd/rwd * src/stock_media_pause.png: * src/stock_media_play.png: added * src/stock_media_play_pause.png: * src/stock_media_play_pause.xcf: removed * src/tb_volume.xpm: * src/tb_volume_off.xpm: removed * src/totem.c: (play_pause_set_label), (action_play), (action_play_pause), (action_set_mrl), (action_seek_relative), (on_play_pause_button_toggled), (seek_cb), (current_removed_cb), (on_eos_event), (totem_callback_connect), (main): * src/totem.glade: made the play/pause toggle a simple button and change the image depending on the status, moved the buttons to be in the same order as RB, started fixing the volume control 2002-08-01 Bastien Nocera <hadess@hadess.net> * README: * src/Makefile.am: * src/gtk-playlist.c: (init_columns), (gtk_playlist_new): * src/gtk-xine.c: (gtk_xine_toggle_aspect_ratio): * src/gtk-xine.h: * src/totem.c: (action_exit), (play_pause_toggle_disconnected), (action_toggle_aspect_ratio), (on_toggle_aspect_ratio1_activate), (on_about1_activate), (on_window_key_press_event), (video_widget_create), (totem_callback_connect), (main): s/GTK_SIGNAL_FUNC/G_CALLBACK/g, added aspect ratio toggling (wishlisted by Michele Campeotto), use locate_file correctly * src/totem.glade: GUI for aspect ratio toggling 2002-07-31 Bastien Nocera <hadess@hadess.net> * configure.in: added --disable-debug flag * src/Makefile.am: * src/debug.h: added * src/gtk-playlist.c: (gtk_playlist_foreach_selected): * src/gtk-xine.c: (load_audio_out_driver), (xine_thread), (configure_cb), (gtk_xine_realize), (gtk_xine_size_allocate), (gtk_xine_play): * src/totem.c: (main): make use of shared debug macros, fix some build issues 2002-07-31 Bastien Nocera <hadess@hadess.net> * src/totem.c: (action_error), (main): added more checks for the interface loading, so that we fail gracefully if it doesn't work Thanks thomasvs for pushing me into doing it 2002-07-31 Bastien Nocera <hadess@hadess.net> * Makefile.am: * README, NEWS, AUTHORS: upd * src/Makefile.am: forgot to add totem.keys * src/totem.c: (drop_cb), (on_about1_activate): fix the DND on the main controls 2002-07-31 Bastien Nocera <hadess@hadess.net> * configure.in: upd to 0.7 (RELEASE!!!) * src/gtk-playlist.c: disabled debug by default * src/totem.c: (disable_error_output), (playlist_changed_cb), (current_removed_cb), (main): added some way to kill off all of xine's debug output 2002-07-31 Bastien Nocera <hadess@hadess.net> * src/gtk-playlist.c: (gtk_tree_model_iter_previous), (update_current_from_playlist), (gtk_playlist_add_files), (gtk_playlist_foreach_selected), (gtk_playlist_remove_files), (init_columns), (init_treeview), (gtk_playlist_init), (gtk_playlist_finalize), (gtk_playlist_new), (gtk_playlist_add_mrl), (gtk_playlist_clear), (gtk_playlist_get_current_mrl), (gtk_playlist_has_previous_mrl), (gtk_playlist_has_next_mrl), (gtk_playlist_set_playing), (gtk_playlist_unset_playing), (gtk_playlist_set_previous), (gtk_playlist_set_next), (gtk_playlist_set_at_start), (gtk_playlist_class_init): added debug, make items removal work, fix warnings wrt signal emission, fix last item's removal * src/totem.c: (action_exit), (current_removed_cb), (totem_callback_connect): make items removal work as it should 2002-07-31 Bastien Nocera <hadess@hadess.net> * .cvsignore: * po/.cvsignore: * src/.cvsignore: added * src/gtk-playlist.c: (gtk_tree_model_iter_previous), (gtk_playlist_add_files), (gtk_playlist_foreach_selected), (gtk_playlist_remove_files), (init_treeview), (gtk_playlist_init), (gtk_playlist_finalize), (gtk_playlist_new), (gtk_playlist_add_mrl), (gtk_playlist_clear), (gtk_playlist_get_current_mrl), (gtk_playlist_has_previous_mrl), (gtk_playlist_has_next_mrl), (gtk_playlist_set_playing), (gtk_playlist_unset_playing), (gtk_playlist_set_previous), (gtk_playlist_set_next), (gtk_playlist_set_at_start), (gtk_playlist_class_init): s/details/_priv/, added "changed" and "current_removed" signals, made the add and remove buttons functional, added checks for the glade UI, convert the filename to utf8 before displaying them in the tree (mucho crashes with remove still), * src/gtk-playlist.h: same * src/playlist.glade: upd * src/totem.c: (long_action), (action_exit), (action_open_files), (on_open1_activate), (playlist_changed_cb), (current_removed_cb), (totem_callback_connect), (main): allow multiple files selection in the open dialog 2002-07-31 Bastien Nocera <hadess@hadess.net> * README: upd * src/gtk-playlist.c: (gtk_playlist_add_mrl), (gtk_playlist_clear): * src/gtk-playlist.h: add gtk_playlist_clear() * src/totem.c: (action_volume_relative), (update_sliders_cb), (seek_cb), (vol_cb), (on_open1_activate), (on_eos_event), (on_window_key_press_event), (update_buttons), (totem_callback_connect), (main): add volume control, remove debug, make open... work as it should (using the playlist), show the UI properly before starting the playback, update the next/previous buttons in the menus 2002-07-28 Bastien Nocera <hadess@hadess.net> * src/gtk-playlist.c: (gtk_playlist_new), (gtk_playlist_unset_playing), (gtk_playlist_set_next), (gtk_playlist_set_at_start): * src/gtk-playlist.h: * src/totem.c: (play_pause_toggle_disconnected), (action_play_pause_real), (action_set_mrl), (action_previous), (action_next), (on_eos_event), (totem_callback_connect), (main): more playlist/eos work, now eo playlist and eo stream is handled correctly, all the deadlocks (that happened because of some nasty signals/threads interaction) are gone 2002-07-27 Bastien Nocera <hadess@hadess.net> * src/Makefile.am: * src/gtk-playlist.c: (gtk_playlist_new), (gtk_playlist_add_mrl), (gtk_playlist_set_playing), (gtk_playlist_unset_playing), (gtk_playlist_set_previous), (gtk_playlist_set_next): * src/gtk-playlist.h: * src/gtk-xine.c: (xine_error), (gtk_xine_play): * src/playlist-playing.png: * src/totem.c: (play_pause_toggle_disconnected), (action_play_pause_real), (action_set_mrl), (action_previous), (action_next), (on_previous_button_clicked), (on_next_button_clicked), (toggle_playlist_from_playlist), (on_window_key_press_event), (totem_callback_connect), (main): Cleanups, add real ability to skip backwards and forwards in the playlist. Yesh, yesh, it works! 2002-07-16 Bastien Nocera <hadess@hadess.net> * configure.in: remove unneeded gob2 check 2002-07-16 Bastien Nocera <hadess@hadess.net> * src/Makefile.am: use XINE_CFLAGS, not just CFLAGS * src/Makefile.in, Makefile.in, src/totem.desktop: removed