src/sound.h

Wed, 09 Aug 2006 14:47:37 +0000

author
Luke Schierer <lschiere@pidgin.im>
date
Wed, 09 Aug 2006 14:47:37 +0000
changeset 14123
7ae9b90ecf6f
parent 12291
2af68342099e
permissions
-rw-r--r--

[gaim-migrate @ 16679]
some translation updates. I have questions about gu.po, if someone sees that answered, we might need to revert that part of the change. It is all very confusing. The same person submitted the original gu.po and this update, but he called it gu_IN this time…

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

mercurial