Переглянути джерело

cmDspPgmKr.c : Added compressor, window size and hop size as cmScModulator_t

variables. Attempted to add a score location number box - but it is not yet working
correctly.
master
kevin 10 роки тому
джерело
коміт
31916de7b9
1 змінених файлів з 23 додано та 805 видалено
  1. 23
    805
      dsp/cmDspPgmKr.c

+ 23
- 805
dsp/cmDspPgmKr.c Переглянути файл

@@ -332,10 +332,22 @@ void _cmDspSys_TlXformChain( cmDspSysH_t h, cmDspTlXform_t* c,  unsigned preGrpS
332 332
   cmDspSysInstallCb(h, cmp_wnd,  "val", cmp, "wnd", NULL );
333 333
   cmDspSysInstallCb(h, cmp,      "env", cmp_mtr, "in", NULL );
334 334
 
335
+  cmDspSysInstallCb(h, modp, mlbl("cbyp"),    cmp_byp,  "in", NULL );
336
+  cmDspSysInstallCb(h, modp, mlbl("cigain"),  cmp_igain,"val", NULL );
337
+  cmDspSysInstallCb(h, modp, mlbl("cthrsh"),  cmp_thr,  "val", NULL );
338
+  cmDspSysInstallCb(h, modp, mlbl("cratio"),  cmp_rat,  "val", NULL );
339
+  cmDspSysInstallCb(h, modp, mlbl("catkms"),  cmp_atk,  "val", NULL );
340
+  cmDspSysInstallCb(h, modp, mlbl("crlsms"),  cmp_rls,  "val", NULL );
341
+  cmDspSysInstallCb(h, modp, mlbl("cmakeup"), cmp_mkup, "val", NULL );
342
+  cmDspSysInstallCb(h, modp, mlbl("cwndms"),  cmp_wnd,  "val", NULL );
343
+
335 344
   // 
336 345
   cmDspInst_t* xfadMs = cmDspSysAllocInst(h,"Scalar", lbl("Xfade Ms"),     5, kNumberDuiId, 0.0,   1000.0,0.01, 50.0 );  
337 346
   cmDspSysInstallCb(h, xfadMs, "val", xfad, "ms", NULL );
347
+  cmDspSysInstallCb(h, modp, mlbl("xfad"), xfadMs,  "val", NULL);
338 348
 
349
+  cmDspSysInstallCb(h, modp, mlbl("win"),  wnd_ctl, "sel",  NULL );
350
+  cmDspSysInstallCb(h, modp, mlbl("hop"),  hop_ctl, "sel", NULL );
339 351
   cmDspSysInstallCb(h, modp, mlbl("mod"),  mod_ctl, "val", NULL );
340 352
   cmDspSysInstallCb(h, modp, mlbl("thr"),  thr_ctl, "val", NULL );
341 353
   cmDspSysInstallCb(h, modp, mlbl("upr"),  upr_ctl, "val", NULL );
@@ -362,7 +374,7 @@ cmDspRC_t _cmDspSysPgm_TimeLine(cmDspSysH_t h, void** userPtrPtr )
362 374
   cmErr_t         err;
363 375
   krRsrc_t        r;
364 376
   bool            fragFl     = true;
365
-  bool            useWtFl    = false;
377
+  bool            useWtFl    = true;
366 378
   unsigned        wtLoopCnt  = 1;                            // 1=play once (-1=loop forever)
367 379
   unsigned        wtInitMode = 0;                            // initial wt mode is 'silence'
368 380
   unsigned        wtSmpCnt   = floor(cmDspSysSampleRate(h)); // wt length == srate
@@ -475,6 +487,8 @@ cmDspRC_t _cmDspSysPgm_TimeLine(cmDspSysH_t h, void** userPtrPtr )
475 487
   cmDspInst_t* ogain2 = cmDspSysAllocInst(h,"Scalar", "Out Gain-2",   5, kNumberDuiId, 0.0,   10.0,0.01,   3.0 );  
476 488
   cmDspInst_t* ogain3 = cmDspSysAllocInst(h,"Scalar", "Out Gain-3",   5, kNumberDuiId, 0.0,   10.0,0.01,   3.0 );  
477 489
 
490
+  cmDspInst_t* scLoc = cmDspSysAllocInst(h,"Scalar", "Sc Loc",   5, kNumberDuiId, 0.0,   3000.0, 1.0,   0.0 );  
491
+
478 492
   // Audio file recording
479 493
   cmDspInst_t* recdGain= cmDspSysAllocInst(h,"Scalar", "Recd Gain",  5, kNumberDuiId, 0.0,   100.0,0.01, 1.5 );  
480 494
   cmDspInst_t* recdChk = cmDspSysAllocInst(h,"Button", "Record",     2, kCheckDuiId, 0.0 );
@@ -697,6 +711,14 @@ cmDspRC_t _cmDspSysPgm_TimeLine(cmDspSysH_t h, void** userPtrPtr )
697 711
   cmDspSysInstallCb(h, scp, "sel",    modr,"reset", NULL );
698 712
   cmDspSysInstallCb(h, scp, "sel",    rpp, "initIdx", NULL );
699 713
   cmDspSysInstallCb(h, scp, "sel",    prp, "in", NULL );
714
+
715
+  // NOTE: THIS IS A DUPLICATE OF THE scp.sel CONNECTIONS
716
+  cmDspSysInstallCb(h, scLoc, "val",    sfp, "index",  NULL );
717
+  cmDspSysInstallCb(h, scLoc, "val",    modp,"reset", NULL );
718
+  cmDspSysInstallCb(h, scLoc, "val",    modr,"reset", NULL );
719
+  cmDspSysInstallCb(h, scLoc, "val",    rpp, "initIdx", NULL );
720
+  cmDspSysInstallCb(h, scLoc, "val",    prp, "in", NULL );
721
+
700 722
   //cmDspSysInstallCb(h, reload,"out",  modp, "reload", NULL );
701 723
 
702 724
 
@@ -758,810 +780,6 @@ cmDspRC_t _cmDspSysPgm_TimeLine(cmDspSysH_t h, void** userPtrPtr )
758 780
   return rc;
759 781
 }
760 782
 
