Public Member Functions |
| SoundSource (Context *context) |
| Construct.
|
virtual | ~SoundSource () |
| Destruct. Remove self from the audio subsystem.
|
void | Play (Sound *sound) |
| Play a sound.
|
void | Play (Sound *sound, float frequency) |
| Play a sound with specified frequency.
|
void | Play (Sound *sound, float frequency, float gain) |
| Play a sound with specified frequency and gain.
|
void | Play (Sound *sound, float frequency, float gain, float panning) |
| Play a sound with specified frequency, gain and panning.
|
void | Stop () |
| Stop playback.
|
void | SetSoundType (SoundType type) |
| Set sound type, determines the master gain group.
|
void | SetFrequency (float frequency) |
| Set frequency.
|
void | SetGain (float gain) |
| Set gain. 0.0 is silence, 1.0 is full volume.
|
void | SetAttenuation (float attenuation) |
| Set attenuation. 1.0 is unaltered. Used for distance attenuated playback.
|
void | SetPanning (float panning) |
| Set stereo panning. -1.0 is full left and 1.0 is full right.
|
void | SetAutoRemove (bool enable) |
| Set whether sound source will be automatically removed from the scene node when playback stops.
|
void | SetPlayPosition (signed char *pos) |
| Set new playback position.
|
Sound * | GetSound () const |
| Return sound.
|
volatile signed char * | GetPlayPosition () const |
| Return playback position.
|
SoundType | GetSoundType () const |
| Return sound type, determines the master gain group.
|
float | GetTimePosition () const |
| Return playback time position.
|
float | GetFrequency () const |
| Return frequency.
|
float | GetGain () const |
| Return gain.
|
float | GetAttenuation () const |
| Return attenuation.
|
float | GetPanning () const |
| Return stereo panning.
|
bool | GetAutoRemove () const |
| Return autoremove mode.
|
bool | IsPlaying () const |
| Return whether is playing.
|
void | PlayLockless (Sound *sound) |
| Play a sound without locking the audio mutex. Called internally.
|
void | StopLockless () |
| Stop sound without locking the audio mutex. Called internally.
|
void | SetPlayPositionLockless (signed char *position) |
| Set new playback position without locking the audio mutex. Called internally.
|
virtual void | Update (float timeStep) |
| Update the sound source. Perform subclass specific operations. Called by Audio.
|
void | Mix (int *dest, unsigned samples, int mixRate, bool stereo, bool interpolation) |
| Mix sound source output to a 32-bit clipping buffer. Called by Audio.
|
void | SetSoundAttr (ResourceRef value) |
| Set sound attribute.
|
void | SetPositionAttr (int value) |
| Set sound position attribute.
|
ResourceRef | GetSoundAttr () const |
| Return sound attribute.
|
int | GetPositionAttr () const |
| Return sound position attribute.
|
| Component (Context *context) |
| Construct.
|
virtual | ~Component () |
| Destruct.
|
virtual void | OnSetAttribute (const AttributeInfo &attr, const Variant &src) |
| Handle attribute write access.
|
virtual bool | Save (Serializer &dest) |
| Save as binary data. Return true if successful.
|
virtual bool | SaveXML (XMLElement &dest) |
| Save as XML data. Return true if successful.
|
virtual void | GetDependencyNodes (PODVector< Node * > &dest) |
| Return the depended on nodes to order network updates.
|
virtual void | DrawDebugGeometry (DebugRenderer *debug, bool depthTest) |
| Visualize the component as debug geometry.
|
void | Remove () |
| Remove from the scene node. If no other shared pointer references exist, causes immediate deletion.
|
unsigned | GetID () const |
| Return ID.
|
Node * | GetNode () const |
| Return scene node.
|
Scene * | GetScene () const |
| Return the scene the node belongs to.
|
void | GetComponents (PODVector< Component * > &dest, ShortStringHash type) const |
| Return components in the same scene node by type.
|
Component * | GetComponent (ShortStringHash type) const |
| Return component in the same scene node by type. If there are several, returns the first.
|
template<class T > |
T * | GetComponent () const |
| Template version of returning a component in the same scene node by type.
|
template<class T > |
void | GetComponents (PODVector< T * > &dest) const |
| Template version of returning components in the same scene node by type.
|
void | AddReplicationState (ComponentReplicationState *state) |
| Add a replication state that is tracking this component.
|
void | PrepareNetworkUpdate () |
| Prepare network update by comparing attributes and marking replication states dirty as necessary.
|
void | CleanupConnection (Connection *connection) |
| Clean up all references to a network connection that is about to be removed.
|
void | MarkNetworkUpdate () |
| Mark for attribute check on the next network update.
|
| Serializable (Context *context) |
| Construct.
|
virtual | ~Serializable () |
| Destruct.
|
virtual void | OnGetAttribute (const AttributeInfo &attr, Variant &dest) |
| Handle attribute read access. Default implementation reads the variable at offset, or invokes the get accessor.
|
virtual bool | Load (Deserializer &source) |
| Load from binary data. Return true if successful.
|
virtual bool | LoadXML (const XMLElement &source) |
| Load from XML data. Return true if successful.
|
virtual void | ApplyAttributes () |
| Apply attribute changes that can not be applied immediately. Called after scene load or a network update.
|
bool | SetAttribute (unsigned index, const Variant &value) |
| Set attribute by index. Return true if successfully set.
|
bool | SetAttribute (const String &name, const Variant &value) |
| Set attribute by name. Return true if successfully set.
|
void | AllocateNetworkState () |
| Allocate network attribute state.
|
void | WriteInitialDeltaUpdate (Serializer &dest) |
| Write initial delta network update.
|
void | WriteDeltaUpdate (Serializer &dest, const DirtyBits &attributeBits) |
| Write a delta network update according to dirty attribute bits.
|
void | WriteLatestDataUpdate (Serializer &dest) |
| Write a latest data network update.
|
void | ReadDeltaUpdate (Deserializer &source) |
| Read and apply a network delta update.
|
void | ReadLatestDataUpdate (Deserializer &source) |
| Read and apply a network latest data update.
|
Variant | GetAttribute (unsigned index) |
| Return attribute value by index. Return empty if illegal index.
|
Variant | GetAttribute (const String &name) |
| Return attribute value by name. Return empty if not found.
|
unsigned | GetNumAttributes () const |
| Return number of attributes.
|
unsigned | GetNumNetworkAttributes () const |
| Return number of network replication attributes.
|
const Vector< AttributeInfo > * | GetAttributes () const |
| Return attribute descriptions, or null if none defined.
|
const Vector< AttributeInfo > * | GetNetworkAttributes () const |
| Return network replication attribute descriptions, or null if none defined.
|
| Object (Context *context) |
| Construct.
|
virtual | ~Object () |
| Destruct. Clean up self from event sender & receiver structures.
|
virtual ShortStringHash | GetType () const =0 |
| Return type hash.
|
virtual const String & | GetTypeName () const =0 |
| Return type name.
|
virtual void | OnEvent (Object *sender, StringHash eventType, VariantMap &eventData) |
| Handle event.
|
void | SubscribeToEvent (StringHash eventType, EventHandler *handler) |
| Subscribe to an event that can be sent by any sender.
|
void | SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler) |
| Subscribe to a specific sender's event.
|
void | UnsubscribeFromEvent (StringHash eventType) |
| Unsubscribe from an event.
|
void | UnsubscribeFromEvent (Object *sender, StringHash eventType) |
| Unsubscribe from a specific sender's event.
|
void | UnsubscribeFromEvents (Object *sender) |
| Unsubscribe from a specific sender's events.
|
void | UnsubscribeFromAllEvents () |
| Unsubscribe from all events.
|
void | UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData) |
| Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events.)
|
void | SendEvent (StringHash eventType) |
| Send event to all subscribers.
|
void | SendEvent (StringHash eventType, VariantMap &eventData) |
| Send event with parameters to all subscribers.
|
Context * | GetContext () const |
| Return execution context.
|
Object * | GetSubsystem (ShortStringHash type) const |
| Return subsystem by type.
|
Object * | GetEventSender () const |
| Return active event sender. Null outside event handling.
|
EventHandler * | GetEventHandler () const |
| Return active event handler. Null outside event handling.
|
bool | HasSubscribedToEvent (StringHash eventType) const |
| Return whether has subscribed to an event without specific sender.
|
bool | HasSubscribedToEvent (Object *sender, StringHash eventType) const |
| Return whether has subscribed to a specific sender's event.
|
template<class T > |
T * | GetSubsystem () const |
| Template version of returning a subsystem.
|
| RefCounted () |
| Construct. Allocate the reference count structure and set an initial self weak reference.
|
virtual | ~RefCounted () |
| Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
|
void | AddRef () |
| Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.
|
void | ReleaseRef () |
| Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting.
|
int | Refs () const |
| Return reference count.
|
int | WeakRefs () const |
| Return weak reference count.
|
RefCount * | RefCountPtr () |
| Return pointer to the reference count structure.
|
Private Member Functions |
| OBJECT (SoundSource) |
void | MixMonoToMono (Sound *sound, int *dest, unsigned samples, int mixRate) |
| Mix mono sample to mono buffer.
|
void | MixMonoToStereo (Sound *sound, int *dest, unsigned samples, int mixRate) |
| Mix mono sample to stereo buffer.
|
void | MixMonoToMonoIP (Sound *sound, int *dest, unsigned samples, int mixRate) |
| Mix mono sample to mono buffer interpolated.
|
void | MixMonoToStereoIP (Sound *sound, int *dest, unsigned samples, int mixRate) |
| Mix mono sample to stereo buffer interpolated.
|
void | MixStereoToMono (Sound *sound, int *dest, unsigned samples, int mixRate) |
| Mix stereo sample to mono buffer.
|
void | MixStereoToStereo (Sound *sound, int *dest, unsigned samples, int mixRate) |
| Mix stereo sample to stereo buffer.
|
void | MixStereoToMonoIP (Sound *sound, int *dest, unsigned samples, int mixRate) |
| Mix stereo sample to mono buffer interpolated.
|
void | MixStereoToStereoIP (Sound *sound, int *dest, unsigned samples, int mixRate) |
| Mix stereo sample to stereo buffer interpolated.
|
void | MixZeroVolume (Sound *sound, unsigned samples, int mixRate) |
| Advance playback pointer without producing audible output.
|
void | MixNull (float timeStep) |
| Advance playback pointer to simulate audio playback in headless mode.
|
void | FreeDecoder () |
| Free the decoder if any.
|
Sound source component with stereo position.