Browse Source

cmDspPgmKr.c Many changes to _cmDspSysPgm_TimeLine().

master
kpl 11 years ago
parent
commit
deaf96e725
1 changed files with 51 additions and 22 deletions
  1. 51
    22
      dsp/cmDspPgmKr.c

+ 51
- 22
dsp/cmDspPgmKr.c View File

@@ -36,22 +36,28 @@
36 36
 
37 37
 cmDspRC_t _cmDspSysPgm_TimeLine(cmDspSysH_t h, void** userPtrPtr )
38 38
 {
39
-  cmDspRC_t       rc      = kOkDspRC;
40
-  const cmChar_t* tlFn    = "/home/kevin/src/cmgv/src/gv/data/tl7.js";
41
-  const cmChar_t* audPath = "/home/kevin/media/audio/20110723-Kriesberg/Audio Files";
42
-  const cmChar_t* scFn    = "/home/kevin/src/cmgv/src/gv/data/mod2b.txt";
43
-
44
-  cmDspInst_t* sci =  cmDspSysAllocInst(h,"Scalar", "ScIdx",  5, kNumberDuiId, 0.0,  10000.0, 1.0,  0.0);
39
+  cmDspRC_t       rc         = kOkDspRC;
40
+  const cmChar_t* tlFn       = "/home/kevin/src/cmgv/src/gv/data/tl7.js";
41
+  const cmChar_t* audPath    = "/home/kevin/media/audio/20110723-Kriesberg/Audio Files";
42
+  const cmChar_t* scFn       = "/home/kevin/src/cmgv/src/gv/data/mod2b.txt";
43
+  unsigned        wtLoopCnt  = 1;                            // play once (do not loop)
44
+  unsigned        wtInitMode = 0;                            // initial wt mode is 'silence'
45
+  unsigned        wtSmpCnt   = floor(cmDspSysSampleRate(h)); // wt length == srate
45 46
 
46 47
   cmDspInst_t* tlp  = cmDspSysAllocInst(h,"TimeLine",    "tl",  2, tlFn, audPath );
48
+  cmDspInst_t* scp  = cmDspSysAllocInst(h,"Score",       "sc",  1, scFn );
47 49
   cmDspInst_t* php  = cmDspSysAllocInst(h,"Phasor",      NULL,  0 );
48
-  cmDspInst_t* wtp  = cmDspSysAllocInst(h,"WaveTable",   NULL,  2, cmDspSysSampleRate(h), 0 );
49
-  cmDspInst_t* pts  = cmDspSysAllocInst(h,"PortToSym",   NULL,  1, "start" );
50
+  cmDspInst_t* wtp  = cmDspSysAllocInst(h,"WaveTable",   NULL,  4, wtSmpCnt, wtInitMode, NULL, wtLoopCnt );
51
+  cmDspInst_t* pts  = cmDspSysAllocInst(h,"PortToSym",   NULL,  2, "on", "off" );
50 52
   cmDspInst_t* mfp  = cmDspSysAllocInst(h,"MidiFilePlay",NULL,  0 );
51 53
   cmDspInst_t* sfp  = cmDspSysAllocInst(h,"ScFol",       NULL,  1, scFn );
52 54
   cmDspInst_t* ao0p = cmDspSysAllocInst(h,"AudioOut",    NULL,  1, 0 );
53 55
   cmDspInst_t* ao1p = cmDspSysAllocInst(h,"AudioOut",    NULL,  1, 1 );
54 56
 
57
+  cmDspSysNewPage(h,"Controls");
58
+  cmDspInst_t* onb  = cmDspSysAllocInst(h,"Button", "start",  2, kButtonDuiId, 1.0 );
59
+  cmDspInst_t* offb = cmDspSysAllocInst(h,"Button", "stop",   2, kButtonDuiId, 1.0 );
60
+
55 61
 
56 62
 
57 63
   cmDspInst_t* prp = cmDspSysAllocInst(h,"Printer", NULL,   1, ">" );
@@ -59,30 +65,53 @@ cmDspRC_t _cmDspSysPgm_TimeLine(cmDspSysH_t h, void** userPtrPtr )
59 65
   if((rc = cmDspSysLastRC(h)) != kOkDspRC )
60 66
     return rc;
61 67
 
68
+  // phasor->wt->aout
62 69
   cmDspSysConnectAudio(h, php, "out", wtp,  "phs" );   // phs -> wt
63 70
   cmDspSysConnectAudio(h, wtp, "out", ao0p, "in"  );   // wt  -> aout0
64 71
   cmDspSysConnectAudio(h, wtp, "out", ao1p, "in" );    // wt  -> aout1
65
-
66
-  
67
-  cmDspSysInstallCb(h, tlp, "afn",  prp, "in",  NULL );
68
-  cmDspSysInstallCb(h, tlp, "mfn",  prp, "in", NULL );
69
-  cmDspSysInstallCb(h, tlp, "sel",  prp, "in", NULL );
70
-
71
-  cmDspSysInstallCb(h, tlp, "absi", wtp, "beg", NULL );
72
+  cmDspSysInstallCb(   h, wtp, "fidx",tlp,  "curs", NULL); 
73
+  //cmDspSysInstallCb(   h, wtp, "fidx",prp,  "in", NULL );
74
+
75
+  // start connections
76
+  cmDspSysInstallCb(h, onb, "sym", tlp, "reset", NULL );
77
+  cmDspSysInstallCb(h, onb, "sym", scp, "send",  NULL );
78
+  cmDspSysInstallCb(h, onb, "sym", mfp, "sel",   NULL );
79
+  cmDspSysInstallCb(h, onb, "sym", pts, "on",    NULL );
80
+  cmDspSysInstallCb(h, pts, "on",  wtp, "cmd",   NULL );
81
+
82
+  // stop connections
83
+  cmDspSysInstallCb(h, wtp,  "done",offb,"in",  NULL ); // 'done' from WT simulates pressing Stop btn.
84
+  cmDspSysInstallCb(h, tlp,  "mfn", pts, "off", NULL ); // Prevents WT start on new audio file from TL.
85
+  cmDspSysInstallCb(h, offb, "sym", mfp, "sel", NULL ); 
86
+  cmDspSysInstallCb(h, offb, "sym", pts, "off", NULL );
87
+  cmDspSysInstallCb(h, pts,  "off", wtp, "cmd", NULL );
88
+
89
+  // time-line to wave-table selection 
90
+  cmDspSysInstallCb(h, tlp, "absi", wtp, "beg", NULL );  
72 91
   cmDspSysInstallCb(h, tlp, "aesi", wtp, "end", NULL );
73 92
   cmDspSysInstallCb(h, tlp, "afn",  wtp, "fn",  NULL );
74 93
 
75
-  cmDspSysInstallCb(h, tlp, "mbsi", mfp, "bsi", NULL );
76
-  cmDspSysInstallCb(h, tlp, "mesi", mfp, "esi", NULL );
77
-  cmDspSysInstallCb(h, tlp, "mfn",  mfp, "fn", NULL );
78
-  cmDspSysInstallCb(h, tlp, "mfn",  pts, "start", NULL );
79
-  cmDspSysInstallCb(h, pts, "out",  mfp, "sel", NULL );
94
+  // time-line to MIDI file player selection
95
+  cmDspSysInstallCb(h, tlp, "mbsi", mfp, "bsi",   NULL );
96
+  cmDspSysInstallCb(h, tlp, "mesi", mfp, "esi",   NULL );
97
+  cmDspSysInstallCb(h, tlp, "mfn",  mfp, "fn",    NULL );
80 98
 
99
+  // score to score follower
100
+  cmDspSysInstallCb(h, scp, "sel",    sfp, "index",  NULL );
101
+
102
+
103
+  // MIDI file player to score-follower
81 104
   cmDspSysInstallCb(h, mfp, "status", sfp, "status", NULL );
82 105
   cmDspSysInstallCb(h, mfp, "d0",     sfp, "d0",     NULL );
83 106
   cmDspSysInstallCb(h, mfp, "d1",     sfp, "d1",     NULL );
84
-  cmDspSysInstallCb(h, sci, "val",    sfp, "index",  NULL );
85
-  cmDspSysInstallCb(h, sfp, "out",    prp, "in",     NULL );
107
+
108
+
109
+  // Printer connections
110
+  cmDspSysInstallCb(h, tlp, "afn",  prp, "in",  NULL );
111
+  cmDspSysInstallCb(h, tlp, "mfn",  prp, "in",  NULL );
112
+  cmDspSysInstallCb(h, tlp, "sel",  prp, "in",  NULL );
113
+  cmDspSysInstallCb(h, sfp, "out",  prp, "in",     NULL );
114
+
86 115
 
87 116
   return rc;
88 117
 }

Loading…
Cancel
Save