   DirectSound panning help
  Hi All,I want to get sound panning working with my sound libraries. This is what I currently have:void Sound::SetPan(float inPan){assert( inPan >= -1.0f && inPan <= 1.0f ) ;inPan *= DSBPAN_RIGHT ; // convert to a range of -10000 and 10000Win32::HRESULT res = mBuffer->SetPan( static_cast< Win32::LONG >(inPan) ) ;assert(res == DS_OK) ;}Nice and simple. So to use this function the user passes in a value between -1 and +1. Negative numbers come out the left speaker and positive numbers come out the right.Now I was playing with this function and it seems to behaving slightly odd.If I play a sound that is say 10 seconds long and during this 10 second duration I start panning from -1 and then end up on +1 after 10 seconds. The sound starts coming out the left speaker for 5 seconds and after 5 seconds it comes out the right speaker. This is what I'd expect. However there doesnt seem to ever be a midpoint where the sound seems to be coming out of both speakers. When I set the pan to "0" then it does come out both speakers correctly, however say a value of -0.05f then the sound comes mostly through the left speaker so there is no graceful transition between the left speaker and the right speaker. It all seems very abrupt.Is there a reason why this is and if so then is there a way round it?Thanks   