CSFML
Main Page
Data Structures
Files
File List
Globals
include
SFML
Audio
SoundStream.h
Go to the documentation of this file.
1
2
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)
5
//
6
// This software is provided 'as-is', without any express or implied warranty.
7
// In no event will the authors be held liable for any damages arising from the use of this software.
8
//
9
// Permission is granted to anyone to use this software for any purpose,
10
// including commercial applications, and to alter it and redistribute it freely,
11
// subject to the following restrictions:
12
//
13
// 1. The origin of this software must not be misrepresented;
14
// you must not claim that you wrote the original software.
15
// If you use this software in a product, an acknowledgment
16
// in the product documentation would be appreciated but is not required.
17
//
18
// 2. Altered source versions must be plainly marked as such,
19
// and must not be misrepresented as being the original software.
20
//
21
// 3. This notice may not be removed or altered from any source distribution.
22
//
24
25
#ifndef SFML_SOUNDSTREAM_H
26
#define SFML_SOUNDSTREAM_H
27
29
// Headers
31
#include <
SFML/Audio/Export.h
>
32
#include <
SFML/Audio/SoundStatus.h
>
33
#include <
SFML/Audio/Types.h
>
34
#include <
SFML/System/Time.h
>
35
#include <
SFML/System/Vector3.h
>
36
37
42
typedef
struct
43
{
44
sfInt16
*
samples
;
45
unsigned
int
sampleCount
;
46
}
sfSoundStreamChunk
;
47
48
typedef
sfBool
(*
sfSoundStreamGetDataCallback
)(
sfSoundStreamChunk
*,
void
*);
49
typedef
void (*
sfSoundStreamSeekCallback
)(
sfTime
,
void
*);
50
51
64
CSFML_AUDIO_API
sfSoundStream
*
sfSoundStream_create
(
sfSoundStreamGetDataCallback
onGetData,
65
sfSoundStreamSeekCallback
onSeek,
66
unsigned
int
channelCount,
67
unsigned
int
sampleRate,
68
void
* userData);
69
76
CSFML_AUDIO_API
void
sfSoundStream_destroy
(
sfSoundStream
* soundStream);
77
90
CSFML_AUDIO_API
void
sfSoundStream_play
(
sfSoundStream
* soundStream);
91
101
CSFML_AUDIO_API
void
sfSoundStream_pause
(
sfSoundStream
* soundStream);
102
113
CSFML_AUDIO_API
void
sfSoundStream_stop
(
sfSoundStream
* soundStream);
114
123
CSFML_AUDIO_API
sfSoundStatus
sfSoundStream_getStatus
(
const
sfSoundStream
* soundStream);
124
135
CSFML_AUDIO_API
unsigned
int
sfSoundStream_getChannelCount
(
const
sfSoundStream
* soundStream);
136
148
CSFML_AUDIO_API
unsigned
int
sfSoundStream_getSampleRate
(
const
sfSoundStream
* soundStream);
149
163
CSFML_AUDIO_API
void
sfSoundStream_setPitch
(
sfSoundStream
* soundStream,
float
pitch);
164
175
CSFML_AUDIO_API
void
sfSoundStream_setVolume
(
sfSoundStream
* soundStream,
float
volume);
176
188
CSFML_AUDIO_API
void
sfSoundStream_setPosition
(
sfSoundStream
* soundStream,
sfVector3f
position);
189
203
CSFML_AUDIO_API
void
sfSoundStream_setRelativeToListener
(
sfSoundStream
* soundStream,
sfBool
relative);
204
219
CSFML_AUDIO_API
void
sfSoundStream_setMinDistance
(
sfSoundStream
* soundStream,
float
distance);
220
237
CSFML_AUDIO_API
void
sfSoundStream_setAttenuation
(
sfSoundStream
* soundStream,
float
attenuation);
238
249
CSFML_AUDIO_API
void
sfSoundStream_setPlayingOffset
(
sfSoundStream
* soundStream,
sfTime
timeOffset);
250
263
CSFML_AUDIO_API
void
sfSoundStream_setLoop
(
sfSoundStream
* soundStream,
sfBool
loop);
264
273
CSFML_AUDIO_API
float
sfSoundStream_getPitch
(
const
sfSoundStream
* soundStream);
274
283
CSFML_AUDIO_API
float
sfSoundStream_getVolume
(
const
sfSoundStream
* soundStream);
284
293
CSFML_AUDIO_API
sfVector3f
sfSoundStream_getPosition
(
const
sfSoundStream
* soundStream);
294
304
CSFML_AUDIO_API
sfBool
sfSoundStream_isRelativeToListener
(
const
sfSoundStream
* soundStream);
305
314
CSFML_AUDIO_API
float
sfSoundStream_getMinDistance
(
const
sfSoundStream
* soundStream);
315
324
CSFML_AUDIO_API
float
sfSoundStream_getAttenuation
(
const
sfSoundStream
* soundStream);
325
334
CSFML_AUDIO_API
sfBool
sfSoundStream_getLoop
(
const
sfSoundStream
* soundStream);
335
344
CSFML_AUDIO_API
sfTime
sfSoundStream_getPlayingOffset
(
const
sfSoundStream
* soundStream);
345
346
347
#endif // SFML_SOUNDSTREAM_H