{
   "author" : "Schemawound",
   "name" : "Dawn",
   "ancestor_list" : [],
   "description" : "\"Dawn\" by Schemawound\r\nAppears on the album \"They Want To Make Your Body Move.  I Want To Hold You Perfectly Still.\"\r\nFull album is available for download from http://www.schemawound.com\r\n\r\nCode by Jonathan Siemasko\r\nContact: schemawound@yahoo.com\r\nHomepage: http://www.schemawound.com/",
   "labels" : [
      "ambient",
      "drone"
   ],
   "id" : "1-4Ra",
   "is_private" : null,
   "code" : "/*\r\n\"Dawn\" by Schemawound\r\nAppears on the album \"They Want To Make Your Body Move.  I Want To Hold You Perfectly Still.\"\r\nFull album is available for download from http://www.schemawound.com\r\n\r\nCode by Jonathan Siemasko\r\nContact: schemawound@yahoo.com\r\nHomepage: http://www.schemawound.com/\r\n*/\r\n\r\n(\r\n    {\r\n        //-----Variables-----\r\n        var mainout = 0;\r\n\r\n        //-----SynthDefs-----\r\n        SynthDef(\\additivePad, { \r\n            |\r\n                outbus = 0,     freq = 40,      amp = 1,    attack = 0.1,   decay = 0.1,    \r\n                lfo0L = 0.5,    lfo0R = 0.5,    lfo1L= 0.1, lfo1R = 0.1,    lfo2L= 0.5,     lfo2R = 0.5\r\n            |\r\n            var syn, env, ampMod, output;\r\n            var lfo2input = Array.new(2);\r\n            var lfo = Array.new(3);\r\n            lfo = lfo.add(SinOsc.kr([lfo0L, lfo0R]).range(0, 1));\r\n            lfo = lfo.add(SinOsc.kr([lfo1L, lfo1R]).range(0, 1));\r\n            lfo2input = lfo2input.add(lfo2L * lfo[0] * lfo[1]); //Left\r\n            lfo2input = lfo2input.add((lfo2R * (1 - lfo[0])) * (1 - lfo[1])); //Right\r\n            lfo = lfo.add(SinOsc.kr(lfo2input, 1.5pi).range(0, 1));\r\n            env = EnvGen.kr(Env.perc(attack, decay), doneAction: 2);\r\n            syn = SinOsc.ar(freq) * lfo[2];\r\n            output = syn * env * amp;\r\n            Out.ar(outbus, output);\r\n        }).add; \r\n\r\n        //-----Sync-----\r\n        Server.default.sync;\r\n\r\n        //-----Patterns-----\r\n        Pbind(*[instrument: \\additivePad, \r\n            dur:        Pwhite(7, 11),\r\n            amp:        0.1,\r\n            freq:       Pseq([Pwhite(40, 100, 1), Pwhite(300, 1000, 3)], inf), //lo, hi, hi, hi\r\n            lfo0L:      Pwhite(0.5, 400),   lfo0R:  Pwhite(0.5, 400),\r\n            lfo1L:      Pwhite(0.1, 0.5),   lfo1R:  Pwhite(0.1, 0.5),\r\n            lfo2L:      Pwhite(0.5, 200),   lfo2R:  Pwhite(0.5, 200),\r\n            attack:     Pwhite(0.1, 30),    decay:  Pwhite(0.1, 30),\r\n            outbus:     mainout\r\n        ]).play;\r\n\r\n    }.fork;\r\n)"
}
