00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_SOUNDSTREAM_H
00026 #define SFML_SOUNDSTREAM_H
00027
00029
00031 #include <SFML/Config.h>
00032 #include <SFML/Audio/SoundStatus.h>
00033
00034
00041 typedef struct sfSoundStream sfSoundStream;
00042
00047 typedef struct
00048 {
00049 sfInt16* Samples;
00050 unsigned int NbSamples;
00051 } sfSoundStreamChunk;
00052
00053 typedef sfBool (*sfSoundStreamStartCallback)(void*);
00054 typedef sfBool (*sfSoundStreamGetDataCallback)(sfSoundStreamChunk*, void*);
00055
00056
00069 CSFML_API sfSoundStream* sfSoundStream_Create(sfSoundStreamStartCallback OnStart,
00070 sfSoundStreamGetDataCallback OnGetData,
00071 unsigned int ChannelsCount,
00072 unsigned int SampleRate,
00073 void* UserData);
00074
00081 CSFML_API void sfSoundStream_Destroy(sfSoundStream* SoundStreamStream);
00082
00089 CSFML_API void sfSoundStream_Play(sfSoundStream* SoundStream);
00090
00097 CSFML_API void sfSoundStream_Pause(sfSoundStream* SoundStream);
00098
00105 CSFML_API void sfSoundStream_Stop(sfSoundStream* SoundStream);
00106
00115 CSFML_API sfSoundStatus sfSoundStream_GetStatus(sfSoundStream* SoundStream);
00116
00126 CSFML_API unsigned int sfSoundStream_GetChannelsCount(sfSoundStream* SoundStream);
00127
00136 CSFML_API unsigned int sfSoundStream_GetSampleRate(sfSoundStream* SoundStream);
00137
00145 CSFML_API void sfSoundStream_SetPitch(sfSoundStream* SoundStream, float Pitch);
00146
00154 CSFML_API void sfSoundStream_SetVolume(sfSoundStream* SoundStream, float Volume);
00155
00165 CSFML_API void sfSoundStream_SetPosition(sfSoundStream* SoundStream, float X, float Y, float Z);
00166
00176 CSFML_API void sfSoundStream_SetMinDistance(sfSoundStream* SoundStream, float MinDistance);
00177
00187 CSFML_API void sfSoundStream_SetAttenuation(sfSoundStream* SoundStream, float Attenuation);
00188
00196 CSFML_API void sfSoundStream_SetLoop(sfSoundStream* SoundStream, sfBool Loop);
00197
00206 CSFML_API float sfSoundStream_GetPitch(sfSoundStream* SoundStream);
00207
00216 CSFML_API float sfSoundStream_GetVolume(sfSoundStream* SoundStream);
00217
00227 CSFML_API void sfSoundStream_GetPosition(sfSoundStream* SoundStream, float* X, float* Y, float* Z);
00228
00237 CSFML_API float sfSoundStream_GetMinDistance(sfSoundStream* SoundStream);
00238
00247 CSFML_API float sfSoundStream_GetAttenuation(sfSoundStream* SoundStream);
00248
00257 CSFML_API sfBool sfSoundStream_GetLoop(sfSoundStream* SoundStream);
00258
00267 CSFML_API float sfSoundStream_GetPlayingOffset(sfSoundStream* SoundStream);
00268
00269
00270 #endif // SFML_SOUNDSTREAM_H