|
From: Martin R. <ru...@us...> - 2004-08-26 09:52:12
|
Update of /cvsroot/foo/foo/elkfoo/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28202 Modified Files: Makefile.am modules.m Log Message: added support for experimental 'banff' modules Index: modules.m =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/modules.m,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** modules.m 16 Aug 2004 04:42:26 -0000 1.6 --- modules.m 26 Aug 2004 09:52:02 -0000 1.7 *************** *** 37,40 **** --- 37,41 ---- #include <FOO/FOOBreakpointFunction.h> + // orthodox modules #include "FOOMAdd.h" #include "FOOMBandlimitedNoise.h" *************** *** 69,72 **** --- 70,77 ---- #include "FOOMVariableTwoPole.h" + // banff edition + #include "FOOMAllpass.h" + #include "FOOMComb.h" + #include <sys/types.h> #include <sys/timeb.h> *************** *** 1210,1213 **** --- 1215,1265 ---- + static SchemeObject + P_Make_Allpass (SchemeObject in1, + SchemeObject in2, + SchemeObject in3) + { + SchemeObject module; + id input = A_Get_Input(in1); + id rho = A_Get_Input(in2); + int order = Get_Integer(in3); + + module = A_Make_Module([FOOMAllpass class]); + [IdOf(module) initWithOrder: order]; + [IdOf(module) connectInput: 0 to: input]; + [IdOf(module) connectInput: 1 to: rho]; + + return A_Make_Terminal_Signal(module, 0, 0.); + } + + + static SchemeObject + P_Make_Comb (SchemeObject in1, + SchemeObject in2, + SchemeObject in3, + SchemeObject in4, + SchemeObject in5, + SchemeObject in6) + { + SchemeObject module; + id input = A_Get_Input(in1); + id delay = A_Get_Input(in2); + id feedback = A_Get_Input(in3); + id wetdry = A_Get_Input(in4); + int taps = Get_Integer(in5); + double max_delay = Get_Double(in6); + + module = A_Make_Module([FOOMComb class]); + [IdOf(module) initWithTaps: taps maxDelay: max_delay]; + [IdOf(module) connectInput: 0 to: input]; + [IdOf(module) connectInput: 1 to: delay]; + [IdOf(module) connectInput: 2 to: feedback]; + [IdOf(module) connectInput: 3 to: wetdry]; + + return A_Make_Terminal_Signal(module, 0, 0.); + } + + + // // math modules *************** *** 1308,1311 **** --- 1360,1366 ---- DP(P_Make_Min, "foo:make-min", 2, 2, EVAL); DP(P_Make_Max, "foo:make-max", 2, 2, EVAL); + // banff edition + DP(P_Make_Allpass, "foo:make-allpass", 3, 3, EVAL); + DP(P_Make_Comb, "foo:make-comb", 6, 6, EVAL); P_Provide(Intern("modules")); Index: Makefile.am =================================================================== RCS file: /cvsroot/foo/foo/elkfoo/src/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Makefile.am 9 Aug 2004 01:42:05 -0000 1.8 --- Makefile.am 26 Aug 2004 09:52:02 -0000 1.9 *************** *** 48,52 **** elkfoo_la_OBJCFLAGS = $(ELKFOO_OBJCFLAGS) \ $(FND_DEFINE) \ ! -I../../libfoo/modules/orthodox elkfoo_la_LDFLAGS = $(ELKFOO_LDFLAGS) \ -module -avoid-version --- 48,54 ---- elkfoo_la_OBJCFLAGS = $(ELKFOO_OBJCFLAGS) \ $(FND_DEFINE) \ ! -I../../libfoo/modules/orthodox \ ! -I../../libfoo/modules/banff \ ! $(NULL) elkfoo_la_LDFLAGS = $(ELKFOO_LDFLAGS) \ -module -avoid-version |