1 /* |
|
2 * OpenAL Bridge - a simple portable library for OpenAL interface |
|
3 * Copyright (c) 2009 Vittorio Giovara <vittorio.giovara@gmail.com> |
|
4 * |
|
5 * This program is free software; you can redistribute it and/or modify |
|
6 * it under the terms of the GNU Lesser General Public License as published by |
|
7 * the Free Software Foundation; version 2 of the License |
|
8 * |
|
9 * This program is distributed in the hope that it will be useful, |
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 * GNU Lesser General Public License for more details. |
|
13 * |
|
14 * You should have received a copy of the GNU Lesser General Public License |
|
15 * along with this program; if not, write to the Free Software |
|
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
|
17 */ |
|
18 |
|
19 #ifndef _OALB_INTERFACE_H |
|
20 #define _OALB_INTERFACE_H |
|
21 |
|
22 #include "openalbridge_t.h" |
|
23 |
|
24 #ifdef __CPLUSPLUS |
|
25 extern "C" { |
|
26 #endif |
|
27 |
|
28 // init audio context and allocate memory |
|
29 int openal_init (int memorysize); |
|
30 |
|
31 // close audio subsytem and free memory |
|
32 void openal_close (void); |
|
33 |
|
34 // check if openal_init has been called |
|
35 char openal_ready (void); |
|
36 |
|
37 // load an audio file into memory and map it to abuffer |
|
38 int openal_loadfile (const char *filename); |
|
39 |
|
40 // play, pause, stop a single sound source |
|
41 void openal_playsound (unsigned int index); |
|
42 void openal_pausesound (unsigned int index); |
|
43 void openal_stopsound (unsigned int index); |
|
44 |
|
45 // play a sound and set whether it should loop or not (0/1) |
|
46 void openal_playsound_loop (unsigned int index, char loops); |
|
47 |
|
48 // stop a sound and free the associated buffer |
|
49 void openal_stopsound_free (unsigned int index, char freesource); |
|
50 |
|
51 void openal_freesound (unsigned int index); |
|
52 |
|
53 // set or unset the looping property for a sound source |
|
54 void openal_toggleloop (unsigned int index); |
|
55 |
|
56 // set position and volume of a sound source |
|
57 void openal_setposition (unsigned int index, float x, float y, float z); |
|
58 void openal_setvolume (unsigned int index, float gain); |
|
59 |
|
60 // set volume for all sounds (gain interval is [0-1]) |
|
61 void openal_setglobalvolume (float gain); |
|
62 |
|
63 // mute or unmute all sounds |
|
64 void openal_togglemute (void); |
|
65 |
|
66 // fade effect, |
|
67 void openal_fade (unsigned int index, unsigned short int quantity, al_fade_t direction); |
|
68 void openal_fadein (unsigned int index, unsigned short int quantity); |
|
69 void openal_fadeout (unsigned int index, unsigned short int quantity); |
|
70 |
|
71 |
|
72 #ifdef __CPLUSPLUS |
|
73 } |
|
74 #endif |
|
75 |
|
76 #endif /*_OALB_INTERFACE_H*/ |
|