![]() |
Murl Engine API
Version 2018.3
|
The IListener graph node interface. More...
#include <murl_graph_i_listener.h>
The IListener graph node interface.
A listener represents a node positioned in world space that is "listening" to any sound sources (e.g. IAudioSequence nodes) within its hearing range. All captured sources are attenuated according to their distance and given parameters, and mixed together afterwards.
See Output-States, Slots und Units for an overview of state handling during scene graph traversal.
See Graph::IListenerTransform for setting a listener's position and orientation. See Graph::IListenerState for activating a listener for rendering.
Gain calculation formula:
REFERENCE_DISTANCE = referenceDistance attribute from IPlayable
ROLLOFF_FACTOR = rolloffFactor attribute from IPlayable
MAX_DISTANCE = maxDistance attribute from IPlayable
Public Member Functions | |
virtual INode * | GetNodeInterface ()=0 |
Get the mutable INode interface. More... | |
virtual const INode * | GetNodeInterface () const =0 |
Get the constant INode interface. More... | |
virtual ISubject * | GetSubjectInterface ()=0 |
Get the mutable ISubject interface. More... | |
virtual const ISubject * | GetSubjectInterface () const =0 |
Get the constant ISubject interface. More... | |
virtual IViewNodeTarget * | GetViewNodeTarget ()=0 |
Get the mutable IViewNodeTarget container. More... | |
virtual const IViewNodeTarget * | GetViewNodeTarget () const =0 |
Get the constant IViewNodeTarget container. More... | |
virtual Bool | SetVolume (Real volume)=0 |
Set the listener's volume (gain). More... | |
virtual Real | GetVolume () const =0 |
Get the listener's volume (gain). More... | |
virtual Bool | SetMaxDistance (Real maxDistance)=0 |
Set the maximum hearing distance. More... | |
virtual Real | GetMaxDistance () const =0 |
Get the maximum hearing distance. More... | |
virtual Bool | SetDistanceModel (IEnums::DistanceModel distanceModel)=0 |
Set the listener's distance model used for attenuation calculation. More... | |
virtual IEnums::DistanceModel | GetDistanceModel () const =0 |
Get the listener's distance model used for attenuation calculation. More... | |
virtual UInt32 | GetNumberOfStages () const =0 |
Get the listener's number of stages. More... | |
virtual Audio::IListener * | GetAudioListenerObject (UInt32 stage) const =0 |
Get the listener's internal audio renderer object. More... | |
![]() | |
virtual Bool | SetSlot (SInt32 slot)=0 |
Set the slot index to use. More... | |
virtual SInt32 | GetSlot () const =0 |
Get the slot index to use. More... | |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Get the mutable IViewNodeTarget container.
This method returns a mutable pointer to the node's IViewNodeTarget container, which allows to set or query the view object the listener is attached to.
|
pure virtual |
Get the constant IViewNodeTarget container.
This method returns a constant pointer to the node's IViewNodeTarget container, which allows to query the view object the listener is attached to.
Set the listener's volume (gain).
volume | The overall volume. |
|
pure virtual |
Get the listener's volume (gain).
Set the maximum hearing distance.
maxDistance | The maximum distance. |
|
pure virtual |
Get the maximum hearing distance.
|
pure virtual |
Set the listener's distance model used for attenuation calculation.
distanceModel | The distance model to use. |
|
pure virtual |
Get the listener's distance model used for attenuation calculation.
|
pure virtual |
Get the listener's number of stages.
|
pure virtual |
Get the listener's internal audio renderer object.
stage | The stage to query. |