TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
iSoundMixer3D Struct Referenceabstract
Inheritance diagram for iSoundMixer3D:
iUnknown

Detailed Description

Sound mixer 3d interface.

3D channels

virtual tU32 GetFirst3DChannel () const =0
 Get the index of the first 3d channel. More...
 
virtual tBool GetIsChannel3D (tU32 nchan) const =0
 Get whether the specified channel is 3d. More...
 
virtual void SetChannelMode (tU32 nchan, eSoundMode aMode)=0
 Set the channel's 3d mode. {Property}. More...
 
virtual eSoundMode GetChannelMode (tU32 nchan) const =0
 Get the channel's 3d mode. {Property}. More...
 
virtual void SetChannelPosition (tU32 nchan, const sVec3f &avPosition)=0
 Set the channel's 3d Position. {Property}. More...
 
virtual sVec3f GetChannelPosition (tU32 nchan)=0
 Get the channel's 3d Position. {Property}. More...
 
virtual void SetChannelVelocity (tU32 nchan, const sVec3f &avVelocity)=0
 Set the channel's 3d Velocity. {Property}. More...
 
virtual sVec3f GetChannelVelocity (tU32 nchan)=0
 Get the channel's 3d Velocity. {Property}. More...
 
virtual void SetChannelMinDistance (tU32 nchan, tF32 afMinDistance)=0
 Set the channel's 3D minimum distance. {Property}. More...
 
virtual tF32 GetChannelMinDistance (tU32 nchan) const =0
 Set the channel's 3D minimum distance. {Property}. More...
 
virtual void SetChannelMaxDistance (tU32 nchan, tF32 afMaxDistance)=0
 Set the channel's 3D maximum distance. {Property}. More...
 
virtual tF32 GetChannelMaxDistance (tU32 nchan) const =0
 Set the channel's 3D maximum distance. {Property}. More...
 
virtual void SetChannelConeInner (tU32 nchan, tF32 afInsideAngle)=0
 Set the channel's 3D cone inside angle. {Property}. More...
 
virtual tF32 GetChannelConeInner (tU32 nchan) const =0
 Set the channel's 3D cone inside angle. {Property}. More...
 
virtual void SetChannelConeOuter (tU32 nchan, tF32 afOutsideAngle)=0
 Set the channel's 3D cone outside angle. {Property}. More...
 
virtual tF32 GetChannelConeOuter (tU32 nchan) const =0
 Set the channel's 3D cone outside angle. {Property}. More...
 
virtual void SetChannelConeOuterVolume (tU32 nchan, tU32 anOuterVolume)=0
 Sets the volume of the sound outside the outer angle of the sound projection cone. {Property}. More...
 
virtual tU32 GetChannelConeOuterVolume (tU32 nchan) const =0
 Set the channel's 3D cone outside angle. {Property}. More...
 
virtual void SetChannelConeDirection (tU32 nchan, const sVec3f &avDir)=0
 Set the channel's 3D cone direction. {Property}. More...
 
virtual sVec3f GetChannelConeDirection (tU32 nchan) const =0
 Set the channel's 3D cone direction. {Property}. More...
 

Listener

virtual void SetListenerPosition (const sVec3f &aV)=0
 Set the listener's position. {Property}. More...
 
virtual sVec3f GetListenerPosition () const =0
 Get the listener's position. {Property}. More...
 
virtual void SetListenerVelocity (const sVec3f &aV)=0
 Set the listener's velocity. {Property}. More...
 
virtual sVec3f GetListenerVelocity () const =0
 Get the listener's velocity. {Property}. More...
 
virtual void SetListenerForward (const sVec3f &aV)=0
 Set the listener's forward/looking direction. {Property}. More...
 
virtual sVec3f GetListenerForward () const =0
 Get the listener's forward/looking direction. {Property}. More...
 
virtual void SetListenerUp (const sVec3f &aV)=0
 Set the listener's up direction. {Property}. More...
 
virtual sVec3f GetListenerUp () const =0
 Get the listener's up direction. {Property}. More...
 
virtual void SetListenerDistanceScale (tF32 afScale)=0
 Set the listener's distance scale. {Property}. More...
 
virtual tF32 GetListenerDistanceScale () const =0
 Get the listener's distance scale. {Property}. More...
 
virtual void SetListenerRolloffScale (tF32 afScale)=0
 Set the listener's rolloff scale. {Property}. More...
 
virtual tF32 GetListenerRolloffScale () const =0
 Get the listener's rolloff scale. {Property}. More...
 
virtual void SetListenerDopplerScale (tF32 afScale)=0
 Set the listener's doppler scale. {Property}. More...
 
virtual tF32 GetListenerDopplerScale () const =0
 Get the listener's doppler scale. {Property}. More...
 

Update

virtual tBool UpdateMixer3D ()=0
 Update the 3d sounds mixer. More...
 

Additional Inherited Members

- Public Member Functions inherited from iUnknown
virtual tBool IsOK () const =0
 Check if the object is valid. More...
 
virtual tI32 AddRef ()=0
 Signal that one more reference of the object has been created. More...
 
virtual tI32 Release ()=0
 Release a reference of the object. More...
 
virtual void DeleteThis ()=0
 Bypass any reference counting and delete this object. More...
 
virtual void Invalidate ()=0
 Invalidate the object. More...
 
virtual iUnknownQueryInterface (const tUUID &aIID)=0
 Query an interface. More...
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0
 Fill a UUID list containing the UUIDs of the implemented interfaces. More...
 
