@@ -593,7 +593,7 @@ AudioBuffer *LoadAudioBuffer(ma_format format, ma_uint32 channels, ma_uint32 sam
593593 // Init audio buffer values
594594 audioBuffer -> volume = 1.0f ;
595595 audioBuffer -> pitch = 1.0f ;
596- audioBuffer -> pan = 0.5f ;
596+ audioBuffer -> pan = 0.0f ; // Center
597597
598598 audioBuffer -> callback = NULL ;
599599 audioBuffer -> processor = NULL ;
@@ -720,7 +720,7 @@ void SetAudioBufferPitch(AudioBuffer *buffer, float pitch)
720720// Set pan for an audio buffer
721721void SetAudioBufferPan (AudioBuffer * buffer , float pan )
722722{
723- if (pan < 0 .0f ) pan = 0 .0f ;
723+ if (pan < -1 .0f ) pan = -1 .0f ;
724724 else if (pan > 1.0f ) pan = 1.0f ;
725725
726726 if (buffer != NULL )
@@ -985,10 +985,10 @@ Sound LoadSoundAlias(Sound source)
985985 audioBuffer -> sizeInFrames = source .stream .buffer -> sizeInFrames ;
986986 audioBuffer -> data = source .stream .buffer -> data ;
987987
988- // initalize the buffer as if it was new
988+ // Initalize the buffer as if it was new
989989 audioBuffer -> volume = 1.0f ;
990990 audioBuffer -> pitch = 1.0f ;
991- audioBuffer -> pan = 0.5f ;
991+ audioBuffer -> pan = 0.0f ; // Center
992992
993993 sound .frameCount = source .frameCount ;
994994 sound .stream .sampleRate = AUDIO .System .device .sampleRate ;
@@ -2605,8 +2605,8 @@ static void MixAudioFrames(float *framesOut, const float *framesIn, ma_uint32 fr
26052605
26062606 if (channels == 2 ) // We consider panning
26072607 {
2608- const float left = buffer -> pan ;
2609- const float right = 1.0f - left ;
2608+ const float right = ( buffer -> pan + 1.0f )/ 2.0f ; // Normalize: [-1..1] -> [0..1]
2609+ const float left = 1.0f - right ;
26102610
26112611 // Fast sine approximation in [0..1] for pan law: y = 0.5f*x*(3 - x*x);
26122612 const float levels [2 ] = { localVolume * 0.5f * left * (3.0f - left * left ), localVolume * 0.5f * right * (3.0f - right * right ) };
0 commit comments