From: Wim T. <wt...@us...> - 2001-12-13 23:14:41
|
Update of /cvsroot/gstreamer/gstreamer/gstplay In directory usw-pr-cvs1:/tmp/cvs-serv30807/gstplay Modified Files: callbacks.c gstmediaplay.c gstplay.c gstplay.h gststatusarea.c main.c Log Message: Aplied more fixage from Michael Meeks. Index: callbacks.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gstplay/callbacks.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- callbacks.c 2001/06/13 01:18:12 1.11 +++ callbacks.c 2001/12/13 23:14:37 1.12 @@ -68,10 +68,10 @@ struct stat statbuf; if (stat (DATADIR"gstmediaplay.glade", &statbuf) == 0) { - xml = glade_xml_new (DATADIR"gstmediaplay.glade", "preferences"); + xml = gst_glade_xml_new (DATADIR"gstmediaplay.glade", "preferences"); } else - xml = glade_xml_new ("gstmediaplay.glade", "preferences"); + xml = gst_glade_xml_new ("gstmediaplay.glade", "preferences"); } void on_about_activate (GtkWidget *widget, gpointer data) @@ -80,10 +80,10 @@ struct stat statbuf; if (stat (DATADIR"gstmediaplay.glade", &statbuf) == 0) { - xml = glade_xml_new (DATADIR"gstmediaplay.glade", "about"); + xml = gst_glade_xml_new (DATADIR"gstmediaplay.glade", "about"); } else - xml = glade_xml_new ("gstmediaplay.glade", "about"); + xml = gst_glade_xml_new ("gstmediaplay.glade", "about"); /* connect the signals in the interface */ glade_xml_signal_autoconnect (xml); Index: gstmediaplay.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gstplay/gstmediaplay.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- gstmediaplay.c 2001/12/06 13:38:10 1.21 +++ gstmediaplay.c 2001/12/13 23:14:37 1.22 @@ -4,6 +4,9 @@ #include <unistd.h> #include <gnome.h> +#ifdef USE_GLIB2 +#include <libgnomeui/libgnomeui.h> +#endif #include "gstmediaplay.h" #include "callbacks.h" @@ -130,24 +133,29 @@ /* load the interface */ if (stat (DATADIR"gstmediaplay.glade", &statbuf) == 0) { - mplay->xml = glade_xml_new (DATADIR"gstmediaplay.glade", "gstplay"); + mplay->xml = gst_glade_xml_new (DATADIR"gstmediaplay.glade", "gstplay"); } else { - mplay->xml = glade_xml_new ("gstmediaplay.glade", "gstplay"); + mplay->xml = gst_glade_xml_new ("gstmediaplay.glade", "gstplay"); } g_assert (mplay->xml != NULL); mplay->slider = glade_xml_get_widget (mplay->xml, "slider"); g_assert (mplay->slider != NULL); { - GtkArg arg; - GtkRange *range; - - arg.name = "adjustment"; +#ifndef USE_GLIB2 + GtkArg arg; + GtkRange *range; + + arg.name = "adjustment"; gtk_object_getv (GTK_OBJECT (mplay->slider), 1, &arg); - range = GTK_RANGE (GTK_VALUE_POINTER (arg)); - mplay->adjustment = gtk_range_get_adjustment (range); + range = GTK_RANGE (GTK_VALUE_POINTER (arg)); + mplay->adjustment = gtk_range_get_adjustment (range); +#else + mplay->adjustment = gtk_range_get_adjustment (GTK_RANGE (mplay->slider)); +#endif + gtk_signal_connect (GTK_OBJECT (mplay->adjustment), "value_changed", GTK_SIGNAL_FUNC (gst_media_play_slider_changed), mplay); } @@ -187,8 +195,13 @@ GTK_SIGNAL_FUNC (gst_media_play_state_changed), mplay); +#ifdef USE_GLIB2 + bonobo_dock_set_client_area (BONOBO_DOCK (glade_xml_get_widget(mplay->xml, "dock1")), + GTK_WIDGET (mplay->play)); +#else gnome_dock_set_client_area (GNOME_DOCK (glade_xml_get_widget(mplay->xml, "dock1")), GTK_WIDGET (mplay->play)); +#endif gtk_widget_show (GTK_WIDGET (mplay->play)); @@ -273,10 +286,11 @@ /* load the interface */ if (stat (DATADIR"gstmediaplay.glade", &statbuf) == 0) { - mplay->playlist_xml = glade_xml_new (DATADIR"gstmediaplay.glade", "playlist_window"); + mplay->playlist_xml = gst_glade_xml_new (DATADIR"gstmediaplay.glade", "playlist_window"); } else { - mplay->playlist_xml = glade_xml_new ("gstmediaplay.glade", "playlist_window"); + mplay->playlist_xml = gst_glade_xml_new ("gstmediaplay.glade", + "playlist_window"); } g_assert (mplay->playlist_xml != NULL); @@ -351,13 +365,14 @@ on_load_file_selected (GtkWidget *button, file_select *data) { - GtkWidget *selector = data->selection; + GtkWidget *selector = data->selection; + const gchar *file_name; GstMediaPlay *play = data->play; - gchar *file_name = gtk_file_selection_get_filename (GTK_FILE_SELECTION (selector)); - gdk_threads_leave(); + file_name = gtk_file_selection_get_filename (GTK_FILE_SELECTION (selector)); + gdk_threads_leave (); gst_media_play_start_uri (play, file_name); - gdk_threads_enter(); + gdk_threads_enter (); //gst_media_play_addto_playlist (play, file_name); Index: gstplay.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gstplay/gstplay.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- gstplay.c 2001/12/04 22:12:39 1.37 +++ gstplay.c 2001/12/13 23:14:37 1.38 @@ -1,6 +1,10 @@ #include <config.h> #include <string.h> +#include <gtk/gtkobject.h> +#include <gtk/gtksignal.h> +#include <gtk/gtksocket.h> +#include <gtk/gtkmain.h> #include "gstplay.h" #include "gstplayprivate.h" @@ -72,28 +76,42 @@ widget_class = (GtkWidgetClass*)klass; gst_play_signals[SIGNAL_STATE_CHANGED] = - gtk_signal_new ("playing_state_changed", GTK_RUN_FIRST, object_class->type, + gtk_signal_new ("playing_state_changed", GTK_RUN_FIRST, + G_TYPE_FROM_CLASS (object_class), GTK_SIGNAL_OFFSET (GstPlayClass, state_changed), gtk_marshal_NONE__INT, GTK_TYPE_NONE, 1, GTK_TYPE_INT); gst_play_signals[SIGNAL_FRAME_DISPLAYED] = - gtk_signal_new ("frame_displayed",GTK_RUN_FIRST, object_class->type, + gtk_signal_new ("frame_displayed",GTK_RUN_FIRST, G_TYPE_FROM_CLASS (object_class), GTK_SIGNAL_OFFSET (GstPlayClass, frame_displayed), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); gst_play_signals[SIGNAL_AUDIO_PLAYED] = - gtk_signal_new ("audio_played",GTK_RUN_FIRST, object_class->type, + gtk_signal_new ("audio_played",GTK_RUN_FIRST, G_TYPE_FROM_CLASS (object_class), GTK_SIGNAL_OFFSET (GstPlayClass, audio_played), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); +#ifndef USE_GLIB2 gtk_object_class_add_signals (object_class, gst_play_signals, LAST_SIGNAL); +#endif + gtk_object_add_arg_type ("GstPlay::uri", GTK_TYPE_STRING, GTK_ARG_READABLE, ARG_URI); gtk_object_add_arg_type ("GstPlay::mute", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_MUTE); gtk_object_add_arg_type ("GstPlay::state", GTK_TYPE_INT, GTK_ARG_READABLE, ARG_STATE); +#ifdef USE_GLIB2 + gtk_object_add_arg_type ("GstPlay::media_size", GTK_TYPE_UINT, + GTK_ARG_READABLE, ARG_MEDIA_SIZE); + gtk_object_add_arg_type ("GstPlay::media_offset", GTK_TYPE_UINT, + GTK_ARG_READABLE, ARG_MEDIA_OFFSET); + gtk_object_add_arg_type ("GstPlay::media_total_time", GTK_TYPE_UINT, + GTK_ARG_READABLE, ARG_MEDIA_TOTAL_TIME); + gtk_object_add_arg_type ("GstPlay::media_current_time", GTK_TYPE_UINT, + GTK_ARG_READABLE, ARG_MEDIA_CURRENT_TIME); +#else gtk_object_add_arg_type ("GstPlay::media_size", GTK_TYPE_ULONG, GTK_ARG_READABLE, ARG_MEDIA_SIZE); gtk_object_add_arg_type ("GstPlay::media_offset", GTK_TYPE_ULONG, @@ -102,6 +120,7 @@ GTK_ARG_READABLE, ARG_MEDIA_TOTAL_TIME); gtk_object_add_arg_type ("GstPlay::media_current_time", GTK_TYPE_ULONG, GTK_ARG_READABLE, ARG_MEDIA_CURRENT_TIME); +#endif object_class->set_arg = gst_play_set_arg; object_class->get_arg = gst_play_get_arg; @@ -124,18 +143,18 @@ priv->audio_element = gst_elementfactory_make ("osssink", "play_audio"); g_return_if_fail (priv->audio_element != NULL); - gtk_signal_connect (GTK_OBJECT (priv->audio_element), "handoff", - GTK_SIGNAL_FUNC (gst_play_audio_handoff), play); + g_signal_connect (G_OBJECT (priv->audio_element), "handoff", + G_CALLBACK (gst_play_audio_handoff), play); priv->video_element = gst_elementfactory_make ("bin", "video_bin"); priv->video_show = gst_elementfactory_make ("xvideosink", "show"); g_return_if_fail (priv->video_show != NULL); //gtk_object_set (GTK_OBJECT (priv->video_element), "xv_enabled", FALSE, NULL); - gtk_signal_connect (GTK_OBJECT (priv->video_show), "frame_displayed", - GTK_SIGNAL_FUNC (gst_play_frame_displayed), play); - gtk_signal_connect (GTK_OBJECT (priv->video_show), "have_size", - GTK_SIGNAL_FUNC (gst_play_have_size), play); + g_signal_connect (G_OBJECT (priv->video_show), "frame_displayed", + G_CALLBACK (gst_play_frame_displayed), play); + g_signal_connect (G_OBJECT (priv->video_show), "have_size", + G_CALLBACK (gst_play_have_size), play); gst_bin_add (GST_BIN (priv->video_element), priv->video_show); @@ -237,9 +256,31 @@ NULL); } +#ifdef USE_GLIB2 static void gst_play_object_introspect (GstObject *object, const gchar *property, GstElement **target) { + GParamSpec *pspec; + GstElement *element; + + if (!GST_IS_ELEMENT (object) && !GST_IS_BIN (object)) + return; + + element = GST_ELEMENT (object); + +#warning this looks grim, did I port it right ? + pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (element), property); + + if (!pspec) { + *target = element; + GST_DEBUG(0, "gstplay: using element \"%s\" for %s property\n", + gst_element_get_name(element), property); + } +} +#else +static void +gst_play_object_introspect (GstObject *object, const gchar *property, GstElement **target) +{ gchar *info; GtkArgInfo *arg; GstElement *element; @@ -260,6 +301,7 @@ gst_element_get_name(element), property); } } +#endif /* Dumb introspection of the interface... * this will change with glib 1.4 @@ -328,7 +370,8 @@ autoplug = gst_autoplugfactory_make ("staticrender"); g_assert (autoplug != NULL); - gtk_signal_connect (GTK_OBJECT (autoplug), "new_object", gst_play_object_added, play); + g_signal_connect (G_OBJECT (autoplug), "new_object", + G_CALLBACK (gst_play_object_added), play); new_element = gst_autoplug_to_renderers (autoplug, caps, @@ -345,11 +388,11 @@ gst_bin_add (GST_BIN (priv->pipeline), new_element); - gtk_object_set (G_OBJECT (priv->cache), "reset", TRUE, NULL); + g_object_set (G_OBJECT (priv->cache), "reset", TRUE, NULL); gst_element_connect (priv->cache, "src", new_element, "sink"); - gtk_signal_connect (GTK_OBJECT (priv->pipeline), "eos", GTK_SIGNAL_FUNC (gst_play_eos), play); + g_signal_connect (G_OBJECT (priv->pipeline), "eos", G_CALLBACK (gst_play_eos), play); gst_element_set_state (priv->pipeline, GST_STATE_PLAYING); } @@ -380,9 +423,8 @@ GstPlayReturn gst_play_set_uri (GstPlay *play, const guchar *uri) { + gchar *uriloc; GstPlayPrivate *priv; - FILE *file; - gchar* uriloc; g_return_val_if_fail (play != NULL, GST_PLAY_ERROR); g_return_val_if_fail (GST_IS_PLAY (play), GST_PLAY_ERROR); @@ -407,7 +449,7 @@ } if (priv->src == NULL) { - priv->src = gst_elementfactory_make ("filesrc", "srcelement"); + priv->src = gst_elementfactory_make ("disksrc", "srcelement"); } priv->uri = g_strdup (uri); @@ -416,18 +458,18 @@ priv->offset_element = priv->src; g_return_val_if_fail (priv->src != NULL, GST_PLAY_CANNOT_PLAY); - gtk_object_set (G_OBJECT (priv->src), "location", priv->uri, NULL); + g_object_set (G_OBJECT (priv->src), "location", priv->uri, NULL); priv->cache = gst_elementfactory_make ("autoplugcache", "cache"); g_return_val_if_fail (priv->cache != NULL, GST_PLAY_CANNOT_PLAY); - gtk_signal_connect (GTK_OBJECT (priv->cache), "cache_empty", - GTK_SIGNAL_FUNC (gst_play_cache_empty), play); + g_signal_connect (G_OBJECT (priv->cache), "cache_empty", + G_CALLBACK (gst_play_cache_empty), play); priv->typefind = gst_elementfactory_make ("typefind", "typefind"); g_return_val_if_fail (priv->typefind != NULL, GST_PLAY_CANNOT_PLAY); - gtk_signal_connect (GTK_OBJECT (priv->typefind), "have_type", - GTK_SIGNAL_FUNC (gst_play_have_type), play); + g_signal_connect (G_OBJECT (priv->typefind), "have_type", + G_CALLBACK (gst_play_have_type), play); gst_bin_add (GST_BIN (priv->pipeline), priv->src); @@ -739,12 +781,21 @@ case ARG_STATE: GTK_VALUE_INT (*arg) = play->state; break; +#ifdef USE_GLIB2 case ARG_MEDIA_SIZE: + GTK_VALUE_UINT (*arg) = gst_play_get_media_size(play); + break; + case ARG_MEDIA_OFFSET: + GTK_VALUE_UINT (*arg) = gst_play_get_media_offset(play); + break; +#else + case ARG_MEDIA_SIZE: GTK_VALUE_LONG (*arg) = gst_play_get_media_size(play); break; case ARG_MEDIA_OFFSET: GTK_VALUE_LONG (*arg) = gst_play_get_media_offset(play); break; +#endif case ARG_MEDIA_TOTAL_TIME: break; case ARG_MEDIA_CURRENT_TIME: Index: gstplay.h =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gstplay/gstplay.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- gstplay.h 2001/06/13 01:18:12 1.7 +++ gstplay.h 2001/12/13 23:14:37 1.8 @@ -1,7 +1,16 @@ #ifndef __GSTPLAY_H__ #define __GSTPLAY_H__ +#include <config.h> + +#ifdef USE_GLIB2 +#define gst_glade_xml_new(path,misc) (glade_xml_new (path "2", (misc), NULL)) +#else +#define gst_glade_xml_new(path,misc) (glade_xml_new (path, (misc))) +#endif + #include <gst/gst.h> +#include <gtk/gtkhbox.h> #define GST_TYPE_PLAY (gst_play_get_type ()) #define GST_PLAY(obj) (GTK_CHECK_CAST ((obj), GST_TYPE_PLAY, GstPlay)) Index: gststatusarea.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gstplay/gststatusarea.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- gststatusarea.c 2001/05/21 01:19:06 1.5 +++ gststatusarea.c 2001/12/13 23:14:37 1.6 @@ -122,6 +122,7 @@ status_area = GST_STATUS_AREA (widget); +#ifndef USE_GLIB2 if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_MAPPED (widget)) { gdk_draw_rectangle (widget->window, widget->style->black_gc, @@ -215,6 +216,9 @@ status_area->playtime); } } +#else +#warning this needs pangoizing. +#endif return FALSE; } Index: main.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gstplay/main.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- main.c 2001/12/04 15:16:01 1.14 +++ main.c 2001/12/13 23:14:37 1.15 @@ -1,5 +1,9 @@ #include <config.h> #include <gnome.h> +#ifdef USE_GLIB2 +#include <libgnomeui/libgnomeui.h> +#include <libgnomeui/gnome-ui-init.h> +#endif #include "gstmediaplay.h" int @@ -8,9 +12,16 @@ GstMediaPlay *play; gst_init (&argc,&argv); + +#ifdef USE_GLIB2 + gnome_program_init ("gstmediaplay", "0.3", + LIBGNOMEUI_MODULE, + argc, argv, NULL); +#else gnome_init ("gstreamer", VERSION, argc, argv); glade_init(); glade_gnome_init(); +#endif play = gst_media_play_new (); |