zynaddsubfx

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

commit 098b9c574bc9ff4d43e93592c0eee6f56c70553e
parent 5150ddf2854c979f2774aea552571687d1abe248
Author: michiboo <chanmickyyun@gmail.com>
Date:   Tue, 20 Aug 2019 11:08:27 +0300

fix mixvoice issues in oscill

Diffstat:
Msrc/Synth/ADnote.cpp | 5++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/Synth/ADnote.cpp b/src/Synth/ADnote.cpp @@ -1704,9 +1704,8 @@ int ADnote::noteout(float *outl, float *outr) tmpwavel[i] += tw[i]; if(nvoice == 0) watch_be4_add(tmpwavel,synth.buffersize); - - watch_after_add(tmpwavel,synth.buffersize); } + float unison_amplitude = 1.0f / sqrt(unison_size[nvoice]); //reduce the amplitude for large unison sizes // Amplitude float oldam = oldamplitude[nvoice] * unison_amplitude; @@ -1813,7 +1812,6 @@ int ADnote::noteout(float *outl, float *outr) KillVoice(nvoice); } - //Processing Global parameters if(stereo) { NoteGlobalPar.Filter->filter(outl, outr); @@ -1859,6 +1857,7 @@ int ADnote::noteout(float *outl, float *outr) } watch_punch(outl, synth.buffersize); + watch_after_add(outl,synth.buffersize); // Apply legato-specific sound signal modifications legato.apply(*this, outl, outr);