#include <audio.h>
Inherits Wt::Singleton< DERIVED >< Wt::Audio >.
Inherited by Wt::NullAudio, and Wt::SDLMixer.
Public Types | |
typedef BaseFactory< Audio > | AudioBaseFactory |
Public Member Functions | |
virtual Chunk * | loadChunk (const std::string &) const |
int | numChannels () const |
Channel * | operator[] (int i) const |
virtual int | allocateChannels (int num_channels) |
virtual void | pause () |
pause all channels | |
virtual void | resume () |
resume all channels | |
virtual void | stop (int ms=0) |
stop all channels | |
virtual void | fadeOut (int) |
virtual int | playingChannels () const |
virtual int | pausedChannels () const |
virtual bool | isAvailable () const |
virtual Music * | loadMusic (const std::string &filename) |
virtual void | playMusic (Music &) |
virtual void | fadeInMusic (Music &, int ms) |
virtual void | fadeOutMusic (int ms) |
virtual void | setMusicVolume (int volume) |
virtual void | pauseMusic () |
virtual void | rewindMusic () |
virtual bool | setMusicPosition (double start_sec) |
virtual void | stopMusic () |
virtual bool | playingMusic () const |
virtual bool | pausedMusic () const |
virtual int | musicFading () const |
Public Attributes | |
Signal01< void, Channel * > | finished |
WVar< int > | musicLoops |
sigc::signal< void > | musicFinished |
Static Public Attributes | |
static Factory< Audio, Audio > | factory |
Protected Member Functions | |
Audio () | |
virtual | ~Audio () |
virtual int | minHWVolume () const |
virtual int | maxHWVolume () const |
int | HWVolume (int volume) const |
template<typename CHILD> | |
void | adjustAllocatedChannels (int oldnum, int newnum) |
Static Protected Member Functions | |
static Audio * | load () |
try to load the instance | |
static void | onChannelFinish (int channel_id) |
callback called when a channel finishes | |
static void | onMusicFinish () |
static void | handleAudioEvent (const SDL_Event *event) |
SDLEvent::Audio handler. | |
Protected Attributes | |
std::vector< Channel * > | channels |
Static Protected Attributes | |
static const int | minVolume = 0 |
static const int | maxVolume = 1000 |
Friends | |
class | Singleton< Audio > |
Classes | |
class | Channel |
class | Chunk |
Audio::Chunk base abstract class. More... | |
class | Event |
class | FadingType |
class | Music |
class | MusicType |
It is not possible to use the curiously reccuring pattern this time from (Audio to Driver) because then the different drivers wouldn't be pointer compatible since they would inherit from different objects.
typedef BaseFactory<Audio> Wt::Audio::AudioBaseFactory |
Wt::Audio::Audio | ( | ) | [protected] |
Wt::Audio::~Audio | ( | ) | [protected, virtual] |
void Wt::Audio::adjustAllocatedChannels | ( | int | oldnum, | |
int | newnum | |||
) | [inline, protected] |
int Wt::Audio::allocateChannels | ( | int | num_channels | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
void Wt::Audio::fadeInMusic | ( | Music & | , | |
int | ms | |||
) | [virtual] |
Reimplemented in Wt::SDLMixer.
void Wt::Audio::fadeOut | ( | int | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
void Wt::Audio::fadeOutMusic | ( | int | ms | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
void Wt::Audio::handleAudioEvent | ( | const SDL_Event * | event | ) | [static, protected] |
SDLEvent::Audio handler.
it emits the required signal to all interested parties
int Wt::Audio::HWVolume | ( | int | volume | ) | const [protected] |
bool Wt::Audio::isAvailable | ( | ) | const [virtual] |
Reimplemented in Wt::SDLMixer.
Audio * Wt::Audio::load | ( | ) | [static, protected] |
try to load the instance
if it fails return NULL if it succeeds must return the newly created object
Reimplemented from Wt::Singleton< DERIVED >.
Reimplemented in Wt::NullAudio, and Wt::SDLMixer.
Audio::Chunk * Wt::Audio::loadChunk | ( | const std::string & | ) | const [virtual] |
Reimplemented in Wt::NullAudio, and Wt::SDLMixer.
Audio::Music * Wt::Audio::loadMusic | ( | const std::string & | filename | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
int Wt::Audio::maxHWVolume | ( | ) | const [protected, virtual] |
Reimplemented in Wt::SDLMixer.
int Wt::Audio::minHWVolume | ( | ) | const [protected, virtual] |
Reimplemented in Wt::SDLMixer.
int Wt::Audio::musicFading | ( | ) | const [virtual] |
Reimplemented in Wt::SDLMixer.
int Wt::Audio::numChannels | ( | ) | const |
void Wt::Audio::onChannelFinish | ( | int | channel_id | ) | [static, protected] |
callback called when a channel finishes
posts a SDL type event (SDLEvent::Audio) in the SDL event queue. By the time the event it is dispatched all SDL actions are allowed.
Reimplemented in Wt::SDLMixer.
void Wt::Audio::onMusicFinish | ( | ) | [static, protected] |
posts a SDL type event (SDLEvent::Audio) in the SDL event queue. By the time the event it is dispatched all SDL actions are allowed.
Audio::Channel * Wt::Audio::operator[] | ( | int | i | ) | const |
void Wt::Audio::pause | ( | ) | [virtual] |
int Wt::Audio::pausedChannels | ( | ) | const [virtual] |
Reimplemented in Wt::SDLMixer.
bool Wt::Audio::pausedMusic | ( | ) | const [virtual] |
Reimplemented in Wt::SDLMixer.
void Wt::Audio::pauseMusic | ( | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
int Wt::Audio::playingChannels | ( | ) | const [virtual] |
Reimplemented in Wt::SDLMixer.
bool Wt::Audio::playingMusic | ( | ) | const [virtual] |
Reimplemented in Wt::SDLMixer.
void Wt::Audio::playMusic | ( | Music & | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
void Wt::Audio::resume | ( | ) | [virtual] |
void Wt::Audio::rewindMusic | ( | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
bool Wt::Audio::setMusicPosition | ( | double | start_sec | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
void Wt::Audio::setMusicVolume | ( | int | volume | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
void Wt::Audio::stop | ( | int | ms = 0 |
) | [virtual] |
void Wt::Audio::stopMusic | ( | ) | [virtual] |
Reimplemented in Wt::SDLMixer.
Reimplemented in Wt::NullAudio, and Wt::SDLMixer.
std::vector<Channel *> Wt::Audio::channels [protected] |
Factory<Audio, Audio> Wt::Audio::factory [static] |
Reimplemented in Wt::NullAudio, and Wt::SDLMixer.
Signal01<void, Channel *> Wt::Audio::finished |
const int Wt::Audio::maxVolume = 1000 [static, protected] |
const int Wt::Audio::minVolume = 0 [static, protected] |
sigc::signal<void> Wt::Audio::musicFinished |
This document is licensed under the terms of the GNU Free Documentation License and may be freely distributed under the conditions given by this license.