Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
RenderableSource.h
Go to the documentation of this file.
1
//
2
// C++ Interface: Audio::RenderableSource
3
//
4
#ifndef __AUDIO_RENDERABLESOURCE_H__INCLUDED__
5
#define __AUDIO_RENDERABLESOURCE_H__INCLUDED__
6
7
#include "
Exceptions.h
"
8
#include "
Types.h
"
9
#include "
Format.h
"
10
11
namespace
Audio {
12
13
// Forward declarations
14
15
class
Source;
16
class
Listener
;
17
18
34
class
RenderableSource
:
public
UserData
35
{
36
private
:
37
Source
*source;
38
39
protected
:
41
RenderableSource
(
Source
*source)
throw
();
42
43
public
:
44
virtual
~RenderableSource
();
45
46
enum
UpdateFlags
{
47
UPDATE_ALL
= 0x0F,
48
UPDATE_LOCATION
= 0x01,
49
UPDATE_ATTRIBUTES
= 0x02,
50
UPDATE_EFFECTS
= 0x04,
51
UPDATE_GAIN
= 0x08
52
};
53
59
void
startPlaying
(
Timestamp
start
= 0) throw(
Exception
);
60
64
void
stopPlaying
() throw();
65
67
bool
isPlaying
() const throw();
68
72
Timestamp
getPlayingTime
() const throw(Exception);
73
75
Source
*
getSource
() const throw() {
return
source; }
76
85
void
seek
(
Timestamp
time)
throw
(
Exception
);
86
98
void
update
(
int
flags,
const
Listener
& sceneListener)
throw
();
99
100
// The following section contains all the virtual functions that need be implemented
101
// by a concrete Sound class. All are protected, so the interface is independent
102
// of implementations.
103
protected
:
104
108
virtual
void
startPlayingImpl
(
Timestamp
start
)
throw
(
Exception
) = 0;
109
111
virtual
void
stopPlayingImpl
() throw(
Exception
) = 0;
112
114
virtual
bool
isPlayingImpl
() const throw(Exception) = 0;
115
117
virtual
Timestamp
getPlayingTimeImpl
() const throw(Exception) = 0;
118
120
virtual
void
updateImpl
(
int
flags, const
Listener
& sceneListener) throw(Exception) = 0;
121
123
virtual
void
seekImpl
(
Timestamp
time) throw(Exception) = 0;
124
};
125
126
};
127
128
#endif//__AUDIO_RENDERABLESOURCE_H__INCLUDED__
src
audio
RenderableSource.h
Generated on Fri May 29 2015 23:07:06 for Vegastrike 0.5.1 rc1 by
1.8.4