X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fschannel.h;h=a0eba8715520ac91d800fd8c9614c563397d32f0;hb=44de8692debacd87df92aa04f88941336a894ce3;hp=6ec0ce31e7e6daec57a23428d0eb97819fca1d66;hpb=d25a05379c19a2e851918cf7130fbd04fef5f7ef;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/schannel.h b/libchimara/schannel.h index 6ec0ce3..a0eba87 100644 --- a/libchimara/schannel.h +++ b/libchimara/schannel.h @@ -1,9 +1,14 @@ #ifndef __SCHANNEL_H__ #define __SCHANNEL_H__ +#include #include #include "glk.h" #include "gi_dispa.h" +#include "chimara-glk.h" +#ifdef GSTREAMER_SOUND +#include +#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