virtual tI32 SetNumRefs (tI32 anNumRefs)=0
 Set the reference counter directly. More...
 
virtual tI32 GetNumRefs () const =0
 Get the number of references to this object. More...
 

Member Function Documentation

virtual tU32 GetFirst3DChannel ( ) const
pure virtual

Get the index of the first 3d channel.

Remarks
The 3d channels are at the end, so from first 3d channel to the last channel index are all 3d channels. {Property}
virtual tBool GetIsChannel3D ( tU32  nchan) const
pure virtual

Get whether the specified channel is 3d.

Remarks
3D channels dont support panning {Property}
virtual void SetChannelMode ( tU32  nchan,
eSoundMode  aMode 
)
pure virtual

Set the channel's 3d mode. {Property}.

virtual eSoundMode GetChannelMode ( tU32  nchan) const
pure virtual

Get the channel's 3d mode. {Property}.

virtual void SetChannelPosition ( tU32  nchan,
const sVec3f avPosition 
)
pure virtual

Set the channel's 3d Position. {Property}.

virtual sVec3f GetChannelPosition ( tU32  nchan)
pure virtual

Get the channel's 3d Position. {Property}.

virtual void SetChannelVelocity ( tU32  nchan,
const sVec3f avVelocity 
)
pure virtual

Set the channel's 3d Velocity. {Property}.

virtual sVec3f GetChannelVelocity ( tU32  nchan)
pure virtual

Get the channel's 3d Velocity. {Property}.

virtual void SetChannelMinDistance ( tU32  nchan,
tF32  afMinDistance 
)
pure virtual

Set the channel's 3D minimum distance. {Property}.

virtual tF32 GetChannelMinDistance ( tU32  nchan) const
pure virtual

Set the channel's 3D minimum distance. {Property}.

virtual void SetChannelMaxDistance ( tU32  nchan,
tF32  afMaxDistance 
)
pure virtual

Set the channel's 3D maximum distance. {Property}.

virtual tF32 GetChannelMaxDistance ( tU32  nchan) const
pure virtual

Set the channel's 3D maximum distance. {Property}.

virtual void SetChannelConeInner ( tU32  nchan,
tF32  afInsideAngle 
)
pure virtual

Set the channel's 3D cone inside angle. {Property}.

Remarks
The angle's range is 0 (no cone) to 2pi/360deg (full sphere). The angle is in radian.
Default is zero, no cone attenuation.
virtual tF32 GetChannelConeInner ( tU32  nchan) const
pure virtual

Set the channel's 3D cone inside angle. {Property}.

virtual void SetChannelConeOuter ( tU32  nchan,
tF32  afOutsideAngle 
)
pure virtual

Set the channel's 3D cone outside angle. {Property}.

Remarks
The angle's range is 0 (no cone) to 2pi/360deg (full sphere). The angle is in radian.
Default is zero, no cone attenuation.
virtual tF32 GetChannelConeOuter ( tU32  nchan) const
pure virtual

Set the channel's 3D cone outside angle. {Property}.

virtual void SetChannelConeOuterVolume ( tU32  nchan,
tU32  anOuterVolume 
)
pure virtual

Sets the volume of the sound outside the outer angle of the sound projection cone. {Property}.

virtual tU32 GetChannelConeOuterVolume ( tU32  nchan) const
pure virtual

Set the channel's 3D cone outside angle. {Property}.

virtual void SetChannelConeDirection ( tU32  nchan,
const sVec3f avDir 
)
pure virtual

Set the channel's 3D cone direction. {Property}.

virtual sVec3f GetChannelConeDirection ( tU32  nchan) const
pure virtual

Set the channel's 3D cone direction. {Property}.

virtual void SetListenerPosition ( const sVec3f aV)
pure virtual

Set the listener's position. {Property}.

virtual sVec3f GetListenerPosition ( ) const
pure virtual

Get the listener's position. {Property}.

virtual void SetListenerVelocity ( const sVec3f aV)
pure virtual

Set the listener's velocity. {Property}.

virtual sVec3f GetListenerVelocity ( ) const
pure virtual

Get the listener's velocity. {Property}.

virtual void SetListenerForward ( const sVec3f aV)
pure virtual

Set the listener's forward/looking direction. {Property}.

virtual sVec3f GetListenerForward ( ) const
pure virtual

Get the listener's forward/looking direction. {Property}.

virtual void SetListenerUp ( const sVec3f aV)
pure virtual

Set the listener's up direction. {Property}.

virtual sVec3f GetListenerUp ( ) const
pure virtual

Get the listener's up direction. {Property}.

virtual void SetListenerDistanceScale ( tF32  afScale)
pure virtual

Set the listener's distance scale. {Property}.

Remarks
By default 0.1 - aka the default unit system 10 units = 1 meter
virtual tF32 GetListenerDistanceScale ( ) const
pure virtual

Get the listener's distance scale. {Property}.

virtual void SetListenerRolloffScale ( tF32  afScale)
pure virtual

Set the listener's rolloff scale. {Property}.

virtual tF32 GetListenerRolloffScale ( ) const
pure virtual

Get the listener's rolloff scale. {Property}.

virtual void SetListenerDopplerScale ( tF32  afScale)
pure virtual

Set the listener's doppler scale. {Property}.

virtual tF32 GetListenerDopplerScale ( ) const
pure virtual

Get the listener's doppler scale. {Property}.

virtual tBool UpdateMixer3D ( )
pure virtual

Update the 3d sounds mixer.

Remarks
This function will usually be called once per frame. It can be ignored if no 3d sounds has been modified.