24
24
/// Klasse f�r den SDL Audiotreiber.
25
25
class AudioSDL : public AudioDriver
29
/// Welche Sounds werden in den Channels gerade gespielt?
30
unsigned channels[CHANNEL_COUNT];
31
/// Lautst�rke der Effekte.
32
unsigned char master_effects_volume;
33
/// Lautst�rke der Musik.
34
unsigned char master_music_volume;
37
/// Konstruktor von @p AudioSDL.
38
AudioSDL(AudioDriverLoaderInterface * adli);
40
/// Destruktor von @p AudioSDL.
43
/// Funktion zum Auslesen des Treibernamens.
44
const char *GetName(void) const;
46
/// Treiberinitialisierungsfunktion.
47
bool Initialize(void);
49
/// Treiberaufr�umfunktion.
52
Sound *LoadEffect(unsigned int data_type, unsigned char *data, unsigned long size);
53
Sound *LoadMusic(unsigned int data_type, unsigned char *data, unsigned long size);
56
unsigned int PlayEffect(Sound *sound, const unsigned char volume, const bool loop);
58
void PlayMusic(Sound * sound, const unsigned repeats);
61
/// Wird der Sound (noch) abgespielt?
62
bool IsEffectPlaying(const unsigned play_id);
63
/// Stoppt einen Sound
64
void StopEffect(const unsigned play_id);
65
/// Ver�ndert die Lautst�rke von einem abgespielten Sound (falls er noch abgespielt wird)
66
void ChangeVolume(const unsigned play_id,const unsigned char volume);
68
void SetMasterEffectVolume(unsigned char volume);
69
void SetMasterMusicVolume(unsigned char volume);
73
/// Callback f�r Audiotreiber
74
static void MusicFinished();
29
/// Welche Sounds werden in den Channels gerade gespielt?
30
unsigned channels[CHANNEL_COUNT];
31
/// Lautst�rke der Effekte.
32
unsigned char master_effects_volume;
33
/// Lautst�rke der Musik.
34
unsigned char master_music_volume;
37
/// Konstruktor von @p AudioSDL.
38
AudioSDL(AudioDriverLoaderInterface* adli);
40
/// Destruktor von @p AudioSDL.
43
/// Funktion zum Auslesen des Treibernamens.
44
const char* GetName(void) const;
46
/// Treiberinitialisierungsfunktion.
47
bool Initialize(void);
49
/// Treiberaufr�umfunktion.
52
Sound* LoadEffect(unsigned int data_type, unsigned char* data, unsigned long size);
53
Sound* LoadMusic(unsigned int data_type, unsigned char* data, unsigned long size);
56
unsigned int PlayEffect(Sound* sound, const unsigned char volume, const bool loop);
58
void PlayMusic(Sound* sound, const unsigned repeats);
61
/// Wird der Sound (noch) abgespielt?
62
bool IsEffectPlaying(const unsigned play_id);
63
/// Stoppt einen Sound
64
void StopEffect(const unsigned play_id);
65
/// Ver�ndert die Lautst�rke von einem abgespielten Sound (falls er noch abgespielt wird)
66
void ChangeVolume(const unsigned play_id, const unsigned char volume);
68
void SetMasterEffectVolume(unsigned char volume);
69
void SetMasterMusicVolume(unsigned char volume);
73
/// Callback f�r Audiotreiber
74
static void MusicFinished();
77
77
#endif // !SDL_H_INCLUDED