comparison Isolated/SoundDecoder.h @ 56:208a9ed20087

Added explicit symbol visibility markers to audio support files in ALmixer for public headers so they can be built as a dynamic library if needed.
author Eric Wing <ewing@anscamobile.com>
date Tue, 29 May 2012 19:43:23 -0700
parents 71b465ff0622
children be97ae4f30c0
comparison
equal deleted inserted replaced
55:8b4f80233969 56:208a9ed20087
9 9
10 #ifdef __cplusplus 10 #ifdef __cplusplus
11 extern "C" { 11 extern "C" {
12 #endif 12 #endif
13 13
14 14 #if defined(_WIN32)
15 #if defined(SOUND_DECODER_BUILD_LIBRARY)
16 #define SOUND_DECODER_DECLSPEC __declspec(dllexport)
17 #else
18 #define SOUND_DECODER_DECLSPEC __declspec(dllimport)
19 #endif
20 #else
21 #if defined(SOUND_DECODER_BUILD_LIBRARY)
22 #if defined (__GNUC__) && __GNUC__ >= 4
23 #define SOUND_DECODER_DECLSPEC __attribute__((visibility("default")))
24 #else
25 #define SOUND_DECODER_DECLSPEC
26 #endif
27 #else
28 #define SOUND_DECODER_DECLSPEC
29 #endif
30 #endif
31
32 #if defined(_WIN32)
33 #define SOUND_DECODER_CALL __cdecl
34 #else
35 #define SOUND_DECODER_CALL
36 #endif
37
15 #include <stdint.h> 38 #include <stdint.h>
16 #include <stddef.h> 39 #include <stddef.h>
17 40
18 #include "al.h" /* OpenAL */ 41 #include "al.h" /* OpenAL */
19 42
130 (x)->patch = SOUNDDECODER_VER_PATCH; \ 153 (x)->patch = SOUNDDECODER_VER_PATCH; \
131 } 154 }
132 155
133 #define SOUND_VERSION SOUNDDECODER_VERSION 156 #define SOUND_VERSION SOUNDDECODER_VERSION
134 157
135 void SoundDecoder_GetLinkedVersion(SoundDecoder_Version *ver); 158 extern SOUND_DECODER_DECLSPEC void SOUND_DECODER_CALL SoundDecoder_GetLinkedVersion(SoundDecoder_Version *ver);
136 #define Sound_GetLinkedVersion SoundDecoder_GetLinkedVersion 159 #define Sound_GetLinkedVersion SoundDecoder_GetLinkedVersion
137 160
138 int SoundDecoder_Init(void); 161 extern SOUND_DECODER_DECLSPEC int SOUND_DECODER_CALL SoundDecoder_Init(void);
139 #define Sound_Init SoundDecoder_Init 162 #define Sound_Init SoundDecoder_Init
140 163
141 void SoundDecoder_Quit(void); 164 extern SOUND_DECODER_DECLSPEC void SOUND_DECODER_CALL SoundDecoder_Quit(void);
142 #define Sound_Quit SoundDecoder_Quit 165 #define Sound_Quit SoundDecoder_Quit
143 166
144 167
145 const SoundDecoder_DecoderInfo** SoundDecoder_AvailableDecoders(void); 168 extern SOUND_DECODER_DECLSPEC const SOUND_DECODER_CALL SoundDecoder_DecoderInfo** SoundDecoder_AvailableDecoders(void);
146 #define Sound_AvailableDecoders SoundDecoder_AvailableDecoders 169 #define Sound_AvailableDecoders SoundDecoder_AvailableDecoders
147 170
148 171
149 const char* SoundDecoder_GetError(void); 172 extern SOUND_DECODER_DECLSPEC const char* SOUND_DECODER_CALL SoundDecoder_GetError(void);
150 #define Sound_GetError SoundDecoder_GetError 173 #define Sound_GetError SoundDecoder_GetError
151 174
152 175
153 void SoundDecoder_ClearError(void); 176 extern SOUND_DECODER_DECLSPEC void SOUND_DECODER_CALL SoundDecoder_ClearError(void);
154 #define Sound_ClearError SoundDecoder_ClearError 177 #define Sound_ClearError SoundDecoder_ClearError
155 178
156 179
157 180
158 SoundDecoder_Sample* SoundDecoder_NewSample( 181 extern SOUND_DECODER_DECLSPEC SoundDecoder_Sample* SOUND_DECODER_CALL SoundDecoder_NewSample(
159 struct ALmixer_RWops* rw_ops, 182 struct ALmixer_RWops* rw_ops,
160 const char* ext, 183 const char* ext,
161 SoundDecoder_AudioInfo* desired, 184 SoundDecoder_AudioInfo* desired,
162 size_t buffer_size); 185 size_t buffer_size);
163 #define Sound_NewSample SoundDecoder_NewSample 186 #define Sound_NewSample SoundDecoder_NewSample
164 187
165 SoundDecoder_Sample* SoundDecoder_NewSampleFromFile(const char* file_name, 188 extern SOUND_DECODER_DECLSPEC SoundDecoder_Sample* SOUND_DECODER_CALL SoundDecoder_NewSampleFromFile(const char* file_name,
166 SoundDecoder_AudioInfo* desired, 189 SoundDecoder_AudioInfo* desired,
167 size_t bufferSize); 190 size_t bufferSize);
168 #define Sound_NewSampleFromFile SoundDecoder_NewSampleFromFile 191 #define Sound_NewSampleFromFile SoundDecoder_NewSampleFromFile
169 192
170 193
171 void SoundDecoder_FreeSample(SoundDecoder_Sample* sound_sample); 194 extern SOUND_DECODER_DECLSPEC void SOUND_DECODER_CALL SoundDecoder_FreeSample(SoundDecoder_Sample* sound_sample);
172 #define Sound_FreeSample SoundDecoder_FreeSample 195 #define Sound_FreeSample SoundDecoder_FreeSample
173 196
174 197
175 ptrdiff_t SoundDecoder_GetDuration(SoundDecoder_Sample* sound_sample); 198 extern SOUND_DECODER_DECLSPEC ptrdiff_t SOUND_DECODER_CALL SoundDecoder_GetDuration(SoundDecoder_Sample* sound_sample);
176 #define Sound_GetDuration SoundDecoder_GetDuration 199 #define Sound_GetDuration SoundDecoder_GetDuration
177 200
178 int SoundDecoder_SetBufferSize(SoundDecoder_Sample* sound_sample, size_t new_buffer_size); 201 extern SOUND_DECODER_DECLSPEC int SOUND_DECODER_CALL SoundDecoder_SetBufferSize(SoundDecoder_Sample* sound_sample, size_t new_buffer_size);
179 #define Sound_SetBufferSize SoundDecoder_SetBufferSize 202 #define Sound_SetBufferSize SoundDecoder_SetBufferSize
180 203
181 size_t SoundDecoder_Decode(SoundDecoder_Sample* sound_sample); 204 extern SOUND_DECODER_DECLSPEC size_t SOUND_DECODER_CALL SoundDecoder_Decode(SoundDecoder_Sample* sound_sample);
182 #define Sound_Decode SoundDecoder_Decode 205 #define Sound_Decode SoundDecoder_Decode
183 206
184 size_t SoundDecoder_DecodeAll(SoundDecoder_Sample* sound_sample); 207 extern SOUND_DECODER_DECLSPEC size_t SOUND_DECODER_CALL SoundDecoder_DecodeAll(SoundDecoder_Sample* sound_sample);
185 #define Sound_DecodeAll SoundDecoder_DecodeAll 208 #define Sound_DecodeAll SoundDecoder_DecodeAll
186 209
187 int SoundDecoder_Rewind(SoundDecoder_Sample* sound_sample); 210 extern SOUND_DECODER_DECLSPEC int SOUND_DECODER_CALL SoundDecoder_Rewind(SoundDecoder_Sample* sound_sample);
188 #define Sound_Rewind SoundDecoder_Rewind 211 #define Sound_Rewind SoundDecoder_Rewind
189 212
190 int SoundDecoder_Seek(SoundDecoder_Sample* sound_sample, size_t ms); 213 extern SOUND_DECODER_DECLSPEC int SOUND_DECODER_CALL SoundDecoder_Seek(SoundDecoder_Sample* sound_sample, size_t ms);
191 #define Sound_Seek SoundDecoder_Seek 214 #define Sound_Seek SoundDecoder_Seek
192 215
193 216
194 /* Ends C function definitions when using C++ */ 217 /* Ends C function definitions when using C++ */
195 #ifdef __cplusplus 218 #ifdef __cplusplus