Re: designing a wrapper lib
- From: Wim Taymans <wim taymans chello be>
- To: Joe Shaw <joe ximian com>, Gnome Multimedia <gnome-multimedia gnome org>
- Subject: Re: designing a wrapper lib
- Date: 18 Sep 2002 23:09:10 +0200
On Wed, 2002-09-18 at 22:27, Joe Shaw wrote:
> On Wed, 2002-09-18 at 16:02, Wim Taymans wrote:
> > Jorn, you're designing an app.
> >
> > Allow me to make this little analogy (with flaws, as with all analogies,
> > but you'll get the point).
> >
> > pretend: GStreamer~=GDK/GTK
> >
> > Are you saying that my (one of my mid-term goals) VirtualDub clone
> > should use that single library of yours? I can give you some of my
> > requirements then... Are you also saying that my (one of my long-term
> > goals) NLE library should use that single library of yours too?
>
> We don't need a single all-singing, all-dancing wrapper library, but we
> do need wrappers for something as simple as, say "play a sound". I
> don't want to have to deal with sinks and pipelines and all that. I
> just want to play a .wav file or a .ogg file or whatever when a user
> clicks a button.
>
> It would be nice if we had a nice generic video widget so all I had to
> do would be:
>
> GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
> GtkWidget *video = gnome_video_new ("pants.mpg");
>
> gtk_container_add (GTK_CONTAINER (window), video);
> gtk_widget_show_all (window);
>
> gnome_video_play (GNOME_VIDEO (video));
>
> gtk_main ();
as taken from main.c of the gst-player:
GstMediaPlay *mplay;
GtkWidget *window;
gst_init (&argc, &argv);
gnome_init (PACKAGE, VERSION, argc, argv);
window = gnome_app_new ("gst-player", "GStreamer Player");
mplay = gst_media_play_new ();
gnome_app_set_contents (GNOME_APP (window), GTK_WIDGET(mplay));
gst_media_play_set_location (mplay, "pants.mpg");
gtk_widget_show_all (window);
gst_media_play_set_state (mplay, GST_STATE_PLAYING);
gtk_main ();
Granted, this thing has a seekbar and play/pause/stop buttons too in the
widget (that can be disabled). GstMediaPlay is build on top of GstPlay,
which is just a GObject, so it requires a GtkPlug to embed the window
(but allows for a KDE/Qt based player).
Wim
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]