Browse Source

cmDspPgmKrTimeLineLiteAf.c : Added stop location and wet,dry master gain.

master
kevin 3 years ago
parent
commit
6c8ab0a131
1 changed files with 75 additions and 66 deletions
  1. 75
    66
      src/dsp/cmDspPgmKrTimeLineLiteAf.c

+ 75
- 66
src/dsp/cmDspPgmKrTimeLineLiteAf.c View File

@@ -62,27 +62,22 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
62 62
   //int baseAudioInCh =  0; // 2;
63 63
   int baseAudioOutCh = 0;//  2;
64 64
 
65
-  //cmDspInst_t* ai0 = cmDspSysAllocInst(h,"AudioIn",     NULL,  1, baseAudioInCh + 0);
66
-  //cmDspInst_t* ai1 = cmDspSysAllocInst(h,"AudioIn",     NULL,  1, baseAudioInCh + 1);
67
-  //cmDspInst_t* mip = cmDspSysAllocInst(h,"MidiIn",      NULL,  2, "MOTU - Traveler mk3", "MIDI Port");
68
-  //cmDspInst_t* mip = cmDspSysAllocInst(h,"MidiIn",      NULL,  2, "Apple Inc. - IAC Driver", "Bus 1");
69 65
   
70 66
   cmDspInst_t* tlp  = cmDspSysAllocInst(h,"TimeLine",    "tl",  2, r.tlFn, r.tlPrefixPath );
71 67
   cmDspInst_t* scp  = cmDspSysAllocInst(h,"Score",       "sc",  1, r.scFn );
72 68
   cmDspInst_t* pts  = cmDspSysAllocInst(h,"PortToSym",   NULL,  2, "on", "off" );
73 69
 
74
-  cmDspInst_t* php =  cmDspSysAllocInst(h,"Phasor",   NULL,  0 );
75
-  cmDspInst_t* wtp =  cmDspSysAllocInst(h,"WaveTable",NULL,  2, ((int)cmDspSysSampleRate(h)), 1 );
70
+  cmDspInst_t* php =  cmDspSysAllocInst(h,"Phasor",    NULL,  0 );
71
+  cmDspInst_t* wt0 =  cmDspSysAllocInst(h,"WaveTable", NULL,  7, ((int)cmDspSysSampleRate(h)), 1, NULL, -1, 0, -1, 0 );
72
+  cmDspInst_t* wt1 =  cmDspSysAllocInst(h,"WaveTable", NULL,  7, ((int)cmDspSysSampleRate(h)), 1, NULL, -1, 0, -1, 1 );
76 73
 
77 74
   
78 75
   cmDspInst_t* mfp  = cmDspSysAllocInst(h,"MidiFilePlay",NULL,  0 );
79 76
   cmDspInst_t* nmp  = cmDspSysAllocInst(h,"NanoMap",     NULL,  0 );
80
-  //cmDspInst_t* pic  = cmDspSysAllocInst(h,"Picadae",     NULL,  0 );
81
-  cmDspInst_t* mop  = cmDspSysAllocInst(h,"MidiOut",     NULL,  2, "Fastlane","Fastlane MIDI A" );
82
-  cmDspInst_t* mo2p = cmDspSysAllocInst(h,"MidiOut",     NULL,  2, "Fastlane","Fastlane MIDI B");
83 77
   cmDspInst_t* sfp  = cmDspSysAllocInst(h,"ScFol",       NULL,  5, r.scFn, sfBufCnt, sfMaxWndCnt, sfMinVel, sfEnaMeasFl );
84 78
   cmDspInst_t* amp  = cmDspSysAllocInst(h,"ActiveMeas",  NULL,  1, 100 );
85 79
   cmDspInst_t* modp = cmDspSysAllocInst(h,"ScMod",       NULL,  2, r.modFn, "m1" );
80
+  cmDspInst_t* its  = cmDspSysAllocInst(h,"IntToSym",    NULL,  2, 0, "off");
86 81
  
87 82
   unsigned   preGrpSymId     = cmDspSysPresetRegisterGroup(h,"tl");
