Relax circular layout requirement
This commit is contained in:
@@ -188,13 +188,29 @@ static ALvoid SetSpeakerArrangement(const char *name, ALfloat SpeakerAngle[OUTPU
|
||||
}
|
||||
}
|
||||
|
||||
for(i = 1;i < chans;i++)
|
||||
for(i = 0;i < chans;i++)
|
||||
{
|
||||
if(SpeakerAngle[i] <= SpeakerAngle[i-1])
|
||||
int min = i;
|
||||
int i2;
|
||||
|
||||
for(i2 = i+1;i2 < chans;i2++)
|
||||
{
|
||||
AL_PRINT("Speaker %d of %d does not follow previous: %f > %f\n", i, chans,
|
||||
SpeakerAngle[i-1] * 180.0f/M_PI, SpeakerAngle[i] * 180.0f/M_PI);
|
||||
SpeakerAngle[i] = SpeakerAngle[i-1] + 1 * M_PI/180.0f;
|
||||
if(SpeakerAngle[i2] < SpeakerAngle[min])
|
||||
min = i2;
|
||||
}
|
||||
|
||||
if(min != i)
|
||||
{
|
||||
ALfloat tmpf;
|
||||
ALint tmpi;
|
||||
|
||||
tmpf = SpeakerAngle[i];
|
||||
SpeakerAngle[i] = SpeakerAngle[min];
|
||||
SpeakerAngle[min] = tmpf;
|
||||
|
||||
tmpi = Speaker2Chan[i];
|
||||
Speaker2Chan[i] = Speaker2Chan[min];
|
||||
Speaker2Chan[min] = tmpi;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-4
@@ -132,10 +132,8 @@
|
||||
## layout_STEREO:
|
||||
# Sets the speaker layout when using stereo output. Values are specified in
|
||||
# degrees, where 0 is straight in front, negative goes left, and positive goes
|
||||
# right. The values must define a circular pattern, starting with the back-
|
||||
# left at the most negative, around the front to back-center. Unspecified
|
||||
# speakers will remain at their default position. Available speakers are
|
||||
# front-left(fl) and front-right(fr).
|
||||
# right. Unspecified speakers will remain at their default position. Available
|
||||
# speakers are front-left(fl) and front-right(fr).
|
||||
#layout_STEREO = fl=-90, fr=90
|
||||
|
||||
## laytout_QUAD:
|
||||
|
||||
Reference in New Issue
Block a user