zynaddsubfx

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

commit 6daa5c0de40b290513b96cf5823012def5748b50
parent 105d1fee07517401f96d4312f1e77ac8c8782c22
Author: paulnasca <paulnasca>
Date:   Wed, 21 Sep 2005 16:58:29 +0000

*** empty log message ***

Diffstat:
MChangeLog | 6++++--
Msrc/Params/PADnoteParameters.C | 13+++++++++++++
2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -790,7 +790,10 @@ 12 Apr 2005 - Actualizat pentru MXML 2.2 (nu o sa mearga pe vers. mai vechi de mxml) 27 Apr 2005 - Adaugata posibilitatea de a inlatura complet interfata grafica in Makefile.inc (in acest caz nu mai sunt necesare bibliotecile grafice ca fltk) - Adaugata posibilitatea de a incarca direct un instrument cu -L (deocamdata se poate incarca doar in part-ul 0) + - LANSAT PE INTERNET - VERSIUNEA (2.2.1) +-------------------------------------------------------------------------------------------------- 28 Apr 2005 - Corectata o eroare care facea ca uneori sa fie frecventa prea mare la LFO daca era folosit random - Nu mai afiseaza optionea -A in help daca nu este compilat si OSS si JACK 29 Mai 2005 - Corectata o eroare care facea ca sa nu se tina minte ultimul bank -27 Aug 2005 - Corectata o eroare care facea ca sa nu mearga functia Dump (se initializa inainte de citirea configurarilor) -\ No newline at end of file +27 Aug 2005 - Corectata o eroare care facea ca sa nu mearga functia Dump (se initializa inainte de citirea configurarilor) +21 Sep 2005 - Imbunatatit modul de scalare al profilei unei armonice la PADsynth diff --git a/src/Params/PADnoteParameters.C b/src/Params/PADnoteParameters.C @@ -381,10 +381,23 @@ void PADnoteParameters::generatespectrum_bandwidthMode(REALTYPE *spectrum, int s REALTYPE idfreq=i/(REALTYPE)profilesize-0.5; idfreq*=ibw; int spfreq=(int) (idfreq+ibasefreq); + REALTYPE fspfreq=fmod(idfreq+ibasefreq,1.0); + if (spfreq<=0) continue; + if (spfreq>=size-1) break; + spectrum[spfreq]+=amp*profile[i]*rap*(1.0-fspfreq); + spectrum[spfreq+1]+=amp*profile[i]*rap*fspfreq; + }; +/* REALTYPE rap=sqrt((REALTYPE)ibw/(REALTYPE)profilesize); + REALTYPE ibasefreq=realfreq/(SAMPLE_RATE*0.5)*size; + for (int i=0;i<profilesize;i++){ + REALTYPE idfreq=i/(REALTYPE)profilesize-0.5; + idfreq*=ibw; + int spfreq=(int) (idfreq+ibasefreq); if (spfreq<=0) continue; if (spfreq>=size) break; spectrum[spfreq]+=amp*profile[i]*rap; }; +*/ }; }; };