aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2009-10-21 14:25:54 -0700
committerChris Robinson <[email protected]>2009-10-21 14:25:54 -0700
commit8dbac9c0bdd9bf45a9a3c871c59766b3693d8d59 (patch)
tree5288b3234f0eec789151895a78f321c014fa457f /OpenAL32
parent47b8510b0cdb8a79a66606459e3fd4cbe7a673b6 (diff)
Store the calculated source parameters in the source struct
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alSource.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h
index 1002d077..8c6ba813 100644
--- a/OpenAL32/Include/alSource.h
+++ b/OpenAL32/Include/alSource.h
@@ -66,8 +66,6 @@ typedef struct ALsource
struct {
struct ALeffectslot *Slot;
ALfilter WetFilter;
- FILTER iirFilter;
- ALfloat history[2];
} Send[MAX_SENDS];
ALboolean DryGainHFAuto;
@@ -75,18 +73,10 @@ typedef struct ALsource
ALboolean WetGainHFAuto;
ALfloat OuterGainHF;
- FILTER iirFilter;
- ALfloat history[OUTPUTCHANNELS*2];
-
ALfloat AirAbsorptionFactor;
-
ALfloat RoomRolloffFactor;
-
ALfloat DopplerFactor;
- // Index to itself
- ALuint source;
-
ALint lOffset;
ALint lOffsetType;
@@ -98,6 +88,24 @@ typedef struct ALsource
ALfloat WetGains[MAX_SENDS];
ALboolean FirstStart;
+ // Current target parameters used for mixing
+ struct {
+ ALfloat DryGains[OUTPUTCHANNELS];
+ ALfloat WetGains[MAX_SENDS];
+ ALfloat Pitch;
+
+ struct {
+ FILTER iirFilter;
+ ALfloat history[2];
+ } Send[MAX_SENDS];
+
+ FILTER iirFilter;
+ ALfloat history[OUTPUTCHANNELS*2];
+ } Params;
+
+ // Index to itself
+ ALuint source;
+
struct ALsource *next;
} ALsource;