{
   "author" : "codepool",
   "name" : "Ceci N'est Pas Une Pipe",
   "ancestor_list" : [],
   "description" : "Migration from the old SourceForge wiki.",
   "labels" : [
      "live coding",
      "jitlib"
   ],
   "code" : "s.boot;\r\np = ProxySpace.push(s);\r\n~out.play;\r\n\r\np.fadeTime = 2;\r\n\r\n(\r\nf = { arg n = 10, fmin=1000, fmax=8000.0, dtMul=0.5;\r\n\t\t[\r\n\t\t\tArray.rand(n, fmin, fmax).sort,\r\n\t\t\tnil,\r\n\t\t\tArray.rand(n, dtMul*0.1, dtMul).sort.reverse\r\n\t\t]\r\n\t};\r\n~pipe = { \r\n\tvar in;\r\n\tin = ~in.ar(8);\r\n\tin.collect({ arg chan;\r\n\t\tKlank.ar(Ref(f.value(rrand(4, 15), dtMul: rrand(40, 1).reciprocal)), chan)\r\n\t}) \r\n\t* 0.4\r\n}\r\n)\r\n\r\n~out = { Pan2.ar(Mix(~pipe.ar(8)), LFNoise1.kr(0.1)) };\r\n~out = { Splay.ar(~pipe.ar(8)) * 8 };\r\n\r\n\r\n\r\n~in = { PanAz.ar(8, Impulse.ar(6, 0, 0.5) + WhiteNoise.ar(0.01), MouseX.kr(-1, 1)) }; \r\n~in = { Array.fill(8, { Impulse.ar([1, 2, 3, 5].choose, pi.rand * MouseX.kr(0,1), 0.5) }) }; \r\n\r\n\r\n~in[0] = { PanAz.ar(8, Impulse.ar(Rand(1, 4), 0, 0.5), LFNoise1.kr(0.1)) }; \r\n~in[1] = { PanAz.ar(8, Impulse.ar(Rand(1, 4), 0, 0.5), LFNoise1.kr(0.1)) }; \r\n~in[2] = { PanAz.ar(8, PinkNoise.ar(0.02), LFNoise1.kr(0.1)) }; \r\n~in[3] = { PanAz.ar(8, PinkNoise.ar(0.02), LFNoise1.kr(0.1)) }; \r\n~in[4] = { PanAz.ar(8, PinkNoise.ar(0.02), LFNoise1.kr(0.1)) }; \r\n\r\n~in = { PanAz.ar(8, PinkNoise.ar(0.02), LFPulse.kr(Rand(1, 4), 0, Rand(0.02, 0.8)), LFNoise1.kr(0.1)) }; \r\n\r\n//add new layers\r\n~in.send;\r\n~in.send;\r\n~in.send;\r\n\r\n//feed over\r\n~in[0] = { PanAz.ar(8, ~in.ar(1, MouseY.kr(0,6)), LFNoise1.kr(0.1)) }; \r\n~in[1] = { PanAz.ar(8, ~in.ar(1, MouseY.kr(1,7)), LFNoise1.kr(0.1)) }; \r\n\r\n\r\n************\r\n/*\r\nauthors so far:\r\njrh 03\r\n*/",
   "id" : "1-56P",
   "is_private" : null
}
