zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit 69fae97bdfef12359ff52c607caefbc87d140166
parent 51af878912521020c7d9175132228f8257271b53
Author: paulnasca <paulnasca>
Date:   Sun, 13 Jun 2004 14:50:14 +0000

*** empty log message ***

Diffstat:
MChangeLog | 2++
Msrc/Synth/OscilGen.C | 6+++---
2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -571,5 +571,7 @@ 13 Iun 2004 - Adaugat filtrul "sinus" la OscilGen - Managementul bancilor de instrumente este (aproape) complet - Se cauta bancile si in '/usr/share/zynaddsubfx/banks' si '/usr/local/share/zynaddsubfx/banks' + - Corectata o eroare la filter la OscilGen care filtra diferit componentele sin si cos + diff --git a/src/Synth/OscilGen.C b/src/Synth/OscilGen.C @@ -266,7 +266,7 @@ void OscilGen::oscilfilter(){ if (Pfiltertype==0) return; REALTYPE par=1.0-Pfilterpar/128.0; REALTYPE max=0.0; - for (int i=0;i<OSCIL_SIZE/2-1;i++){ + for (int i=1;i<OSCIL_SIZE/2-1;i++){ REALTYPE gain=1.0; switch(Pfiltertype){ case 1: gain=pow(1.0-par*par*par,i);//lp @@ -302,8 +302,8 @@ void OscilGen::oscilfilter(){ gain*=gain; break; }; - oscilFFTfreqs[OSCIL_SIZE-i-1]*=gain; - oscilFFTfreqs[i+1]*=gain; + oscilFFTfreqs[OSCIL_SIZE-i]*=gain; + oscilFFTfreqs[i]*=gain; REALTYPE tmp=oscilFFTfreqs[OSCIL_SIZE-i-1]*oscilFFTfreqs[OSCIL_SIZE-i-1]+ oscilFFTfreqs[i+1]*oscilFFTfreqs[i+1]; if (max<tmp) max=tmp;