@@ -77,14 +77,15 @@ Plateau2::Plateau2(const InstanceInfo& info)
7777
7878 GetParam (kDanger )->InitBool (" DANGER! Allow Unsafe Feedback" , false );
7979
80- MakePreset (" Default" , 100.000000 , false , false , true , 50.000000 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.450000 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false , 50.000000 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.450000 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
81- MakePreset (" Bassment" , 68.452381 , false , false , true , 92.261905 , 10.000000 , 4.866071 , 0.473214 , 3.571429 , 0.377201 , 10.000000 , 6.875000 , 0.272321 , 1.285714 , 0.500000 , 1.000000 , false , false , false , false , 0.000000 , false , false , 76.923070 , 0.982143 , true , 100.000000 , 0.000000 , 131.250000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , true , 47.619048 , 3.616071 , 10.000000 , 0.553572 , 5.892857 , 0.591530 , 7.232143 , 10.000000 , 0.218750 , 3.000000 , 0.299107 , 0.459821 , false , false , false , true , 0.039286 , true , false , 36.744499 , 0.165179 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
82- MakePreset (" Polish" , 100.000000 , false , false , true , 29.166666 , 10.000000 , 8.169643 , 0.191964 , 6.473214 , 0.300870 , 10.000000 , 7.366071 , 0.272321 , 1.285714 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , false , 76.923070 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false , 50.000000 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.450000 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , true , false , true , 0.000000 , false , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
83- MakePreset (" Cave" , 100.000000 , false , false , true , 50.000000 , 10.000000 , 7.991071 , 0.589286 , 10.000000 , 0.386642 , 10.000000 , 5.803571 , 0.000000 , 0.000000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , true , 29.910714 , 0.131696 , 10.000000 , 10.000000 , true , 22.619048 , 10.000000 , 7.767857 , 0.584821 , 10.000000 , 0.466990 , 10.000000 , 7.053571 , 0.245536 , 0.714286 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , true , false , 64.423000 , 1.000000 , false , 22.321429 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
84- MakePreset (" Canyon" , 0.000000 , false , false , true , 100.000000 , 10.000000 , 8.080357 , 0.803571 , 10.000000 , 0.240609 , 10.000000 , 10.000000 , 0.138393 , 0.714286 , 0.500000 , 0.116071 , false , false , false , true , 0.000000 , true , false , 25.583714 , 0.000000 , false , 100.000000 , 0.000000 , 200.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false , 50.000000 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.334416 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , true , false , true , 0.000000 , false , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 0.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
85- MakePreset (" ChorusVerb" , 51.190476 , false , false , true , 100.000000 , 10.000000 , 8.080357 , 0.803571 , 0.000000 , 0.284801 , 10.000000 , 10.000000 , 0.138393 , 1.857143 , 0.500000 , 0.116071 , false , false , false , false , 0.000000 , true , false , 25.583714 , 0.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , true , 100.000000 , 0.082589 , 7.366071 , 10.000000 , true , 11.309524 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.495112 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , false , 76.923000 , 1.000000 , false , 23.660714 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
86- MakePreset (" Washout" , 100.000000 , false , false , true , 32.142857 , 10.000000 , 10.000000 , 0.379464 , 10.000000 , 0.730733 , 8.169643 , 7.901786 , 0.272321 , 1.285714 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , true , false , 72.905213 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false , 50.000000 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.450000 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
87- MakePreset (" Totally Tubular" , 61.904762 , false , false , true , 51.785714 , 10.000000 , 6.026786 , 0.191964 , 6.473214 , 0.497723 , 10.000000 , 8.348214 , 0.272321 , 1.285714 , 0.500000 , 1.000000 , false , false , true , true , 0.000000 , false , false , 76.923070 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , true , 32.589286 , 0.049107 , 10.000000 , 4.285714 , true , 32.142857 , 6.517857 , 8.080357 , 0.294643 , 10.000000 , 0.591530 , 7.232143 , 10.000000 , 0.232143 , 1.071429 , 0.723214 , 1.000000 , false , false , false , true , 0.000000 , true , false , 47.458785 , 1.000000 , false , 100.000000 , 0.000000 , 58.928571 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
80+ MakePreset (" Default" , 100.000000 , false , false , true , 50.000000 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.450000 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false , 50.000000 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.450000 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
81+ MakePreset (" Bassment" , 68.452381 , false , false , true , 92.261905 , 10.000000 , 4.866071 , 0.473214 , 3.571429 , 0.377201 , 10.000000 , 6.875000 , 0.272321 , 1.285714 , 0.500000 , 1.000000 , false , false , false , false , 0.000000 , false , 76.923070 , 0.982143 , true , 100.000000 , 0.000000 , 131.250000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , true , 47.619048 , 3.616071 , 10.000000 , 0.553572 , 5.892857 , 0.591530 , 7.232143 , 10.000000 , 0.218750 , 3.000000 , 0.299107 , 0.459821 , false , false , false , true , 0.039286 , true , 36.744499 , 0.165179 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
82+ MakePreset (" Polish" , 100.000000 , false , false , true , 29.166666 , 10.000000 , 8.169643 , 0.191964 , 6.473214 , 0.300870 , 10.000000 , 7.366071 , 0.272321 , 1.285714 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , 76.923070 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false , 50.000000 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.450000 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , true , false , true , 0.000000 , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
83+ MakePreset (" Cave" , 100.000000 , false , false , true , 50.000000 , 10.000000 , 7.991071 , 0.589286 , 10.000000 , 0.386642 , 10.000000 , 5.803571 , 0.000000 , 0.000000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , true , 29.910714 , 0.131696 , 10.000000 , 10.000000 , true , 22.619048 , 10.000000 , 7.767857 , 0.584821 , 10.000000 , 0.466990 , 10.000000 , 7.053571 , 0.245536 , 0.714286 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , true , 64.423000 , 1.000000 , false , 22.321429 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
84+ // MakePreset("Canyon", 0.000000, false, false, true, 100.000000, 10.000000, 8.080357, 0.803571, 10.000000, 0.240609, 10.000000, 10.000000, 0.138393, 0.714286, 0.500000, 0.116071, false, false, false, true, 0.000000, true, 25.583714, 0.000000, false, 100.000000, 0.000000, 200.000000, 0.000000, false, 0.000000, 0.000000, 10.000000, 10.000000, false, 50.000000, 10.000000, 10.000000, 0.500000, 10.000000, 0.334416, 10.000000, 10.000000, 0.000000, 0.500000, 0.500000, 1.000000, false, true, false, true, 0.000000, false, 76.923000, 1.000000, false, 100.000000, 0.000000, 0.000000, 0.000000, false, 0.000000, 0.000000, 10.000000, 10.000000, false);
85+ MakePreset (" Canyon" , 0.000000 , false , false , true , 100.000000 , 10.000000 , 8.035714 , 0.803571 , 10.000000 , 0.248644 , 10.000000 , 10.000000 , 0.133929 , 0.642857 , 0.500000 , 0.120535 , false , false , false , true , 0.000000 , true , 60.851571 , 0.000000 , true , 100.000000 , -100.000000 , 100.000000 , -66.071429 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , true , 100.000000 , 10.000000 , 8.035714 , 0.803571 , 10.000000 , 0.248644 , 10.000000 , 10.000000 , 0.133929 , 0.642857 , 0.500000 , 0.120535 , false , false , false , true , 0.000000 , true , 60.851568 , 0.000000 , true , 100.000000 , 100.000000 , 100.000000 , 58.928571 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
86+ MakePreset (" ChorusVerb" , 51.190476 , false , false , true , 100.000000 , 10.000000 , 8.080357 , 0.803571 , 0.000000 , 0.284801 , 10.000000 , 10.000000 , 0.138393 , 1.857143 , 0.500000 , 0.116071 , false , false , false , false , 0.000000 , true , 25.583714 , 0.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , true , 100.000000 , 0.082589 , 7.366071 , 10.000000 , true , 11.309524 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.495112 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , 76.923000 , 1.000000 , false , 23.660714 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
87+ MakePreset (" Washout" , 100.000000 , false , false , true , 32.142857 , 10.000000 , 10.000000 , 0.379464 , 10.000000 , 0.730733 , 8.169643 , 7.901786 , 0.272321 , 1.285714 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , true , 72.905213 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false , 50.000000 , 10.000000 , 10.000000 , 0.500000 , 10.000000 , 0.450000 , 10.000000 , 10.000000 , 0.000000 , 0.500000 , 0.500000 , 1.000000 , false , false , false , true , 0.000000 , false , 76.923000 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
88+ MakePreset (" Totally Tubular" , 61.904762 , false , false , true , 51.785714 , 10.000000 , 6.026786 , 0.191964 , 6.473214 , 0.497723 , 10.000000 , 8.348214 , 0.272321 , 1.285714 , 0.500000 , 1.000000 , false , false , true , true , 0.000000 , false , 76.923070 , 1.000000 , false , 100.000000 , 0.000000 , 100.000000 , 0.000000 , true , 32.589286 , 0.049107 , 10.000000 , 4.285714 , true , 32.142857 , 6.517857 , 8.080357 , 0.294643 , 10.000000 , 0.591530 , 7.232143 , 10.000000 , 0.232143 , 1.071429 , 0.723214 , 1.000000 , false , false , false , true , 0.000000 , true , 47.458785 , 1.000000 , false , 100.000000 , 0.000000 , 58.928571 , 0.000000 , false , 0.000000 , 0.000000 , 10.000000 , 10.000000 , false );
8889
8990 reverb1.setSampleRate (GetSampleRate ());
9091 envelope1.setSampleRate (GetSampleRate ());
@@ -211,11 +212,28 @@ Plateau2::Plateau2(const InstanceInfo& info)
211212 Switches[2 ] = new LEDSwitch (IRECT::MakeXYWH (-14 , 216 , 102 , 102 ), LEDScale, LedOffSVG, LedOn1SVG, LedOn2SVG, kTunedMode1 , kTunedMode2 );
212213 Switches[3 ] = new LEDSwitch (IRECT::MakeXYWH (228 , 216 , 102 , 102 ), LEDScale, LedOffSVG, LedOn1SVG, LedOn2SVG, kDiffuseInput1 , kDiffuseInput2 );
213214
214- LEDButton* clearButton = new LEDButton (IRECT::MakeXYWH (225 .526f , 404 .802f + 30 , 102 , 102 ), LEDScale, LedOffSVG, LedOn1SVG, LedOn2SVG, [this ](IControl* clearControl) {SetParameterValue (kClear1 , 1 );});
215+ if (GetParam (kFreeze )->Value () >= 0.5 ) {
216+ Switches[1 ]->SetValue (1 .);
217+ Switches[1 ]->SetDirty (false );
218+ }
219+
220+ LEDButton* clearButton = new LEDButton (IRECT::MakeXYWH (225 .526f , 404 .802f + 30 , 102 , 102 ), LEDScale, LedOffSVG, LedOn1SVG, LedOn2SVG, [this ](IControl* clearControl) {
221+ if (tank2Selected) {
222+ clear2 = true ;
223+ }
224+ else {
225+ clear1 = true ;
226+ }
227+ });
215228
216229 Buttons[0 ] = clearButton;
217230
218- Buttons[1 ] = new LEDButton (IRECT::MakeXYWH (225 .526f , 404 .802f - 45 , 102 , 102 ), LEDScale, LedOffSVG, LedOnBothSVG, LedOnBothSVG, [this , clearButton](IControl* clearControl) {SetParameterValue (kClear , 1 );clearButton->SetValue (1 .);clearButton->SetDirty ();}, clearButton);
231+ Buttons[1 ] = new LEDButton (IRECT::MakeXYWH (225 .526f , 404 .802f - 45 , 102 , 102 ), LEDScale, LedOffSVG, LedOnBothSVG, LedOnBothSVG, [this , clearButton](IControl* clearControl) {
232+ clear1 = true ;
233+ clear2 = true ;
234+ clearButton->SetValue (1 .);
235+ clearButton->SetDirty ();
236+ }, clearButton);
219237
220238 // Help Button
221239 Buttons[2 ] = new LEDButton (IRECT::MakeXYWH (129 .5f , 535 , 56 , 56 ), 1 , HelpButtonSVG, HelpButtonSVG, HelpButtonSVG, [this ](IControl* button) {this ->GetUI ()->OpenURL (" https://github.com/rubyswolf/iPlateau/wiki" );});
@@ -365,12 +383,11 @@ void Plateau2::OnParamChange(int index)
365383 dryParam = GetParam (kDry )->Value () / 100 ;
366384 break ;
367385 case kClear :
368- if (WindowIsOpen ()) {
369- if (GetParam (kClear )->Value () >= 0.5 ) {
370- SetParameterValue (kClear1 , GetParam (kClear )->Value ());
371- SetParameterValue (kClear2 , GetParam (kClear )->Value ());
372- }
386+ if (GetParam (kClear )->Value () >= 0.5 && lastGlobalClear < 0.5 ) {
387+ clear1 = true ;
388+ clear2 = true ;
373389 }
390+ lastGlobalClear = GetParam (kClear )->Value ();
374391 break ;
375392 case kFreeze :
376393 if (WindowIsOpen ())
@@ -385,16 +402,21 @@ void Plateau2::OnParamChange(int index)
385402 }
386403 Switches[1 ]->SetDirty ();
387404 }
405+ freeze1Param = GetParam (kFreeze1 )->Value () >= 0.5 || GetParam (kFreeze )->Value () >= 0.5 ;
406+ freeze2Param = GetParam (kFreeze2 )->Value () >= 0.5 || GetParam (kFreeze )->Value () >= 0.5 ;
388407 break ;
389408
390409 case kEnable1 :
391410 tank1Enabled = GetParam (kEnable1 )->Value () >= 0.5 ;
392411 break ;
393412 case kClear1 :
394- clear1Param = GetParam (kClear1 )->Value () >= 0.5 || GetParam (kClear )->Value () >= 0.5 ;
413+ if (GetParam (kClear1 )->Value () >= 0.5 && lastClear1 < 0.5 ) {
414+ clear1 = true ;
415+ }
416+ lastClear1 = GetParam (kClear1 )->Value ();
395417 break ;
396418 case kFreeze1 :
397- freeze1Param = GetParam (kFreeze1 )->Value () >= 0.5 ;
419+ freeze1Param = GetParam ( kFreeze1 )-> Value () >= 0.5 || GetParam (kFreeze )->Value () >= 0.5 ;
398420 break ;
399421 case kWet1 :
400422 wet1Param = GetParam (kWet1 )->Value () / 100 ;
@@ -504,10 +526,12 @@ void Plateau2::OnParamChange(int index)
504526 tank2Enabled = GetParam (kEnable2 )->Value () >= 0.5 ;
505527 break ;
506528 case kClear2 :
507- clear2Param = GetParam (kClear2 )->Value () >= 0.5 || GetParam (kClear )->Value () >= 0.5 ;
529+ if (GetParam (kClear2 )->Value () >= 0.5 && lastClear2 < 0.5 ) {
530+ clear2 = true ;
531+ }
508532 break ;
509533 case kFreeze2 :
510- freeze2Param = GetParam (kFreeze2 )->Value () >= 0.5 ;
534+ freeze2Param = GetParam (kFreeze2 )->Value () >= 0.5 || GetParam ( kFreeze )-> Value () >= 0.5 ;
511535 break ;
512536 case kWet2 :
513537 wet2Param = GetParam (kWet2 )->Value () / 100 ;
@@ -646,16 +670,8 @@ void Plateau2::ProcessBlock(sample** inputs, sample** outputs, int nFrames)
646670 }
647671
648672 if (tank1Enabled) {
649- if (clear1Param && !clear1 && cleared1) {
650- cleared1 = false ;
651- clear1 = true ;
652- }
653- else if (!clear1Param && cleared1) {
654- clear1 = false ;
655- }
656-
657673 if (clear1) {
658- if (!cleared1 && ! fadeOut1 && !fadeIn1) {
674+ if (!fadeOut1 && !fadeIn1) {
659675 fadeOut1 = true ;
660676 envelope1.setStartEndPoints (1 .f , 0 .f );
661677 envelope1.trigger ();
@@ -669,10 +685,8 @@ void Plateau2::ProcessBlock(sample** inputs, sample** outputs, int nFrames)
669685 }
670686 if (fadeIn1 && envelope1._justFinished ) {
671687 fadeIn1 = false ;
672- cleared1 = true ;
673688 envelope1._value = 1 .f ;
674- SetParameterValue (kClear , 0 );
675- SetParameterValue (kClear1 , 0 );
689+ clear1 = false ;
676690 }
677691 }
678692 envelope1.process ();
@@ -688,7 +702,7 @@ void Plateau2::ProcessBlock(sample** inputs, sample** outputs, int nFrames)
688702
689703 reverb1.process ((double )(std::get<0 >(sourceBalance1) * envelope1._value * inputs[0 ][s] * input1Param), (double )(std::get<1 >(sourceBalance1) * envelope1._value * (inputs[nChans > 1 ? 1 : 0 ][s] * input1Param)), (send2to1 ? (envelope1._value * level2to1Param * reverbOut2) : 0 ));
690704
691- std::tuple<double ,double > out = seperation (reverb1.getLeftOutput (), reverb1.getRightOutput (), width1Param);
705+ std::tuple<double ,double > out = seperation (reverb1.getLeftOutput ()*envelope1. _value , reverb1.getRightOutput ()*envelope1. _value , width1Param);
692706 out = { std::get<0 >(panBalance1) * std::get<0 >(out), std::get<1 >(panBalance1)* std::get<1 >(out) };
693707
694708 outputs[0 ][s] += std::get<0 >(out) * wet1Param;
@@ -718,16 +732,8 @@ void Plateau2::ProcessBlock(sample** inputs, sample** outputs, int nFrames)
718732
719733 // I can't find a way to make tank 2 work without just copying and pasting everything
720734 if (tank2Enabled) {
721- if (clear2Param && !clear2 && cleared2) {
722- cleared2 = false ;
723- clear2 = true ;
724- }
725- else if (!clear2Param && cleared2) {
726- clear2 = false ;
727- }
728-
729735 if (clear2) {
730- if (!cleared2 && ! fadeOut2 && !fadeIn2) {
736+ if (!fadeOut2 && !fadeIn2) {
731737 fadeOut2 = true ;
732738 envelope2.setStartEndPoints (1 .f , 0 .f );
733739 envelope2.trigger ();
@@ -741,10 +747,8 @@ void Plateau2::ProcessBlock(sample** inputs, sample** outputs, int nFrames)
741747 }
742748 if (fadeIn2 && envelope2._justFinished ) {
743749 fadeIn2 = false ;
744- cleared2 = true ;
745750 envelope2._value = 1 .f ;
746- SetParameterValue (kClear , 0 );
747- SetParameterValue (kClear2 , 0 );
751+ clear2 = false ;
748752 }
749753 }
750754 envelope2.process ();
@@ -761,7 +765,7 @@ void Plateau2::ProcessBlock(sample** inputs, sample** outputs, int nFrames)
761765 reverb2.process ((double )(std::get<0 >(sourceBalance2)* envelope2._value * inputs[0 ][s] * input2Param), (double )(std::get<1 >(sourceBalance2)* envelope2._value * (inputs[nChans > 1 ? 1 : 0 ][s] * input2Param)), (send1to2 ? (envelope2._value * level1to2Param * reverbOut1) : 0 ));
762766
763767
764- std::tuple<double , double > out = seperation (reverb2.getLeftOutput (), reverb2.getRightOutput (), width2Param);
768+ std::tuple<double , double > out = seperation (reverb2.getLeftOutput ()*envelope2. _value , reverb2.getRightOutput ()*envelope2. _value , width2Param);
765769 out = { std::get<0 >(panBalance2) * std::get<0 >(out), std::get<1 >(panBalance2) * std::get<1 >(out) };
766770
767771 outputs[0 ][s] += std::get<0 >(out) * wet2Param;
0 commit comments