1/*---------------------------------------------------------------------------- 2 * 3 * File: 4 * eas_wtsynth.h 5 * 6 * Contents and purpose: 7 * This file defines the interface for synthesizer engine 8 * 9 * Copyright Sonic Network Inc. 2004 10 11 * Licensed under the Apache License, Version 2.0 (the "License"); 12 * you may not use this file except in compliance with the License. 13 * You may obtain a copy of the License at 14 * 15 * http://www.apache.org/licenses/LICENSE-2.0 16 * 17 * Unless required by applicable law or agreed to in writing, software 18 * distributed under the License is distributed on an "AS IS" BASIS, 19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20 * See the License for the specific language governing permissions and 21 * limitations under the License. 22 * 23 *---------------------------------------------------------------------------- 24 * Revision Control: 25 * $Revision: 82 $ 26 * $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $ 27 *---------------------------------------------------------------------------- 28*/ 29 30#ifndef _EAS_WTSYNTH_H 31#define _EAS_WTSYNTH_H 32 33#include "eas_sndlib.h" 34#include "eas_wtengine.h" 35 36/* adjust the filter cutoff frequency to the sample rate */ 37#if defined (_SAMPLE_RATE_8000) 38#define FILTER_CUTOFF_FREQ_ADJUST 0 39#elif defined (_SAMPLE_RATE_16000) 40#define FILTER_CUTOFF_FREQ_ADJUST 1200 41#elif defined (_SAMPLE_RATE_20000) 42#define FILTER_CUTOFF_FREQ_ADJUST 1586 43#elif defined (_SAMPLE_RATE_22050) 44#define FILTER_CUTOFF_FREQ_ADJUST 1756 45#elif defined (_SAMPLE_RATE_24000) 46#define FILTER_CUTOFF_FREQ_ADJUST 1902 47#elif defined (_SAMPLE_RATE_32000) 48#define FILTER_CUTOFF_FREQ_ADJUST 2400 49#elif defined (_SAMPLE_RATE_44100) 50#define FILTER_CUTOFF_FREQ_ADJUST 2956 51#elif defined (_SAMPLE_RATE_48000) 52#define FILTER_CUTOFF_FREQ_ADJUST 3102 53#else 54#error "_SAMPLE_RATE_XXXXX must be defined to valid rate" 55#endif 56 57/* function prototypes */ 58void WT_UpdateLFO (S_LFO_CONTROL *pLFO, EAS_I16 phaseInc); 59 60#if defined(_FILTER_ENABLED) || defined(DLS_SYNTHESIZER) 61void WT_SetFilterCoeffs (S_WT_INT_FRAME *pIntFrame, EAS_I32 cutoff, EAS_I32 resonance); 62#endif 63 64#endif 65 66 67