88 83
   unsigned   cmpPreGrpSymId  = cmDspSysPresetRegisterGroup(h,"tl_cmp"); 
@@ -95,14 +90,14 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
95 90
   cmDspSysNewPage(h,"Controls-1");
96 91
   _cmDspSys_TlXformChain(h, &c1, preGrpSymId, cmpPreGrpSymId, amp, modp, 1, 1 );
97 92
 
93
+  cmDspInst_t* lmix = cmDspSysAllocInst(h, "AMix",      NULL, 1, 2 );
94
+  cmDspInst_t* rmix = cmDspSysAllocInst(h, "AMix",      NULL, 1, 2 );
98 95
 
99
-  cmDspInst_t* ao0 = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, baseAudioOutCh+2 ); // 4 Piano     1 Output
100
-  cmDspInst_t* ao1 = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, baseAudioOutCh+3 ); // 5          2
101
-  cmDspInst_t* ao2 = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, baseAudioOutCh+0 ); // 2 Transform 1 OUtput
102
-  cmDspInst_t* ao3 = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, baseAudioOutCh+1 ); // 3          2
96
+  cmDspInst_t* ao0 = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, baseAudioOutCh+0 ); 
97
+  cmDspInst_t* ao1 = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, baseAudioOutCh+1 ); 
103 98
 
104 99
   cmDspSysNewPage(h,"Main");
105
-  cmDspInst_t* notesOffb= cmDspSysAllocInst(h,"Button", "notesOff",   2, kButtonDuiId, 1.0 );
100
+  //cmDspInst_t* notesOffb= cmDspSysAllocInst(h,"Button", "notesOff",   2, kButtonDuiId, 1.0 );
106 101
   cmDspInst_t* onb     = cmDspSysAllocInst(h,"Button", "start",   2, kButtonDuiId, 1.0 );
107 102
   cmDspInst_t* offb    = cmDspSysAllocInst(h,"Button", "stop",    2, kButtonDuiId, 1.0 );
108 103
   cmDspInst_t* mod_sel = cmDspSysAllocMsgList(h, NULL, "mod_sel", 1 );
@@ -115,11 +110,7 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
115 110
   // Record <-> Live switches
116 111
   cmDspInst_t* tlRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // time line swich
117 112
   cmDspInst_t* mfpRt = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);
118
-  //cmDspInst_t* amRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);
119 113
 
120
-  //cmDspSysNewColumn(h,0);
121
-  //cmDspInst_t* igain0 = cmDspSysAllocInst(h,"Scalar", "In Gain-0",    5, kNumberDuiId, 0.0,   100.0,0.01,   1.0 );  
122
-  //cmDspInst_t* igain1 = cmDspSysAllocInst(h,"Scalar", "In Gain-1",    5, kNumberDuiId, 0.0,   100.0,0.01,   1.0 );  
123 114
 
124 115
   //cmDspSysNewColumn(h,0);
125 116
   cmDspInst_t* ogain0 = cmDspSysAllocInst(h,"Scalar", "Dry Out Gain-0",   5, kNumberDuiId, 0.0,   10.0,0.01,   1.0 );  
@@ -127,6 +118,16 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
127 118
   cmDspInst_t* ogain2 = cmDspSysAllocInst(h,"Scalar", "Wet Out Gain-2",   5, kNumberDuiId, 0.0,   10.0,0.01,   1.0 );  
128 119
   cmDspInst_t* ogain3 = cmDspSysAllocInst(h,"Scalar", "Wet Out Gain-3",   5, kNumberDuiId, 0.0,   10.0,0.01,   1.0 );  
129 120
 
