Wt::Audio Class Reference

implementations e.g. NullAudio, SDLMixer etc More...

#include <audio.h>

Inherits Wt::Singleton< DERIVED >< Wt::Audio >.

Inherited by Wt::NullAudio, and Wt::SDLMixer.

List of all members.

Public Types

typedef BaseFactory< AudioAudioBaseFactory

Public Member Functions

virtual ChunkloadChunk (const std::string &) const
int numChannels () const
Channeloperator[] (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 MusicloadMusic (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, Audiofactory

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 Audioload ()
 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


Detailed Description

implementations e.g. NullAudio, SDLMixer etc

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.


Member Typedef Documentation

typedef BaseFactory<Audio> Wt::Audio::AudioBaseFactory


Constructor & Destructor Documentation

Wt::Audio::Audio (  )  [protected]

Wt::Audio::~Audio (  )  [protected, virtual]


Member Function Documentation

template<typename CHILD>
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]

pause all channels

Reimplemented in Wt::SDLMixer.

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]

resume all channels

Reimplemented in Wt::SDLMixer.

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]

stop all channels

Reimplemented in Wt::SDLMixer.

void Wt::Audio::stopMusic (  )  [virtual]

Reimplemented in Wt::SDLMixer.


Friends And Related Function Documentation

friend class Singleton< Audio > [friend]

Reimplemented in Wt::NullAudio, and Wt::SDLMixer.


Member Data Documentation

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

WVar<int> Wt::Audio::musicLoops


The documentation for this class was generated from the following files:

Generated Fri Jul 28 19:22:38 2006.
Copyright © 1998-2003 by the respective authors.

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.