Somewhat unglitched.

This commit is contained in:
severak 2020-04-07 20:45:06 +02:00
parent 690fd9c7b7
commit b24c39bf40
1 changed files with 36 additions and 16 deletions

View File

@ -1,18 +1,24 @@
<Cabbage> bounds(0, 0, 0, 0)
form caption("4track") size(400, 300), colour(58, 110, 182), pluginid("4trk")
; 4track - an TASCAM-like multitrack recorder
<Cabbage>
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")
</Cabbage>
<CsoundSynthesizer>
<CsOptions>
@ -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