121
+  cmDspInst_t* ogainW = cmDspSysAllocInst(h,"Scalar", "Wet Master",   5, kNumberDuiId, 0.0,   10.0,0.01,   1.0 );  
122
+  cmDspInst_t* ogainD = cmDspSysAllocInst(h,"Scalar", "Dry Master",   5, kNumberDuiId, 0.0,   10.0,0.01,   1.0 );  
123
+
124
+  cmDspInst_t* gmult0  = cmDspSysAllocInst(h,"ScalarOp", NULL, 6, 2, "*", "in-0", 1.0, "in-1", 1.0 );
125
+  cmDspInst_t* gmult1  = cmDspSysAllocInst(h,"ScalarOp", NULL, 6, 2, "*", "in-0", 1.0, "in-1", 1.0 );
126
+  cmDspInst_t* gmult2  = cmDspSysAllocInst(h,"ScalarOp", NULL, 6, 2, "*", "in-0", 1.0, "in-1", 1.0 );
127
+  cmDspInst_t* gmult3  = cmDspSysAllocInst(h,"ScalarOp", NULL, 6, 2, "*", "in-0", 1.0, "in-1", 1.0 );
128
+  
129
+ 
130
+  
130 131
   // Audio file recording
131 132
   cmDspInst_t* recdGain= cmDspSysAllocInst(h,"Scalar", "Recd Gain",  5, kNumberDuiId, 0.0,   100.0,0.01, 1.5 );  
132 133
   cmDspInst_t* recdChk = cmDspSysAllocInst(h,"Button", "Record",     2, kCheckDuiId, 0.0 );
@@ -135,10 +136,11 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
135 136
   cmDspInst_t* mi0p    = cmDspSysAllocInst(h,"AMeter","In 0",  0);
136 137
   cmDspInst_t* mi1p    = cmDspSysAllocInst(h,"AMeter","In 1",  0);
137 138
 
138
-  cmDspInst_t* meas    = cmDspSysAllocInst(h,"Scalar", "Meas",    5, kNumberDuiId, 1.0,   59.0,1.0,   1.0 );  
139
+  cmDspInst_t* meas     = cmDspSysAllocInst(h,"Scalar", "Begin Meas", 5, kNumberDuiId, 1.0, 1000.0, 1.0, 1.0 );  
140
+  cmDspInst_t* emeas    = cmDspSysAllocInst(h,"Scalar", "End   Meas", 5, kNumberDuiId, 1.0, 1000.0, 1.0, 1.0 );  
139 141
   cmDspSysInstallCb( h, meas, "val", scp, "meas", NULL);
140 142
   cmDspSysInstallCb( h, meas, "val", tlp, "meas", NULL);
141
-
143
+  
142 144
 
143 145
 
144 146
 
@@ -173,37 +175,34 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
173 175
   cmDspSysInstallCb(h, recdPtS, "out", afop,    "sel",   NULL );
174 176
 
175 177
   // Audio connections
176
-
177
-  cmDspSysConnectAudio(h, php, "out", wtp, "phs" );   // phasor -> wave table
178
-  cmDspSysConnectAudio(h, wtp, "out", ao0, "in" );    // wave table -> audio out (dry output)
179
-  cmDspSysConnectAudio(h, wtp, "out", ao1, "in" );    // 
178
+  cmDspSysConnectAudio(h, php, "out", wt0, "phs" );      // phasor -> wave table
179
+  cmDspSysConnectAudio(h, php, "out", wt1, "phs" );      // 
180 180
   
181
-  //cmDspSysConnectAudio( h, ai0,   "out", ao0,   "in" );  //  dry signal through 
182
-  //cmDspSysConnectAudio( h, ai1,   "out", ao1,   "in" );  //
183
-  
184
-  //cmDspSysConnectAudio( h, ai0,   "out", mi0p,   "in" );  //
185
-  //cmDspSysConnectAudio( h, ai0,   "out", c0.kr0, "in" );  // ain -> ch0.kr0
186
-  //cmDspSysConnectAudio( h, ai0,   "out", c0.kr1, "in" );  // ain -> ch0.kr1
181
+  cmDspSysConnectAudio(h, wt0, "out", lmix, "in-0" );    // wave table -> audio out (dry output)
182
+  cmDspSysConnectAudio(h, wt1, "out", rmix, "in-0" );    // 
183
+
184
+  //cmDspSysConnectAudio(h, wt0, "out", lmix, "in-1" );    // wave table -> audio out (dry output)
185
+  //cmDspSysConnectAudio(h, wt1, "out", rmix, "in-1" );    // 
187 186
 
