typedef char cbr_bool_t; typedef struct cbr_context cbr_context_t; typedef struct cbr_sound cbr_sound_t; #define CBR_HINT_CONTEXT_NAME_S "context.name" #define CBR_HINT_X11_DISPLAY_S "x11.display" #define CBR_HINT_X11_WINDOW_S "x11.window" #define CBR_HINT_X11_XY_II "x11.xy" /* follows desktop notification spec for type and values */ #define CBR_HINT_SOUND_FILE_S "sound.file" #define CBR_HINT_SOUND_NAME_S "sound.name" #define CBR_HINT_SOUND_CACHE_I "sound.cache" #define CBR_HINT_SOUND_LANG_S "sound.lang" #define CBR_HINT_SOUND_URGENCY_I "sound.urgency" #define CBR_HINT_SOUND_LOOP_I "sound.loop" #define CBR_HINT_SOUND_STATE_I "sound.state" /* range between 0..100 ? */ #define CBR_HINT_AUDIO_VOLUME_I "audio.volume" #define CBR_HINT_AUDIO_LR_PAN_I "audio.lr-pan" enum cbr_urgency_e { CBR_URGENCY_LOW = 0, CBR_URGENCY_NORMAL, CBR_URGENCY_CRITICAL, CBR_URGENCY_MAX, } enum cbr_cache_e { CBR_CACHE_NEVER = -1, CBR_CACHE_LAZY, CBR_CACHE_NOW, } enum cbr_state_e { CBR_STATE_STOP = 0, CBR_STATE_PAUSED, CBR_STATE_PLAY, } cbr_context_t * cbr_context_get_default(void); cbr_context_t * cbr_context_new(const char *context_name); cbr_bool_t cbr_context_free(cbr_context_t *ctxt, cbr_bool_t cancel_sounds); void cbr_context_set(cbr_context_t *ctxt, const char *hint, ...); cbr_bool_t cbr_context_set_int(cbr_context_t *ctxt, const char *hint, int value); cbr_bool_t cbr_context_set_static_string(cbr_context_t *ctxt, const char *hint, const char *value); cbr_bool_t cbr_context_set_string(cbr_context_t *ctxt, const char *hint, const char *value); cbr_bool_t cbr_context_set_static_data(cbr_context_t *ctxt, const char *hint, const void *value, size_t len); cbr_bool_t cbr_context_set_data(cbr_context_t *ctxt, const char *hint, const void *value, size_t len); cbr_sound_t * cbr_sound_new(cbr_context_t *ctxt, const char *sound_name, const char *sound_file); cbr_bool_t cbr_sound_free(cbr_sound_t *snd, cbr_bool_t cancel_sound); void cbr_sound_set(cbr_context_t *ctxt, const char *hint, ...); cbr_bool_t cbr_sound_set_int(cbr_sound_t *snd, const char *hint, int value); cbr_bool_t cbr_sound_set_static_string(cbr_sound_t *snd, const char *hint, const char *value); cbr_bool_t cbr_sound_set_string(cbr_sound_t *snd, const char *hint, const char *value); cbr_bool_t cbr_sound_set_static_data(cbr_sound_t *snd, const char *hint, const void *value, size_t len); cbr_bool_t cbr_sound_set_data(cbr_sound_t *snd, const char *hint, const void *value, size_t len); cbr_bool_t cbr_context_play(cbr_context_t c, const char* sound_name, const char* sound_file); cbr_bool_t cbr_context_cache_file_now(cbr_context_t *ctxt, const char *sound_file);