YSE sound engine  1.0
cross platform sound engine
 All Classes Namespaces Functions Pages
YSE::REVERB::interfaceObject Class Reference

Public Member Functions

 interfaceObject (Bool global=false)
 
void create ()
 
Bool isValid ()
 
interfaceObjectsetPosition (const Vec &value)
 
Vec getPosition ()
 
interfaceObjectsetSize (Flt value)
 
Flt getSize ()
 
interfaceObjectsetRollOff (Flt value)
 
Flt getRollOff ()
 
interfaceObjectsetActive (Bool value)
 
Bool getActive ()
 
interfaceObjectsetRoomSize (Flt value)
 
Flt getRoomSize ()
 
interfaceObjectsetDamping (Flt value)
 
Flt getDamping ()
 
interfaceObjectsetDryWetBalance (Flt dry, Flt wet)
 
Flt getWet ()
 
Flt getDry ()
 
interfaceObjectsetModulation (Flt frequency, Flt width)
 
Flt getModulationFrequency ()
 
Flt getModulationWidth ()
 
interfaceObjectsetReflection (Int reflection, Int time, Flt gain)
 
Int getReflectionTime (Int reflection)
 
Flt getReflectionGain (Int reflection)
 
interfaceObjectsetPreset (REVERB_PRESET value)
 
interfaceObjectrelease ()
 

Detailed Description

Reverb objects are actually just a collection of reverb settings.

At the and of the DSP chain the actual reverb object will look at all reverb settings that are close enough to an the listener to have an impact. A final setting will then be created that takes all other settings and their position into account. This generated setting is passed to the actual reverb.

This technique makes if possible to have a general reverb setting and assign other reverb settings to specified positions.

Definition at line 33 of file reverbInterface.hpp.

Constructor & Destructor Documentation

YSE::REVERB::interfaceObject::interfaceObject ( Bool  global = false)

Creates a reverb object.

The global option should only be enabled internally!

Member Function Documentation

void YSE::REVERB::interfaceObject::create ( )

Needed for internal setup of the reverb.

This must be done after System().init() and before doing anything else with this object

interfaceObject& YSE::REVERB::interfaceObject::setRollOff ( Flt  value)

Reverb RollOff defines how long it takes for a reverb setting to go from full to zero effect.

So counting from the counter position there are two zones. Within the first zone a reverb is fully in effect. That zone is assigned with the setSize() function. This one defines the RollOff, which is the 'fade out' part of the reverb setting.

interfaceObject& YSE::REVERB::interfaceObject::setDryWetBalance ( Flt  dry,
Flt  wet 
)

This defines how much of the processed signal actually makes it to the output of the reverb.

In most circumstances the dry and wet should add up to 1. If the sum is > 1 you might get a distorted sound.

Parameters
dryDefines how much of the original signal will be left in the output signal.
wetDefines how much of the reverb should be added to the output signal.
interfaceObject& YSE::REVERB::interfaceObject::setModulation ( Flt  frequency,
Flt  width 
)

This function modulates the processed reverb signal at a certain frequency.

Parameters
frequencyThe frequency at which to modulate the signal.
widthThe modulation width.
interfaceObject& YSE::REVERB::interfaceObject::setReflection ( Int  reflection,
Int  time,
Flt  gain 
)

In addition to the typical 'blurred' reverb output, you can add up to 4 reflections.

Every reflection can have its own gain and time. This function sets the time for a reflection.

Parameters
reflectionThe number of the reflection you'd like to change. Must be in the range [0-3]
timeThe time to which this reflection should be set.
gainThe gain of the specified reflection.
Int YSE::REVERB::interfaceObject::getReflectionTime ( Int  reflection)

Get the time of the specified reflection.

Parameters
reflectionThe number of the reflection. Must be in the range [0-3]
Flt YSE::REVERB::interfaceObject::getReflectionGain ( Int  reflection)

Get the gain of the specified reflection.

Parameters
reflectionThe number of the reflection. Must be in the range [0-3]
interfaceObject& YSE::REVERB::interfaceObject::release ( )

Release the reverb object.

It is not really needed to call this, because it will be called at desctruction time anyway. But you could. It renders the object invalid.


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