diff options
author | Chris Robinson <[email protected]> | 2008-08-14 05:43:52 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2008-08-14 05:43:52 -0700 |
commit | 22557070ec4852d64ad153f5cac907f84119702c (patch) | |
tree | 5ef3211350145257afdd1642699a206da89d8bfe /OpenAL32/Include | |
parent | f8ef66954c4cd95a8c91a458b33a8e8318a72d5b (diff) |
Ramp channel gains to remove pops and clicks from abrupt changes
Thanks to Christopher Fitzgerald for helping me work on it
Diffstat (limited to 'OpenAL32/Include')
-rw-r--r-- | OpenAL32/Include/alSource.h | 7 | ||||
-rw-r--r-- | OpenAL32/Include/alu.h | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h index 73b02609..42a1b915 100644 --- a/OpenAL32/Include/alSource.h +++ b/OpenAL32/Include/alSource.h @@ -7,6 +7,7 @@ #define MAX_SENDS 1 #include "alFilter.h" +#include "alu.h" #include "AL/al.h" #define AL_DIRECT_FILTER 0x20005 @@ -94,6 +95,12 @@ typedef struct ALsource // Source Type (Static, Streaming, or Undetermined) ALint lSourceType; + // Current gains, which are ramped while mixed + ALfloat DryGains[OUTPUTCHANNELS]; + ALfloat WetGains[OUTPUTCHANNELS]; + ALfloat DryGainHF; + ALfloat WetGainHF; + struct ALsource *next; } ALsource; diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h index 6fab1fae..b14180b2 100644 --- a/OpenAL32/Include/alu.h +++ b/OpenAL32/Include/alu.h @@ -8,6 +8,19 @@ extern "C" { #endif +enum { + FRONT_LEFT = 0, + FRONT_RIGHT, + SIDE_LEFT, + SIDE_RIGHT, + BACK_LEFT, + BACK_RIGHT, + CENTER, + LFE, + + OUTPUTCHANNELS +}; + extern ALboolean DuplicateStereo; __inline ALuint aluBytesFromFormat(ALenum format); |