diff --git a/AdditionalSourceCode/nodes/Reverb.h b/AdditionalSourceCode/nodes/Reverb.h index 6b9c8de..5dfef73 100644 --- a/AdditionalSourceCode/nodes/Reverb.h +++ b/AdditionalSourceCode/nodes/Reverb.h @@ -291,24 +291,24 @@ template struct instance: public Reverb_impl::Reverb_t_ 0x5C29, 0x3FCF, 0x0000, 0x3F80, 0xD70A, 0x3C23, 0x0C5B, 0x0000, 0x4D00, 0x7869, 0x0000, 0x0000, 0x0000, 0x8000, 0x003F, 0x8000, 0x003F, 0x8000, 0x003F, 0x0000, 0x5B00, 0x000D, 0x0000, 0x7270, - 0x4465, 0x6C65, 0x7961, 0x0000, 0x0000, 0x0000, 0xFA00, 0xCD44, - 0x9E8C, 0x0043, 0x0000, 0xCD3F, 0xCCCC, 0x5B3D, 0x000E, 0x0000, + 0x4465, 0x6C65, 0x7961, 0x0000, 0x0000, 0x0000, 0xFA00, 0x0044, + 0x0000, 0x0000, 0x0000, 0xCD3F, 0xCCCC, 0x5B3D, 0x000E, 0x0000, 0x6546, 0x6465, 0x6162, 0x6B63, 0x0000, 0x0000, 0x0000, 0x8000, - 0x533F, 0x2432, 0x003F, 0x8000, 0x003F, 0x0000, 0x5B00, 0x000F, + 0x003F, 0x0000, 0x0000, 0x8000, 0x003F, 0x0000, 0x5B00, 0x000F, 0x0000, 0x6D53, 0x6F6F, 0x6874, 0x6E69, 0x0067, 0x0000, 0x0000, 0x0000, 0x3F80, 0x0000, 0x0000, 0x0000, 0x3F80, 0x0000, 0x0000, 0x105B, 0x0000, 0x4400, 0x6C65, 0x7961, 0x694D, 0x0078, 0x0000, - 0x0000, 0x0000, 0x3F80, 0x8237, 0x3EFB, 0x0000, 0x3F80, 0x0000, + 0x0000, 0x0000, 0x3F80, 0x0000, 0x3F80, 0x0000, 0x3F80, 0x0000, 0x0000, 0x115B, 0x0000, 0x4400, 0x6C65, 0x7961, 0x7355, 0x5465, 0x6D65, 0x6F70, 0x0000, 0x0000, 0x0000, 0x8000, 0x003F, 0x0000, 0x0000, 0x8000, 0x003F, 0x8000, 0x5B3F, 0x0012, 0x0000, 0x6544, 0x616C, 0x5479, 0x6D65, 0x6F70, 0x0000, 0x0000, 0x0000, 0x9000, 0x0041, 0xC000, 0x0040, 0x8000, 0x003F, 0x8000, 0x5B3F, 0x0013, 0x0000, 0x6544, 0x616C, 0x4879, 0x6769, 0x7068, 0x7361, 0x0073, - 0x0000, 0x41A0, 0x4000, 0x469C, 0x4000, 0x469C, 0x6C1A, 0x3E6B, + 0x0000, 0x41A0, 0x4000, 0x469C, 0x0000, 0x41A0, 0x6C1A, 0x3E6B, 0x0000, 0x0000, 0x145B, 0x0000, 0x4400, 0x6C65, 0x7961, 0x6F4C, - 0x7077, 0x7361, 0x0073, 0x0000, 0x41A0, 0x4000, 0x469C, 0x0000, - 0x41A0, 0x6C1A, 0x3E6B, 0x0000, 0x0000, 0x0000 + 0x7077, 0x7361, 0x0073, 0x0000, 0x41A0, 0x4000, 0x469C, 0x4000, + 0x469C, 0x6C1A, 0x3E6B, 0x0000, 0x0000, 0x0000 }; }; @@ -506,14 +506,14 @@ template struct instance: public Reverb_impl::Reverb_t_ this->setParameterT(10, 0.406359); this->setParameterT(11, 1.62); this->setParameterT(12, 1.); - this->setParameterT(13, 317.1); - this->setParameterT(14, 0.641393); + this->setParameterT(13, 0.); + this->setParameterT(14, 0.); this->setParameterT(15, 0.); - this->setParameterT(16, 0.491228); + this->setParameterT(16, 1.); this->setParameterT(17, 0.); this->setParameterT(18, 6.); - this->setParameterT(19, 20000.); - this->setParameterT(20, 20.); + this->setParameterT(19, 20.); + this->setParameterT(20, 20000.); this->setExternalData({}, -1); } ~instance() override diff --git a/AdditionalSourceCode/nodes/Waveshaper.h b/AdditionalSourceCode/nodes/Waveshaper.h index 712a643..fe0411e 100644 --- a/AdditionalSourceCode/nodes/Waveshaper.h +++ b/AdditionalSourceCode/nodes/Waveshaper.h @@ -46,6 +46,18 @@ using minmax_t = control::minmax using minmax1_t = control::minmax, 0>>; + +template using minmax2_t = minmax_t; + +template +using smoothed_parameter_unscaled_mod = parameter::chain, 0>, + parameter::plain, 0>, + parameter::plain, 0>>; + +template +using smoothed_parameter_unscaled_t = wrap::mod, + control::smoothed_parameter_unscaled>>; template struct snex_softsat { SNEX_NODE(snex_softsat); @@ -122,7 +134,8 @@ using snex_shaper_t = wrap::no_data>>; template using chain_t = container::chain>, - snex_shaper_t>; + snex_shaper_t, + core::gain>; template using branch_t = container::branch>, @@ -132,7 +145,9 @@ template using wet_path_t = container::chain>, filters::one_pole, + smoothed_parameter_unscaled_t, minmax_t, + minmax2_t, minmax1_t, branch_t, filters::one_pole, @@ -152,16 +167,14 @@ namespace Waveshaper_t_parameters { // Parameter list for Waveshaper_impl::Waveshaper_t ------------------------------------------------ -template -using Amount = parameter::chain, 0>, - parameter::plain, 0>>; - using Distort = parameter::empty; template using Mix = parameter::plain, 0>; template +using Amount = parameter::plain, + 0>; +template using Gain = parameter::plain, 1>; template @@ -210,9 +223,9 @@ template struct instance: public Waveshaper_impl::Waveshaper_t_ 0x5B00, 0x0001, 0x0000, 0x694D, 0x0078, 0x0000, 0x0000, 0x0000, 0x3F80, 0x0000, 0x3F80, 0x0000, 0x3F80, 0x0000, 0x0000, 0x025B, 0x0000, 0x4100, 0x6F6D, 0x6E75, 0x0074, 0x0000, 0x0000, 0x0000, - 0x3F80, 0xDC7F, 0x3EA1, 0x0000, 0x3F80, 0x0000, 0x0000, 0x035B, + 0x3F80, 0xF705, 0x3F0E, 0x0000, 0x3F80, 0x0000, 0x0000, 0x035B, 0x0000, 0x4700, 0x6961, 0x006E, 0x0000, 0xC2C0, 0x0000, 0x4040, - 0x0000, 0x3F80, 0x0000, 0x3F80, 0xCCCD, 0x3DCC, 0x045B, 0x0000, + 0x0000, 0x35C0, 0x0000, 0x3F80, 0xCCCD, 0x3DCC, 0x045B, 0x0000, 0x6C00, 0x0070, 0x0000, 0x41A0, 0x4000, 0x469C, 0x1C08, 0x45A1, 0x6C1A, 0x3E6B, 0x0000, 0x0000, 0x055B, 0x0000, 0x6800, 0x0070, 0x0000, 0x41A0, 0x4000, 0x469C, 0xD49A, 0x4318, 0x6C1A, 0x3E6B, @@ -221,7 +234,7 @@ template struct instance: public Waveshaper_impl::Waveshaper_t_ 0x0000, 0x0000, 0x075B, 0x0000, 0x7000, 0x736F, 0x6874, 0x0070, 0x0000, 0x41A0, 0x4000, 0x469C, 0xF1BE, 0x4234, 0x6C1A, 0x3E6B, 0x0000, 0x0000, 0x085B, 0x0000, 0x4D00, 0x646F, 0x0065, 0x0000, - 0x0000, 0x0000, 0x3F80, 0x0000, 0x3F80, 0x0000, 0x3F80, 0x0000, + 0x0000, 0x0000, 0x3F80, 0x0000, 0x0000, 0x0000, 0x3F80, 0x0000, 0x3F80, 0x0000 }; }; @@ -237,16 +250,19 @@ template struct instance: public Waveshaper_impl::Waveshaper_t_ auto& wet_path = this->getT(0).getT(1); // Waveshaper_impl::wet_path_t auto& one_pole = this->getT(0).getT(1).getT(0); // filters::one_pole auto& one_pole1 = this->getT(0).getT(1).getT(1); // filters::one_pole - auto& minmax = this->getT(0).getT(1).getT(2); // Waveshaper_impl::minmax_t - auto& minmax1 = this->getT(0).getT(1).getT(3); // Waveshaper_impl::minmax1_t - auto& branch = this->getT(0).getT(1).getT(4); // Waveshaper_impl::branch_t - auto& chain = this->getT(0).getT(1).getT(4).getT(0); // Waveshaper_impl::chain_t - auto& gain = this->getT(0).getT(1).getT(4).getT(0).getT(0); // core::gain - auto& snex_shaper = this->getT(0).getT(1).getT(4).getT(0).getT(1); // Waveshaper_impl::snex_shaper_t - auto& faust = this->getT(0).getT(1).getT(4).getT(1); // project::Distortion - auto& one_pole2 = this->getT(0).getT(1).getT(5); // filters::one_pole - auto& one_pole3 = this->getT(0).getT(1).getT(6); // filters::one_pole - auto& wet_gain = this->getT(0).getT(1).getT(7); // core::gain + auto& smoothed_parameter_unscaled = this->getT(0).getT(1).getT(2); // Waveshaper_impl::smoothed_parameter_unscaled_t + auto& minmax = this->getT(0).getT(1).getT(3); // Waveshaper_impl::minmax_t + auto& minmax2 = this->getT(0).getT(1).getT(4); // Waveshaper_impl::minmax2_t + auto& minmax1 = this->getT(0).getT(1).getT(5); // Waveshaper_impl::minmax1_t + auto& branch = this->getT(0).getT(1).getT(6); // Waveshaper_impl::branch_t + auto& chain = this->getT(0).getT(1).getT(6).getT(0); // Waveshaper_impl::chain_t + auto& gain = this->getT(0).getT(1).getT(6).getT(0).getT(0); // core::gain + auto& snex_shaper = this->getT(0).getT(1).getT(6).getT(0).getT(1); // Waveshaper_impl::snex_shaper_t + auto& gain1 = this->getT(0).getT(1).getT(6).getT(0).getT(2); // core::gain + auto& faust = this->getT(0).getT(1).getT(6).getT(1); // project::Distortion + auto& one_pole2 = this->getT(0).getT(1).getT(7); // filters::one_pole + auto& one_pole3 = this->getT(0).getT(1).getT(8); // filters::one_pole + auto& wet_gain = this->getT(0).getT(1).getT(9); // core::gain // Parameter Connections ------------------------------------------------------------------- @@ -254,9 +270,7 @@ template struct instance: public Waveshaper_impl::Waveshaper_t_ this->getParameterT(1).connectT(0, dry_wet1); // Mix -> dry_wet1::DryWet - auto& Amount_p = this->getParameterT(2); - Amount_p.connectT(0, minmax); // Amount -> minmax::Value - Amount_p.connectT(1, minmax1); // Amount -> minmax1::Value + this->getParameterT(2).connectT(0, smoothed_parameter_unscaled); // Amount -> smoothed_parameter_unscaled::Value this->getParameterT(3).connectT(0, faust); // Gain -> faust::gain @@ -273,10 +287,14 @@ template struct instance: public Waveshaper_impl::Waveshaper_t_ // Modulation Connections ------------------------------------------------------------------ auto& dry_wet_mixer_p = dry_wet_mixer.getWrappedObject().getParameter(); - dry_wet_mixer_p.getParameterT(0).connectT(0, dry_gain); // dry_wet_mixer -> dry_gain::Gain - dry_wet_mixer_p.getParameterT(1).connectT(0, wet_gain); // dry_wet_mixer -> wet_gain::Gain - minmax.getWrappedObject().getParameter().connectT(0, gain); // minmax -> gain::Gain - minmax1.getWrappedObject().getParameter().connectT(0, faust); // minmax1 -> faust::distortion + dry_wet_mixer_p.getParameterT(0).connectT(0, dry_gain); // dry_wet_mixer -> dry_gain::Gain + dry_wet_mixer_p.getParameterT(1).connectT(0, wet_gain); // dry_wet_mixer -> wet_gain::Gain + minmax.getWrappedObject().getParameter().connectT(0, gain); // minmax -> gain::Gain + minmax1.getWrappedObject().getParameter().connectT(0, faust); // minmax1 -> faust::distortion + minmax2.getWrappedObject().getParameter().connectT(0, gain1); // minmax2 -> gain1::Gain + smoothed_parameter_unscaled.getParameter().connectT(0, minmax); // smoothed_parameter_unscaled -> minmax::Value + smoothed_parameter_unscaled.getParameter().connectT(1, minmax1); // smoothed_parameter_unscaled -> minmax1::Value + smoothed_parameter_unscaled.getParameter().connectT(2, minmax2); // smoothed_parameter_unscaled -> minmax2::Value // Default Values -------------------------------------------------------------------------- @@ -302,13 +320,24 @@ template struct instance: public Waveshaper_impl::Waveshaper_t_ one_pole1.setParameterT(4, 1.); // filters::one_pole::Mode one_pole1.setParameterT(5, 1.); // filters::one_pole::Enabled + ; // smoothed_parameter_unscaled::Value is automated + smoothed_parameter_unscaled.setParameterT(1, 100.); // control::smoothed_parameter_unscaled::SmoothingTime + smoothed_parameter_unscaled.setParameterT(2, 1.); // control::smoothed_parameter_unscaled::Enabled + ; // minmax::Value is automated minmax.setParameterT(1, 0.); // control::minmax::Minimum - minmax.setParameterT(2, 21.5); // control::minmax::Maximum + minmax.setParameterT(2, 30.5); // control::minmax::Maximum minmax.setParameterT(3, 0.492949); // control::minmax::Skew minmax.setParameterT(4, 0.1); // control::minmax::Step minmax.setParameterT(5, 0.); // control::minmax::Polarity + ; // minmax2::Value is automated + minmax2.setParameterT(1, -9.39724); // control::minmax::Minimum + minmax2.setParameterT(2, 0.); // control::minmax::Maximum + minmax2.setParameterT(3, 5.73463); // control::minmax::Skew + minmax2.setParameterT(4, 0.); // control::minmax::Step + minmax2.setParameterT(5, 1.); // control::minmax::Polarity + ; // minmax1::Value is automated minmax1.setParameterT(1, 0.); // control::minmax::Minimum minmax1.setParameterT(2, 50.); // control::minmax::Maximum @@ -318,9 +347,13 @@ template struct instance: public Waveshaper_impl::Waveshaper_t_ ; // branch::Index is automated - ; // gain::Gain is automated - gain.setParameterT(1, 20.); // core::gain::Smoothing - gain.setParameterT(2, 0.); // core::gain::ResetValue + ; // gain::Gain is automated + gain.setParameterT(1, 96.2); // core::gain::Smoothing + gain.setParameterT(2, 0.); // core::gain::ResetValue + + ; // gain1::Gain is automated + gain1.setParameterT(1, 100.6); // core::gain::Smoothing + gain1.setParameterT(2, 0.); // core::gain::ResetValue ; // faust::distortion is automated ; // faust::gain is automated @@ -345,13 +378,13 @@ template struct instance: public Waveshaper_impl::Waveshaper_t_ this->setParameterT(0, 1.); this->setParameterT(1, 1.); - this->setParameterT(2, 0.316135); - this->setParameterT(3, 1.); + this->setParameterT(2, 0.558457); + this->setParameterT(3, 1.43051e-06); this->setParameterT(4, 5155.5); this->setParameterT(5, 152.83); this->setParameterT(6, 7118.38); this->setParameterT(7, 45.2361); - this->setParameterT(8, 1.); + this->setParameterT(8, 0.); this->setExternalData({}, -1); } ~instance() override @@ -371,7 +404,7 @@ template struct instance: public Waveshaper_impl::Waveshaper_t_ { // External Data Connections --------------------------------------------------------------- - this->getT(0).getT(1).getT(4).getT(0).getT(1).setExternalData(b, index); // Waveshaper_impl::snex_shaper_t + this->getT(0).getT(1).getT(6).getT(0).getT(1).setExternalData(b, index); // Waveshaper_impl::snex_shaper_t } }; } diff --git a/DspNetworks/Networks/Reverb.xml b/DspNetworks/Networks/Reverb.xml index 00380d6..4c01103 100644 --- a/DspNetworks/Networks/Reverb.xml +++ b/DspNetworks/Networks/Reverb.xml @@ -156,7 +156,7 @@ - + @@ -409,13 +409,13 @@ - + - + @@ -425,7 +425,7 @@ - + @@ -443,13 +443,13 @@ + Value="20.0"> + Value="20000.0"> diff --git a/DspNetworks/Networks/Waveshaper.xml b/DspNetworks/Networks/Waveshaper.xml index cfe0596..2436628 100644 --- a/DspNetworks/Networks/Waveshaper.xml +++ b/DspNetworks/Networks/Waveshaper.xml @@ -46,7 +46,7 @@ - + @@ -64,7 +64,7 @@ - + @@ -82,6 +82,23 @@ + + + + + + + + + + + + + + + @@ -90,15 +107,29 @@ - + - + + + + + + + + + + + + + + @@ -118,15 +149,16 @@ - + SkewFactor="0.3010300099849701" ID="Smoothing" Value="96.20000143349169"/> - + @@ -141,6 +173,16 @@ + + + + + + + @@ -162,7 +204,7 @@ - + @@ -180,7 +222,7 @@ - + @@ -231,13 +273,13 @@ - + - - + - + @@ -266,7 +308,7 @@ - + diff --git a/DspNetworks/ThirdParty/src/Delay2.cpp b/DspNetworks/ThirdParty/src/Delay2.cpp index 20021cc..6a987ff 100644 --- a/DspNetworks/ThirdParty/src/Delay2.cpp +++ b/DspNetworks/ThirdParty/src/Delay2.cpp @@ -42,7 +42,7 @@ class _Delay2 final : public ::faust::dsp { FAUSTFLOAT fHslider0; int IOTA0; - float fVec0[1048576]; + float fVec0[262144]; int fSampleRate; float fConst1; FAUSTFLOAT fHslider1; @@ -53,7 +53,7 @@ class _Delay2 final : public ::faust::dsp { float fRec3[2]; float fRec4[2]; float fRec0[2]; - float fVec1[1048576]; + float fVec1[262144]; float fRec5[2]; public: @@ -114,7 +114,7 @@ class _Delay2 final : public ::faust::dsp { void instanceClear() { IOTA0 = 0; - for (int l0 = 0; l0 < 1048576; l0 = l0 + 1) { + for (int l0 = 0; l0 < 262144; l0 = l0 + 1) { fVec0[l0] = 0.0f; } for (int l1 = 0; l1 < 2; l1 = l1 + 1) { @@ -132,7 +132,7 @@ class _Delay2 final : public ::faust::dsp { for (int l5 = 0; l5 < 2; l5 = l5 + 1) { fRec0[l5] = 0.0f; } - for (int l6 = 0; l6 < 1048576; l6 = l6 + 1) { + for (int l6 = 0; l6 < 262144; l6 = l6 + 1) { fVec1[l6] = 0.0f; } for (int l7 = 0; l7 < 2; l7 = l7 + 1) { @@ -182,21 +182,21 @@ class _Delay2 final : public ::faust::dsp { float fSlow2 = fConst2 / std::max(1.0f, std::min(1e+02f, float(fHslider2))); for (int i0 = 0; i0 < count; i0 = i0 + 1) { float fTemp0 = float(input0[i0]) + fSlow0 * fRec0[1]; - fVec0[IOTA0 & 1048575] = fTemp0; + fVec0[IOTA0 & 262143] = fTemp0; float fTemp1 = ((fRec1[1] != 0.0f) ? (((fRec2[1] > 0.0f) & (fRec2[1] < 1.0f)) ? fRec1[1] : 0.0f) : (((fRec2[1] == 0.0f) & (fSlow1 != fRec3[1])) ? fSlow2 : (((fRec2[1] == 1.0f) & (fSlow1 != fRec4[1])) ? -fSlow2 : 0.0f))); fRec1[0] = fTemp1; fRec2[0] = std::max(0.0f, std::min(1.0f, fRec2[1] + fTemp1)); fRec3[0] = (((fRec2[1] >= 1.0f) & (fRec4[1] != fSlow1)) ? fSlow1 : fRec3[1]); fRec4[0] = (((fRec2[1] <= 0.0f) & (fRec3[1] != fSlow1)) ? fSlow1 : fRec4[1]); - int iTemp2 = int(std::min(524288.0f, std::max(0.0f, fRec3[0]))); - float fTemp3 = fVec0[(IOTA0 - iTemp2) & 1048575]; - int iTemp4 = int(std::min(524288.0f, std::max(0.0f, fRec4[0]))); - fRec0[0] = fTemp3 + fRec2[0] * (fVec0[(IOTA0 - iTemp4) & 1048575] - fTemp3); + int iTemp2 = int(std::min(2.4e+05f, std::max(0.0f, fRec3[0]))); + float fTemp3 = fVec0[(IOTA0 - iTemp2) & 262143]; + int iTemp4 = int(std::min(2.4e+05f, std::max(0.0f, fRec4[0]))); + fRec0[0] = fTemp3 + fRec2[0] * (fVec0[(IOTA0 - iTemp4) & 262143] - fTemp3); output0[i0] = FAUSTFLOAT(fRec0[0]); float fTemp5 = float(input1[i0]) + fSlow0 * fRec5[1]; - fVec1[IOTA0 & 1048575] = fTemp5; - float fTemp6 = fVec1[(IOTA0 - iTemp2) & 1048575]; - fRec5[0] = fTemp6 + fRec2[0] * (fVec1[(IOTA0 - iTemp4) & 1048575] - fTemp6); + fVec1[IOTA0 & 262143] = fTemp5; + float fTemp6 = fVec1[(IOTA0 - iTemp2) & 262143]; + fRec5[0] = fTemp6 + fRec2[0] * (fVec1[(IOTA0 - iTemp4) & 262143] - fTemp6); output1[i0] = FAUSTFLOAT(fRec5[0]); IOTA0 = IOTA0 + 1; fRec1[1] = fRec1[0]; diff --git a/DspNetworks/ThirdParty/src/FaustReverb.cpp b/DspNetworks/ThirdParty/src/FaustReverb.cpp index 4428823..16f9dc5 100644 --- a/DspNetworks/ThirdParty/src/FaustReverb.cpp +++ b/DspNetworks/ThirdParty/src/FaustReverb.cpp @@ -310,7 +310,7 @@ class _FaustReverb final : public ::faust::dsp { m->declare("filters.lib/iir:author", "Julius O. Smith III"); m->declare("filters.lib/iir:copyright", "Copyright (C) 2003-2019 by Julius O. Smith III "); m->declare("filters.lib/iir:license", "MIT-style STK-4.3 license"); - m->declare("filters.lib/lowpass0_highpass1", "MIT-style STK-4.3 license"); + m->declare("filters.lib/lowpass0_highpass1", "Copyright (C) 2003-2019 by Julius O. Smith III "); m->declare("filters.lib/lowpass0_highpass1:author", "Julius O. Smith III"); m->declare("filters.lib/lowpass:author", "Julius O. Smith III"); m->declare("filters.lib/lowpass:copyright", "Copyright (C) 2003-2019 by Julius O. Smith III "); @@ -1176,7 +1176,7 @@ class _FaustReverb final : public ::faust::dsp { float fTemp40 = fVec9[(IOTA0 - std::min(8192, std::max(0, int(fTemp39)))) & 16383]; fVec10[0] = fTemp40; float fTemp41 = std::floor(fTemp39); - fRec46[0] = fVec10[1] + (fTemp41 + (2.0f - fRec59[0])) * (fTemp40 - fRec46[1]) / (fRec59[0] - fTemp41); + fRec46[0] = fVec10[1] - (fTemp41 + (2.0f - fRec59[0])) * (fRec46[1] - fTemp40) / (fRec59[0] - fTemp41); fRec44[0] = fRec46[0]; fVec11[IOTA0 & 16383] = 0.70710677f * fTemp35 + 0.70710677f * (fTemp38 - fTemp36); fRec61[0] = 0.9999f * (fRec61[1] + float(iTemp0 * iSlow29)) + fSlow30; @@ -1197,7 +1197,7 @@ class _FaustReverb final : public ::faust::dsp { float fTemp51 = fVec13[(IOTA0 - std::min(8192, std::max(0, int(fTemp50)))) & 16383]; fVec14[0] = fTemp51; float fTemp52 = std::floor(fTemp50); - fRec43[0] = fVec14[1] + (fTemp52 + (2.0f - fRec62[0])) * (fTemp51 - fRec43[1]) / (fRec62[0] - fTemp52); + fRec43[0] = fVec14[1] - (fTemp52 + (2.0f - fRec62[0])) * (fRec43[1] - fTemp51) / (fRec62[0] - fTemp52); fRec41[0] = fRec43[0]; fVec15[IOTA0 & 16383] = 0.70710677f * fTemp46 + 0.70710677f * (fTemp49 - fTemp47); fRec64[0] = 0.9999f * (fRec64[1] + float(iTemp0 * iSlow33)) + fSlow34; @@ -1218,7 +1218,7 @@ class _FaustReverb final : public ::faust::dsp { float fTemp62 = fVec17[(IOTA0 - std::min(8192, std::max(0, int(fTemp61)))) & 16383]; fVec18[0] = fTemp62; float fTemp63 = std::floor(fTemp61); - fRec40[0] = fVec18[1] + (fTemp63 + (2.0f - fRec65[0])) * (fTemp62 - fRec40[1]) / (fRec65[0] - fTemp63); + fRec40[0] = fVec18[1] - (fTemp63 + (2.0f - fRec65[0])) * (fRec40[1] - fTemp62) / (fRec65[0] - fTemp63); fRec38[0] = fRec40[0]; fVec19[IOTA0 & 16383] = 0.70710677f * fTemp57 + 0.70710677f * (fTemp60 - fTemp58); fRec67[0] = 0.9999f * (fRec67[1] + float(iTemp0 * iSlow37)) + fSlow38; @@ -1467,7 +1467,7 @@ class _FaustReverb final : public ::faust::dsp { fVec57[IOTA0 & 16383] = 0.70710677f * fTemp181 + 0.70710677f * (fTemp182 - fTemp200); float fTemp201 = fVec57[(IOTA0 - iTemp114) & 16383]; fVec58[0] = fTemp201; - fRec13[0] = fVec58[1] + fTemp117 * (fTemp201 - fRec13[1]) / fTemp118; + fRec13[0] = fVec58[1] - fTemp117 * (fRec13[1] - fTemp201) / fTemp118; fRec11[0] = fRec13[0]; fVec59[IOTA0 & 16383] = 0.70710677f * fTemp181 + 0.70710677f * (fTemp200 - fTemp182); fRec113[0] = 0.9999f * (fRec113[1] + float(iTemp0 * iSlow90)) + fSlow91; @@ -1485,7 +1485,7 @@ class _FaustReverb final : public ::faust::dsp { fVec61[IOTA0 & 16383] = 0.70710677f * fTemp206 + 0.70710677f * (fTemp207 - fTemp209); float fTemp210 = fVec61[(IOTA0 - iTemp139) & 16383]; fVec62[0] = fTemp210; - fRec10[0] = fVec62[1] + fTemp142 * (fTemp210 - fRec10[1]) / fTemp143; + fRec10[0] = fVec62[1] - fTemp142 * (fRec10[1] - fTemp210) / fTemp143; fRec8[0] = fRec10[0]; fVec63[IOTA0 & 16383] = 0.70710677f * fTemp206 + 0.70710677f * (fTemp209 - fTemp207); float fTemp211 = fVec63[(IOTA0 - iTemp128) & 16383]; @@ -1500,7 +1500,7 @@ class _FaustReverb final : public ::faust::dsp { fVec65[IOTA0 & 16383] = 0.70710677f * fTemp213 + 0.70710677f * (fTemp214 - fTemp216); float fTemp217 = fVec65[(IOTA0 - iTemp145) & 16383]; fVec66[0] = fTemp217; - fRec7[0] = fVec66[1] + fTemp148 * (fTemp217 - fRec7[1]) / fTemp149; + fRec7[0] = fVec66[1] - fTemp148 * (fRec7[1] - fTemp217) / fTemp149; fRec5[0] = fRec7[0]; fVec67[IOTA0 & 16383] = 0.70710677f * fTemp213 + 0.70710677f * (fTemp216 - fTemp214); fRec116[0] = 0.9999f * (fRec116[1] + float(iTemp0 * iSlow92)) + fSlow93; @@ -1521,7 +1521,7 @@ class _FaustReverb final : public ::faust::dsp { float fTemp227 = fVec69[(IOTA0 - std::min(8192, std::max(0, int(fTemp226)))) & 16383]; fVec70[0] = fTemp227; float fTemp228 = std::floor(fTemp226); - fRec4[0] = fVec70[1] + (fTemp228 + (2.0f - fRec117[0])) * (fTemp227 - fRec4[1]) / (fRec117[0] - fTemp228); + fRec4[0] = fVec70[1] - (fTemp228 + (2.0f - fRec117[0])) * (fRec4[1] - fTemp227) / (fRec117[0] - fTemp228); fRec2[0] = fRec4[0]; fVec71[IOTA0 & 16383] = 0.70710677f * fTemp222 + 0.70710677f * (fTemp225 - fTemp223); float fTemp229 = fVec71[(IOTA0 - iTemp159) & 16383]; diff --git a/Packaging/OSX/Distribution.xml b/Packaging/OSX/Distribution.xml index 9caeebb..b67d0a3 100644 --- a/Packaging/OSX/Distribution.xml +++ b/Packaging/OSX/Distribution.xml @@ -29,6 +29,6 @@ - Reach_VST3.pkg - Reach_AU.pkg + Reach_VST3.pkg + Reach_AU.pkg \ No newline at end of file diff --git a/Packaging/Windows/WinInstaller.iss b/Packaging/Windows/WinInstaller.iss index 224d1f4..a62e354 100644 --- a/Packaging/Windows/WinInstaller.iss +++ b/Packaging/Windows/WinInstaller.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Reach" -#define MyAppVersion "1.6.3" +#define MyAppVersion "1.6.4" #define MyAppPublisher "Sinuslabs" #define MyAppURL "https://sinuslabs.io" #define MyAppExeName "reach.vst3" diff --git a/PooledResources/AudioResources.dat b/PooledResources/AudioResources.dat new file mode 100644 index 0000000..2644f77 Binary files /dev/null and b/PooledResources/AudioResources.dat differ diff --git a/PooledResources/ImageResources.dat b/PooledResources/ImageResources.dat new file mode 100644 index 0000000..2644f77 Binary files /dev/null and b/PooledResources/ImageResources.dat differ diff --git a/PooledResources/MidiFiles.dat b/PooledResources/MidiFiles.dat new file mode 100644 index 0000000..2644f77 Binary files /dev/null and b/PooledResources/MidiFiles.dat differ diff --git a/PooledResources/SampleMaps.dat b/PooledResources/SampleMaps.dat new file mode 100644 index 0000000..2644f77 Binary files /dev/null and b/PooledResources/SampleMaps.dat differ diff --git a/Presets/Autosave_1.hip b/Presets/Autosave_1.hip index c1dd1b8..f0c81b5 100644 Binary files a/Presets/Autosave_1.hip and b/Presets/Autosave_1.hip differ diff --git a/Presets/Autosave_2.hip b/Presets/Autosave_2.hip index c1dd1b8..f0c81b5 100644 Binary files a/Presets/Autosave_2.hip and b/Presets/Autosave_2.hip differ diff --git a/Presets/Autosave_3.hip b/Presets/Autosave_3.hip index f2cf063..f0c81b5 100644 Binary files a/Presets/Autosave_3.hip and b/Presets/Autosave_3.hip differ diff --git a/Presets/Autosave_4.hip b/Presets/Autosave_4.hip index 76bdc7c..f0c81b5 100644 Binary files a/Presets/Autosave_4.hip and b/Presets/Autosave_4.hip differ diff --git a/Presets/Autosave_5.hip b/Presets/Autosave_5.hip index 9f17cd8..f0c81b5 100644 Binary files a/Presets/Autosave_5.hip and b/Presets/Autosave_5.hip differ diff --git a/Presets/REACH.hip b/Presets/REACH.hip index 626f119..f0c81b5 100644 Binary files a/Presets/REACH.hip and b/Presets/REACH.hip differ diff --git a/Presets/Reach.hip b/Presets/Reach.hip index 626f119..f0c81b5 100644 Binary files a/Presets/Reach.hip and b/Presets/Reach.hip differ diff --git a/XmlPresetBackups/ReachUIData/ReachDesktop.xml b/XmlPresetBackups/ReachUIData/ReachDesktop.xml index 80f3c86..80b6e78 100644 --- a/XmlPresetBackups/ReachUIData/ReachDesktop.xml +++ b/XmlPresetBackups/ReachUIData/ReachDesktop.xml @@ -213,7 +213,7 @@ parentComponent="panel_background" textColour="0"> + bgColour="16777215" itemColour="0" itemColour2="0" visible="0"> + textColour="16777215" visible="0"> @@ -273,7 +273,7 @@ + textColour="16777215"> @@ -374,12 +374,12 @@ + width="60.0" height="30.0" text="displayButton-EQ" saveInPreset="0" + visible="0"/> diff --git a/project_info.xml b/project_info.xml index 39a2f3a..9eec2ce 100644 --- a/project_info.xml +++ b/project_info.xml @@ -2,7 +2,7 @@ - +