sinek/src main.c,1.22,1.23
[email protected] Tue, 14 Jan 2003 23:23:45 -0800
| Newsgroups | gmane.comp.video.sinek.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/sinek/sinek/src
In directory sc8-pr-cvs1:/tmp/cvs-serv12244
Modified Files:
main.c
Log Message:
use gtkxine widget
Index: main.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/main.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- main.c 3 Jan 2003 09:42:20 -0000 1.22
+++ main.c 15 Jan 2003 07:23:43 -0000 1.23
@@ -9,16 +9,13 @@
*/
#include "common.h"
+#include "gtkxine.h"
struct sinek_globals sinek;
-sinek_type *media;
-
-/* i think this is a bug in xine-lib; keep it for now, anyways */
-extern char *xine_set_locale(void);
static int stream_finished = 0;
-static void event_listener(void *this, const xine_event_t *event);
+static void event_listener(void *this, const GtkXineEvent *event);
static gboolean second_update(gpointer data);
#ifdef USE_GUILE
@@ -38,8 +35,6 @@
int main(int argc, char *argv[])
#endif
{
- xine_event_queue_t *eventq;
-
memset(&sinek, 0, sizeof(sinek));
sinek.repeat_all = ~0;
sinek.video_mode = VIDEO_WINDOW;
@@ -49,7 +44,6 @@
srand(time(NULL));
gtk_set_locale();
- xine_set_locale();
bindtextdomain(PACKAGE, XINE_LOCALEDIR);
bind_textdomain_codeset(PACKAGE, "UTF-8");
textdomain(PACKAGE);
@@ -66,18 +60,14 @@
prf_init(argc, argv);
- media = sinek_new();
- if(!video_init()) exit(5);
- if(!audio_init()) exit(5);
+ sinek.xine = sinek_init();
key_init();
wm_build(control_build);
control_update_slider(0, 0);
popup_init();
- eventq = xine_event_new_queue(sinek.stream);
- xine_event_create_listener_thread(eventq, event_listener, &sinek);
- /* TODO: dispose of event queue when done */
+ gtk_xine_event_listener(GTK_XINE(sinek.xine), event_listener, &sinek);
pl_init();
scrsaver_init();
g_timeout_add(500, (GSourceFunc)second_update, NULL);
@@ -118,13 +108,17 @@
}
stream_finished = 0;
}
- if(xine_get_status(sinek.stream) == XINE_STATUS_PLAY)
+ if(gtk_xine_get_status(GTK_XINE(sinek.xine)) == GTK_XINE_STATUS_PLAYING)
{
if(!sinek.seeking)
{
- int pos, t, length;
- if (xine_get_pos_length(sinek.stream, &t, &pos, &length))
+ int pos, length;
+
+ length = gtk_xine_get_stream_length(GTK_XINE(sinek.xine));
+ if (length) {
+ pos = gtk_xine_get_current_position(GTK_XINE(sinek.xine));
control_update_slider(pos, length);
+ }
}
if(sinek.osd_subtitles) osd_update();
if(++sinek.cursor_timer == 3) video_cursor(0);
@@ -133,11 +127,11 @@
}
-static void event_listener(void *this, const xine_event_t *event)
+static void event_listener(void *this, const GtkXineEvent *event)
{
switch(event->type)
{
- case XINE_EVENT_UI_PLAYBACK_FINISHED:
+ case GTK_XINE_EVENT_TYPE_PLAYBACK_FINISHED:
if(!stream_finished) stream_finished = 1;
break;
}
-------------------------------------------------------
This SF.NET email is sponsored by: Take your first step towards giving
your online business a competitive advantage. Test-drive a Thawte SSL
certificate - our easy online guide will show you how. Click here to get
started: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0027en