188
-  cmDspSysConnectAudio( h, wtp,   "out", mi0p,   "in" );  //
189
-  cmDspSysConnectAudio( h, wtp,   "out", c0.kr0, "in" );  // ain -> ch0.kr0
190
-  cmDspSysConnectAudio( h, wtp,   "out", c0.kr1, "in" );  // ain -> ch0.kr1
187
+
188
+  cmDspSysConnectAudio( h, wt0,   "out", mi0p,   "in" );  //
189
+  cmDspSysConnectAudio( h, wt0,   "out", c0.kr0, "in" );  // ain -> ch0.kr0
190
+  cmDspSysConnectAudio( h, wt0,   "out", c0.kr1, "in" );  // ain -> ch0.kr1
191 191
 
192 192
   
193
-  cmDspSysConnectAudio( h, c0.cmp,"out", ao2,    "in" );  // ch0.cmp -> aout
193
+  cmDspSysConnectAudio( h, c0.cmp,"out", lmix,    "in-1" );  // ch0.cmp -> aout
194 194
   cmDspSysConnectAudio( h, c0.cmp,"out", afop,   "in0");  // ch0.cmp -> audio_file_out
195 195
 
196
-  //cmDspSysConnectAudio( h, ai1,   "out", mi1p,   "in" );  //
197
-  //cmDspSysConnectAudio( h, ai1,   "out", c1.kr0, "in" );  // ain -> ch1.kr0
198
-  //cmDspSysConnectAudio( h, ai1,   "out", c1.kr1, "in" );  // ain -> ch1.kr1
199 196
 
200
-  cmDspSysConnectAudio( h, wtp,   "out", mi1p,   "in" );  //
201
-  cmDspSysConnectAudio( h, wtp,   "out", c1.kr0, "in" );  // ain -> ch1.kr0
202
-  cmDspSysConnectAudio( h, wtp,   "out", c1.kr1, "in" );  // ain -> ch1.kr1
197
+  cmDspSysConnectAudio( h, wt1,   "out", mi1p,   "in" );  //
198
+  cmDspSysConnectAudio( h, wt1,   "out", c1.kr0, "in" );  // ain -> ch1.kr0
199
+  cmDspSysConnectAudio( h, wt1,   "out", c1.kr1, "in" );  // ain -> ch1.kr1
203 200
 
204
-  cmDspSysConnectAudio( h, c1.cmp,"out", ao3,    "in" );  // ch1.cmp -> aout
201
+  cmDspSysConnectAudio( h, c1.cmp,"out", rmix,    "in-1" );  // ch1.cmp -> aout
205 202
   cmDspSysConnectAudio( h, c1.cmp,"out", afop,   "in1");  // ch1.cmp ->audio_file_out
206 203
   
204
+  cmDspSysConnectAudio( h, lmix, "out", ao0, "in" );
205
+  cmDspSysConnectAudio( h, rmix, "out", ao1, "in" );
207 206
 
208 207
 
209 208
   cmDspSysInstallCb( h, clrBtn, "sym",    amp, "cmd",   NULL ); // clear active meas.
@@ -252,8 +251,9 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
252 251
   cmDspSysInstallCb( h, sfp, "vcost",prt,   "in",  NULL ); //
253 252
   cmDspSysInstallCb( h, sfp, "vtyp", prc,   "in", NULL ); //
254 253
   */
254
+  
255 255
   // wave-table to time-line cursor
256
-  //cmDspSysInstallCb(   h, wtp, "fidx",tlp,  "curs", NULL); 
256
+  cmDspSysInstallCb(   h, wt0, "fidx",tlp,  "curs", NULL); 
257 257
 
258 258
   cmDspSysInstallCb(h, prePath, "out", tlp, "path", NULL );
259 259
 
@@ -267,7 +267,8 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
267 267
   cmDspSysInstallCb(h, mfpRt,"s-out-0",mfp,  "sel",   NULL );
268 268
 
269 269
   cmDspSysInstallCb(h, onb, "sym",     pts,     "on",     NULL );
270
-  cmDspSysInstallCb(h, pts, "on",      wtp,     "cmd",    NULL );
270
+  cmDspSysInstallCb(h, pts, "on",      wt0,     "cmd",    NULL );
271
+  cmDspSysInstallCb(h, pts, "on",      wt1,     "cmd",    NULL );
271 272
   cmDspSysInstallCb(h, pts, "on",      modp,    "cmd",    NULL );
272 273
   cmDspSysInstallCb(h, onb, "sym",     amCmd,   "rewind", NULL );
273 274
   cmDspSysInstallCb(h, onb, "out",     c0.achan,"reset",  NULL );
@@ -278,11 +279,10 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
278 279
   // stop connections
279 280
   cmDspSysInstallCb(h, tlp,  "mfn", pts, "off",   NULL ); // Prevents WT start on new audio file from TL.
280 281
   cmDspSysInstallCb(h, offb, "sym", mfp, "sel",   NULL ); 
281
-  cmDspSysInstallCb(h, offb, "sym", pts, "off",   NULL );
282
-  cmDspSysInstallCb(h, pts,  "off", wtp, "cmd",   NULL );
282
+  cmDspSysInstallCb(h, offb, "sym", pts, "off",   NULL );  
283
+  cmDspSysInstallCb(h, pts,  "off", wt0, "cmd",   NULL );
284
+  cmDspSysInstallCb(h, pts,  "off", wt1, "cmd",   NULL );
283 285
   cmDspSysInstallCb(h, pts,  "off", modp,"cmd",   NULL );
284
-  cmDspSysInstallCb(h, offb, "sym", mop, "reset", NULL );
285
-  cmDspSysInstallCb(h, offb, "sym", mo2p,"reset", NULL );
286 286
 
287 287
 
288 288
   // time-line to MIDI file player selection
@@ -292,9 +292,13 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
292 292
 
293 293
 
294 294
   // time-line to Audio file player selection
295
-  cmDspSysInstallCb(h, tlp, "absi", wtp, "beg",   NULL );
296
-  cmDspSysInstallCb(h, tlp, "aesi", wtp, "end",   NULL );
297
-  cmDspSysInstallCb(h, tlp, "afn",  wtp, "fn",    NULL );
295
+  cmDspSysInstallCb(h, tlp, "absi", wt0, "beg",   NULL );
296
+  cmDspSysInstallCb(h, tlp, "aesi", wt0, "end",   NULL );
297
+  cmDspSysInstallCb(h, tlp, "afn",  wt0, "fn",    NULL );
298
+
299
+  cmDspSysInstallCb(h, tlp, "absi", wt1, "beg",   NULL );
300
+  cmDspSysInstallCb(h, tlp, "aesi", wt1, "end",   NULL );
301
+  cmDspSysInstallCb(h, tlp, "afn",  wt1, "fn",    NULL );
298 302
   
299 303
   // score to score follower - to set initial search location
300 304
   cmDspSysInstallCb(h, scp, "sel",    sfp, "index", NULL );
@@ -309,40 +313,45 @@ cmDspRC_t _cmDspSysPgm_TimeLineLiteAf(cmDspSysH_t h, void** userPtrPtr )
309 313
 
310 314
   cmDspSysInstallCb(h, msrc,   "d1",     sfp,  "d1",    NULL );
311 315
   cmDspSysInstallCb(h, msrc,   "d1",     nmp,  "d1",    NULL );
312
-  cmDspSysInstallCb(h, nmp,   "d1",     mop,  "d1",    NULL );
313
-  //cmDspSysInstallCb(h, nmp,   "d1",     pic, "d1",    NULL );
314
-  //cmDspSysInstallCb(h, pic,   "d1",     mo2p, "d1",    NULL );
315 316
 
316 317
   cmDspSysInstallCb(h, msrc,  "d0",      sfp,  "d0",   NULL );
317 318
   cmDspSysInstallCb(h, msrc,  "d0",      nmp,  "d0",   NULL );