761
-cmDspRC_t _cmDspSysPgm_TimeLine2(cmDspSysH_t h, void** userPtrPtr )
762
-{
763
-  cmDspRC_t       rc         = kOkDspRC;
764
-  cmCtx_t*        cmCtx      = cmDspSysPgmCtx(h);
765
-  cmErr_t         err;
766
-  krRsrc_t        r;
767
-  unsigned        wtLoopCnt  = 1;                            // 1=play once (-1=loop forever)
768
-  unsigned        wtInitMode = 0;                            // initial wt mode is 'silence'
769
-  unsigned        wtSmpCnt   = floor(cmDspSysSampleRate(h)); // wt length == srate
770
-  int             krWndSmpCnt = 2048;
771
-  int             krHopFact   = 4;
772
-
773
-  unsigned        sfBufCnt    = 7;     // length of the MIDI event buffer
774
-  unsigned        sfMaxWndCnt = 10;    // length of the score event buffer
775
-  unsigned        sfMinVel    = 5;     // ignore MIDI events below this velocity
776
-  bool            sfEnaMeasFl = false;
777
-
778
-  unsigned        xfadeChCnt  = 2;
779
-  double          xfadeMs     = 50;
780
-  bool            xfadeInitFl = true;
781
-  double          mixGain     = 1.0;
782
-
783
-  unsigned        measRtrChCnt = 4; // note: router channel 4 is not connected
784
-
785
-  bool            cmpBypassFl  = false;
786
-  double          cmpInGain    = 3.0;
787
-  double          cmpThreshDb  = -40.0;
788
-  double          cmpRatio_num = 5.0;
789
-  double          cmpAtkMs     = 20.0;
790
-  double          cmpRlsMs     = 100.0;
791
-  double          cmpMakeup    = 1.0;
792
-  double          cmpWndMaxMs  = 1000.0;
793
-  double          cmpWndMs     = 200.0;
794
-
795
-  bool            splitFragFl = true;  // send fragments to separate audio outputs
796
-  double          recdPlayInitAllocSecs    = 10.0;
797
-  double          recdPlayMaxLaSecs        = 2.0;
798
-  double          recdPlayCurLaSecs        = 0.1;
799
-  double          recdPlayFadeRateDbPerSec = 4.0;
800
-  double          fragMixGain              = splitFragFl ? 0.0 : mixGain;
801
-
802
-
803
-  memset(&r,0,sizeof(r));
804
-  cmErrSetup(&err,&cmCtx->rpt,"Kr Timeline");
805
-
806
-  if( krLoadRsrc(h,&err,&r) != kOkDspRC )
807
-    return rc;
808
-
809
-  unsigned   preGrpSymId     = cmDspSysPresetRegisterGroup(h,"tl");
810
-  unsigned   compPreGrpSymId = cmDspSysPresetRegisterGroup(h,"tl_cmp"); 
811
-
812
-  cmDspInst_t* ai0p = cmDspSysAllocInst(h,"AudioIn",     NULL,  1, 0);
813
-  cmDspInst_t* ai1p = cmDspSysAllocInst(h,"AudioIn",     NULL,  1, 1);
814
-
815
-  cmDspInst_t* tlp  = cmDspSysAllocInst(h,"TimeLine",    "tl",  2, r.tlFn, r.tlPrefixPath );
816
-  cmDspInst_t* scp  = cmDspSysAllocInst(h,"Score",       "sc",  1, r.scFn );
817
-  cmDspInst_t* php  = cmDspSysAllocInst(h,"Phasor",      NULL,  1, cmDspSysSampleRate(h) );
818
-  cmDspInst_t* wtp  = cmDspSysAllocInst(h,"WaveTable",   NULL,  4, wtSmpCnt, wtInitMode, NULL, wtLoopCnt );
819
-  cmDspInst_t* pts  = cmDspSysAllocInst(h,"PortToSym",   NULL,  2, "on", "off" );
820
-  cmDspInst_t* mip  = cmDspSysAllocInst(h,"MidiIn",      NULL,  0 );
821
-  cmDspInst_t* mfp  = cmDspSysAllocInst(h,"MidiFilePlay",NULL,  0 );
822
-  cmDspInst_t* nmp  = cmDspSysAllocInst(h,"NanoMap",     NULL,  0 );
823
-  cmDspInst_t* mop  = cmDspSysAllocInst(h,"MidiOut",     NULL,  2, r.midiDevice,r.midiOutPort);
824
-  cmDspInst_t* sfp  = cmDspSysAllocInst(h,"ScFol",       NULL,  1, r.scFn, sfBufCnt, sfMaxWndCnt, sfMinVel, sfEnaMeasFl );
825
-  cmDspInst_t* amp  = cmDspSysAllocInst(h,"ActiveMeas",  NULL,  1, 100 );
826
-  cmDspInst_t* rpp  = cmDspSysAllocInst(h,"RecdPlay",    NULL,  6, 2, r.scFn, recdPlayInitAllocSecs, recdPlayMaxLaSecs, recdPlayCurLaSecs, recdPlayFadeRateDbPerSec );
827
-  cmDspInst_t* modp = cmDspSysAllocInst(h,"ScMod",       NULL,  2, r.modFn, "m1" );
828
-  //cmDspInst_t* asp  = cmDspSysAllocInst(h,"AmSync",      NULL,  0 );
829
-
830
-
831
-
832
-  cmDspInst_t* achan0      = cmDspSysAllocInst(h, "AvailCh",     NULL, 1, xfadeChCnt );
833
-  cmDspInst_t* achan1      = cmDspSysAllocInst(h, "AvailCh",     NULL, 1, xfadeChCnt );
834
-
835
-
836
-  cmDspInst_t* even_sr_00  = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.8,   1.1, 0.0, 1.0 );
837
-  cmDspInst_t* even_rt_00  = cmDspSysAllocInst(h, "Router",      NULL,  2,  measRtrChCnt, measRtrChCnt-1 );
838
-  cmDspInst_t* dyn_sr_00   = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0,   4.0, 0.01, 1.0 );
839
-  cmDspInst_t* dyn_rt_00   = cmDspSysAllocInst(h, "Router",      NULL,  2,  measRtrChCnt, measRtrChCnt-1 );
840
-  cmDspInst_t* tempo_sr_00 = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4, 80.0, 120.0, 0.01, 1.0 );
841
-  cmDspInst_t* tempo_rt_00 = cmDspSysAllocInst(h, "Router",      NULL,  2,  measRtrChCnt, measRtrChCnt-1 );
842
-  cmDspInst_t* cost_sr_00  = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0,    1.0, 0.001, 1.0 );
843
-  cmDspInst_t* cost_rt_00  = cmDspSysAllocInst(h, "Router",      NULL,  2,  measRtrChCnt, measRtrChCnt-1 );
844
-
845
-  cmDspInst_t* thrh_sr_00  = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0, 1.0, 0.01, 100.0 );
846
-  cmDspInst_t* upr_sr_00   = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0, 1.0, -1.0, 5.0 );
847
-  cmDspInst_t* lwr_sr_00   = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0, 1.0, -5.0, 5.0 );
848
-
849
-
850
-  cmDspInst_t* even_sr_10  = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.8,   1.1, 0.0, 1.0 );
851
-  cmDspInst_t* even_rt_10  = cmDspSysAllocInst(h, "Router",      NULL,  2,  measRtrChCnt, measRtrChCnt-1 );
852
-  cmDspInst_t* dyn_sr_10   = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0,   4.0, 0.01, 1.0 );
853
-  cmDspInst_t* dyn_rt_10   = cmDspSysAllocInst(h, "Router",      NULL,  2,  measRtrChCnt, measRtrChCnt-1 );
854
-  cmDspInst_t* tempo_sr_10 = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4, 80.0, 120.0, 0.01, 1.0 );
855
-  cmDspInst_t* tempo_rt_10 = cmDspSysAllocInst(h, "Router",      NULL,  2,  measRtrChCnt, measRtrChCnt-1 );
856
-  cmDspInst_t* cost_sr_10  = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0,    1.0, 0.001, 1.0 );
857
-  cmDspInst_t* cost_rt_10  = cmDspSysAllocInst(h, "Router",      NULL,  2,  measRtrChCnt, measRtrChCnt-1 );
858
-  cmDspInst_t* thrh_sr_10  = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0, 1.0, 0.01, 100.0 );
859
-  cmDspInst_t* upr_sr_10   = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0, 1.0, -1.0, 5.0 );
860
-  cmDspInst_t* lwr_sr_10   = cmDspSysAllocInst(h, "ScaleRange",  NULL,  4,  0.0, 1.0, -5.0, 5.0 );
861
-
862
-
863
-  unsigned paramRtChCnt = 2;
864
-  cmDspInst_t* mod_rt_00   = cmDspSysAllocInst(h, "Router",      NULL,  2,  paramRtChCnt, paramRtChCnt-1 );
865
-  cmDspInst_t* thr_rt_00   = cmDspSysAllocInst(h, "Router",      NULL,  2,  paramRtChCnt, paramRtChCnt-1 );
866
-  cmDspInst_t* upr_rt_00   = cmDspSysAllocInst(h, "Router",      NULL,  2,  paramRtChCnt, paramRtChCnt-1 );
867
-  cmDspInst_t* lwr_rt_00   = cmDspSysAllocInst(h, "Router",      NULL,  2,  paramRtChCnt, paramRtChCnt-1 );
868
-
869
-  cmDspInst_t* mod_rt_10   = cmDspSysAllocInst(h, "Router",      NULL,  2,  paramRtChCnt, paramRtChCnt-1 );
870
-  cmDspInst_t* thr_rt_10   = cmDspSysAllocInst(h, "Router",      NULL,  2,  paramRtChCnt, paramRtChCnt-1 );
871
-  cmDspInst_t* upr_rt_10   = cmDspSysAllocInst(h, "Router",      NULL,  2,  paramRtChCnt, paramRtChCnt-1 );
872
-  cmDspInst_t* lwr_rt_10   = cmDspSysAllocInst(h, "Router",      NULL,  2,  paramRtChCnt, paramRtChCnt-1 );
873
-
874
-
875
-
876
-  cmDspInst_t* kr00 = cmDspSysAllocInst(h, "Kr",         NULL,   2, krWndSmpCnt, krHopFact );
877
-  cmDspInst_t* kr01 = cmDspSysAllocInst(h, "Kr",         NULL,   2, krWndSmpCnt, krHopFact );
878
-  cmDspInst_t* fad0 = cmDspSysAllocInst(h, "Xfader",     NULL,   3, xfadeChCnt,  xfadeMs, xfadeInitFl ); 
879
-  cmDspInst_t* mix0 = cmDspSysAllocInst(h, "AMix",       NULL,   4, xfadeChCnt+1, mixGain, mixGain, fragMixGain );
880
-  cmDspInst_t* cmp0 =  cmDspSysAllocInst(h,"Compressor", NULL,   8, cmpBypassFl, cmpThreshDb, cmpRatio_num, cmpAtkMs, cmpRlsMs, cmpMakeup, cmpWndMs, cmpWndMaxMs ); 
881
-  cmDspInst_t* ao0p = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, 0 );
882
-  
883
-  cmDspInst_t* kr10 = cmDspSysAllocInst(h, "Kr",         NULL,   2, krWndSmpCnt, krHopFact );
884
-  cmDspInst_t* kr11 = cmDspSysAllocInst(h, "Kr",         NULL,   2, krWndSmpCnt, krHopFact );
885
-  cmDspInst_t* fad1 = cmDspSysAllocInst(h, "Xfader",     NULL,   3, xfadeChCnt,  xfadeMs, xfadeInitFl ); 
886
-  cmDspInst_t* mix1 = cmDspSysAllocInst(h, "AMix",       NULL,   4, xfadeChCnt+1, mixGain, mixGain, fragMixGain );
887
-  cmDspInst_t* cmp1 =  cmDspSysAllocInst(h,"Compressor", NULL,   8, cmpBypassFl, cmpThreshDb, cmpRatio_num, cmpAtkMs, cmpRlsMs, cmpMakeup, cmpWndMs, cmpWndMaxMs ); 
888
-  cmDspInst_t* ao1p = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, 1 );
889
-
890
-  cmDspInst_t* ao2p = NULL;
891
-  cmDspInst_t* ao3p = NULL;
892
-  if( splitFragFl )
893
-  {
894
-    ao2p = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, 2 );
895
-    ao3p = cmDspSysAllocInst(h,"AudioOut",    NULL,   1, 3 );
896
-  }
897
-
898
-  cmDspSysNewPage(h,"Controls");
899
-  cmDspInst_t* liveb= cmDspSysAllocInst(h,"Button", "live",    2, kCheckDuiId,  0.0 );
900
-  cmDspInst_t* simb = cmDspSysAllocInst(h,"Button", "simulate",2, kCheckDuiId,  0.0 );
901
-  cmDspInst_t* ainb = cmDspSysAllocInst(h,"Button", "audio in",2, kCheckDuiId,  0.0 );
902
-  cmDspInst_t* onb  = cmDspSysAllocInst(h,"Button", "start",   2, kButtonDuiId, 1.0 );
903
-  cmDspInst_t* offb = cmDspSysAllocInst(h,"Button", "stop",    2, kButtonDuiId, 1.0 );
904
-  cmDspInst_t* prtb = cmDspSysAllocInst(h,"Button", "print",   2, kButtonDuiId, 1.0 );
905
-  cmDspInst_t* qtb  = cmDspSysAllocInst(h,"Button", "quiet",   2, kButtonDuiId, 1.0 );
906
-  cmDspInst_t* measb= cmDspSysAllocInst(h,"Button", "meas",    2, kCheckDuiId,  0.0 );
907
-  cmDspInst_t* prp  = cmDspSysAllocInst(h,"Printer", NULL,   1, ">" );
908
-  cmDspInst_t* prd  = cmDspSysAllocInst(h,"Printer", NULL,   1, "DYN:" );
909
-  cmDspInst_t* pre  = cmDspSysAllocInst(h,"Printer", NULL,   1, "EVEN:" );
910
-  cmDspInst_t* prt  = cmDspSysAllocInst(h,"Printer", NULL,   1, "TEMPO:");
911
-  cmDspInst_t* prc  = cmDspSysAllocInst(h,"Printer", NULL,   1, "COST:");
912
-  //cmDspInst_t* prv  = cmDspSysAllocInst(h,"Printer", NULL,   1, "Value:");
913
-
914
-  // Record <-> Live switches
915
-  cmDspInst_t* tlRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // time line reset
916
-  cmDspInst_t* wtRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // wave table output enable
917
-  cmDspInst_t* mfpRt = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // midi file player enable
918
-  cmDspInst_t* amRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // active meas input
919
-  cmDspInst_t* au0Sw = cmDspSysAllocInst(h,"1ofN",   NULL, 2, 2, 0);  // left audio input switch
920
-  cmDspInst_t* au1Sw = cmDspSysAllocInst(h,"1ofN",   NULL, 2, 2, 0);  // right audio input switch
921
-
922
-  cmDspInst_t* siRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // midi file player sample index
923
-  cmDspInst_t* d0Rt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // midi file player D0
924
-  cmDspInst_t* d1Rt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // midi file player D1
925
-  cmDspInst_t* stRt  = cmDspSysAllocInst(h,"Router", NULL, 2, 2, 0);  // midi file player Status
926
-
927
-  //--------------- Preset controls
928
-  cmDspInst_t* preset    = cmDspSysAllocInst(   h, "Preset", NULL, 1, preGrpSymId );
929
-  cmDspInst_t* presetLbl = cmDspSysAllocInst(   h, "Text",   "Preset",      1, "" );
930
-  cmDspInst_t* storeBtn  = cmDspSysAllocButton( h, "store",  0);
931
-  cmDspInst_t* recallBtn = cmDspSysAllocButton( h, "recall", 0);
932
-  cmDspSysInstallCb(   h, presetLbl, "val", preset, "label",NULL);
933
-  cmDspSysInstallCb(   h, storeBtn,  "sym", preset, "cmd", NULL );
934
-  cmDspSysInstallCb(   h, recallBtn, "sym", preset, "cmd", NULL );
935
-
936
-  cmDspInst_t* prePath    = cmDspSysAllocInst(   h, "Fname",  "prePath",   3, true,NULL,r.tlPrefixPath);
937
-  
938
-
939
-  cmDspSysNewColumn(h,0);
940
-
941
-  //--------------- Recorded performance evaluation and Active Measurement related controls
942
-  cmDspInst_t* clrBtn  = cmDspSysAllocButton( h, "clear",  0);
943
-  cmDspInst_t* prtBtn  = cmDspSysAllocButton( h, "dump",  0);
944
-  cmDspInst_t* mlst    = cmDspSysAllocInst(   h, "MsgList",   NULL, 3, "meas", r.measFn, 2);
945
-  cmDspInst_t* amCmd   = cmDspSysAllocInst(   h, "PortToSym", NULL, 2, "add", "rewind" );  
946
-
947
-  cmDspSysInstallCb( h, clrBtn, "sym",    amp, "cmd",  NULL );
948
-  cmDspSysInstallCb( h, prtBtn, "sym",    amp, "cmd",  NULL );
949
-  cmDspSysInstallCb( h, amCmd, "add",     amp, "cmd",  NULL );
950
-  cmDspSysInstallCb( h, amCmd, "rewind",  amp, "cmd",  NULL );
951
-  cmDspSysInstallCb( h, mlst,   "loc",    amp, "loc", NULL );
952
-  cmDspSysInstallCb( h, mlst,   "typeId", amp, "type",NULL );
953
-  cmDspSysInstallCb( h, mlst,   "val",    amp, "val", NULL );
954
-  cmDspSysInstallCb( h, mlst,   "cost",   amp, "cst", NULL );
955
-  cmDspSysInstallCb( h, mlst,   "typeId", amCmd, "add", NULL );
956
-  cmDspSysInstallCb( h, sfp,    "out",    amRt, "f-in", NULL );
957
-  cmDspSysInstallCb( h, amRt,   "f-out-0",amp, "sfloc", NULL );
958
-
959
-  cmDspSysInstallCb( h, sfp, "vloc", amp, "loc", NULL );
960
-  cmDspSysInstallCb( h, sfp, "vval", amp, "val",  NULL );
961
-  cmDspSysInstallCb( h, sfp, "vcost",amp, "cst",  NULL );
962
-  cmDspSysInstallCb( h, sfp, "vtyp", amp, "type", NULL );
963
-  cmDspSysInstallCb( h, sfp, "vtyp", amCmd, "add", NULL);
964
-
965
-  // ***** delete this to prevent the score follower from driving the active-measure unit in 'live' mode
966
-  cmDspSysInstallCb( h, amRt,   "f-out-1",amp, "sfloc", NULL );
967
-  // *****
968
-
969
-  cmDspSysInstallCb( h, amp,    "even",   pre, "in", NULL );
970
-  cmDspSysInstallCb( h, amp,    "dyn",    prd, "in", NULL );
971
-  cmDspSysInstallCb( h, amp,    "tempo",  prt, "in", NULL );
972
-  cmDspSysInstallCb( h, amp,    "cost",   prc, "in", NULL );
973
-
974
-  cmDspSysNewColumn(h,0);
975
-
976
-  double dfltOffset = 2.0; // 30.0;
977
-
978
-  // ------   Spectral distortion controls 0
979
-  cmDspInst_t* md00p = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "Mode-00",      0.0, 4.0, 1.0, 1.0);
980
-  cmDspInst_t* ws00p = cmDspSysAllocMsgListP(h,preGrpSymId,NULL, "wndSmpCnt-00", NULL, "wndSmpCnt", 2);
981
-  cmDspInst_t* hf00p = cmDspSysAllocMsgListP(h,preGrpSymId,NULL, "hopFact-00",   NULL, "hopFact",   2);
982
-  cmDspInst_t* th00p = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "threshold-00", 0.0, 100.0, 1.0,  60.0 );
983
-  cmDspInst_t* us00p = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "upr slope-00", 0.0,  10.0, 0.01,  0.0 ); 
984
-  cmDspInst_t* ls00p = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "lwr slope-00", 0.3,  10.0, 0.01,  2.0 );
985
-  cmDspInst_t* of00p = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "offset-00",    0.0, 100.0, 0.01, dfltOffset );
986
-  cmDspInst_t* iv00p = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "invert-00",    0.0,   1.0, 1.0,   0.0 );  
987
-  cmDspInst_t* wet00p  = cmDspSysAllocScalarP(h,preGrpSymId,NULL, "wet-00",       0.0,   1.0,0.001,  1.0 );  
988
-
989
-
990
-  cmDspSysNewColumn(h,0);
991
-
992
-
993
-  // ------   Spectral distortion controls 1
994
-  cmDspInst_t* md10p  = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "Mode-10",      0.0, 4.0, 1.0, 1.0);
995
-  cmDspInst_t* ws10p  = cmDspSysAllocMsgListP(h,preGrpSymId,NULL, "wndSmpCnt-10", NULL, "wndSmpCnt", 2);
996
-  cmDspInst_t* hf10p  = cmDspSysAllocMsgListP(h,preGrpSymId,NULL, "hopFact-10",   NULL, "hopFact",   2);
997
-  cmDspInst_t* th10p  = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "threshold-10", 0.0, 100.0, 1.0,  60.0 );
998
-  cmDspInst_t* us10p  = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "upr slope-10", 0.0,  10.0, 0.01,  0.0 ); 
999
-  cmDspInst_t* ls10p  = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "lwr slope-10", 0.3,  10.0, 0.01,  2.0 );
1000
-  cmDspInst_t* of10p  = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "offset-10",    0.0, 100.0, 0.01, dfltOffset );
1001
-  cmDspInst_t* iv10p  = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "invert-10",    0.0,   1.0, 1.0,   0.0 );  
1002
-  cmDspInst_t* wet10p  = cmDspSysAllocScalarP( h,preGrpSymId,NULL, "wet-10",       0.0,    1.0,0.001,  1.0 );  
1003
-
1004
-  cmDspSysNewColumn(h,0);
1005
-
1006
-  cmDspInst_t* igain0 = cmDspSysAllocInst(h,"Scalar", "In Gain-0",    5, kNumberDuiId, 0.0,   10.0,0.01,   1.0 );  
1007
-  cmDspInst_t* igain1 = cmDspSysAllocInst(h,"Scalar", "In Gain-1",    5, kNumberDuiId, 0.0,   10.0,0.01,   1.0 );  
1008
-
1009
-  cmDspInst_t* lasecs = cmDspSysAllocInst(h,"Scalar", "LA Secs",      5, kNumberDuiId, 0.0,   recdPlayMaxLaSecs,0.01,   recdPlayCurLaSecs );  
1010
-  cmDspInst_t* dbpsec = cmDspSysAllocInst(h,"Scalar", "Fade dBpSec",  5, kNumberDuiId, 0.0,   24.0, 0.01, recdPlayFadeRateDbPerSec);
1011
-  cmDspInst_t* ogain0 = cmDspSysAllocInst(h,"Scalar", "Out Gain-0",   5, kNumberDuiId, 0.0,   10.0,0.01,   3.0 );  
1012
-  cmDspInst_t* ogain1 = cmDspSysAllocInst(h,"Scalar", "Out Gain-1",   5, kNumberDuiId, 0.0,   10.0,0.01,   3.0 );  
1013
-  cmDspInst_t* ogain2 = cmDspSysAllocInst(h,"Scalar", "Out Gain-2",   5, kNumberDuiId, 0.0,   10.0,0.01,   3.0 );  
1014
-  cmDspInst_t* ogain3 = cmDspSysAllocInst(h,"Scalar", "Out Gain-3",   5, kNumberDuiId, 0.0,   10.0,0.01,   3.0 );  
1015
-  cmDspInst_t* xfadMs = cmDspSysAllocInst(h,"Scalar", "Xfade Ms",     5, kNumberDuiId, 0.0,   1000.0,0.01, 50.0 );  
1016
-
1017
-  // Audio file recording
1018
-  cmDspInst_t* recdGain= cmDspSysAllocInst(h,"Scalar", "Recd Gain",  5, kNumberDuiId, 0.0,   100.0,0.01, 1.5 );  
1019
-  cmDspInst_t* recdChk = cmDspSysAllocInst(h,"Button", "Record",     2, kCheckDuiId, 0.0 );
1020
-  cmDspInst_t* recdPtS = cmDspSysAllocInst(h,"GateToSym", NULL,      2, cmSymTblRegisterStaticSymbol(cmDspSysSymbolTable(h),"open"),cmSymTblRegisterStaticSymbol(cmDspSysSymbolTable(h),"close"));
1021
-  cmDspInst_t* afop    = cmDspSysAllocInst(h,"AudioFileOut",NULL,    2, r.recordDir,2);
1022
-  cmDspInst_t* mi0p    = cmDspSysAllocInst(h,"AMeter","In 0",  0);
1023
-  cmDspInst_t* mi1p    = cmDspSysAllocInst(h,"AMeter","In 1",  0);
1024
-  
1025
-  cmDspSysInstallCb(h, recdGain,"val", afop,    "gain0", NULL );
1026
-  cmDspSysInstallCb(h, recdGain,"val", afop,    "gain1", NULL );
1027
-  cmDspSysInstallCb(h, recdChk, "out", recdPtS, "on",    NULL );
1028
-  cmDspSysInstallCb(h, recdChk, "out", recdPtS, "off",   NULL );
1029
-  cmDspSysInstallCb(h, recdPtS, "out", afop,    "sel",   NULL );
1030
-
1031
-
1032
-  cmDspSysNewPage(h,"Sc/Rgn");
1033
-
1034
-  // -------- Measurement Scale/Ranges controls 0
1035
-  cmDspInst_t* min_dyn_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min In Dyn 0",      0.0, 10.0, 1.0, 0.0);
1036
-  cmDspInst_t* max_dyn_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max In Dyn 0",      0.0, 10.0, 1.0, 4.0);
1037
-  cmDspInst_t* menu_dyn_0  = cmDspSysAllocMsgListP(h,preGrpSymId, NULL, "DynSel 0", NULL, "measMenu", measRtrChCnt-1);
1038
-
1039
-  cmDspInst_t* min_even_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min In Even 0",    0.0, 1.0, 0.001, 0.75);
1040
-  cmDspInst_t* max_even_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max In Even 0",    0.0, 3.0, 0.001, 1.0);
1041
-  cmDspInst_t* menu_even_0  = cmDspSysAllocMsgListP(h,preGrpSymId, NULL, "EvenSel 0", NULL, "measMenu", measRtrChCnt-1);
1042
-
1043
-  cmDspSysNewColumn(h,0);
1044
-  cmDspInst_t* min_tempo_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min In Tempo 0",   0.0, 200.0, 1.0, 80.0);
1045
-  cmDspInst_t* max_tempo_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max In Tempo 0",   0.0, 200.0, 1.0, 120.0);
1046
-  cmDspInst_t* menu_tempo_0  = cmDspSysAllocMsgListP(h,preGrpSymId, NULL, "TempoSel 0", NULL, "measMenu", measRtrChCnt-1);
1047
-
1048
-  cmDspInst_t* min_cost_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min In Cost 0",      0.0, 1.0, 0.01, 0.0);
1049
-  cmDspInst_t* max_cost_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max In Cost 0",      0.0, 1.0, 0.01, 1.0);
1050
-  cmDspInst_t* menu_cost_0  = cmDspSysAllocMsgListP(h,preGrpSymId, NULL, "CostSel 0", NULL, "measMenu", measRtrChCnt-1);
1051
-
1052
-  // -------- Parameter Scale/Ranges controls 0
1053
-  cmDspSysNewColumn(h,0);
1054
-  cmDspInst_t* min_thrh_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min Thresh 0",      0.0, 100.0, 1.0, 30.0);
1055
-  cmDspInst_t* max_thrh_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max Thresh 0",      0.0, 100.0, 1.0, 80.0);
1056
-
1057
-  cmDspInst_t* min_upr_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min Upr 0",          -1.0, 1.0, 0.001, -0.5);
1058
-  cmDspInst_t* max_upr_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max Upr 0",          -1.0, 1.0, 0.001, 0.5);
1059
-
1060
-  cmDspInst_t* min_lwr_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min Lwr 0",          0.0, -1.0, 5.0, 1.0);
1061
-  cmDspInst_t* max_lwr_0   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max Lwr 0",          0.0, -1.0, 5.0, 3.0);
1062
-
1063
-
1064
-  // -------- Measurement Scale/Ranges controls 1
1065
-  cmDspSysNewColumn(h,0);
1066
-  cmDspInst_t* min_dyn_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min In Dyn 1",      0.0, 10.0, 1.0, 0.0);
1067
-  cmDspInst_t* max_dyn_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max In Dyn 1",      0.0, 10.0, 1.0, 4.0);
1068
-  cmDspInst_t* menu_dyn_1  = cmDspSysAllocMsgListP(h,preGrpSymId, NULL, "DynSel 1", NULL, "measMenu", measRtrChCnt-1);
1069
-
1070
-  cmDspInst_t* min_even_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min In Even 1",    0.0, 1.0, 0.001, 0.75);
1071
-  cmDspInst_t* max_even_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max In Even 1",    0.0, 3.0, 0.001, 1.0);
1072
-  cmDspInst_t* menu_even_1  = cmDspSysAllocMsgListP(h,preGrpSymId, NULL, "EvenSel 1", NULL, "measMenu", measRtrChCnt-1);
1073
-
1074
-  cmDspSysNewColumn(h,0);
1075
-  cmDspInst_t* min_tempo_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min In Tempo 1",   0.0, 200.0, 1.0, 80.0);
1076
-  cmDspInst_t* max_tempo_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max In Tempo 1",   0.0, 200.0, 1.0, 120.0);
1077
-  cmDspInst_t* menu_tempo_1  = cmDspSysAllocMsgListP(h,preGrpSymId, NULL, "TempoSel 1", NULL, "measMenu", measRtrChCnt-1);
1078
-
1079
-  cmDspInst_t* min_cost_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min In Cost 1",      0.0, 1.0, 0.01, 0.0);
1080
-  cmDspInst_t* max_cost_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max In Cost 1",      0.0, 1.0, 0.01, 1.0);
1081
-  cmDspInst_t* menu_cost_1  = cmDspSysAllocMsgListP(h,preGrpSymId, NULL, "CostSel 1", NULL, "measMenu", measRtrChCnt-1);
1082
-
1083
-  // -------- Parameter Scale/Ranges controls 1
1084
-  cmDspSysNewColumn(h,0);
1085
-  cmDspInst_t* min_thrh_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min Thresh 1",      0.0, 100.0, 1.0, 30.0);
1086
-  cmDspInst_t* max_thrh_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max Thresh 1",      0.0, 100.0, 1.0, 80.0);
1087
-
1088
-  cmDspInst_t* min_upr_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min Upr 1",          -1.0, 1.0, 0.001, -0.5);
1089
-  cmDspInst_t* max_upr_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max Upr 1",          -1.0, 1.0, 0.001, 0.5);
1090
-
1091
-  cmDspInst_t* min_lwr_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Min Lwr 1",          0.0, -1.0, 5.0, 1.0);
1092
-  cmDspInst_t* max_lwr_1   = cmDspSysAllocScalarP( h,preGrpSymId, NULL, "Max Lwr 1",          0.0, -1.0, 5.0, 3.0);
1093
-
1094
-
1095
-  if((rc = cmDspSysLastRC(h)) != kOkDspRC )
1096
-    return rc;
1097
-
1098
-  cmDspSysConnectAudio(h, php,  "out",   wtp,  "phs" );     // phs -> wt
1099
-
1100
-  cmDspSysConnectAudio(h, wtp,  "out",   au0Sw, "a-in-0" ); // wt  -> sw
1101
-  cmDspSysConnectAudio(h, ai0p, "out",   au0Sw, "a-in-1" ); // ain -> sw
1102
-  cmDspSysConnectAudio(h, ai0p, "out",   mi0p,  "in" );
1103
-  cmDspSysConnectAudio(h, au0Sw,"a-out", rpp,   "in-0");    // sw  -> rcdply
1104
-  cmDspSysConnectAudio(h, au0Sw,"a-out", kr00, "in"  );     // sw  -> kr
1105
-  cmDspSysConnectAudio(h, kr00, "out",   fad0, "in-0");     // kr  -> fad
1106
-  cmDspSysConnectAudio(h, fad0, "out-0", mix0, "in-0");     // fad -> mix
1107
-  cmDspSysConnectAudio(h, au0Sw,"a-out", kr01, "in"  );     // sw  -> kr
1108
-  cmDspSysConnectAudio(h, kr01, "out",   fad0, "in-1");     // kr  -> fad
1109
-  cmDspSysConnectAudio(h, fad0, "out-1", mix0, "in-1");     // fad -> mix
1110
-  cmDspSysConnectAudio(h, rpp,  "out-0", mix0, "in-2");
1111
-  cmDspSysConnectAudio(h, mix0, "out",   cmp0, "in");       // mix -> cmp
1112
-  cmDspSysConnectAudio(h, cmp0, "out",   ao0p, "in" );      // cmp -> aout
1113
-
1114
-
1115
-  cmDspSysConnectAudio(h, wtp,  "out",   au1Sw, "a-in-0" );  // wt -> kr
1116
-  cmDspSysConnectAudio(h, ai1p, "out",   au1Sw, "a-in-1" );
1117
-  cmDspSysConnectAudio(h, ai1p, "out",   mi1p,  "in" );
1118
-  cmDspSysConnectAudio(h, au1Sw,"a-out", rpp,   "in-1");    // sw  -> rcdply
1119
-  cmDspSysConnectAudio(h, au1Sw,"a-out", kr10, "in"  );  
1120
-  cmDspSysConnectAudio(h, kr10, "out",   fad1, "in-0");
1121
-  cmDspSysConnectAudio(h, fad1, "out-0", mix1, "in-0");
1122
-  cmDspSysConnectAudio(h, au1Sw,"a-out", kr11, "in"  );  // wt -> kr
1123
-  cmDspSysConnectAudio(h, kr11, "out",   fad1, "in-1");  
1124
-  cmDspSysConnectAudio(h, fad1, "out-1", mix1, "in-1");
1125
-  cmDspSysConnectAudio(h, rpp,  "out-0", mix1, "in-2");
1126
-  cmDspSysConnectAudio(h, mix1, "out",   cmp1, "in");
1127
-  cmDspSysConnectAudio(h, cmp1, "out",   ao1p, "in" );   // comp -> aout
1128
-
1129
-  cmDspSysConnectAudio(h, cmp0, "out", afop, "in0" );    // comp -> audio_file_out
1130
-  cmDspSysConnectAudio(h, cmp1, "out", afop, "in1" );
1131
-
1132
-  if( splitFragFl )
1133
-  {
1134
-    cmDspSysConnectAudio(h, rpp, "out-0", ao2p, "in" );
1135
-    cmDspSysConnectAudio(h, rpp, "out-1", ao3p, "in" );
1136
-  }
1137
-
1138
-  // wave-table to time-line cursor
1139
-  cmDspSysInstallCb(   h, wtp, "fidx",tlp,  "curs", NULL); 
1140
-
1141
-  cmDspSysInstallCb(h, prePath, "out", tlp, "path", NULL );
1142
-
1143
-  // 'live' button -> live router selector switch 
1144
-  cmDspSysInstallCb(h, liveb, "out",  wtRt, "sel", NULL );
1145
-  cmDspSysInstallCb(h, liveb, "out",  tlRt, "sel", NULL );
1146
-  cmDspSysInstallCb(h, liveb, "out",  mfpRt,"sel", NULL );
1147
-  cmDspSysInstallCb(h, liveb, "out",  amRt, "sel", NULL );
1148
-  cmDspSysInstallCb(h, liveb, "out",  au0Sw, "chidx", NULL );
1149
-  cmDspSysInstallCb(h, liveb, "out",  au1Sw, "chidx", NULL );
1150
-  cmDspSysInstallCb(h, liveb, "out",  measb, "in",     NULL );
1151
-  cmDspSysInstallCb(h, measb, "out",  sfp,   "measfl", NULL );
1152
-
1153
-  // 'simulate' button -> simulate router selector switch
1154
-  cmDspSysInstallCb(h, simb,  "out",  ainb,  "in", NULL );
1155
-  cmDspSysInstallCb(h, ainb,  "out",  au0Sw, "chidx", NULL );
1156
-  cmDspSysInstallCb(h, ainb,  "out",  au1Sw, "chidx", NULL );
1157
-  cmDspSysInstallCb(h, simb,  "out",  siRt,  "sel", NULL );
1158
-  cmDspSysInstallCb(h, simb,  "out",  d1Rt,  "sel", NULL );
1159
-  cmDspSysInstallCb(h, simb,  "out",  d0Rt,  "sel", NULL );
1160
-  cmDspSysInstallCb(h, simb,  "out",  stRt,  "sel", NULL );
1161
-  
1162
-  
1163
-  // start connections
1164
-  cmDspSysInstallCb(h, onb,  "sym",    tlRt, "s-in",  NULL );
1165
-  cmDspSysInstallCb(h, tlRt, "s-out-0",tlp,  "reset", NULL );
1166
-  cmDspSysInstallCb(h, onb,  "sym",    scp,  "send",  NULL );
1167
-  cmDspSysInstallCb(h, onb,  "sym",    mfpRt,"s-in",  NULL );
1168
-  cmDspSysInstallCb(h, mfpRt,"s-out-0",mfp,  "sel",   NULL );
1169
-
1170
-  cmDspSysInstallCb(h, onb, "sym",     pts,   "on",    NULL );
1171
-  cmDspSysInstallCb(h, pts, "on",      wtRt,  "s-in",  NULL );
1172
-  cmDspSysInstallCb(h, wtRt,"s-out-0", wtp,   "cmd",   NULL );
1173
-  cmDspSysInstallCb(h, pts, "on",      modp,  "cmd",   NULL );
1174
-  cmDspSysInstallCb(h, pts, "on",      rpp,   "cmd",   NULL );
1175
-  cmDspSysInstallCb(h, onb, "sym",     amCmd, "rewind",NULL );
1176
-  cmDspSysInstallCb(h, onb, "out",     achan0,"reset",  NULL );
1177
-  cmDspSysInstallCb(h, onb, "out",     achan1,"reset",  NULL );
1178
-
1179
-  // stop connections
1180
-  cmDspSysInstallCb(h, wtp,  "done",offb,"in",  NULL ); // 'done' from WT simulates pressing Stop btn.
1181
-  cmDspSysInstallCb(h, tlp,  "mfn", pts, "off", NULL ); // Prevents WT start on new audio file from TL.
1182
-  cmDspSysInstallCb(h, offb, "sym", mfp, "sel", NULL ); 
1183
-  cmDspSysInstallCb(h, offb, "sym", pts, "off", NULL );
1184
-  cmDspSysInstallCb(h, pts,  "off", wtp, "cmd", NULL );
1185
-  cmDspSysInstallCb(h, pts,  "off", modp,"cmd", NULL );
1186
-  cmDspSysInstallCb(h, offb, "sym", mop, "reset", NULL );
1187
-
1188
-  // time-line to wave-table selection 
1189
-  cmDspSysInstallCb(h, tlp, "absi", wtp, "beg", NULL );  
1190
-  cmDspSysInstallCb(h, tlp, "aesi", wtp, "end", NULL );
1191
-  cmDspSysInstallCb(h, tlp, "afn",  wtp, "fn",  NULL );
1192
-
1193
-  // time-line to MIDI file player selection
1194
-  cmDspSysInstallCb(h, tlp, "mbsi", mfp, "bsi",   NULL );
1195
-  cmDspSysInstallCb(h, tlp, "mesi", mfp, "esi",   NULL );
1196
-  cmDspSysInstallCb(h, tlp, "mfn",  mfp, "fn",    NULL );
1197
-  
1198
-  // score to score follower - to set initial search location
1199
-  cmDspSysInstallCb(h, scp, "sel",    sfp, "index",  NULL );
1200
-  cmDspSysInstallCb(h, scp, "sel",    modp,"reset", NULL );
1201
-  
1202
-  //cmDspSysInstallCb(h, reload,"out",  modp, "reload", NULL );
1203
-
1204
-
1205
-  // MIDI file player to score follower
1206
-  cmDspSysInstallCb(h, mfp,  "smpidx",  siRt, "f-in",NULL );
1207
-  cmDspSysInstallCb(h, siRt, "f-out-0", sfp,  "smpidx",NULL ); 
1208
-  // leave siRt.f-out-1 unconnected because it should be ignored in 'simulate mode'
1209
-
1210
-  cmDspSysInstallCb(h, mfp,  "d1",      d1Rt, "f-in",  NULL );
1211
-  cmDspSysInstallCb(h, d1Rt, "f-out-0", sfp,  "d1",    NULL );
1212
-  cmDspSysInstallCb(h, d1Rt, "f-out-1", nmp,  "d1",    NULL );
1213
-  cmDspSysInstallCb(h, nmp,   "d1",     mop,  "d1",    NULL );
1214
-
1215
-  cmDspSysInstallCb(h, mfp,  "d0",      d0Rt,  "f-in", NULL );
1216
-  cmDspSysInstallCb(h, d0Rt, "f-out-0", sfp,   "d0",   NULL );
1217
-  cmDspSysInstallCb(h, d0Rt, "f-out-1", nmp,  "d0",   NULL );
1218
-  cmDspSysInstallCb(h, nmp,  "d0",      mop,  "d0",   NULL );
1219
-
1220
-  cmDspSysInstallCb(h, mfp, "status",   stRt, "f-in",  NULL );
1221
-  cmDspSysInstallCb(h, stRt, "f-out-0", sfp,  "status",NULL );
1222
-  cmDspSysInstallCb(h, stRt, "f-out-1", nmp,  "status",NULL );
1223
-  cmDspSysInstallCb(h, nmp,  "status",  mop,  "status",NULL );
1224
-
1225
-  // MIDI input port
1226
-  cmDspSysInstallCb(h, mip, "smpidx", sfp, "smpidx", NULL );
1227
-  cmDspSysInstallCb(h, mip, "d1",     sfp, "d1",     NULL );
1228
-  cmDspSysInstallCb(h, mip, "d0",     sfp, "d0",     NULL );
1229
-  cmDspSysInstallCb(h, mip, "status", sfp, "status", NULL );
1230
-
1231
-  // score follower to recd_play,modulator and printers
1232
-  cmDspSysInstallCb(h, sfp, "out",     rpp,     "index", NULL );
1233
-  cmDspSysInstallCb(h, sfp, "out",     modp,    "index", NULL );
1234
-  cmDspSysInstallCb(h, sfp, "recent",  prp,     "in",  NULL );  // report 'recent' but only act on 'max' loc index
1235
-
1236
-  cmDspSysInstallCb(h, prtb, "sym", sfp, "cmd", NULL );
1237
-  cmDspSysInstallCb(h, qtb,  "sym", sfp, "cmd", NULL );
1238
-
1239
-  // audio-midi sync connections
1240
-  //cmDspSysInstallCb(h, tlp, "albl", asp, "afn", NULL );
1241
-  //cmDspSysInstallCb(h, tlp, "mlbl", asp, "mfn", NULL );
1242
-  //cmDspSysInstallCb(h, wtp, "fidx", asp, "asmp",NULL );
1243
-  //cmDspSysInstallCb(h, mfp, "id",   asp, "mid", NULL );
1244
-  //cmDspSysInstallCb(h, offb,"sym",  asp, "sel", NULL ); 
1245
-  //cmDspSysInstallCb(h, tlp, "absi", prp, "in",  NULL );
1246
-
1247
-  cmDspSysInstallCb(h, ws00p,     "out",   kr00, "wndn", NULL );   // wndSmpCnt->kr
1248
-  cmDspSysInstallCb(h, hf00p,     "out",   kr00, "hopf", NULL );   // hopFact->kr
1249
-  cmDspSysInstallCb(h, of00p,     "val",   kr00, "offs", NULL );   // offset->kr
1250
-  cmDspSysInstallCb(h, iv00p,     "val",   kr00, "invt", NULL );   // invert->kr
1251
-  cmDspSysInstallCb(h, wet00p,    "val",   kr00, "wet", NULL );    //  wet->kr
1252
-
1253
-  cmDspSysInstallCb(h, ws00p,     "out",   kr01, "wndn", NULL );   // wndSmpCnt->kr
1254
-  cmDspSysInstallCb(h, hf00p,     "out",   kr01, "hopf", NULL );   // hopFact->kr
1255
-  cmDspSysInstallCb(h, of00p,     "val",   kr01, "offs", NULL );   // offset->kr
1256
-  cmDspSysInstallCb(h, iv00p,     "val",   kr01, "invt", NULL );   // invert->kr
1257
-  cmDspSysInstallCb(h, wet00p,    "val",   kr01, "wet", NULL );    //  wet->kr
1258
-
1259
-  cmDspSysInstallCb(h, ws10p,     "out",   kr10, "wndn", NULL );   // wndSmpCnt->kr
1260
-  cmDspSysInstallCb(h, hf10p,     "out",   kr10, "hopf", NULL );   // hopFact->kr
1261
-  cmDspSysInstallCb(h, of10p,     "val",   kr10, "offs", NULL );   // offset->kr
1262
-  cmDspSysInstallCb(h, iv10p,     "val",   kr10, "invt", NULL );   // invert->kr
1263
-  cmDspSysInstallCb(h, wet10p,    "val",   kr10, "wet", NULL );    //  wet->kr
1264
-
1265
-  cmDspSysInstallCb(h, ws10p,     "out",   kr11, "wndn", NULL );   // wndSmpCnt->kr
1266
-  cmDspSysInstallCb(h, hf10p,     "out",   kr11, "hopf", NULL );   // hopFact->kr
1267
-  cmDspSysInstallCb(h, of10p,     "val",   kr11, "offs", NULL );   // offset->kr
1268
-  cmDspSysInstallCb(h, iv10p,     "val",   kr11, "invt", NULL );   // invert->kr
1269
-  cmDspSysInstallCb(h, wet10p,    "val",   kr11, "wet", NULL );    //  wet->kr
1270
-
1271
- 
1272
-  cmDspSysInstallCb(   h, lasecs, "val", rpp, "curla", NULL ); // recd/play control
1273
-  cmDspSysInstallCb(   h, dbpsec, "val", rpp, "frate", NULL );
1274
-
1275
-  cmDspSysInstallCb(h, igain0, "val", ai0p, "gain", NULL );   // input gain control
1276
-  cmDspSysInstallCb(h, igain1, "val", ai1p, "gain", NULL );
1277
-  cmDspSysInstallCb(h, ogain0, "val", ao0p, "gain", NULL );   // output gain control
1278
-  cmDspSysInstallCb(h, ogain1, "val", ao1p, "gain", NULL );
1279
-  cmDspSysInstallCb(h, ogain2, "val", ao2p, "gain", NULL );  
1280
-  cmDspSysInstallCb(h, ogain3, "val", ao3p, "gain", NULL );
1281
-  cmDspSysInstallCb(h, xfadMs, "val", fad0, "ms", NULL );
1282
-  cmDspSysInstallCb(h, xfadMs, "val", fad1, "ms", NULL );
1283
-
1284
-  // Printer connections
1285
-  cmDspSysInstallCb(h, tlp, "afn",  prp, "in",  NULL );
1286
-  cmDspSysInstallCb(h, tlp, "mfn",  prp, "in",  NULL );
1287
-  cmDspSysInstallCb(h, tlp, "sel",  prp, "in",  NULL );
1288
-
1289
-  cmDspSysInstallCb(h, modp, "mod0",  md00p, "val", NULL );
1290
-  cmDspSysInstallCb(h, modp, "thr0",  th00p, "val", NULL );
1291
-  cmDspSysInstallCb(h, modp, "upr0",  us00p, "val", NULL );
1292
-  cmDspSysInstallCb(h, modp, "lwr0",  ls00p, "val", NULL );
1293
-  cmDspSysInstallCb(h, modp, "mint0", min_thrh_0, "val", NULL );
1294
-  cmDspSysInstallCb(h, modp, "maxt0", max_thrh_0, "val", NULL );
1295
-  cmDspSysInstallCb(h, modp, "minu0", min_upr_0, "val", NULL );
1296
-  cmDspSysInstallCb(h, modp, "maxu0", max_upr_0, "val", NULL );
1297
-  cmDspSysInstallCb(h, modp, "minl0", min_lwr_0, "val", NULL );
1298
-  cmDspSysInstallCb(h, modp, "maxl0", max_lwr_0, "val", NULL );
1299
-
1300
-  cmDspSysInstallCb(h, modp, "mod1",  md10p, "val", NULL );
1301
-  cmDspSysInstallCb(h, modp, "thr1",  th10p, "val", NULL );
1302
-  cmDspSysInstallCb(h, modp, "upr1",  us10p, "val", NULL );
1303
-  cmDspSysInstallCb(h, modp, "lwr1",  ls10p, "val", NULL );
1304
-  cmDspSysInstallCb(h, modp, "mint1", min_thrh_1, "val", NULL );
1305
-  cmDspSysInstallCb(h, modp, "maxt1", max_thrh_1, "val", NULL );
1306
-  cmDspSysInstallCb(h, modp, "minu1", min_upr_1, "val", NULL );
1307
-  cmDspSysInstallCb(h, modp, "maxu1", max_upr_1, "val", NULL );
1308
-  cmDspSysInstallCb(h, modp, "minl1", min_lwr_1, "val", NULL );
1309
-  cmDspSysInstallCb(h, modp, "maxl1", max_lwr_1, "val", NULL );
1310
-
1311
-  cmDspSysInstallCb(h, modp, "xfad",  xfadMs, "val", NULL );
1312
-
1313
-  // =========================================================================
1314
-  //  Cross fade connections for measurments
1315
-  //
1316
-
1317
-  // active measure loc to xfad channel trigger
1318
-  cmDspSysInstallCb( h, amp,    "scloc",  achan0,   "trig", NULL );
1319
-  cmDspSysInstallCb( h, amp,    "scloc",  achan1,   "trig", NULL );
1320
-  //cmDspSysInstallCb( h, modp,   "post",   achan0,   "trig", NULL );
1321
-  //cmDspSysInstallCb( h, modp,   "post",   achan1,   "trig", NULL );
1322
-
1323
-  // xfade router channel selection 
1324
-  cmDspSysInstallCb( h, achan0, "ch",  mod_rt_00, "sel", NULL );   
1325
-  cmDspSysInstallCb( h, achan0, "ch",  thr_rt_00, "sel", NULL );
1326
-  cmDspSysInstallCb( h, achan0, "ch",  upr_rt_00, "sel", NULL );
1327
-  cmDspSysInstallCb( h, achan0, "ch",  lwr_rt_00, "sel", NULL );
1328
-
1329
-  cmDspSysInstallCb( h, achan1, "ch",  mod_rt_10, "sel", NULL );   
1330
-  cmDspSysInstallCb( h, achan1, "ch",  thr_rt_10, "sel", NULL );
1331
-  cmDspSysInstallCb( h, achan1, "ch",  upr_rt_10, "sel", NULL );
1332
-  cmDspSysInstallCb( h, achan1, "ch",  lwr_rt_10, "sel", NULL );
1333
-
1334
-   
1335
-
1336
-  // active measure to meas->param mapping routers
1337
-  cmDspSysInstallCb(h, amp,  "even",  even_sr_00, "val_in", NULL );
1338
-  cmDspSysInstallCb(h, amp,  "even",  even_sr_10, "val_in", NULL );
1339
-  cmDspSysInstallCb(h, amp,  "dyn",   dyn_sr_00,  "val_in", NULL );
1340
-  cmDspSysInstallCb(h, amp,  "dyn",   dyn_sr_10,  "val_in", NULL );
1341
-  cmDspSysInstallCb(h, amp,  "tempo", tempo_sr_00,"val_in", NULL );
1342
-  cmDspSysInstallCb(h, amp,  "tempo", tempo_sr_10,"val_in", NULL );
1343
-  cmDspSysInstallCb(h, amp,  "cost",  cost_sr_00, "val_in", NULL );
1344
-  cmDspSysInstallCb(h, amp,  "cost",  cost_sr_10, "val_in", NULL );
1345
-
1346
-  // active-channel to cross-fade connections
1347
-  cmDspSysInstallCb(h, achan0, "reset",   fad0, "reset", NULL);
1348
-  cmDspSysInstallCb(h, achan0, "gate-0",  fad0, "gate-0", NULL );
1349
-  cmDspSysInstallCb(h, achan0, "gate-1",  fad0, "gate-1", NULL );
1350
-  cmDspSysInstallCb(h, fad0,   "state-0", achan0, "dis-0",  NULL );
1351
-  cmDspSysInstallCb(h, fad0,   "state-1", achan0, "dis-1",  NULL );
1352
-
1353
-  cmDspSysInstallCb(h, achan1, "reset",   fad1, "reset", NULL);
1354
-  cmDspSysInstallCb(h, achan1, "gate-0",  fad1, "gate-0", NULL );
1355
-  cmDspSysInstallCb(h, achan1, "gate-1",  fad1, "gate-1", NULL );
1356
-  cmDspSysInstallCb(h, fad1,   "state-0", achan1, "dis-0",  NULL );
1357
-  cmDspSysInstallCb(h, fad1,   "state-1", achan1, "dis-1",  NULL );
1358
-
1359
-
1360
-  // =========================================================================
1361
-  //  Scale Range Connections 00
1362
-  //
1363
-
1364
-  // DYN -> scaleRange -> Router -> var scaleRange
1365
-  cmDspSysInstallCb(h, min_dyn_0,  "val",     dyn_sr_00,  "min_in",  NULL );
1366
-  cmDspSysInstallCb(h, max_dyn_0,  "val",     dyn_sr_00,  "max_in",  NULL );
1367
-  cmDspSysInstallCb(h, dyn_sr_00,   "val_out", dyn_rt_00,  "f-in",    NULL );
1368
-  cmDspSysInstallCb(h, menu_dyn_0, "out",     dyn_rt_00,  "sel",     NULL );
1369
-  cmDspSysInstallCb(h, dyn_rt_00,   "f-out-0", thrh_sr_00, "val_in",  NULL );
1370
-  cmDspSysInstallCb(h, dyn_rt_00,   "f-out-1", upr_sr_00,  "val_in",  NULL );
1371
-  cmDspSysInstallCb(h, dyn_rt_00,   "f-out-2", lwr_sr_00,  "val_in",  NULL );
1372
-
1373
-  // EVEN -> scaleRange -> Router  -> var scaleRange
1374
-  cmDspSysInstallCb(h, min_even_0,  "val",     even_sr_00,  "min_in",  NULL );
1375
-  cmDspSysInstallCb(h, max_even_0,  "val",     even_sr_00,  "max_in",  NULL );
1376
-  cmDspSysInstallCb(h, even_sr_00,   "val_out", even_rt_00,  "f-in",    NULL );
1377
-  cmDspSysInstallCb(h, menu_even_0, "out",     even_rt_00,  "sel",     NULL );
1378
-  cmDspSysInstallCb(h, even_rt_00,   "f-out-0", thrh_sr_00, "val_in",  NULL );
1379
-  cmDspSysInstallCb(h, even_rt_00,   "f-out-1", upr_sr_00,  "val_in",  NULL );
1380
-  cmDspSysInstallCb(h, even_rt_00,   "f-out-2", lwr_sr_00,  "val_in",  NULL );
1381
-
1382
-  // TEMPO -> scaleRange -> Router  -> var scaleRange
1383
-  cmDspSysInstallCb(h, min_tempo_0,  "val",     tempo_sr_00,  "min_in",  NULL );
1384
-  cmDspSysInstallCb(h, max_tempo_0,  "val",     tempo_sr_00,  "max_in",  NULL );
1385
-  cmDspSysInstallCb(h, tempo_sr_00,   "val_out", tempo_rt_00,  "f-in",    NULL );
1386
-  cmDspSysInstallCb(h, menu_tempo_0, "out",     tempo_rt_00,  "sel",     NULL );
1387
-  cmDspSysInstallCb(h, tempo_rt_00,   "f-out-0", thrh_sr_00, "val_in",  NULL );
1388
-  cmDspSysInstallCb(h, tempo_rt_00,   "f-out-1", upr_sr_00,  "val_in",  NULL );
1389
-  cmDspSysInstallCb(h, tempo_rt_00,   "f-out-2", lwr_sr_00,  "val_in",  NULL );
1390
-
1391
-  // COST -> scaleRange -> Router  -> var scaleRange 
1392
-  cmDspSysInstallCb(h, min_cost_0,  "val",     cost_sr_00,  "min_in",  NULL );
1393
-  cmDspSysInstallCb(h, max_cost_0,  "val",     cost_sr_00,  "max_in",  NULL );
1394
-  cmDspSysInstallCb(h, cost_sr_00,   "val_out", cost_rt_00,  "f-in",    NULL );
1395
-  cmDspSysInstallCb(h, menu_cost_0, "out",     cost_rt_00,  "sel",     NULL );
1396
-  cmDspSysInstallCb(h, cost_rt_00,   "f-out-0", thrh_sr_00, "val_in",  NULL );
1397
-  cmDspSysInstallCb(h, cost_rt_00,   "f-out-1", upr_sr_00,  "val_in",  NULL );
1398
-  cmDspSysInstallCb(h, cost_rt_00,   "f-out-2", lwr_sr_00,  "val_in",  NULL );
1399
-
1400
-  // MODE -> FX
1401
-  cmDspSysInstallCb(h, md00p,      "val",  mod_rt_00,  "f-in",      NULL );
1402
-  cmDspSysInstallCb(h, mod_rt_00, "f-out-0", kr00, "mode", NULL );   // mode->kr
1403
-  cmDspSysInstallCb(h, mod_rt_00, "f-out-1", kr01, "mode", NULL );   // mode->kr
1404
-
1405
-
1406
-  // THRESH scaleRange -> FX
1407
-  cmDspSysInstallCb(h, min_thrh_0, "val",     thrh_sr_00, "min_out", NULL );
1408
-  cmDspSysInstallCb(h, max_thrh_0, "val",     thrh_sr_00, "max_out", NULL );
1409
-  cmDspSysInstallCb(h, thrh_sr_00, "val_out", th00p,      "val",     NULL );
1410
-  cmDspSysInstallCb(h, th00p,      "val",     thr_rt_00,  "f-in",      NULL );
1411
-  cmDspSysInstallCb(h, thr_rt_00,  "f-out-0",   kr00,       "thrh",    NULL );   // thresh->kr
1412
-  cmDspSysInstallCb(h, thr_rt_00,  "f-out-1",   kr01,       "thrh",    NULL );   // thresh->kr
1413
-
1414
-  // UPR scaleRange -> FX
1415
-  cmDspSysInstallCb(h, min_upr_0, "val",     upr_sr_00, "min_out", NULL );
1416
-  cmDspSysInstallCb(h, max_upr_0, "val",     upr_sr_00, "max_out", NULL );
1417
-  cmDspSysInstallCb(h, upr_sr_00, "val_out", us00p,     "val",     NULL );
1418
-  cmDspSysInstallCb(h, us00p,     "val",     upr_rt_00, "f-in",      NULL );
1419
-  cmDspSysInstallCb(h, upr_rt_00, "f-out-0",   kr00,      "uprs",    NULL );   // uprSlope->kr
1420
-  cmDspSysInstallCb(h, upr_rt_00, "f-out-1",   kr01,      "uprs",    NULL );   // uprSlope->kr
1421
-
1422
-
1423
-  // LWR scaleRange -> FX
1424
-  cmDspSysInstallCb(h, min_lwr_0, "val",     lwr_sr_00, "min_out", NULL );
1425
-  cmDspSysInstallCb(h, max_lwr_0, "val",     lwr_sr_00, "max_out", NULL );
1426
-  cmDspSysInstallCb(h, lwr_sr_00, "val_out", ls00p,     "val",     NULL );
1427
-  cmDspSysInstallCb(h, ls00p,     "val",     lwr_rt_00, "f-in",      NULL );
1428
-  cmDspSysInstallCb(h, lwr_rt_00, "f-out-0",   kr00,      "lwrs",    NULL );   // lwrSlope->kr
1429
-  cmDspSysInstallCb(h, lwr_rt_00, "f-out-1",   kr01,      "lwrs",    NULL );   // lwrSlope->kr
1430
-
1431
-
1432
-
1433
-  // =========================================================================
1434
-  //  Scale Range Connections 10
1435
-  //
1436
-
1437
-  // DYN -> scaleRange -> Router -> var scaleRange
1438
-  cmDspSysInstallCb(h, min_dyn_1,  "val",     dyn_sr_10,  "min_in",  NULL );
1439
-  cmDspSysInstallCb(h, max_dyn_1,  "val",     dyn_sr_10,  "max_in",  NULL );
1440
-  cmDspSysInstallCb(h, dyn_sr_10,   "val_out", dyn_rt_10,  "f-in",    NULL );
1441
-  cmDspSysInstallCb(h, menu_dyn_1, "out",     dyn_rt_10,  "sel",     NULL );
1442
-  cmDspSysInstallCb(h, dyn_rt_10,   "f-out-0", thrh_sr_10, "val_in",  NULL );
1443
-  cmDspSysInstallCb(h, dyn_rt_10,   "f-out-1", upr_sr_10,  "val_in",  NULL );
1444
-  cmDspSysInstallCb(h, dyn_rt_10,   "f-out-2", lwr_sr_10,  "val_in",  NULL );
1445
-
1446
-  // EVEN -> scaleRange -> Router  -> var scaleRange
1447
-  cmDspSysInstallCb(h, min_even_1,  "val",     even_sr_10,  "min_in",  NULL );
1448
-  cmDspSysInstallCb(h, max_even_1,  "val",     even_sr_10,  "max_in",  NULL );
1449
-  cmDspSysInstallCb(h, even_sr_10,   "val_out", even_rt_10,  "f-in",    NULL );
1450
-  cmDspSysInstallCb(h, menu_even_1, "out",     even_rt_10,  "sel",     NULL );
1451
-  cmDspSysInstallCb(h, even_rt_10,   "f-out-0", thrh_sr_10, "val_in",  NULL );
1452
-  cmDspSysInstallCb(h, even_rt_10,   "f-out-1", upr_sr_10,  "val_in",  NULL );
1453
-  cmDspSysInstallCb(h, even_rt_10,   "f-out-2", lwr_sr_10,  "val_in",  NULL );
1454
-
1455
-  // TEMPO -> scaleRange -> Router  -> var scaleRange
1456
-  cmDspSysInstallCb(h, min_tempo_1,  "val",     tempo_sr_10,  "min_in",  NULL );
1457
-  cmDspSysInstallCb(h, max_tempo_1,  "val",     tempo_sr_10,  "max_in",  NULL );
1458
-  cmDspSysInstallCb(h, tempo_sr_10,   "val_out", tempo_rt_10,  "f-in",    NULL );
1459
-  cmDspSysInstallCb(h, menu_tempo_1, "out",     tempo_rt_10,  "sel",     NULL );
1460
-  cmDspSysInstallCb(h, tempo_rt_10,   "f-out-0", thrh_sr_10, "val_in",  NULL );
1461
-  cmDspSysInstallCb(h, tempo_rt_10,   "f-out-1", upr_sr_10,  "val_in",  NULL );
1462
-  cmDspSysInstallCb(h, tempo_rt_10,   "f-out-2", lwr_sr_10,  "val_in",  NULL );
1463
-
1464
-  // COST -> scaleRange -> Router  -> var scaleRange 
1465
-  cmDspSysInstallCb(h, min_cost_1,  "val",     cost_sr_10,  "min_in",  NULL );
1466
-  cmDspSysInstallCb(h, max_cost_1,  "val",     cost_sr_10,  "max_in",  NULL );
1467
-  cmDspSysInstallCb(h, cost_sr_10,   "val_out", cost_rt_10,  "f-in",    NULL );
1468
-  cmDspSysInstallCb(h, menu_cost_1, "out",     cost_rt_10,  "sel",     NULL );
1469
-  cmDspSysInstallCb(h, cost_rt_10,   "f-out-0", thrh_sr_10, "val_in",  NULL );
1470
-  cmDspSysInstallCb(h, cost_rt_10,   "f-out-1", upr_sr_10,  "val_in",  NULL );
1471
-  cmDspSysInstallCb(h, cost_rt_10,   "f-out-2", lwr_sr_10,  "val_in",  NULL );
1472
-
1473
-  // MODE -> FX
1474
-  cmDspSysInstallCb(h, md10p,      "val",      mod_rt_10,  "f-in",      NULL );
1475
-  cmDspSysInstallCb(h, mod_rt_10, "f-out-0", kr10, "mode", NULL );   // mode->kr
1476
-  cmDspSysInstallCb(h, mod_rt_10, "f-out-1", kr11, "mode", NULL );   // mode->kr
1477
-
1478
-  // THRESH scaleRange -> FX
1479
-  cmDspSysInstallCb(h, min_thrh_1, "val",      thrh_sr_10, "min_out", NULL );
1480
-  cmDspSysInstallCb(h, max_thrh_1, "val",      thrh_sr_10, "max_out", NULL );
1481
-  cmDspSysInstallCb(h, thrh_sr_10, "val_out",  th10p,      "val",     NULL );
1482
-  cmDspSysInstallCb(h, th10p,      "val",      thr_rt_10,  "f-in",      NULL );
1483
-  cmDspSysInstallCb(h, thr_rt_10, "f-out-0", kr10, "thrh", NULL );   // thresh->kr
1484
-  cmDspSysInstallCb(h, thr_rt_10, "f-out-1", kr11, "thrh", NULL );   // thresh->kr
1485
-
1486
-  // UPR scaleRange -> FX
1487
-  cmDspSysInstallCb(h, min_upr_1, "val",      upr_sr_10,  "min_out", NULL );
1488
-  cmDspSysInstallCb(h, max_upr_1, "val",      upr_sr_10,  "max_out", NULL );
1489
-  cmDspSysInstallCb(h, upr_sr_10,  "val_out", us10p,      "val",     NULL );
1490
-  cmDspSysInstallCb(h, us10p,      "val",     upr_rt_10,  "f-in",      NULL );
1491
-  cmDspSysInstallCb(h, upr_rt_10, "f-out-0", kr10, "uprs", NULL );   // uprSlope->kr
1492
-  cmDspSysInstallCb(h, upr_rt_10, "f-out-1", kr11, "uprs", NULL );   // uprSlope->kr
1493
-
1494
-  // LWR scaleRange -> FX
1495
-  cmDspSysInstallCb(h, min_lwr_1, "val",     lwr_sr_10, "min_out", NULL );
1496
-  cmDspSysInstallCb(h, max_lwr_1, "val",     lwr_sr_10, "max_out", NULL );
1497
-  cmDspSysInstallCb(h, lwr_sr_10, "val_out", ls10p,     "val",     NULL );
1498
-  cmDspSysInstallCb(h, ls10p,     "val",     lwr_rt_10, "f-in",      NULL );
1499
-  cmDspSysInstallCb(h, lwr_rt_10, "f-out-0", kr10, "lwrs", NULL );   // lwrSlope->kr
1500
-  cmDspSysInstallCb(h, lwr_rt_10, "f-out-1", kr11, "lwrs", NULL );   // lwrSlope->kr
1501
-
1502
-  
1503
-
1504
-
1505
-  cmDspSysNewPage(h,"Compressor");
1506
-
1507
-  cmDspInst_t* cmp0_byp   = cmDspSysAllocCheckP(  h,  compPreGrpSymId, NULL, "Bypass0", 1.0 );
1508
-  cmDspInst_t* cmp0_igain = cmDspSysAllocScalarP( h,  compPreGrpSymId, NULL, "In Gain0", 0.0,   10.0, 0.1, cmpInGain );
1509
-  cmDspInst_t* cmp0_thr   = cmDspSysAllocScalarP( h,  compPreGrpSymId, NULL, "ThreshDb0", -100.0, 0.0, 0.1, cmpThreshDb);
1510
-  cmDspInst_t* cmp0_rat   = cmDspSysAllocScalarP( h,  compPreGrpSymId, NULL, "Ratio0",    0.1, 100, 0.1, cmpRatio_num);
1511
-  cmDspInst_t* cmp0_atk   = cmDspSysAllocScalarP( h,  compPreGrpSymId, NULL, "Atk Ms0",   0.0, 1000.0, 0.1, cmpAtkMs);
1512
-  cmDspInst_t* cmp0_rls   = cmDspSysAllocScalarP( h,  compPreGrpSymId, NULL, "Rls Ms0",   0.0, 1000.0, 0.1, cmpRlsMs);
1513
-  cmDspInst_t* cmp0_mkup  = cmDspSysAllocScalarP( h,  compPreGrpSymId, NULL, "Makeup0",   0.0, 10.0,   0.01, cmpMakeup);
1514
-  cmDspInst_t* cmp0_wnd   = cmDspSysAllocScalarP( h,  compPreGrpSymId, NULL, "Wnd Ms0",   1.0, cmpWndMaxMs, 1.0, cmpWndMs );
1515
-  cmDspInst_t* cmp0_mtr   = cmDspSysAllocInst(h,"Meter","Env0", 3, 0.0, 0.0, 1.0);
1516
-
1517
-  cmDspSysInstallCb(h, cmp0_byp,  "out", cmp0, "bypass", NULL );
1518
-  cmDspSysInstallCb(h, cmp0_igain,"val", cmp0, "igain", NULL );
1519
-  cmDspSysInstallCb(h, cmp0_thr,  "val", cmp0, "thr", NULL );
1520
-  cmDspSysInstallCb(h, cmp0_rat,  "val", cmp0, "ratio", NULL );
1521
-  cmDspSysInstallCb(h, cmp0_atk,  "val", cmp0, "atk", NULL );
1522
-  cmDspSysInstallCb(h, cmp0_rls,  "val", cmp0, "rls", NULL );
1523
-  cmDspSysInstallCb(h, cmp0_mkup, "val", cmp0, "ogain", NULL );
1524
-  cmDspSysInstallCb(h, cmp0_wnd,  "val", cmp0, "wnd", NULL );
1525
-  cmDspSysInstallCb(h, cmp0,      "env", cmp0_mtr, "in", NULL );
1526
-
1527
-  cmDspSysNewColumn(h,0);
1528
-  cmDspInst_t* cmp1_byp   = cmDspSysAllocCheckP(  h, compPreGrpSymId, NULL, "Bypass1", 1.0 );
1529
-  cmDspInst_t* cmp1_igain = cmDspSysAllocScalarP( h, compPreGrpSymId, NULL, "In Gain1",  0.0,   10.0, 0.1, cmpInGain);
1530
-  cmDspInst_t* cmp1_thr   = cmDspSysAllocScalarP( h, compPreGrpSymId, NULL, "ThreshDb1", -100.0, 0.0, 0.1, cmpThreshDb);
1531
-  cmDspInst_t* cmp1_rat   = cmDspSysAllocScalarP( h, compPreGrpSymId, NULL, "Ratio1",    0.1, 100, 0.1, cmpRatio_num);
1532
-  cmDspInst_t* cmp1_atk   = cmDspSysAllocScalarP( h, compPreGrpSymId, NULL, "Atk Ms1",   0.0, 1000.0, 0.1, cmpAtkMs);
1533
-  cmDspInst_t* cmp1_rls   = cmDspSysAllocScalarP( h, compPreGrpSymId, NULL, "Rls Ms1",   0.0, 1000.0, 0.1, cmpRlsMs);
1534
-  cmDspInst_t* cmp1_mkup  = cmDspSysAllocScalarP( h, compPreGrpSymId, NULL, "Makeup1",   0.0, 10.0,   0.01, cmpMakeup);
1535
-  cmDspInst_t* cmp1_wnd   = cmDspSysAllocScalarP( h, compPreGrpSymId, NULL, "Wnd Ms1",   1.0, cmpWndMaxMs, 1.0, cmpWndMs );
1536
-  cmDspInst_t* cmp1_mtr   = cmDspSysAllocInst(h,"Meter","Env1", 3, 0.0, 0.0, 1.0);
1537
-
1538
-  cmDspSysInstallCb(h, cmp1_byp,  "out", cmp1, "bypass", NULL );
1539
-  cmDspSysInstallCb(h, cmp1_igain,"val", cmp1, "igain", NULL );
1540
-  cmDspSysInstallCb(h, cmp1_thr,  "val", cmp1, "thr", NULL );
1541
-  cmDspSysInstallCb(h, cmp1_rat,  "val", cmp1, "ratio", NULL );
1542
-  cmDspSysInstallCb(h, cmp1_atk,  "val", cmp1, "atk", NULL );
1543
-  cmDspSysInstallCb(h, cmp1_rls,  "val", cmp1, "rls", NULL );
1544
-  cmDspSysInstallCb(h, cmp1_mkup, "val", cmp1, "ogain", NULL );
1545
-  cmDspSysInstallCb(h, cmp1_wnd,  "val", cmp1, "wnd", NULL );
1546
-  cmDspSysInstallCb(h, cmp1,      "env", cmp1_mtr, "in", NULL );
1547
-
1548
-  //--------------- Compressor Preset controls
1549
-  cmDspSysNewColumn(h,0);
1550
-  cmDspInst_t* comp_preset    = cmDspSysAllocInst(   h, "Preset", NULL, 1, compPreGrpSymId );
1551
-  cmDspInst_t* comp_presetLbl = cmDspSysAllocInst(   h, "Text",   "Comp_Preset",      1, "" );
1552
-  cmDspInst_t* comp_storeBtn  = cmDspSysAllocButton( h, "comp_store",  0);
1553
-  cmDspInst_t* comp_recallBtn = cmDspSysAllocButton( h, "comp_recall", 0);
1554
-  cmDspInst_t* comp_pts       = cmDspSysAllocInst(   h, "PortToSym", NULL, 2, "store", "recall");
1555
-
1556
-  cmDspSysInstallCb(   h, comp_presetLbl, "val",    comp_preset, "label",NULL);
1557
-  cmDspSysInstallCb(   h, comp_storeBtn,  "out",    comp_pts,    "store", NULL );
1558
-  cmDspSysInstallCb(   h, comp_recallBtn, "out",    comp_pts,    "recall", NULL );
1559
-  cmDspSysInstallCb(   h, comp_pts,       "store",  comp_preset, "cmd", NULL );
1560
-  cmDspSysInstallCb(   h, comp_pts,       "recall", comp_preset, "cmd", NULL );
1561
-  
1562
-  return rc;
1563
-}
1564
-
1565 783
 
1566 784
 
1567 785
 

Завантаження…
Відмінити
Зберегти