/*---------------------------------------------------------------------------- | |
* | |
* File: | |
* eas_pan.h | |
* | |
* Contents and purpose: | |
* Calculates left and right gain multipliers based on a pan value from -63 to +63 | |
* | |
* NOTES: | |
* The _CMX_PARSER and _MFI_PARSER preprocessor symbols determine | |
* whether the parser works for those particular file formats. | |
* | |
* Copyright Sonic Network Inc. 2005 | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* | |
*---------------------------------------------------------------------------- | |
* Revision Control: | |
* $Revision: 82 $ | |
* $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $ | |
*---------------------------------------------------------------------------- | |
*/ | |
#ifndef EAS_PAN_H | |
#define _EAS_PAN_H | |
#include "eas_types.h" | |
/*---------------------------------------------------------------------------- | |
* EAS_CalcPanControl() | |
*---------------------------------------------------------------------------- | |
* Purpose: | |
* Assign the left and right gain values corresponding to the given pan value. | |
* | |
* This routine uses sin/cos approximations for an equal power curve: | |
* | |
* sin(x) = (2-4*c)*x^2 + c + x | |
* cos(x) = (2-4*c)*x^2 + c - x | |
* | |
* where c = 1/sqrt(2) | |
* using the a0 + x*(a1 + x*a2) approach | |
* | |
* Inputs: | |
* pan - pan value (-63 to + 63) | |
* | |
* Outputs: | |
* pGainLeft linear gain multiplier for left channel (15-bit fraction) | |
* pGainRight linear gain multiplier for left channel (15-bit fraction) | |
* | |
* Side Effects: | |
*---------------------------------------------------------------------------- | |
*/ | |
void EAS_CalcPanControl (EAS_INT pan, EAS_I16 *pGainLeft, EAS_I16 *pGainRight); | |
#endif | |