Murl Engine API  Version 2018.3
Murl::Audio::IListener Interface Referenceabstract

The IListener audio object interface. More...

#include <murl_audio_i_listener.h>

Detailed Description

The IListener audio object interface.

This interface represents an audio listener or audio sink, which can be positioned and oriented in 3D world space.

Used internally by Graph::Listener.

Inherited by Murl::Audio::Al11::Listener, and Murl::Audio::Dummy::Listener.

Public Member Functions

virtual IObjectGetObjectInterface ()=0
 Get the mutable Audio::IObject interface. More...
 
virtual const IObjectGetObjectInterface () const =0
 Get the constant Audio::IObject interface. More...
 
virtual Bool Enable ()=0
 Enable the listener. More...
 
virtual Bool Disable ()=0
 Disable the listener. More...
 
virtual Bool SetVolume (Real volume)=0
 Set the listener's overall volume (gain). More...
 
virtual Real GetVolume () const =0
 Get the listener's overall 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 Bool SetWorldTransform (const Matrix &transform)=0
 Set the listener's current world transform. More...
 
virtual const MatrixGetWorldTransform () const =0
 Get the listener's current world transform. More...
 
virtual const MatrixGetViewTransform () const =0
 Get the listener's current view matrix. More...
 
virtual Bool IsIntersecting (const Sphere &boundingSphere) const =0
 Check if the listener's hearing area intersects a given sphere. More...
 
virtual Bool SetView (IView *view)=0
 Set the listener view. More...
 
virtual IViewGetView () const =0
 Get the listener view. More...
 

Member Function Documentation

◆ GetObjectInterface() [1/2]

virtual IObject* Murl::Audio::IListener::GetObjectInterface ( )
pure virtual

Get the mutable Audio::IObject interface.

Returns
The IObject interface.

◆ GetObjectInterface() [2/2]

virtual const IObject* Murl::Audio::IListener::GetObjectInterface ( ) const
pure virtual

Get the constant Audio::IObject interface.

Returns
The IObject interface.

◆ Enable()

virtual Bool Murl::Audio::IListener::Enable ( )
pure virtual

Enable the listener.

Returns
true if successful.

◆ Disable()

virtual Bool Murl::Audio::IListener::Disable ( )
pure virtual

Disable the listener.

Returns
true if successful.

◆ SetVolume()

virtual Bool Murl::Audio::IListener::SetVolume ( Real  volume)
pure virtual

Set the listener's overall volume (gain).

Parameters
volumeThe overall volume, usually in the range 0.0-1.0.
Returns
true if successful.

◆ GetVolume()

virtual Real Murl::Audio::IListener::GetVolume ( ) const
pure virtual

Get the listener's overall volume (gain).

Returns
The overall volume.

◆ SetMaxDistance()

virtual Bool Murl::Audio::IListener::SetMaxDistance ( Real  maxDistance)
pure virtual

Set the maximum hearing distance.

Parameters
maxDistanceThe maximum distance.
Returns
true if successful.

◆ GetMaxDistance()

virtual Real Murl::Audio::IListener::GetMaxDistance ( ) const
pure virtual

Get the maximum hearing distance.

Returns
The maximum distance.

◆ SetDistanceModel()

virtual Bool Murl::Audio::IListener::SetDistanceModel ( IEnums::DistanceModel  distanceModel)
pure virtual

Set the listener's distance model used for attenuation calculation.

See Graph::Listener.

Parameters
distanceModelThe distance model to use.
Returns
true if successful.

◆ GetDistanceModel()

virtual IEnums::DistanceModel Murl::Audio::IListener::GetDistanceModel ( ) const
pure virtual

Get the listener's distance model used for attenuation calculation.

Returns
The distance model used.

◆ SetWorldTransform()

virtual Bool Murl::Audio::IListener::SetWorldTransform ( const Matrix transform)
pure virtual

Set the listener's current world transform.

Parameters
transformThe world transform matrix.
Returns
true if successful.

◆ GetWorldTransform()

virtual const Matrix& Murl::Audio::IListener::GetWorldTransform ( ) const
pure virtual

Get the listener's current world transform.

Returns
The world transform matrix.

◆ GetViewTransform()

virtual const Matrix& Murl::Audio::IListener::GetViewTransform ( ) const
pure virtual

Get the listener's current view matrix.

The view matrix equals the inverse of the transform matrix.

Returns
The view matrix.

◆ IsIntersecting()

virtual Bool Murl::Audio::IListener::IsIntersecting ( const Sphere boundingSphere) const
pure virtual

Check if the listener's hearing area intersects a given sphere.

Parameters
boundingSphereThe world-coordinate bounding sphere to check.
Returns
true if the bounding sphere is in hearing range.

◆ SetView()

virtual Bool Murl::Audio::IListener::SetView ( IView view)
pure virtual

Set the listener view.

Parameters
viewThe view to use.
Returns
true if successful.

◆ GetView()

virtual IView* Murl::Audio::IListener::GetView ( ) const
pure virtual

Get the listener view.

Returns
The view used.

The documentation for this interface was generated from the following file: