|
From: Gerhard E. <gu...@us...> - 2005-08-26 19:40:58
|
Update of /cvsroot/foo/foo/elkfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1133/elkfoo/src Modified Files: modules.m Log Message: integrated new kill-dc module (which differs from an ordinary high pass in that it automatically initializes the filter's state with the first sample in the signal in order to avoid discontinuities) Index: modules.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/modules.m,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** modules.m 20 Jun 2005 08:57:13 -0000 1.9 --- modules.m 26 Aug 2005 19:40:50 -0000 1.10 *************** *** 53,56 **** --- 53,57 ---- #include "FOOMGate.h" #include "FOOMInteg.h" + #include "FOOMKillDC.h" #include "FOOMLine.h" #include "FOOMLookup.h" *************** *** 632,635 **** --- 633,654 ---- static SchemeObject + P_Make_KillDC (SchemeObject in, + SchemeObject coef) + { + SchemeObject module; + double p[1]; + id input; + + p[0] = Get_Double(coef); + input = A_Get_Input(in); + module = A_Make_Module([FOOMKillDC class]); + [IdOf(module) initializeParams:p]; + [IdOf(module) connectInput:0 to:input]; + + return A_Make_Terminal_Signal(module, 0, 0.); + } + + + static SchemeObject P_Make_Line (SchemeObject start, SchemeObject end, *************** *** 1337,1340 **** --- 1356,1360 ---- DP(P_Make_Gate, "foo:make-gate", 1, 2, VARARGS); DP(P_Make_Integ, "foo:make-integ", 1, 1, EVAL); + DP(P_Make_KillDC, "foo:make-killdc", 2, 2, EVAL); DP(P_Make_Line, "foo:make-line", 3, 3, EVAL); DP(P_Make_LookupSnd, "foo:make-lookup-snd", 2, 3, VARARGS); |