File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ struct Diode{
2828 short temp_buf[256 ]={0 };
2929 bool tab_loaded = false ;
3030 float out = 0 .0f ;
31+ float faded_type = 0 .0f ;
3132
3233
3334
@@ -56,6 +57,13 @@ struct Diode{
5657 LoadWaves ();
5758 }
5859
60+ float dif_type = type - faded_type;
61+ if (dif_type>0 ){
62+ type += min (dif_type,0 .01f );
63+ }
64+ if (dif_type<0 ){
65+ type += max (dif_type,-0 .01f );
66+ }
5967
6068
6169 in=(in-(feedback*(gain/8 .0f )));
Original file line number Diff line number Diff line change @@ -31,6 +31,7 @@ struct VoltageControlledOscillator {
3131 float ar_window = 0 .5f ;
3232 float bl_window = 0 .5f ;
3333 float br_window = 0 .5f ;
34+ float faded_wavfr,faded_wavre = 0 .0f ;
3435 //
3536 bool syncEnabled = false ;
3637 bool syncDirection = false ;
@@ -119,6 +120,23 @@ struct VoltageControlledOscillator {
119120
120121 _wavefront*=63 ;
121122 _waverear*=63 ;
123+
124+ float dif_fr = _wavefront - faded_wavfr;
125+ if (dif_fr>0 ){
126+ _wavefront += min (dif_fr,0 .01f );
127+ }
128+ if (dif_fr<0 ){
129+ _wavefront += max (dif_fr,-0 .01f );
130+ }
131+ float dif_re = _waverear - faded_wavre;
132+ if (dif_re>0 ){
133+ _waverear += min (dif_re,0 .01f );
134+ }
135+ if (dif_fr<0 ){
136+ _waverear += max (dif_re,-0 .01f );
137+ }
138+
139+
122140 if (_wavefront>63 .0f ){_wavefront=63 .0f ;}
123141 if (_waverear>63 .0f ){_waverear=63 .0f ;}
124142 if (_wavefront<=0 .0f ){_wavefront=0 .00f ;}
You can’t perform that action at this time.
0 commit comments