Sound class based on PLIB. More...
#include <_src_sound_sound_plib.hh>
Public Member Functions | |
| DEFINE_GetInstance (SoundPLIB) virtual bool Enable(const bool enable | |
| virtual bool | IfEnabled (void) |
| virtual fp | GetVolume (void) |
| virtual bool | SetVolume (const fp volume) |
Private Member Functions | |
| SoundPLIB (void) | |
| virtual | ~SoundPLIB () |
| virtual shptr< Sample > | CreateSample (const Sample::Name &sampleName) |
| void | Pulse (void) |
| void | EnqueueZombieSample (slSample *zombie) |
Private Attributes | |
| CLASS_VAR SoundPLIB * | msInstance |
| Timer-tick. | |
| bool | mEnabled |
| bool | mWasEnabled |
| fp | mVolume |
| master volume | |
| shptr< TickFunctor > | mTickFunctor |
| to pulse PLIB | |
| slScheduler * | mSched |
| PLIB. | |
| smMixer * | mMixer |
| PLIB. | |
| std::set< slSample * > | mZombieSamples |
| samples that were discarded after changing volume (yuck) | |
Friends | |
| class | SamplePLIB |
Sound class based on PLIB.
Changing the volume of a PLIB sample should be considered a slow operation.
Gory details of PLIB code is better structured by making Sample mostly private to Sound, but letting Sample have full access to Sound.
| sound::SoundPLIB::SoundPLIB | ( | void | ) | [private] |
ctor/dtor.
| sound::SoundPLIB::~SoundPLIB | ( | ) | [private, virtual] |
| shptr< Sample > sound::SoundPLIB::CreateSample | ( | const Sample::Name & | sampleName | ) | [private, virtual] |
Create specific Sample object (this is called by SoundBase).
Implements sound::SoundBase.
| sound::SoundPLIB::DEFINE_GetInstance | ( | SoundPLIB | ) | const |
| void sound::SoundPLIB::EnqueueZombieSample | ( | slSample * | zombie | ) | [private] |
Enqueue a zombie sample (possibly still playing).
| fp sound::SoundPLIB::GetVolume | ( | void | ) | [virtual] |
Implements sound::SoundBase.
| virtual bool sound::SoundPLIB::IfEnabled | ( | void | ) | [inline, virtual] |
Implements sound::SoundBase.
| void sound::SoundPLIB::Pulse | ( | void | ) | [private] |
| bool sound::SoundPLIB::SetVolume | ( | const fp | volume | ) | [virtual] |
Set volume (for all samples).
Implements sound::SoundBase.
friend class SamplePLIB [friend] |
bool sound::SoundPLIB::mEnabled [private] |
smMixer* sound::SoundPLIB::mMixer [private] |
PLIB.
slScheduler* sound::SoundPLIB::mSched [private] |
PLIB.
SoundPLIB * sound::SoundPLIB::msInstance [private] |
Timer-tick.
shptr<TickFunctor> sound::SoundPLIB::mTickFunctor [private] |
to pulse PLIB
fp sound::SoundPLIB::mVolume [private] |
master volume
bool sound::SoundPLIB::mWasEnabled [private] |
std::set<slSample*> sound::SoundPLIB::mZombieSamples [private] |
samples that were discarded after changing volume (yuck)
Palomino Flight Simulator documents generated by doxygen 1.7.1 on Tue May 15 2012 22:40:12