Modify canberra wrapper to allow specifying a sound file path
This commit is contained in:
parent
4112061a47
commit
bbdfdb978d
@ -343,7 +343,7 @@ void scroll_event(double, double, int, int);
|
|||||||
void on_key_input(GLFWkeyevent *ev);
|
void on_key_input(GLFWkeyevent *ev);
|
||||||
void request_window_attention(id_type, bool);
|
void request_window_attention(id_type, bool);
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
void play_canberra_sound(const char *which_sound, const char *event_id);
|
void play_canberra_sound(const char *which_sound, const char *event_id, bool is_path);
|
||||||
#endif
|
#endif
|
||||||
SPRITE_MAP_HANDLE alloc_sprite_map(unsigned int, unsigned int);
|
SPRITE_MAP_HANDLE alloc_sprite_map(unsigned int, unsigned int);
|
||||||
SPRITE_MAP_HANDLE free_sprite_map(SPRITE_MAP_HANDLE);
|
SPRITE_MAP_HANDLE free_sprite_map(SPRITE_MAP_HANDLE);
|
||||||
|
|||||||
@ -145,12 +145,13 @@ load_libcanberra(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
play_canberra_sound(const char *which_sound, const char *event_id) {
|
play_canberra_sound(const char *which_sound, const char *event_id, bool is_path) {
|
||||||
load_libcanberra();
|
load_libcanberra();
|
||||||
if (libcanberra_handle == NULL || canberra_ctx == NULL) return;
|
if (libcanberra_handle == NULL || canberra_ctx == NULL) return;
|
||||||
|
const char *which_type = is_path ? "media.filename" : "event.id";
|
||||||
ca_context_play(
|
ca_context_play(
|
||||||
canberra_ctx, 0,
|
canberra_ctx, 0,
|
||||||
"event.id", which_sound,
|
which_type, which_sound,
|
||||||
"event.description", event_id,
|
"event.description", event_id,
|
||||||
NULL
|
NULL
|
||||||
);
|
);
|
||||||
@ -159,8 +160,9 @@ play_canberra_sound(const char *which_sound, const char *event_id) {
|
|||||||
static PyObject*
|
static PyObject*
|
||||||
play_desktop_sound(PyObject *self UNUSED, PyObject *args) {
|
play_desktop_sound(PyObject *self UNUSED, PyObject *args) {
|
||||||
const char *which, *event_id = "test sound";
|
const char *which, *event_id = "test sound";
|
||||||
if (!PyArg_ParseTuple(args, "s|s", &which, &event_id)) return NULL;
|
int is_path = 0;
|
||||||
play_canberra_sound(which, event_id);
|
if (!PyArg_ParseTuple(args, "s|sp", &which, &event_id, &is_path)) return NULL;
|
||||||
|
play_canberra_sound(which, event_id, is_path);
|
||||||
Py_RETURN_NONE;
|
Py_RETURN_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1117,7 +1117,7 @@ ring_audio_bell(void) {
|
|||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
cocoa_system_beep();
|
cocoa_system_beep();
|
||||||
#else
|
#else
|
||||||
play_canberra_sound("bell", "kitty bell");
|
play_canberra_sound("bell", "kitty bell", false);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user