sinek/include gtkxine.h,NONE,1.1 Makefile.am,1.3,1.4
[email protected] Sun, 05 Jan 2003 01:08:51 -0800
| Newsgroups | gmane.comp.video.sinek.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/sinek/sinek/include In directory sc8-pr-cvs1:/tmp/cvs-serv18448 Modified Files: Makefile.am Added Files: gtkxine.h Log Message: gtkxine --- NEW FILE: gtkxine.h --- /* ** Sinek (Media Player) ** Copyright (c) 2002 Andres Salomon <[email protected]> ** ** This code is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License. ** ** $Id: gtkxine.h,v 1.1 2003/01/05 09:08:49 dilinger Exp $ */ #ifndef GTK_XINE_H #define GTK_XINE_H #include <gtk/gtk.h> #include <stdlib.h> #ifdef __cplusplus extern "C" { #endif #define GTK_TYPE_XINE (gtk_xine_get_type ()) #define GTK_XINE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_XINE, GtkXine)) #define GTK_XINE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_XINE, GtkXineClass)) #define GTK_IS_XINE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_XINE)) #define GTK_IS_XINE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_XINE)) #define GTK_XINE_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_XINE, GtkXineClass)) typedef struct _GtkXine GtkXine; typedef struct _GtkXineClass GtkXineClass; typedef enum _GtkXinePlaybackSpeed GtkXinePlaybackSpeed; typedef enum _GtkXineVisualType GtkXineVisualType; struct _GtkXineClass { GtkWidgetClass parent; void (*reserved1) (void); void (*reserved2) (void); void (*reserved3) (void); void (*reserved4) (void); }; enum _GtkXinePlaybackSpeed { GTK_XINE_PLAYBACK_SPEED_PAUSE, GTK_XINE_PLAYBACK_SPEED_QUARTER_SLOW, GTK_XINE_PLAYBACK_SPEED_HALF_SLOW, GTK_XINE_PLAYBACK_SPEED_NORMAL, GTK_XINE_PLAYBACK_SPEED_TWICE_FAST, GTK_XINE_PLAYBACK_SPEED_FOUR_FAST, }; #if 0 // for now, only support X11 enum _GtkXineVisualType { GTK_XINE_VISUAL_TYPE_NONE, GTK_XINE_VISUAL_TYPE_X11, /* you'll most likely want this */ GTK_XINE_VISUAL_TYPE_AA, GTK_XINE_VISUAL_TYPE_FB, GTK_XINE_VISUAL_TYPE_GTK, GTK_XINE_VISUAL_TYPE_DFB, GTK_XINE_VISUAL_TYPE_PM, }; #endif GtkType gtk_xine_get_type (void); GtkWidget* gtk_xine_new (void); GtkWidget* gtk_xine_new_with_values (const char *fname, const char *audio_driver, const char *video_driver, const char *display_name); /* config file defaults to ~/.xine/config */ void gtk_xine_select_config_file (GtkXine *xine, const char *fname); /* audio/video drivers default to "auto" ("null" if unable to load) */ void gtk_xine_select_audio_driver (GtkXine *xine, const char *name); void gtk_xine_select_video_driver (GtkXine *xine, const char *name); //void gtk_xine_select_video_driver (GtkXine *xine, const char *name, GtkXineVisualType v); void gtk_xine_select_display (GtkXine *xine, const char *display_name); void gtk_xine_load (GtkXine *xine, const char *mrl); void gtk_xine_play (GtkXine *xine); void gtk_xine_play_from_position (GtkXine *xine, int start); void gtk_xine_play_from_time (GtkXine *xine, time_t start); void gtk_xine_stop (GtkXine *xine); void gtk_xine_select_audio_channel (GtkXine *xine, int channel); void gtk_xine_select_spu_channel (GtkXine *xine, int channel); void gtk_xine_set_volume (GtkXine *xine, int volume); int gtk_xine_get_volume (GtkXine *xine); void gtk_xine_set_mute (GtkXine *xine, int mute); void gtk_xine_set_speed (GtkXine *xine, GtkXinePlaybackSpeed speed); GtkXinePlaybackSpeed gtk_xine_get_speed (GtkXine *xine); int gtk_xine_get_current_position (GtkXine *xine); time_t gtk_xine_get_current_time (GtkXine *xine); time_t gtk_xine_get_stream_length (GtkXine *xine); void gtk_xine_eject (GtkXine *xine); int gtk_xine_is_seekable (GtkXine *xine); #ifdef __cplusplus } #endif #if 0 /* REMOVEME */ #include <gdk/gdkx.h> #include <xine/video_out_x11.h> #include <xine.h> struct sinek_visual_t { // struct x11_visual_t from xine Display *display; int screen; double display_ratio; Drawable d; void *user_data; void (*dest_size_cb) (void *user_data, int video_width, int video_height, int *dest_width, int *dest_height); void (*frame_output_cb) (void *user_data, int video_width, int video_height, int *dest_x, int *dest_y, int *dest_width, int *dest_height, int *win_x, int *win_y); // sinek-specific stuff int video_width, video_height; Window video_win; int depth; }; struct _GtkXine { GtkWidget parent; xine_t *xine; char *conf_file; char *video_driver; char *audio_driver; char *display_name; char *video_win_title; GtkWidget *video_win; //x11_visual_t visual; struct sinek_visual_t visual; ao_driver_t *ao_driver; vo_driver_t *vo_driver; config_values_t *conf; }; #endif #endif Index: Makefile.am =================================================================== RCS file: /cvsroot/sinek/sinek/include/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile.am 2 May 2002 22:10:03 -0000 1.3 +++ Makefile.am 5 Jan 2003 09:08:49 -0000 1.4 @@ -2,4 +2,4 @@ ## Process this file with automake to produce Makefile.in ## -noinst_HEADERS = common.h sinek.h i18n.h xml.h +noinst_HEADERS = common.h sinek.h i18n.h xml.h gtkxine.h ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf