26 #include "siddefs-fp.h"
29 #include "FilterModelConfig.h"
62 const int voiceScaleS14, voiceDC, vo_T16;
65 unsigned short* currentGain;
68 unsigned short* currentMixer;
71 unsigned short* currentSummer;
74 unsigned short* currentResonance;
82 const unsigned int* f0_dac;
84 unsigned short** mixer;
85 unsigned short** summer;
86 unsigned short** gain;
94 voiceScaleS14(FilterModelConfig::getInstance()->getVoiceScaleS14()),
95 voiceDC(FilterModelConfig::getInstance()->getVoiceDC()),
96 vo_T16(FilterModelConfig::getInstance()->getVO_T16()),
101 hpIntegrator(FilterModelConfig::getInstance()->buildIntegrator()),
102 bpIntegrator(FilterModelConfig::getInstance()->buildIntegrator()),
103 f0_dac(FilterModelConfig::getInstance()->getDAC(FilterModelConfig::getInstance()->getDacZero(0.5))),
104 mixer(FilterModelConfig::getInstance()->getMixer()),
105 summer(FilterModelConfig::getInstance()->getSummer()),
106 gain(FilterModelConfig::getInstance()->getGain())
113 int clock(
int voice1,
int voice2,
int voice3);
115 void input(
int sample) { ve = (sample * voiceScaleS14 * 3 >> 10) + mixer[0][0]; }
143 #if RESID_INLINING || defined(FILTER6581_CPP)
145 #include "Integrator.h"
154 const int v1 = (voice1 * voiceScaleS14 >> 18) + voiceDC;
155 const int v2 = (voice2 * voiceScaleS14 >> 18) + voiceDC;
156 const int v3 = (voice3 * voiceScaleS14 >> 18) + voiceDC;
199 const int oldVhp = Vhp;
200 Vhp = currentSummer[currentResonance[Vbp] + Vlp + Vi];
201 Vlp = bpIntegrator->solve(Vbp + vo_T16) - vo_T16;
202 Vbp = hpIntegrator->solve(oldVhp + vo_T16) - vo_T16;
219 return currentGain[currentMixer[Vo]] - (1 << 15);
void updatedMixing()
Definition: Filter6581.cpp:44
bool hp
Definition: Filter.h:85
bool filt1
Definition: Filter.h:75
int clock(int voice1, int voice2, int voice3)
Definition: Filter6581.h:151
bool voice3off
Definition: Filter.h:80
void setFilterCurve(double curvePosition)
Definition: Filter6581.cpp:107
Definition: Integrator.h:42
void updatedCenterFrequency()
Definition: Filter6581.cpp:37
Definition: Filter6581.h:47
void updatedResonance()
Definition: Filter6581.h:128
int res
Definition: Filter.h:65