Previous Topic Index Next Topic
[API function]

FSOUND_Reverb_SetEnvironmentAdvanced

A3D 3.0 and EAX 2.0 reverb parameters for advanced tuning.
The best way to play with these is to set everything to its defaults, and then start modifying values.

signed char F_API FSOUND_Reverb_SetEnvironmentAdvanced(
int env,
int Room,
int RoomHF,
float RoomRolloffFactor,
float DecayTime,
float DecayHFRatio,
int Reflections,
float ReflectionsDelay,
int Reverb,
float ReverbDelay,
float EnvironmentSize,
float EnvironmentDiffusion,
float AirAbsorptionHF
);

Parameters

env Sets an environment type. see FSOUND_REVERB_ENVIRONMENTS for types. Setting this resets all other parameters to default!
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
Room Room effect level at low frequencies -10000 to 0 default: -10000 mB
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
RoomHF Room effect high-frequency level re. low frequency level -10000 to 0 default: 0 mB
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
RoomRolloffFactor Like DS3D flRolloffFactor but for room effect 0.0 to 10.0 default: 0.0
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
DecayTime Reverberation decay time at low frequencies 0.1 to 20.0 default: 1.0 s
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
DecayHFRatio High-frequency to low-frequency decay time ratio 0.1 to 2.0 default: 0.5
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
Reflections Early reflections level relative to room effect -10000 to 1000 default: -10000 mB
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
ReflectionsDelay Initial reflection delay time 0.0 to 0.3 default: 0.02 s
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
Reverb Late reverberation level relative to room effect -10000 to 2000 default: -10000 mB
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
ReverbDelay Late reverberation delay time relative to initial reflection 0.0 to 0.1 default: 0.04 s
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
EnvironmentSize Environment size in meters 0.0 to 100.0 default: 100.0
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
EnvironmentDiffusion Environment diffusion 0.0 to 100.0 default: 100.0
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.
AirAbsorptionHF Change in level per meter at 5 kHz 20.0 to 20000.0 default: 5000.0 Hz
This value can be FSOUND_REVERB_IGNOREPARAM to ignore it.

Return Value

On success, TRUE is returned.
On failure, FALSE is returned.

Remarks

You must be using FSOUND_OUTPUT_DSOUND or FSOUND_OUTPUT_A3D as the output mode for this to work.
In dsound, the reverb will only work if you have an EAX compatible soundcard such as the SBLive,
and your sample was created with the FSOUND_HW3D flag.
----------------
Note that EAX, EAX2 and A3D reverb may sound different. If you are fussy you may want to tweak for
both by doing this.
if (FSOUND_GetOutput() == FSOUND_OUTPUT_A3D)
FSOUND_Reverb_SetEnvironmentAdvanced(one set of settings);
else
FSOUND_Reverb_SetEnvironmentAdvanced(another set of settings);
-----------------
FSOUND_REVERB_IGNOREPARAM is handy if the parameter list is overwhelming. It allows you to only adjust a certain value in the environment without
having to worry about setting the rest.

See Also

FSOUND_GetOutput , FSOUND_REVERB_ENVIRONMENTS , FSOUND_Reverb_GetEnvironmentAdvanced , FSOUND_REVERB_IGNOREPARAM , FSOUND_Reverb_SetEnvironment , FSOUND_Reverb_SetEnvironmentAdvanced

This document copyright ©Firelight Multimedia, 1999-2001. All rights reserved.
Generated Thu Sep 13 00:18:09 2001 by SourceDoc v0.10, the automated source code documenter.