318
-  cmDspSysInstallCb(h, nmp,  "d0",      mop,  "d0",   NULL );
319
-  //cmDspSysInstallCb(h, nmp,  "d0",      pic, "d0",   NULL );
320
-  //cmDspSysInstallCb(h, pic,   "d0",     mo2p, "d0",    NULL );
321 319
 
322 320
   cmDspSysInstallCb(h, msrc,  "status",  sfp,  "status",NULL );
323 321
   cmDspSysInstallCb(h, msrc,  "status",  nmp,  "status",NULL );
324
-  cmDspSysInstallCb(h, nmp,  "status",  mop,  "status",NULL );
325
-  //cmDspSysInstallCb(h, nmp,  "status",  pic, "status",NULL );
326
-  //cmDspSysInstallCb(h, pic,   "status",  mo2p, "status",    NULL );
327 322
 
328 323
 
329 324
   // score follower to recd_play,modulator and printers
330 325
   cmDspSysInstallCb(h, sfp, "out",     modp,    "index", NULL );
331 326
   cmDspSysInstallCb(h, sfp, "recent",  prp,     "in",  NULL );  // report 'recent' but only act on 'max' loc index
332 327
 
333
-  //cmDspSysInstallCb(h, igain0, "val", ai0, "gain", NULL );   // input gain control
334
-  //cmDspSysInstallCb(h, igain1, "val", ai1, "gain", NULL );
335
-
328
+  cmDspSysInstallCb( h, emeas, "val", its,  "off-int", NULL);
329
+  cmDspSysInstallCb( h, sfp,   "out", its,  "in",  NULL);
330
+  cmDspSysInstallCb( h, its,   "out", offb, "in",  NULL);
331
+  cmDspSysInstallCb( h, its,   "out", prp, "in",  NULL);
332
+  
336 333
 
337 334
   cmDspSysInstallCb(h, modp, "dgain0",  ogain0, "val",  NULL );
338 335
   cmDspSysInstallCb(h, modp, "dgain1",  ogain1, "val",  NULL );
339 336
   cmDspSysInstallCb(h, modp, "wgain0",  ogain2, "val",  NULL );
340 337
   cmDspSysInstallCb(h, modp, "wgain1",  ogain3, "val",  NULL );
341 338
 
342
-  cmDspSysInstallCb(h, ogain0, "val", ao0, "gain", NULL );   // output gain control - dry 0
343
-  cmDspSysInstallCb(h, ogain1, "val", ao1, "gain", NULL );   //                       dry 1
344
-  cmDspSysInstallCb(h, ogain2, "val", ao2, "gain", NULL );   //                       wet 0
345
-  cmDspSysInstallCb(h, ogain3, "val", ao3, "gain", NULL );   //                       wet 1
339
+
340
+  cmDspSysInstallCb(h, ogain0,  "val", gmult0, "in-0", NULL );
341
+  cmDspSysInstallCb(h, ogainD,  "val", gmult0, "in-1", NULL );
342
+  
343
+  cmDspSysInstallCb(h, ogain1,  "val", gmult1, "in-0", NULL );
344
+  cmDspSysInstallCb(h, ogainD,  "val", gmult1, "in-1", NULL );
345
+  
346
+  cmDspSysInstallCb(h, ogain2,  "val", gmult2, "in-0", NULL );
347
+  cmDspSysInstallCb(h, ogainW,  "val", gmult2, "in-1", NULL );
348
+  cmDspSysInstallCb(h, ogain3,  "val", gmult3, "in-0", NULL );
349
+  cmDspSysInstallCb(h, ogainW,  "val", gmult3, "in-1", NULL );
350
+  
351
+  cmDspSysInstallCb(h, gmult0, "out", lmix, "gain-0", NULL );   // output gain control - dry 0
352
+  cmDspSysInstallCb(h, gmult1, "out", rmix, "gain-0", NULL );   //                       dry 1
353
+  cmDspSysInstallCb(h, gmult2, "out", lmix, "gain-1", NULL );   //                       wet 0
354
+  cmDspSysInstallCb(h, gmult3, "out", rmix, "gain-1", NULL );   //                       wet 1
346 355
 
347 356
 
348 357
   return rc;

Loading…
Cancel
Save