Mix DirectChannel sources to the non-virtual channel buffers
This commit is contained in:
parent
dece86f61f
commit
4ebf0ad717
19
Alc/ALu.c
19
Alc/ALu.c
@ -496,7 +496,24 @@ ALvoid CalcNonAttnSourceParams(ALvoice *voice, const ALsource *ALSource, const A
|
||||
}
|
||||
else if(DirectChannels != AL_FALSE)
|
||||
{
|
||||
for(c = 0;c < num_channels;c++)
|
||||
if(Device->Hrtf)
|
||||
{
|
||||
voice->Direct.OutBuffer = &voice->Direct.OutBuffer[voice->Direct.NumChannels];
|
||||
voice->Direct.NumChannels = 2;
|
||||
for(c = 0;c < num_channels;c++)
|
||||
{
|
||||
MixGains *gains = voice->Direct.Gains[c];
|
||||
|
||||
for(j = 0;j < MAX_OUTPUT_CHANNELS;j++)
|
||||
gains[j].Target = 0.0f;
|
||||
|
||||
if(chans[c].channel == FrontLeft)
|
||||
gains[0].Target = DryGain;
|
||||
else if(chans[c].channel == FrontRight)
|
||||
gains[1].Target = DryGain;
|
||||
}
|
||||
}
|
||||
else for(c = 0;c < num_channels;c++)
|
||||
{
|
||||
MixGains *gains = voice->Direct.Gains[c];
|
||||
int idx;
|
||||
|
Loading…
x
Reference in New Issue
Block a user