|
|
|
|
89
|
}
|
89
|
}
|
90
|
|
90
|
|
91
|
#define mlbl(a) _mlbl(a,mch)
|
91
|
#define mlbl(a) _mlbl(a,mch)
|
92
|
-#define lbl(a) cmDspSysPrintLabel(a,ch)
|
|
|
|
|
92
|
+#define lbl(a) cmDspSysPrintLabel(a,ach)
|
93
|
|
93
|
|
94
|
|
94
|
|
95
|
-void _cmDspSys_TlXformChain( cmDspSysH_t h, cmDspTlXform_t* c, unsigned preGrpSymId, unsigned cmpPreGrpSymId, cmDspInst_t* modp, unsigned ch, unsigned mch )
|
|
|
|
|
95
|
+void _cmDspSys_TlXformChain( cmDspSysH_t h, cmDspTlXform_t* c, unsigned preGrpSymId, unsigned cmpPreGrpSymId, cmDspInst_t* modp, unsigned ach, unsigned mch )
|
96
|
{
|
96
|
{
|
97
|
unsigned measRtrChCnt = 6; // note: router channel 6 is not connected
|
97
|
unsigned measRtrChCnt = 6; // note: router channel 6 is not connected
|
98
|
|
98
|
|
|
|
|
|
2057
|
return rc;
|
2057
|
return rc;
|
2058
|
|
2058
|
|
2059
|
cmDspInst_t* ai0p = cmDspSysAllocInst(h,"AudioIn", NULL, 1, 0);
|
2059
|
cmDspInst_t* ai0p = cmDspSysAllocInst(h,"AudioIn", NULL, 1, 0);
|
2060
|
- cmDspInst_t* ec0 = cmDspSysAllocInst(h,"EchoCancel", NULL, 1, 0,1 );
|
|
|
|
|
2060
|
+ cmDspInst_t* ai1p = cmDspSysAllocInst(h,"AudioIn", NULL, 1, 1);
|
|
|
2061
|
+
|
|
|
2062
|
+ //cmDspInst_t* ec0 = cmDspSysAllocInst(h,"EchoCancel", NULL, 1, 0,1 );
|
|
|
2063
|
+ //cmDspInst_t* ec1 = cmDspSysAllocInst(h,"EchoCancel", NULL, 1, 0,1 );
|
2061
|
|
2064
|
|
2062
|
cmDspInst_t* bldr = cmDspSysAllocInst( h,"TakeSeqBldr", NULL, 1, r.tksbFn );
|
2065
|
cmDspInst_t* bldr = cmDspSysAllocInst( h,"TakeSeqBldr", NULL, 1, r.tksbFn );
|
2063
|
cmDspInst_t* rndr = cmDspSysAllocInst( h,"TakeSeqRend", NULL, 0 );
|
2066
|
cmDspInst_t* rndr = cmDspSysAllocInst( h,"TakeSeqRend", NULL, 0 );
|
|
|
|
|
2070
|
cmDspInst_t* sfp = cmDspSysAllocInst(h,"ScFol", NULL, 1, r.scFn, sfBufCnt, sfMaxWndCnt, sfMinVel, sfEnaMeasFl );
|
2073
|
cmDspInst_t* sfp = cmDspSysAllocInst(h,"ScFol", NULL, 1, r.scFn, sfBufCnt, sfMaxWndCnt, sfMinVel, sfEnaMeasFl );
|
2071
|
cmDspInst_t* amp = cmDspSysAllocInst(h,"ActiveMeas", NULL, 1, 100 );
|
2074
|
cmDspInst_t* amp = cmDspSysAllocInst(h,"ActiveMeas", NULL, 1, 100 );
|
2072
|
cmDspInst_t* modp = cmDspSysAllocInst(h,"ScMod", NULL, 2, r.modFn, "m1" );
|
2075
|
cmDspInst_t* modp = cmDspSysAllocInst(h,"ScMod", NULL, 2, r.modFn, "m1" );
|
2073
|
- cmDspInst_t* modr = cmDspSysAllocInst(h,"ScMod", NULL, 2, r.modFn, "m1" );
|
|
|
2074
|
|
2076
|
|
2075
|
unsigned preGrpSymId = cmDspSysPresetRegisterGroup(h,"tl");
|
2077
|
unsigned preGrpSymId = cmDspSysPresetRegisterGroup(h,"tl");
|
2076
|
unsigned cmpPreGrpSymId = cmDspSysPresetRegisterGroup(h,"tl_cmp");
|
2078
|
unsigned cmpPreGrpSymId = cmDspSysPresetRegisterGroup(h,"tl_cmp");
|
2077
|
|
2079
|
|
2078
|
- cmDspTlXform_t c0;
|
|
|
|
|
2080
|
+ cmDspTlXform_t c0,c1;
|
2079
|
|
2081
|
|
2080
|
cmDspSysNewPage(h,"Controls-0");
|
2082
|
cmDspSysNewPage(h,"Controls-0");
|
2081
|
_cmDspSys_TlXformChain(h, &c0, preGrpSymId, cmpPreGrpSymId, modp, 0, 0 );
|
2083
|
_cmDspSys_TlXformChain(h, &c0, preGrpSymId, cmpPreGrpSymId, modp, 0, 0 );
|
|
|
2084
|
+ cmDspSysNewPage(h,"Controls-1");
|
|
|
2085
|
+ _cmDspSys_TlXformChain(h, &c1, preGrpSymId, cmpPreGrpSymId, modp, 1, 0 );
|
2082
|
|
2086
|
|
2083
|
|
2087
|
|
2084
|
cmDspInst_t* ao0p = cmDspSysAllocInst(h,"AudioOut", NULL, 1, 2 );
|
2088
|
cmDspInst_t* ao0p = cmDspSysAllocInst(h,"AudioOut", NULL, 1, 2 );
|
|
|
|
|
2118
|
cmDspSysNewColumn(h,0);
|
2122
|
cmDspSysNewColumn(h,0);
|
2119
|
cmDspInst_t* ogain0 = cmDspSysAllocInst(h,"Scalar", "Out Gain-0", 5, kNumberDuiId, 0.0, 10.0, 0.01, 0.0 );
|
2123
|
cmDspInst_t* ogain0 = cmDspSysAllocInst(h,"Scalar", "Out Gain-0", 5, kNumberDuiId, 0.0, 10.0, 0.01, 0.0 );
|
2120
|
|
2124
|
|
|
|
2125
|
+ /*
|
2121
|
cmDspInst_t* ec_mu = cmDspSysAllocInst(h,"Scalar", "EC mu", 5, kNumberDuiId, 0.0, 1.0, 0.01, 0.1 );
|
2126
|
cmDspInst_t* ec_mu = cmDspSysAllocInst(h,"Scalar", "EC mu", 5, kNumberDuiId, 0.0, 1.0, 0.01, 0.1 );
|
2122
|
- cmDspInst_t* ec_di = cmDspSysAllocInst(h,"Scalar", "EC Delay", 5, kNumberDuiId, 0.0, cmDspSysSampleRate(h), 1.0, 2000.0 );
|
|
|
2123
|
- cmDspInst_t* ec_hn = cmDspSysAllocInst(h,"Scalar", "EC IR N", 5, kNumberDuiId, 0.0, cmDspSysSampleRate(h), 1.0, 2048.0 );
|
|
|
|
|
2127
|
+ cmDspInst_t* ec_di = cmDspSysAllocInst(h,"Scalar", "EC Delay", 5, kNumberDuiId, 0.0, cmDspSysSampleRate(h), 1.0, 1765.0 );
|
|
|
2128
|
+ cmDspInst_t* ec_hn = cmDspSysAllocInst(h,"Scalar", "EC IR N", 5, kNumberDuiId, 0.0, cmDspSysSampleRate(h), 1.0, 2048.0 );
|
|
|
2129
|
+ cmDspInst_t* ec_byp= cmDspSysAllocCheck( h, "EC Bypass", 1.0 );
|
|
|
2130
|
+ */
|
2124
|
|
2131
|
|
2125
|
// Audio file recording
|
2132
|
// Audio file recording
|
2126
|
cmDspInst_t* recdGain= cmDspSysAllocInst(h,"Scalar", "Recd Gain", 5, kNumberDuiId, 0.0, 100.0,0.01, 1.5 );
|
2133
|
cmDspInst_t* recdGain= cmDspSysAllocInst(h,"Scalar", "Recd Gain", 5, kNumberDuiId, 0.0, 100.0,0.01, 1.5 );
|
2127
|
cmDspInst_t* recdChk = cmDspSysAllocInst(h,"Button", "Record", 2, kCheckDuiId, 0.0 );
|
2134
|
cmDspInst_t* recdChk = cmDspSysAllocInst(h,"Button", "Record", 2, kCheckDuiId, 0.0 );
|
2128
|
cmDspInst_t* recdPtS = cmDspSysAllocInst(h,"GateToSym", NULL, 2, cmSymTblRegisterStaticSymbol(cmDspSysSymbolTable(h),"open"),cmSymTblRegisterStaticSymbol(cmDspSysSymbolTable(h),"close"));
|
2135
|
cmDspInst_t* recdPtS = cmDspSysAllocInst(h,"GateToSym", NULL, 2, cmSymTblRegisterStaticSymbol(cmDspSysSymbolTable(h),"open"),cmSymTblRegisterStaticSymbol(cmDspSysSymbolTable(h),"close"));
|
2129
|
cmDspInst_t* afop = cmDspSysAllocInst(h,"AudioFileOut",NULL, 2, r.recordDir,2);
|
2136
|
cmDspInst_t* afop = cmDspSysAllocInst(h,"AudioFileOut",NULL, 2, r.recordDir,2);
|
2130
|
- cmDspInst_t* mi0p = cmDspSysAllocInst(h,"AMeter","In 0", 0);
|
|
|
2131
|
-
|
|
|
|
|
2137
|
+ cmDspInst_t* mi0p = cmDspSysAllocInst(h,"AMeter","In 0", 0);
|
|
|
2138
|
+ cmDspInst_t* mi1p = cmDspSysAllocInst(h,"AMeter","In 1", 0);
|
|
|
2139
|
+ cmDspInst_t* mo0p = cmDspSysAllocInst(h,"AMeter","Out 0", 0);
|
|
|
2140
|
+ cmDspInst_t* mo1p = cmDspSysAllocInst(h,"AMeter","Out 1", 0);
|
2132
|
|
2141
|
|
2133
|
//--------------- Preset controls
|
2142
|
//--------------- Preset controls
|
2134
|
cmDspSysNewColumn(h,0);
|
2143
|
cmDspSysNewColumn(h,0);
|
|
|
|
|
2167
|
|
2176
|
|
2168
|
// Audio connections
|
2177
|
// Audio connections
|
2169
|
cmDspSysConnectAudio(h, ai0p, "out", mi0p, "in"); // ain -> meter
|
2178
|
cmDspSysConnectAudio(h, ai0p, "out", mi0p, "in"); // ain -> meter
|
2170
|
- cmDspSysConnectAudio(h, ai0p, "out", ec0, "f_in" ); // ain -> echo_cancel
|
|
|
2171
|
cmDspSysConnectAudio(h, ai0p, "out", c0.kr0, "in" ); // ain -> kr
|
2179
|
cmDspSysConnectAudio(h, ai0p, "out", c0.kr0, "in" ); // ain -> kr
|
|
|
2180
|
+ //cmDspSysConnectAudio(h, ai0p, "out", ec0, "f_in" ); // ain -> echo_cancel
|
2172
|
|
2181
|
|
2173
|
- cmDspSysConnectAudio(h, c0.cmp, "out", ec0, "uf_in" ); // kr -> echo_cancel
|
|
|
2174
|
- cmDspSysConnectAudio(h, ec0, "out", ao0p, "in" ); // ec -> aout 0
|
|
|
2175
|
- cmDspSysConnectAudio(h, ec0, "out", ao1p, "in" ); // ec -> aout 1
|
|
|
2176
|
- cmDspSysConnectAudio(h, ec0, "out", afop, "in0" ); // ec -> audio_file
|
|
|
|
|
2182
|
+ //cmDspSysConnectAudio(h, c0.cmp, "out", ec0, "uf_in" ); // kr -> echo_cancel
|
|
|
2183
|
+ //cmDspSysConnectAudio(h, ec0, "out", ao0p, "in" ); // ec -> aout 0
|
|
|
2184
|
+ cmDspSysConnectAudio(h, c0.cmp, "out", ao0p, "in" ); // kr -> echo_cancel
|
|
|
2185
|
+ cmDspSysConnectAudio(h, c0.cmp, "out", afop, "in0" ); // ec -> audio_file
|
|
|
2186
|
+ cmDspSysConnectAudio(h, c0.cmp, "out", mo0p, "in" ); //
|
2177
|
|
2187
|
|
|
|
2188
|
+ cmDspSysConnectAudio(h, ai1p, "out", mi1p, "in"); // ain -> meter
|
|
|
2189
|
+ cmDspSysConnectAudio(h, ai1p, "out", c1.kr0, "in" ); // ain -> kr
|
|
|
2190
|
+ //cmDspSysConnectAudio(h, ai1p, "out", ec1, "f_in" ); // ain -> echo_cancel
|
|
|
2191
|
+
|
|
|
2192
|
+
|
|
|
2193
|
+ //cmDspSysConnectAudio(h, c1.cmp, "out", ec1, "uf_in" ); // kr -> echo_cancel
|
|
|
2194
|
+ //cmDspSysConnectAudio(h, ec1, "out", ao1p, "in" ); // ec -> aout 0
|
|
|
2195
|
+ cmDspSysConnectAudio(h, c1.cmp, "out", ao1p, "in" ); // kr -> echo_cancel
|
|
|
2196
|
+ cmDspSysConnectAudio(h, c1.cmp, "out", afop, "in1");
|
|
|
2197
|
+ cmDspSysConnectAudio(h, c1.cmp, "out", mo1p, "in" ); //
|
2178
|
|
2198
|
|
2179
|
cmDspSysInstallCb( h, clrBtn, "sym", amp, "cmd", NULL ); // clear active meas.
|
2199
|
cmDspSysInstallCb( h, clrBtn, "sym", amp, "cmd", NULL ); // clear active meas.
|
2180
|
cmDspSysInstallCb( h, prtBtn, "sym", amp, "cmd", NULL ); // print active meas
|
2200
|
cmDspSysInstallCb( h, prtBtn, "sym", amp, "cmd", NULL ); // print active meas
|
|
|
|
|
2242
|
|
2262
|
|
2243
|
cmDspSysInstallCb(h, pts, "on", wtRt, "s-in", NULL );
|
2263
|
cmDspSysInstallCb(h, pts, "on", wtRt, "s-in", NULL );
|
2244
|
cmDspSysInstallCb(h, pts, "on", modp, "cmd", NULL );
|
2264
|
cmDspSysInstallCb(h, pts, "on", modp, "cmd", NULL );
|
2245
|
- cmDspSysInstallCb(h, pts, "on", modr, "cmd", NULL );
|
|
|
2246
|
cmDspSysInstallCb(h, onb, "sym", amCmd, "rewind",NULL );
|
2265
|
cmDspSysInstallCb(h, onb, "sym", amCmd, "rewind",NULL );
|
2247
|
cmDspSysInstallCb(h, onb, "out", c0.achan,"reset", NULL );
|
2266
|
cmDspSysInstallCb(h, onb, "out", c0.achan,"reset", NULL );
|
2248
|
|
2267
|
|
2249
|
// stop connections
|
2268
|
// stop connections
|
2250
|
cmDspSysInstallCb(h, offb, "sym", pts, "off", NULL );
|
2269
|
cmDspSysInstallCb(h, offb, "sym", pts, "off", NULL );
|
2251
|
cmDspSysInstallCb(h, pts, "off", modp, "cmd", NULL );
|
2270
|
cmDspSysInstallCb(h, pts, "off", modp, "cmd", NULL );
|
2252
|
- cmDspSysInstallCb(h, pts, "off", modr, "cmd", NULL );
|
|
|
2253
|
cmDspSysInstallCb(h, offb, "sym", mop, "reset", NULL );
|
2271
|
cmDspSysInstallCb(h, offb, "sym", mop, "reset", NULL );
|
2254
|
cmDspSysInstallCb(h, offb, "sym", mo2p, "reset", NULL );
|
2272
|
cmDspSysInstallCb(h, offb, "sym", mo2p, "reset", NULL );
|
2255
|
cmDspSysInstallCb(h, pts, "off", rndr, "cmd", NULL );
|
2273
|
cmDspSysInstallCb(h, pts, "off", rndr, "cmd", NULL );
|
|
|
|
|
2257
|
// score to score follower - to set initial search location
|
2275
|
// score to score follower - to set initial search location
|
2258
|
cmDspSysInstallCb(h, bldr, "sel", sfp, "index", NULL );
|
2276
|
cmDspSysInstallCb(h, bldr, "sel", sfp, "index", NULL );
|
2259
|
cmDspSysInstallCb(h, bldr, "sel", modp,"reset", NULL );
|
2277
|
cmDspSysInstallCb(h, bldr, "sel", modp,"reset", NULL );
|
2260
|
- cmDspSysInstallCb(h, bldr, "sel", modr,"reset", NULL );
|
|
|
2261
|
cmDspSysInstallCb(h, bldr, "sel", prp, "in", NULL );
|
2278
|
cmDspSysInstallCb(h, bldr, "sel", prp, "in", NULL );
|
2262
|
|
2279
|
|
2263
|
|
2280
|
|
|
|
|
|
2296
|
|
2313
|
|
2297
|
cmDspSysInstallCb(h, igain0, "val", ai0p, "gain", NULL ); // input gain control
|
2314
|
cmDspSysInstallCb(h, igain0, "val", ai0p, "gain", NULL ); // input gain control
|
2298
|
|
2315
|
|
|
|
2316
|
+ /*
|
2299
|
cmDspSysInstallCb(h, ec_mu, "val", ec0, "mu", NULL );
|
2317
|
cmDspSysInstallCb(h, ec_mu, "val", ec0, "mu", NULL );
|
2300
|
cmDspSysInstallCb(h, ec_di, "val", ec0, "delayN", NULL );
|
2318
|
cmDspSysInstallCb(h, ec_di, "val", ec0, "delayN", NULL );
|
2301
|
cmDspSysInstallCb(h, ec_hn, "val", ec0, "irN", NULL );
|
2319
|
cmDspSysInstallCb(h, ec_hn, "val", ec0, "irN", NULL );
|
|
|
2320
|
+ cmDspSysInstallCb(h, ec_byp,"out", ec0, "bypass", NULL );
|
2302
|
|
2321
|
|
|
|
2322
|
+ cmDspSysInstallCb(h, ec_mu, "val", ec1, "mu", NULL );
|
|
|
2323
|
+ cmDspSysInstallCb(h, ec_di, "val", ec1, "delayN", NULL );
|
|
|
2324
|
+ cmDspSysInstallCb(h, ec_hn, "val", ec1, "irN", NULL );
|
|
|
2325
|
+ cmDspSysInstallCb(h, ec_byp,"out", ec1, "bypass", NULL );
|
|
|
2326
|
+ */
|
|
|
2327
|
+
|
2303
|
cmDspSysInstallCb(h, ogain0, "val", ao0p, "gain", NULL ); // output gain control
|
2328
|
cmDspSysInstallCb(h, ogain0, "val", ao0p, "gain", NULL ); // output gain control
|
2304
|
cmDspSysInstallCb(h, ogain0, "val", ao1p, "gain", NULL );
|
2329
|
cmDspSysInstallCb(h, ogain0, "val", ao1p, "gain", NULL );
|
2305
|
|
2330
|
|