Issue with compiled faust nodes
-
I noticed a strange behaviour after compiling DSP networks which include faust nodes.
For example the following faust code:declare name "t_phaser"; declare version "1.0"; declare author "toxonic"; declare license "GPL v.3.0"; import("stdfaust.lib"); coeffOne = hslider("coeffOne", -1,-1,1,0.01):si.smoo; coeffTwo = hslider("coeffTwo", 0,-1,1,0.01):si.smoo; lfoFrequency = hslider("lfo freq",0.25,0.1,1,0.01):si.smoo; stereoOffset = (hslider("stereoOffset", 0,-1,1,0.05)):si.smoo; phaserTrig = button("trigger"); intensity = hslider("intensity", 0.7,0,1,0.01):si.smoo; fb = hslider("feedback", 0.6, 0,0.999, 0.001):si.smoo; rangeCon(curV,oMin,oMax,nMin,nMax) = (((curV - oMin) * (nMax - nMin)) / (oMax - oMin)) + nMin; lfo(off) = os.hsp_phasor(1,lfoFrequency, 1-phaserTrig, off)-0.5:abs*2:rangeCon(_,0,1,coeffOne,coeffTwo); apSer(off) = fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)); mPhas(off) = (+:apSer(off))~*(fb); phaserMono(off) = _<:select2(phaserTrig,_,(_*(1-intensity),mPhas(off)*intensity:+)); process = _,_:phaserMono(((stereoOffset*-1)*0.25-0.25)),phaserMono(((stereoOffset)*0.25-0.25)):_,_;
if i set up a dsp network with this code loaded inside a faust node (let's call it
t_phaser.dsp
) and i connect all parameters correctly, the effect works fine as long as it is not compiled.
When i load the compiled DSP network (let's call itPhaserNetwork
) into a Hardcoded Master FX, the effect doesn't work properly as long both filter coefficients are below 0. But when i load the compiled faust C++ code (t_phaser
) itself into the Hardcoded Master FX it works flawlessly.
Any ideas about that?
Maybe @Christoph-Hart?