Install gobject introspection files in correct dir
[projects/chimara/chimara.git] / libchimara / schannel.h
index 6ec0ce31e7e6daec57a23428d0eb97819fca1d66..a0eba8715520ac91d800fd8c9614c563397d32f0 100644 (file)
@@ -1,9 +1,14 @@
 #ifndef __SCHANNEL_H__
 #define __SCHANNEL_H__
 
+#include <config.h>
 #include <glib.h>
 #include "glk.h"
 #include "gi_dispa.h"
+#include "chimara-glk.h"
+#ifdef GSTREAMER_SOUND
+#include <gst/gst.h>
+#endif
 
 struct glk_schannel_struct
 {
@@ -13,6 +18,26 @@ struct glk_schannel_struct
        /* Pointer to the list node in the global sound channel list that contains 
         this sound channel */
        GList *schannel_list;
+       /* Pointer to the GTK widget this sound channel belongs to, for convenience */
+       ChimaraGlk *glk;
+
+       /* Resource number and notification ID of last played sound */
+       glui32 resource, notify;
+       /* How many times to repeat the last sound played (-1 = forever) */
+       glui32 repeats;
+       /* Whether channel is paused */
+       gboolean paused;
+       
+       /* Volume change information */
+       double target_volume;
+       long target_time_sec, target_time_usec;
+       guint volume_timer_id;
+       glui32 volume_notify;
+
+#ifdef GSTREAMER_SOUND
+       /* Each sound channel is represented as a GStreamer pipeline.  */
+       GstElement *pipeline, *source, *typefind, *demux, *decode, *convert, *filter, *sink;
+#endif
 };
 
-#endif
\ No newline at end of file
+#endif