Homepage | Demos | Overview | Downloads | Tutorials | Reference | Credits |
#include <SoundPlay.h>
Inheritance diagram for SoundPlay:
This sound process will purposely starve the system of sound buffers when nothing is playing, both to eliminate needless zeroing of entire buffers, as well as to reduce system overhead of playing empty buffers.
If you want to know how to play sounds, you should be looking at SoundManager's documentation.
Basically a slightly modified version of the SoundPlay example code from Sony. Here's their license: Copyright 2002,2003 Sony Corporation
Permission to use, copy, modify, and redistribute this software for non-commercial use is hereby granted.
This software is provided "as is" without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of fitness for a particular purpose.
Definition at line 28 of file SoundPlay.h.
Public Member Functions | |
SoundPlay () | |
constructor | |
virtual | ~SoundPlay () |
destructor | |
virtual OStatus | DoInit (const OSystemEvent &event) |
called by system when time to do init | |
virtual OStatus | DoStart (const OSystemEvent &event) |
called by system when time to start running | |
virtual OStatus | DoStop (const OSystemEvent &event) |
called by system when time to stop running | |
virtual OStatus | DoDestroy (const OSystemEvent &event) |
called by system when time to free | |
void | ReadySendSound (const OReadyEvent &event) |
called by system when it's ready for another sound buffer | |
void | ReadyRegisterSoundManager (const OReadyEvent &event) |
called by system when observers are ready to receive the SoundManager | |
void | GotEventTranslatorQueue (const ONotifyEvent &event) |
called by system when the queue for sending events to Main is being published | |
void | GotSoundMsg (const ONotifyEvent &event) |
called by system when SoundManager has sent itself a message on a different process (either to add or remove sounds from memory) | |
Public Attributes | |
OSubject * | subject [numOfSubject] |
array of subject IDs, used to identify outgoing data | |
OObserver * | observer [numOfObserver] |
array of observer IDs, used to identify what's ready | |
Private Member Functions | |
void | doSendSound () |
called to send sound buffer(s) to system | |
void | OpenSpeaker () |
initializes speaker | |
void | NewSoundVectorData () |
sets up sound buffers | |
void | SetPowerAndVolume () |
sets volume to max | |
RCRegion * | InitRegion (unsigned int size) |
inits each buffer | |
RCRegion * | FindFreeRegion () |
finds the first sound buffer which system isn't using (buffers are recycled) | |
SoundPlay (const SoundPlay &) | |
don't call | |
SoundPlay & | operator= (const SoundPlay &) |
don't call | |
Private Attributes | |
unsigned int | active |
number of active sound channels - if it's 0, we'll purposely starve system of sound buffers | |
RCRegion * | soundManagerMemRgn |
SoundPlay creates, Main & Motion receive - Shared region used by SoundManager. | |
RCRegion * | eventTranslatorQueueMemRgn |
Main creates, Motion (& SoundPlay) receive. | |
EventTranslator | etrans |
will be given all events created by SoundManager to be forwarded to Main | |
OPrimitiveID | speakerID |
ID returned to system after opening SPEAKER_LOCATOR. | |
RCRegion * | region [SOUND_NUM_BUFFER] |
holds references to shared regions holding sound clips | |
Static Private Attributes | |
const size_t | SOUND_NUM_BUFFER = 2 |
number of buffers to use |
|
constructor
Definition at line 27 of file SoundPlay.cc. |
|
destructor
Definition at line 31 of file SoundPlay.h. |
|
don't call
|
|
called by system when time to free
Definition at line 93 of file SoundPlay.cc. |
|
called by system when time to do init
Definition at line 35 of file SoundPlay.cc. |
|
called to send sound buffer(s) to system
Definition at line 147 of file SoundPlay.cc. Referenced by GotSoundMsg(), and ReadySendSound(). |
|
called by system when time to start running
Definition at line 69 of file SoundPlay.cc. |
|
called by system when time to stop running
Definition at line 80 of file SoundPlay.cc. |
|
finds the first sound buffer which system isn't using (buffers are recycled)
Definition at line 247 of file SoundPlay.cc. Referenced by doSendSound(). |
|
called by system when the queue for sending events to Main is being published
Definition at line 122 of file SoundPlay.cc. |
|
called by system when SoundManager has sent itself a message on a different process (either to add or remove sounds from memory)
Definition at line 134 of file SoundPlay.cc. |
|
inits each buffer Will round up size to the nearest page Definition at line 238 of file SoundPlay.cc. Referenced by DoInit(). |
|
sets up sound buffers
Definition at line 180 of file SoundPlay.cc. Referenced by DoInit(). |
|
initializes speaker
Definition at line 172 of file SoundPlay.cc. Referenced by DoInit(). |
|
don't call
|
|
called by system when observers are ready to receive the SoundManager
Definition at line 111 of file SoundPlay.cc. |
|
called by system when it's ready for another sound buffer
Definition at line 104 of file SoundPlay.cc. |
|
sets volume to max
Definition at line 215 of file SoundPlay.cc. Referenced by DoInit(). |
|
number of active sound channels - if it's 0, we'll purposely starve system of sound buffers
Definition at line 57 of file SoundPlay.h. Referenced by doSendSound(), and GotSoundMsg(). |
|
will be given all events created by SoundManager to be forwarded to Main
Definition at line 61 of file SoundPlay.h. Referenced by GotEventTranslatorQueue(). |
|
Main creates, Motion (& SoundPlay) receive.
Definition at line 60 of file SoundPlay.h. Referenced by DoDestroy(), and GotEventTranslatorQueue(). |
|
array of observer IDs, used to identify what's ready
Definition at line 45 of file SoundPlay.h. Referenced by DoInit(), GotEventTranslatorQueue(), and GotSoundMsg(). |
|
holds references to shared regions holding sound clips
Definition at line 64 of file SoundPlay.h. |
|
number of buffers to use
Definition at line 55 of file SoundPlay.h. Referenced by doSendSound(), FindFreeRegion(), NewSoundVectorData(), and SoundPlay(). |
|
SoundPlay creates, Main & Motion receive - Shared region used by SoundManager.
Definition at line 59 of file SoundPlay.h. Referenced by DoInit(), and ReadyRegisterSoundManager(). |
|
ID returned to system after opening SPEAKER_LOCATOR.
Definition at line 63 of file SoundPlay.h. Referenced by NewSoundVectorData(), OpenSpeaker(), and SetPowerAndVolume(). |
|
array of subject IDs, used to identify outgoing data
Definition at line 44 of file SoundPlay.h. Referenced by DoInit(), doSendSound(), and ReadyRegisterSoundManager(). |
Tekkotsu v2.0 |
Generated Wed Jan 21 03:23:28 2004 by Doxygen 1.3.4 |