SFML 2.5.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
SFML
Audio
SoundSource.hpp
1
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
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_SOUNDSOURCE_HPP
26
#define SFML_SOUNDSOURCE_HPP
27
29
// Headers
31
#include <SFML/Audio/Export.hpp>
32
#include <SFML/Audio/AlResource.hpp>
33
#include <SFML/System/Vector3.hpp>
34
35
36
namespace
sf
37
{
42
class
SFML_AUDIO_API
SoundSource
:
AlResource
43
{
44
public
:
45
50
enum
Status
51
{
52
Stopped
,
53
Paused
,
54
Playing
55
};
56
63
SoundSource
(
const
SoundSource
& copy);
64
69
virtual
~
SoundSource
();
70
85
void
setPitch(
float
pitch);
86
98
void
setVolume(
float
volume);
99
114
void
setPosition(
float
x,
float
y,
float
z);
115
128
void
setPosition(
const
Vector3f
& position);
129
144
void
setRelativeToListener(
bool
relative);
145
161
void
setMinDistance(
float
distance);
162
180
void
setAttenuation(
float
attenuation);
181
190
float
getPitch()
const
;
191
200
float
getVolume()
const
;
201
210
Vector3f
getPosition()
const
;
211
221
bool
isRelativeToListener()
const
;
222
231
float
getMinDistance()
const
;
232
241
float
getAttenuation()
const
;
242
251
SoundSource
& operator =(
const
SoundSource
& right);
252
263
virtual
void
play() = 0;
264
274
virtual
void
pause() = 0;
275
286
virtual
void
stop() = 0;
287
294
virtual
Status getStatus()
const
;
295
296
protected
:
297
304
SoundSource
();
305
307
// Member data
309
unsigned
int
m_source
;
310
};
311
312
}
// namespace sf
313
314
315
#endif // SFML_SOUNDSOURCE_HPP
316
317
sf::SoundSource::m_source
unsigned int m_source
OpenAL source identifier.
Definition:
SoundSource.hpp:309
sf::SoundSource
Base class defining a sound's properties.
Definition:
SoundSource.hpp:42
sf::AlResource
Base class for classes that require an OpenAL context.
Definition:
AlResource.hpp:40
sf::SoundSource::Paused
@ Paused
Sound is paused.
Definition:
SoundSource.hpp:53
sf::SoundSource::Stopped
@ Stopped
Sound is not playing.
Definition:
SoundSource.hpp:52
sf::Vector3
Utility template class for manipulating 3-dimensional vectors.
Definition:
Vector3.hpp:37
sf::SoundSource::Status
Status
Enumeration of the sound source states.
Definition:
SoundSource.hpp:50