eas_wtsynth.h revision e442bb7cd6a085b33a4dd52c0e20a157ada7feb1
1bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson/*---------------------------------------------------------------------------- 2bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * 3bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * File: 4bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * eas_wtsynth.h 5bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * 6bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * Contents and purpose: 7bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * This file defines the interface for synthesizer engine 8bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * 9bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * Copyright Sonic Network Inc. 2004 10bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 11bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * Licensed under the Apache License, Version 2.0 (the "License"); 12bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * you may not use this file except in compliance with the License. 13bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * You may obtain a copy of the License at 14bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * 15bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * http://www.apache.org/licenses/LICENSE-2.0 16bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * 17bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * Unless required by applicable law or agreed to in writing, software 18bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * distributed under the License is distributed on an "AS IS" BASIS, 19bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * See the License for the specific language governing permissions and 21bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * limitations under the License. 22bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * 23bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson *---------------------------------------------------------------------------- 24bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * Revision Control: 25bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * $Revision: 82 $ 26bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson * $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $ 27bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson *---------------------------------------------------------------------------- 28bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson*/ 29bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 30bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson#ifndef _EAS_WTSYNTH_H 31bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson#define _EAS_WTSYNTH_H 32bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 33bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson#include "eas_sndlib.h" 34bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson#include "eas_wtengine.h" 35bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson 36bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson/* adjust the filter cutoff frequency to the sample rate */ 37bdd62c531bbdea115a3a7e71bba91c19dd319cc4Heather Lee Wilson#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