fixed bug in distortion when using stereo and sample&hold.

This commit is contained in:
Dominik Ries
2018-03-16 19:18:41 +01:00
parent 10457b31ec
commit ced4a2b7b9
6 changed files with 19 additions and 16 deletions

View File

@ -763,9 +763,10 @@ go4kDST_func_do:
fst dword [WRK+go4kDST_wrk.snhphase]
fldz ; // 0 snh' in (inr)
fucomip st1 ; // snh' in (inr)
fstp dword [esp-4] ; // in (inr)
jc short go4kDST_func_hold
fld1 ; // 1 snh' in (inr)
faddp st1, st0 ; // 1+snh' in (inr)
fld1 ; // 1 in (inr)
fadd dword [esp-4] ; // 1+snh' in (inr)
fstp dword [WRK+go4kDST_wrk.snhphase]; // in (inr)
%endif
; // calc pregain and postgain
@ -793,14 +794,13 @@ go4kDST_func_mono:
fst dword [WRK+go4kDST_wrk.out] ; // out' (outr)
%endif
ret ; // out' (outr)
%ifdef GO4K_USE_DST_SH
go4kDST_func_hold: ; // snh' in (inr)
fstp st0 ; // in (inr)
%ifdef GO4K_USE_DST_SH
go4kDST_func_hold: ; // in (inr)
fstp st0 ; // (inr)
%ifdef GO4K_USE_DST_STEREO
fstp st0
test al, byte STEREO
jz short go4kDST_func_monohold
jz short go4kDST_func_monohold ; // (inr)
fstp st0 ; //
fld dword [WRK+go4kDST_wrk.out2] ; // outr
go4kDST_func_monohold:
%endif

View File

@ -763,9 +763,10 @@ go4kDST_func_do:
fst dword [WRK+go4kDST_wrk.snhphase]
fldz ; // 0 snh' in (inr)
fucomip st1 ; // snh' in (inr)
fstp dword [esp-4] ; // in (inr)
jc short go4kDST_func_hold
fld1 ; // 1 snh' in (inr)
faddp st1, st0 ; // 1+snh' in (inr)
fld1 ; // 1 in (inr)
fadd dword [esp-4] ; // 1+snh' in (inr)
fstp dword [WRK+go4kDST_wrk.snhphase]; // in (inr)
%endif
; // calc pregain and postgain
@ -793,14 +794,13 @@ go4kDST_func_mono:
fst dword [WRK+go4kDST_wrk.out] ; // out' (outr)
%endif
ret ; // out' (outr)
%ifdef GO4K_USE_DST_SH
go4kDST_func_hold: ; // snh' in (inr)
fstp st0 ; // in (inr)
%ifdef GO4K_USE_DST_SH
go4kDST_func_hold: ; // in (inr)
fstp st0 ; // (inr)
%ifdef GO4K_USE_DST_STEREO
fstp st0
test al, byte STEREO
jz short go4kDST_func_monohold
jz short go4kDST_func_monohold ; // (inr)
fstp st0 ; //
fld dword [WRK+go4kDST_wrk.out2] ; // outr
go4kDST_func_monohold:
%endif

View File

@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "4klang", "Go4kVSTi.vcxproj", "{107757EA-2FE1-4C5E-964F-DE7E482E253F}"
EndProject
Project("{D3783134-2AE6-4F36-A599-989377222068}") = "4klang2", "Go4kVSTi2.vcxproj", "{FA790F08-0B8E-43D9-A4B4-519AB01B820C}"