zynaddsubfx

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

commit 4b4ac8157e896f7b130c9b68cf94c9280c4f38a0
parent 16d9dce80cc793472e5e11ce1894ad6e2b5caebb
Author: fundamental <mark.d.mccurry@gmail.com>
Date:   Tue,  2 Sep 2014 14:35:55 -0400

Fix Missing Link

Diffstat:
Msrc/Params/ADnoteParameters.cpp | 15++++++++++++---
Msrc/Params/ADnoteParameters.h | 5+++--
2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/Params/ADnoteParameters.cpp b/src/Params/ADnoteParameters.cpp @@ -175,6 +175,13 @@ static Ports voicePorts = { obj->PFMCoarseDetune = k + (obj->PFMCoarseDetune/1024)*1024; } }}, + + //Reader + {"unisonFrequencySpreadCents:", NULL, NULL, [](const char *, RtData &d) + { + rObject *obj = (rObject *)d.obj; + d.reply(d.loc, "f", obj->getUnisonFrequencySpreadCents()); + }}, }; #undef rObject @@ -461,9 +468,11 @@ float ADnoteParameters::getBandwidthDetuneMultiplier() */ float ADnoteParameters::getUnisonFrequencySpreadCents(int nvoice) { - float unison_spread = VoicePar[nvoice].Unison_frequency_spread / 127.0f; - unison_spread = powf(unison_spread * 2.0f, 2.0f) * 50.0f; //cents - return unison_spread; + return VoicePar[nvoice].getUnisonFrequencySpreadCents(); +} + +float ADnoteVoiceParam::getUnisonFrequencySpreadCents(void) const { + return powf(Unison_frequency_spread / 127.0 * 2.0f, 2.0f) * 50.0f; //cents } /* diff --git a/src/Params/ADnoteParameters.h b/src/Params/ADnoteParameters.h @@ -123,9 +123,10 @@ struct ADnoteGlobalParam { struct ADnoteVoiceParam { void getfromXML(XMLwrapper *xml, unsigned nvoice); void add2XML(XMLwrapper *xml, bool fmoscilused); - void defaults(); + void defaults(void); void enable(FFTwrapper *fft, Resonance *Reson); - void kill(); + void kill(void); + float getUnisonFrequencySpreadCents(void) const; /** If the voice is enabled */ unsigned char Enabled;