comparison libpurple/sound.h @ 15373:5fe8042783c1

Rename gtk/ and libgaim/ to pidgin/ and libpurple/
author Sean Egan <seanegan@gmail.com>
date Sat, 20 Jan 2007 02:32:10 +0000
parents
children 32c366eeeb99
comparison
equal deleted inserted replaced
15372:f79e0f4df793 15373:5fe8042783c1
1 /**
2 * @file sound.h Sound API
3 * @ingroup core
4 *
5 * gaim
6 *
7 * Gaim is the legal property of its developers, whose names are too numerous
8 * to list here. Please refer to the COPYRIGHT file distributed with this
9 * source distribution.
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */
25 #ifndef _GAIM_SOUND_H_
26 #define _GAIM_SOUND_H_
27
28 #include "account.h"
29
30 /**************************************************************************/
31 /** Data Structures */
32 /**************************************************************************/
33
34
35 /**
36 * A type of sound.
37 */
38
39 typedef enum _GaimSoundEventID
40 {
41 GAIM_SOUND_BUDDY_ARRIVE = 0, /**< Buddy signs on. */
42 GAIM_SOUND_BUDDY_LEAVE, /**< Buddy signs off. */
43 GAIM_SOUND_RECEIVE, /**< Receive an IM. */
44 GAIM_SOUND_FIRST_RECEIVE, /**< Receive an IM that starts a conv. */
45 GAIM_SOUND_SEND, /**< Send an IM. */
46 GAIM_SOUND_CHAT_JOIN, /**< Someone joins a chat. */
47 GAIM_SOUND_CHAT_LEAVE, /**< Someone leaves a chat. */
48 GAIM_SOUND_CHAT_YOU_SAY, /**< You say something in a chat. */
49 GAIM_SOUND_CHAT_SAY, /**< Someone else says somthing in a chat. */
50 GAIM_SOUND_POUNCE_DEFAULT, /**< Default sound for a buddy pounce. */
51 GAIM_SOUND_CHAT_NICK, /**< Someone says your name in a chat. */
52 GAIM_NUM_SOUNDS /**< Total number of sounds. */
53
54 } GaimSoundEventID;
55
56 typedef struct _GaimSoundUiOps
57 {
58 void (*init)(void);
59 void (*uninit)(void);
60 void (*play_file)(const char *filename);
61 void (*play_event)(GaimSoundEventID event);
62
63 } GaimSoundUiOps;
64
65 #ifdef __cplusplus
66 extern "C" {
67 #endif
68
69 /**************************************************************************/
70 /** @name Sound API */
71 /**************************************************************************/
72 /*@{*/
73
74 /**
75 * Plays the specified sound file.
76 *
77 * @param filename The file to play.
78 * @param account The account that this sound is associated with, or
79 * NULL if the sound is not associated with any specific
80 * account. This is needed for the "sounds while away?"
81 * preference to work correctly.
82 */
83 void gaim_sound_play_file(const char *filename, const GaimAccount *account);
84
85 /**
86 * Plays the sound associated with the specified event.
87 *
88 * @param event The event.
89 * @param account The account that this sound is associated with, or
90 * NULL if the sound is not associated with any specific
91 * account. This is needed for the "sounds while away?"
92 * preference to work correctly.
93 */
94 void gaim_sound_play_event(GaimSoundEventID event, const GaimAccount *account);
95
96 /**
97 * Sets the UI sound operations
98 *
99 * @param ops The UI sound operations structure.
100 */
101 void gaim_sound_set_ui_ops(GaimSoundUiOps *ops);
102
103 /**
104 * Gets the UI sound operations
105 *
106 * @return The UI sound operations structure.
107 */
108 GaimSoundUiOps *gaim_sound_get_ui_ops(void);
109
110 /**
111 * Initializes the sound subsystem
112 */
113 void gaim_sound_init(void);
114
115 /**
116 * Shuts down the sound subsystem
117 */
118 void gaim_sound_uninit(void);
119
120 /**
121 * Returns the sound subsystem handle.
122 *
123 * @return The sound subsystem handle.
124 */
125 void *gaim_sounds_get_handle(void);
126
127 /*@}*/
128
129 #ifdef __cplusplus
130 }
131 #endif
132
133 #endif /* _GAIM_SOUND_H_ */