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