Explorar el Código

cmDspPgmKr.h/c, cmDspPgm.c : Added _cmDspSysPgm_TksbLite().

master
kevin hace 8 años
padre
commit
01e3a4af26
Se han modificado 3 ficheros con 270 adiciones y 10 borrados
  1. 1
    0
      dsp/cmDspPgm.c
  2. 267
    9
      dsp/cmDspPgmKr.c
  3. 2
    1
      dsp/cmDspPgmKr.h

+ 1
- 0
dsp/cmDspPgm.c Ver fichero

@@ -2948,6 +2948,7 @@ cmDspRC_t _cmDspSysPgm_BinEnc( cmDspSysH_t h, void** userPtrPtr )
2948 2948
 _cmDspSysPgm_t _cmDspSysPgmArray[] = 
2949 2949
 {
2950 2950
   { "reflect",       _cmDspSysPgm_ReflectCalc,  NULL, NULL },
2951
+  { "tksblite",     _cmDspSysPgm_TksbLite,     NULL, NULL }, 
2951 2952
   { "tksb",          _cmDspSysPgm_Tksb,         NULL, NULL },
2952 2953
   { "time_line",     _cmDspSysPgm_TimeLine,     NULL, NULL },
2953 2954
   { "seq-bldr",      _cmDspSysPgm_TakeSeqBldr,  NULL, NULL },

+ 267
- 9
dsp/cmDspPgmKr.c Ver fichero

@@ -1210,10 +1210,6 @@ cmDspRC_t _cmDspSysPgm_Tksb(cmDspSysH_t h, void** userPtrPtr )
1210 1210
   bool     useInputEqFl = false;
1211 1211
   bool     useInCompFl  = true;
1212 1212
 
1213
-  ///unsigned wtLoopCnt    = 1;    // 1=play once (-1=loop forever)
1214
-  ///unsigned wtInitMode   = 0;    // initial wt mode is 'silence'
1215
-  ///unsigned wtSmpCnt     = floor(cmDspSysSampleRate(h)); // wt length == srate
1216
-
1217 1213
   unsigned        sfBufCnt    = 7;     // length of the MIDI event buffer
1218 1214
   unsigned        sfMaxWndCnt = 10;    // length of the score event buffer
1219 1215
   unsigned        sfMinVel    = 5;     // ignore MIDI events below this velocity
@@ -1307,11 +1303,6 @@ cmDspRC_t _cmDspSysPgm_Tksb(cmDspSysH_t h, void** userPtrPtr )
1307 1303
     ci1p = cmDspSysAllocInst(h,"Compressor",  NULL,  8, cmpBypassFl, cmpThreshDb, cmpRatio_num, cmpAtkMs, cmpRlsMs, cmpMakeup, cmpWndMs, cmpWndMaxMs ); 
1308 1304
   }
1309 1305
 
1310
-  ///cmDspInst_t* tlp  = cmDspSysAllocInst(h,"TimeLine",    "tl",  2, r.tlFn, r.tlPrefixPath );
1311
-  ///cmDspInst_t* scp  = cmDspSysAllocInst(h,"Score",       "sc",  1, r.scFn );
1312
-  ///cmDspInst_t* php  = cmDspSysAllocInst(h,"Phasor",      NULL,  1, cmDspSysSampleRate(h) );
1313
-  ///cmDspInst_t* wtp  = cmDspSysAllocInst(h,"WaveTable",   NULL,  4, wtSmpCnt, wtInitMode, NULL, wtLoopCnt );
1314
-
1315 1306
   cmDspInst_t* bldr   = cmDspSysAllocInst( h,"TakeSeqBldr", NULL, 1, r.tksbFn );
1316 1307
   cmDspInst_t* rndr   = cmDspSysAllocInst( h,"TakeSeqRend", NULL, 0 );
1317 1308
 
@@ -2047,3 +2038,270 @@ cmDspRC_t _cmDspSysPgm_Tksb(cmDspSysH_t h, void** userPtrPtr )
2047 2038
 
2048 2039
 
2049 2040
 
2041
+cmDspRC_t _cmDspSysPgm_TksbLite(cmDspSysH_t h, void** userPtrPtr )
2042
+{
2043
+  cmDspRC_t       rc         = kOkDspRC;
2044
+  cmCtx_t*        cmCtx      = cmDspSysPgmCtx(h);
2045
+  cmErr_t         err;
2046
+  krRsrc_t        r;
2047
+
2048
+  unsigned sfBufCnt                 = 7; // length of the MIDI event buffer
2049
+  unsigned sfMaxWndCnt              = 10; // length of the score event buffer
2050
+  unsigned sfMinVel                 = 5; // ignore MIDI events below this velocity
2051
+  bool     sfEnaMeasFl              = false;
2052
+ 
2053
+  memset(&r,0,sizeof(r));
2054
+  cmErrSetup(&err,&cmCtx->rpt,"Kr Timeline");
2055
+
2056
+  if( krLoadRsrc(h,&err,&r) != kOkDspRC )
2057
+    return rc;
2058
+
2059
+  cmDspInst_t* ai0p = cmDspSysAllocInst(h,"AudioIn",    NULL,  1, 0);
2060
+  cmDspInst_t* ec0  = cmDspSysAllocInst(h,"EchoCancel", NULL,  1, 0,1 );
2061
+
2062
+  cmDspInst_t* bldr   = cmDspSysAllocInst( h,"TakeSeqBldr", NULL, 1, r.tksbFn );
2063
+  cmDspInst_t* rndr   = cmDspSysAllocInst( h,"TakeSeqRend", NULL, 0 );
2064
+
2065
+  cmDspInst_t* pts  = cmDspSysAllocInst(h,"PortToSym",   NULL,  2, "on", "off" );
2066
+
2067
+  cmDspInst_t* nmp  = cmDspSysAllocInst(h,"NanoMap",     NULL,  0 );
2068
+  cmDspInst_t* mop  = cmDspSysAllocInst(h,"MidiOut",     NULL,  2, r.midiDevice,r.midiOutPort);
2069
+  cmDspInst_t* mo2p = cmDspSysAllocInst(h,"MidiOut",     NULL,  2, r.midiDevice,r.midiOutPort2);
2070
+  cmDspInst_t* sfp  = cmDspSysAllocInst(h,"ScFol",       NULL,  1, r.scFn, sfBufCnt, sfMaxWndCnt, sfMinVel, sfEnaMeasFl );
2071
+  cmDspInst_t* amp  = cmDspSysAllocInst(h,"ActiveMeas",  NULL,  1, 100 );
2072
+  cmDspInst_t* modp = cmDspSysAllocInst(h,"ScMod",       NULL,  2, r.modFn, "m1" );
2073
+  cmDspInst_t* modr = cmDspSysAllocInst(h,"ScMod",       NULL,  2, r.modFn, "m1" );
2074
+ 
2075
+  unsigned   preGrpSymId     = cmDspSysPresetRegisterGroup(h,"tl");
2076
+  unsigned   cmpPreGrpSymId  = cmDspSysPresetRegisterGroup(h,"tl_cmp"); 
2077
+
2078
+  cmDspTlXform_t c0;
2079
+
2080
+  cmDspSysNewPage(h,"Controls-0");
2081
+  _cmDspSys_TlXformChain(h, &c0, preGrpSymId, cmpPreGrpSymId, modp, 0, 0 );
2082
+
2083
+
2084
+  cmDspInst_t* ao0p = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, 2 );
2085
+  cmDspInst_t* ao1p = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, 3 );
2086
+
2087
+  cmDspSysNewPage(h,"Main");
2088
+  cmDspInst_t* liveb= cmDspSysAllocInst(h,"Button", "live",    2, kCheckDuiId,  0.0 );
2089
+  cmDspInst_t* simb = cmDspSysAllocInst(h,"Button", "simulate",2, kCheckDuiId,  0.0 );
2090
+  cmDspInst_t* ainb = cmDspSysAllocInst(h,"Button", "audio in",2, kCheckDuiId,  0.0 );
2091
+  cmDspInst_t* measb= cmDspSysAllocInst(h,"Button", "meas",    2, kCheckDuiId,  0.0 );
2092
+  cmDspInst_t* onb  = cmDspSysAllocInst(h,"Button", "start",   2, kButtonDuiId, 1.0 );
2093
+  cmDspInst_t* offb = cmDspSysAllocInst(h,"Button", "stop",    2, kButtonDuiId, 1.0 );
2094
+  cmDspInst_t* prp  = cmDspSysAllocInst(h,"Printer", NULL,   1, ">" );
2095
+  cmDspInst_t* prd  = cmDspSysAllocInst(h,"Printer", NULL,   1, "DYN:" );
2096
+  cmDspInst_t* pre  = cmDspSysAllocInst(h,"Printer", NULL,   1, "EVEN:" );
2097
+  cmDspInst_t* prt  = cmDspSysAllocInst(h,"Printer", NULL,   1, "TEMPO:");
2098
+  cmDspInst_t* prc  = cmDspSysAllocInst(h,"Printer", NULL,   1, "COST:");
2099
+
2100
+  // Record <-> Live switches
2101
+  cmDspInst_t* tlRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // time line swich
2102
+  cmDspInst_t* wtRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);
2103
+  cmDspInst_t* mfpRt = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);
2104
+  cmDspInst_t* amRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);
2105
+  cmDspInst_t* au0Sw = cmDspSysAllocInst(h,"1ofN",   NULL, 2, 2, 0);
2106
+  cmDspInst_t* au1Sw = cmDspSysAllocInst(h,"1ofN",   NULL, 2, 2, 0);
2107
+
2108
+  cmDspInst_t* siRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  
2109
+  cmDspInst_t* muRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  
2110
+  cmDspInst_t* d0Rt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);
2111
+  cmDspInst_t* d1Rt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);
2112
+  cmDspInst_t* stRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);
2113
+
2114
+  cmDspSysNewColumn(h,0);
2115
+  cmDspInst_t* igain0 = cmDspSysAllocInst(h,"Scalar", "In Gain-0",    5, kNumberDuiId, 0.0,   100.0,0.01,   0.0 );  
2116
+
2117
+
2118
+  cmDspSysNewColumn(h,0);
2119
+  cmDspInst_t* ogain0 = cmDspSysAllocInst(h,"Scalar", "Out Gain-0",   5, kNumberDuiId, 0.0,   10.0, 0.01,   0.0 );  
2120
+
2121
+  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 );  
2124
+
2125
+  // Audio file recording
2126
+  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 );
2128
+  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);
2130
+  cmDspInst_t* mi0p    = cmDspSysAllocInst(h,"AMeter","In 0",  0);
2131
+
2132
+
2133
+  //--------------- Preset controls
2134
+  cmDspSysNewColumn(h,0);
2135
+  cmDspInst_t* preset    = cmDspSysAllocInst(   h, "Preset", NULL, 1, preGrpSymId );
2136
+  cmDspInst_t* presetLbl = cmDspSysAllocInst(   h, "Text",   "Preset",      1, "" );
2137
+  cmDspInst_t* storeBtn  = cmDspSysAllocButton( h, "store",  0);
2138
+  cmDspInst_t* recallBtn = cmDspSysAllocButton( h, "recall", 0);
2139
+  cmDspSysInstallCb(   h, presetLbl, "val", preset, "label",NULL);
2140
+  cmDspSysInstallCb(   h, storeBtn,  "sym", preset, "cmd", NULL );
2141
+  cmDspSysInstallCb(   h, recallBtn, "sym", preset, "cmd", NULL );
2142
+
2143
+  //cmDspInst_t* prePath    = cmDspSysAllocInst(   h, "Fname",  "prePath",   3, true,NULL,r.tlPrefixPath);
2144
+  
2145
+
2146
+  cmDspSysNewColumn(h,0);
2147
+
2148
+  //--------------- Recorded performance evaluation and Active Measurement related controls
2149
+  cmDspInst_t* clrBtn  = cmDspSysAllocButton( h, "clear",  0);
2150
+  cmDspInst_t* prtBtn  = cmDspSysAllocButton( h, "dump",  0);
2151
+  cmDspInst_t* mlst    = cmDspSysAllocInst(   h, "MsgList",   NULL, 3, "meas", r.measFn, 2);
2152
+  cmDspInst_t* amCmd   = cmDspSysAllocInst(   h, "PortToSym", NULL, 2, "add", "rewind" );  
2153
+
2154
+
2155
+
2156
+
2157
+  if((rc = cmDspSysLastRC(h)) != kOkDspRC )
2158
+    return rc;
2159
+
2160
+  // Output Audio file recording.
2161
+  cmDspSysInstallCb(h, recdGain,"val", afop,    "gain0", NULL );
2162
+  cmDspSysInstallCb(h, recdGain,"val", afop,    "gain1", NULL );
2163
+  cmDspSysInstallCb(h, recdChk, "out", recdPtS, "on",    NULL );
2164
+  cmDspSysInstallCb(h, recdChk, "out", recdPtS, "off",   NULL );
2165
+  cmDspSysInstallCb(h, recdPtS, "out", afop,    "sel",   NULL );
2166
+
2167
+
2168
+  // Audio connections
2169
+  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
2172
+  
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
2177
+
2178
+
2179
+  cmDspSysInstallCb( h, clrBtn, "sym",    amp, "cmd",   NULL ); // clear active meas.
2180
+  cmDspSysInstallCb( h, prtBtn, "sym",    amp, "cmd",   NULL ); // print active meas
2181
+  cmDspSysInstallCb( h, amCmd, "add",     amp, "cmd",   NULL ); // add active meas
2182
+  cmDspSysInstallCb( h, amCmd, "rewind",  amp, "cmd",   NULL ); // rewind active meas
2183
+  cmDspSysInstallCb( h, mlst,   "loc",    amp, "loc",   NULL ); // recorded meas's list to active meas unit
2184
+  cmDspSysInstallCb( h, mlst,   "typeId", amp, "type",  NULL ); //
2185
+  cmDspSysInstallCb( h, mlst,   "val",    amp, "val",   NULL ); //
2186
+  cmDspSysInstallCb( h, mlst,   "cost",   amp, "cst",   NULL ); // 
2187
+  cmDspSysInstallCb( h, mlst,   "typeId", amCmd, "add", NULL ); //
2188
+  cmDspSysInstallCb( h, sfp,    "out",    amRt, "f-in", NULL ); // sfp-active meas router (rtr is switched by live btn)
2189
+  cmDspSysInstallCb( h, amRt,   "f-out-0",amp, "sfloc", NULL ); 
2190
+
2191
+  cmDspSysInstallCb( h, sfp, "vloc", amp,   "loc",  NULL ); // live meas's to active meas unit
2192
+  cmDspSysInstallCb( h, sfp, "vval", amp,   "val",  NULL ); //
2193
+  cmDspSysInstallCb( h, sfp, "vcost",amp,   "cst",  NULL ); //
2194
+  cmDspSysInstallCb( h, sfp, "vtyp", amp,   "type", NULL ); //
2195
+  cmDspSysInstallCb( h, sfp, "vtyp", amCmd, "add",  NULL);  //
2196
+
2197
+  // ***** delete this to prevent the score follower from driving the active-measure unit in 'live' mode
2198
+  cmDspSysInstallCb( h, amRt,   "f-out-1",amp, "sfloc", NULL );
2199
+  // *****
2200
+
2201
+  // active measure loc to xfad channel trigger
2202
+  cmDspSysInstallCb( h, amp,    "scloc",  c0.achan,   "trig", NULL );  // See Also: modp.sw ->achan.trig
2203
+
2204
+  cmDspSysInstallCb( h, amp,    "even",   pre,        "in",   NULL );  // active meas output to printers
2205
+  cmDspSysInstallCb( h, amp,    "dyn",    prd,        "in",   NULL );
2206
+  cmDspSysInstallCb( h, amp,    "tempo",  prt,        "in",   NULL );
2207
+  cmDspSysInstallCb( h, amp,    "cost",   prc,        "in",   NULL );
2208
+
2209
+
2210
+  // 'live' button -> live router selector switch 
2211
+  cmDspSysInstallCb(h, liveb, "out",  wtRt, "sel", NULL );
2212
+  cmDspSysInstallCb(h, liveb, "out",  tlRt, "sel", NULL );
2213
+  cmDspSysInstallCb(h, liveb, "out",  mfpRt,"sel", NULL );
2214
+  cmDspSysInstallCb(h, liveb, "out",  amRt, "sel", NULL );
2215
+  cmDspSysInstallCb(h, liveb, "out",  au0Sw, "chidx", NULL );
2216
+  cmDspSysInstallCb(h, liveb, "out",  au1Sw, "chidx", NULL );
2217
+  cmDspSysInstallCb(h, liveb, "out",  measb, "in",     NULL );
2218
+  cmDspSysInstallCb(h, measb, "out",  sfp,   "measfl", NULL );
2219
+
2220
+  // 'simulate' button -> simulate router selector switch
2221
+  cmDspSysInstallCb(h, simb,  "out",  ainb,  "in", NULL );
2222
+  cmDspSysInstallCb(h, ainb,  "out",  au0Sw, "chidx", NULL );
2223
+  cmDspSysInstallCb(h, ainb,  "out",  au1Sw, "chidx", NULL );
2224
+  cmDspSysInstallCb(h, simb,  "out",  siRt,  "sel", NULL );
2225
+  cmDspSysInstallCb(h, simb,  "out",  muRt,  "sel", NULL );
2226
+  cmDspSysInstallCb(h, simb,  "out",  d1Rt,  "sel", NULL );
2227
+  cmDspSysInstallCb(h, simb,  "out",  d0Rt,  "sel", NULL );
2228
+  cmDspSysInstallCb(h, simb,  "out",  stRt,  "sel", NULL );
2229
+  
2230
+  
2231
+  // bldr -> rndr 
2232
+  cmDspSysInstallCb(   h, bldr,    "bldr",  rndr,    "bldr", NULL);    
2233
+  cmDspSysInstallCb(   h, bldr, "refresh",  rndr, "refresh", NULL );
2234
+  cmDspSysInstallCb(   h, bldr,     "sel",  rndr,     "sel", NULL );
2235
+
2236
+  // start connections
2237
+  cmDspSysInstallCb(h, onb,  "sym",    tlRt,  "s-in",  NULL );
2238
+  cmDspSysInstallCb(h, onb,  "sym",    rndr,  "cmd", NULL );
2239
+  cmDspSysInstallCb(h, onb,  "sym",    bldr,  "send",  NULL );
2240
+  cmDspSysInstallCb(h, onb,  "sym",    mfpRt, "s-in",  NULL );
2241
+  cmDspSysInstallCb(h, onb,  "sym",    pts,   "on",    NULL );
2242
+  
2243
+  cmDspSysInstallCb(h, pts, "on",      wtRt,     "s-in",  NULL );
2244
+  cmDspSysInstallCb(h, pts, "on",      modp,     "cmd",   NULL );
2245
+  cmDspSysInstallCb(h, pts, "on",      modr,     "cmd",   NULL );
2246
+  cmDspSysInstallCb(h, onb, "sym",     amCmd,   "rewind",NULL );
2247
+  cmDspSysInstallCb(h, onb, "out",     c0.achan,"reset",  NULL );
2248
+
2249
+  // stop connections
2250
+  cmDspSysInstallCb(h, offb, "sym",  pts,  "off",   NULL );
2251
+  cmDspSysInstallCb(h, pts,  "off",  modp, "cmd",   NULL );
2252
+  cmDspSysInstallCb(h, pts,  "off",  modr, "cmd",   NULL );
2253
+  cmDspSysInstallCb(h, offb, "sym",  mop,  "reset", NULL );
2254
+  cmDspSysInstallCb(h, offb, "sym",  mo2p, "reset", NULL );
2255
+  cmDspSysInstallCb(h, pts,  "off",  rndr, "cmd",   NULL );
2256
+  
2257
+  // score to score follower - to set initial search location
2258
+  cmDspSysInstallCb(h, bldr, "sel",    sfp, "index",  NULL );
2259
+  cmDspSysInstallCb(h, bldr, "sel",    modp,"reset", NULL );
2260
+  cmDspSysInstallCb(h, bldr, "sel",    modr,"reset", NULL );
2261
+  cmDspSysInstallCb(h, bldr, "sel",    prp, "in", NULL );
2262
+
2263
+
2264
+  // MIDI file player to score follower
2265
+  cmDspSysInstallCb(h, rndr, "smpidx",  siRt, "f-in", NULL );
2266
+  cmDspSysInstallCb(h, siRt, "f-out-1", sfp,  "smpidx",NULL ); 
2267
+  // leave siRt.f-out-1 unconnected because it should be ignored in 'simulate mode'
2268
+
2269
+  /// ???? does rndr need to generate muid ??????
2270
+  cmDspSysInstallCb(h, muRt, "f-out-1", sfp,  "muid",    NULL );
2271
+  // leave muRt.f-out-1 unconnected because it should be ignored in 'simulate mode'
2272
+
2273
+  cmDspSysInstallCb(h, rndr,  "d1",      d1Rt, "f-in",  NULL );
2274
+  cmDspSysInstallCb(h, d1Rt, "f-out-1", sfp,  "d1",    NULL );
2275
+  cmDspSysInstallCb(h, d1Rt, "f-out-1", nmp,  "d1",    NULL );
2276
+  cmDspSysInstallCb(h, nmp,   "d1",     mop,  "d1",    NULL );
2277
+  cmDspSysInstallCb(h, nmp,   "d1",     mo2p,  "d1",    NULL );
2278
+
2279
+  cmDspSysInstallCb(h, rndr,  "d0",      d0Rt,  "f-in", NULL );
2280
+  cmDspSysInstallCb(h, d0Rt, "f-out-1", sfp,   "d0",   NULL );
2281
+  cmDspSysInstallCb(h, d0Rt, "f-out-1", nmp,  "d0",   NULL );
2282
+  cmDspSysInstallCb(h, nmp,  "d0",      mop,  "d0",   NULL );
2283
+  cmDspSysInstallCb(h, nmp,  "d0",      mo2p,  "d0",   NULL );
2284
+
2285
+  cmDspSysInstallCb(h, rndr, "status",   stRt, "f-in",  NULL );
2286
+  cmDspSysInstallCb(h, stRt, "f-out-1", sfp,  "status",NULL );
2287
+  cmDspSysInstallCb(h, stRt, "f-out-1", nmp,  "status",NULL );
2288
+  cmDspSysInstallCb(h, nmp,  "status",  mop,  "status",NULL );
2289
+  cmDspSysInstallCb(h, nmp,  "status",  mo2p,  "status",NULL );
2290
+
2291
+
2292
+
2293
+  // score follower to recd_play,modulator and printers
2294
+  cmDspSysInstallCb(h, sfp, "out",     modp,    "index", NULL );
2295
+  cmDspSysInstallCb(h, sfp, "recent",  prp,     "in",  NULL );  // report 'recent' but only act on 'max' loc index
2296
+
2297
+  cmDspSysInstallCb(h, igain0, "val", ai0p, "gain", NULL );   // input gain control
2298
+
2299
+  cmDspSysInstallCb(h, ec_mu, "val", ec0, "mu",     NULL );
2300
+  cmDspSysInstallCb(h, ec_di, "val", ec0, "delayN", NULL );
2301
+  cmDspSysInstallCb(h, ec_hn, "val", ec0, "irN",    NULL );
2302
+
2303
+  cmDspSysInstallCb(h, ogain0, "val", ao0p, "gain", NULL );   // output gain control
2304
+  cmDspSysInstallCb(h, ogain0, "val", ao1p, "gain", NULL );
2305
+
2306
+  return rc;
2307
+}

+ 2
- 1
dsp/cmDspPgmKr.h Ver fichero

@@ -7,7 +7,8 @@ extern "C" {
7 7
 
8 8
   cmDspRC_t _cmDspSysPgm_TimeLine( cmDspSysH_t h, void** userPtrPtr );
9 9
   cmDspRC_t _cmDspSysPgm_Tksb(cmDspSysH_t h, void** userPtrPtr );
10
-
10
+  cmDspRC_t _cmDspSysPgm_TksbLite(cmDspSysH_t h, void** userPtrPtr );
11
+  
11 12
 #ifdef __cplusplus
12 13
   }
13 14
 #endif

Loading…
Cancelar
Guardar