diff --git a/cabbages/4track.csd b/cabbages/4track.csd index 831a9f9..d0cf638 100644 --- a/cabbages/4track.csd +++ b/cabbages/4track.csd @@ -1,18 +1,24 @@ - bounds(0, 0, 0, 0) -form caption("4track") size(400, 300), colour(58, 110, 182), pluginid("4trk") - - +; 4track - an TASCAM-like multitrack recorder + +form caption("4track") size(400, 240), colour(0, 51, 153), pluginid("4trk") vslider bounds(40, 4, 50, 150) range(0, 1, 1, 1, 0.001) channel("vol1") vslider bounds(94, 4, 50, 150) range(0, 1, 1, 1, 0.001) channel("vol2") -vslider bounds(150, 4, 50, 150) range(0, 1, 1, 1, 0.001) channel("vol3") -vslider bounds(204, 4, 50, 150) range(0, 1, 1, 1, 0.001) channel("vol4") -checkbox bounds(46, 158, 30, 30) channel("ch1") radiogroup("ch") +vslider bounds(150, 4, 50, 149) range(0, 1, 1, 1, 0.001) channel("vol3") +vslider bounds(204, 4, 50, 149) range(0, 1, 1, 1, 0.001) channel("vol4") +checkbox bounds(48, 158, 30, 30) channel("ch1") radiogroup("ch") checkbox bounds(104, 158, 30, 30) channel("ch2") radiogroup("ch") checkbox bounds(160, 158, 30, 30) channel("ch3") radiogroup("ch") checkbox bounds(214, 158, 30, 30) channel("ch4") radiogroup("ch") -checkbox bounds(268, 50, 102, 30) channel("ch0") radiogroup("ch") text("MIX") -checkbox bounds(268, 12, 100, 30) text("PLAY/REC") channel("running") colour:1(255, 0, 0, 255) fontcolour:1(0, 255, 0, 255) -filebutton bounds(268, 90, 122, 30) mode("directory") channel("dir") text("DIR", "DIR") +checkbox bounds(268, 158, 102, 30) channel("ch0") radiogroup("ch") text("JUST PLAY") +checkbox bounds(268, 90, 100, 30) text("PLAY/REC") channel("running") colour:1(255, 0, 0, 255) fontcolour:1(0, 255, 0, 255) active(0) identchannel("playrec") +filebutton bounds(264, 10, 122, 30) mode("directory") channel("dir") text("PROJECT") +label bounds(8, 166, 39, 16) text("CH") +label bounds(46, 194, 37, 16) text("1") +label bounds(106, 194, 27, 16) text("2") +label bounds(160, 194, 33, 16) text("3") +label bounds(216, 194, 30, 18) text("4") +checkbox bounds(268, 124, 100, 30) channel("finalize") text("FINAL") +label bounds(266, 48, 118, 34) text("4track") @@ -28,7 +34,7 @@ gkRunning init 0 ; this will be a working dir: ; selectable by button DIR -gSdir init "C:/severak/aaa/" +gSdir init "." ; recorder controls (always on) instr 1 @@ -41,6 +47,13 @@ kch4 chnget "ch4" kch0 chnget "ch0" gkRunning chnget "running" +gSdir chnget "dir" + +if changed(gSdir)==1 then + printks "gSdir=%s\n", 0.5, gSdir + ; tohle aktivuje projekt + chnset "active(1)", "playrec" +endif if changed:k(gkRunning)==1 && gkRunning==1 && kch1==1 then printks "REC 1 ON\n", 0.5 @@ -88,6 +101,12 @@ if changed:k(gkRunning)==1 && gkRunning==1 && kch4!=1 then event "i",100,0,900,4 endif +if gkRunning==0 then + ; passtrough + aL, aR ins + outs aL, aR +endif + endin @@ -100,9 +119,10 @@ endif ich = p4 -Sname sprintf "%sch%d.wav", gSdir, ich -Schname sprintf "ch%d", ich -printf_i "in=%s\n", 1, Sname +Sname sprintf "%s/ch%d.wav", gSdir, ich +Schname sprintf "vol%d", ich +kVol chnget Schname +printf_i "in=%s, %s, %d\n", 1, Sname, Schname, kVol ivalid filevalid Sname if ivalid==1 then @@ -110,7 +130,7 @@ if ivalid==1 then kVol chnget Schname aL, aR diskin2 Sname, 1 - outs aL, aR + outs aL*kVol, aR*kVol else turnoff endif @@ -127,7 +147,7 @@ endif aL, aR ins ich = p4 -Sname sprintf "%sch%d.wav", gSdir, ich +Sname sprintf "%s/ch%d.wav", gSdir, ich printf_i "out=%s\n", 1, Sname fout Sname, 9, aL, aR