summaryrefslogtreecommitdiffstats
path: root/test.c
blob: 8542ebd673c74b506dc4a55477f4dd13f9aa8e3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <unistd.h>

#include "canberra.h"

int main(int argc, char *argv[]) {
    ca_context_t *c;

    int id = 4711;

    ca_context_new(&c);

    /* Initialize a few meta variables for the following play()
     * calls. They stay valid until they are overwritten with
     * ca_context_set() again. */
    ca_context_puts(c,
                    CA_PROP_APPLICATION_NAME, "An example",
                    CA_PROP_APPLICATION_ID, "org.freedesktop.libcanberra.Test",
                    CA_PROP_MEDIA_LANGUAGE, "de_DE",
                    CA_PROP_EVENT_X11_DISPLAY, getenv("DISPLAY"),
                     NULL);

    /* .. */

    ca_context_put(c, CA_PROP_MEDIA_ICON, "some png data here", 23);

    ca_context_open(c);


    /* Signal a sound event. The meta data passed here overwrites the
     * data set in any previous ca_context_set() calls. */
    ca_context_play(c, id,
                     CA_PROP_EVENT_ID, "click-event",
                     CA_PROP_MEDIA_FILENAME, "/usr/share/sounds/foo.wav",
                     CA_PROP_MEDIA_NAME, "Button has been clicked",
                     CA_PROP_MEDIA_ICON_NAME, "clicked",
                     NULL);

    /* .. */

    ca_context_play(c, id,
                    CA_PROP_EVENT_ID, "logout",
                    CA_PROP_MEDIA_FILENAME, "/usr/share/sounds/bar.wav",
                    CA_PROP_MEDIA_NAME, "User has logged of from session",
                    CA_PROP_MEDIA_LANGUAGE, "en_EN",
                    NULL);

    /* .. */

    sleep(1);

    /* Stops both sounds */
    ca_context_cancel(c, id);

    /* .. */

    ca_context_destroy(c);

    return 0;
}