Candy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
HVR::EchoSoundEffect Class Reference

The echo effect generates discrete, delayed instances of the input signal. More...

Inheritance diagram for HVR::EchoSoundEffect:
Inheritance graph
[legend]

Classes

struct  Updater
 

Public Member Functions

 EchoSoundEffect (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< Updater > _updater=0, H3D::Inst< H3D::SFFloat > _delay=0, H3D::Inst< H3D::SFFloat > _lrDelay=0, H3D::Inst< H3D::SFFloat > _damping=0, H3D::Inst< H3D::SFFloat > _feedback=0, H3D::Inst< H3D::SFFloat > _spread=0)
 
- Public Member Functions inherited from HVR::HVRSoundEffectNode
 HVRSoundEffectNode (H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< SFSoundFilter > _soundFilter=0)
 
virtual std::string defaultXMLContainerField ()
 
void addSource (ALuint source_id)
 Add an OpenAL source id to use this effect. More...
 
void removeSource (ALuint source_id)
 Remove a previously added OpenAL source id from this effect. More...
 

Public Attributes

std::auto_ptr< H3D::SFFloatdelay
  (input/output) (0.0–0.207) (0.1) This property controls the delay between the original sound and the first ‘tap’, or echo instance. More...
 
std::auto_ptr< H3D::SFFloatlrDelay
  (input/output) (0.0–0.404) (0.1) This property controls the delay between the first ‘tap’ and the second ‘tap’. More...
 
std::auto_ptr< H3D::SFFloatdamping
  (input/output) (0.0–0.99) (0.5) This property controls the amount of high frequency damping applied to each echo. More...
 
std::auto_ptr< H3D::SFFloatfeedback
  (input/output) (0.0–1.0) (0.5) This property controls the amount of feedback the output signal fed back into the input. More...
 
std::auto_ptr< H3D::SFFloatspread
  (input/output) (-1.0–1.0) (-1.0) This property controls how hard panned the individual echoes are. More...
 
- Public Attributes inherited from HVR::HVRSoundEffectNode
std::auto_ptr< SFSoundFiltersoundFilter
  (input/output) (Null) This is a HVRSoundFilterNode that, if set, will filter the sound played through this effect node. More...
 

Static Public Attributes

static H3D::H3DNodeDatabase database
 
- Static Public Attributes inherited from HVR::HVRSoundEffectNode
static H3D::H3DNodeDatabase database
 

Protected Member Functions

void updateParameters (float delay, float lrDelay, float damping, float feedback, float spread)
 
- Protected Member Functions inherited from HVR::HVRSoundEffectNode
void pushParameterChanges ()
 

Protected Attributes

struct HVR_API Updater
 
std::auto_ptr< Updaterupdater
 
- Protected Attributes inherited from HVR::HVRSoundEffectNode
std::map< ALuint, ALuint > effectslot_per_source
 Associated OpenAL identifiers. More...
 
ALuint effect_id
 Associated OpenAL effect identifier. More...
 

Detailed Description

The echo effect generates discrete, delayed instances of the input signal.

The amount of delay and feedback is controllable. The delay is ‘two tap’ – you can control the interaction between two separate instances of echoes.

This node is a part of a sound node structure based on the OpenAL/EFX standards. It supports sound spatialization, sound effects and filtering.

Member Data Documentation

std::auto_ptr<H3D::SFFloat> HVR::EchoSoundEffect::damping

(input/output) (0.0–0.99) (0.5) This property controls the amount of high frequency damping applied to each echo.

As the sound is subsequently fed back for further echoes, damping results in an echo which progressively gets softer in tone as well as intensity.

std::auto_ptr<H3D::SFFloat> HVR::EchoSoundEffect::delay

(input/output) (0.0–0.207) (0.1) This property controls the delay between the original sound and the first ‘tap’, or echo instance.

Subsequently, the value for Echo Delay is used to determine the time delay between each ‘second tap’ and the next ‘first tap’.

std::auto_ptr<H3D::SFFloat> HVR::EchoSoundEffect::feedback

(input/output) (0.0–1.0) (0.5) This property controls the amount of feedback the output signal fed back into the input.

Use this parameter to create “cascading” echoes. At full magnitude, the identical sample will repeat endlessly. Below full magnitude, the sample will repeat and fade.

std::auto_ptr<H3D::SFFloat> HVR::EchoSoundEffect::lrDelay

(input/output) (0.0–0.404) (0.1) This property controls the delay between the first ‘tap’ and the second ‘tap’.

Subsequently, the value for Echo LR Delay is used to determine the time delay between each ‘first tap’ and the next ‘second tap’.

std::auto_ptr<H3D::SFFloat> HVR::EchoSoundEffect::spread

(input/output) (-1.0–1.0) (-1.0) This property controls how hard panned the individual echoes are.

With a value of 1.0, the first ‘tap’ will be panned hard left, and the second tap hard right. A value of -1.0 gives the opposite result. Settings nearer to 0.0 result in less emphasized panning.