Merge pull request #506 from andrewcsmith/patch-2
[supercollider.git] / examples / demonstrations / Atari2600.scd
blob400d72039390f4e3df9bd3e7fb4b72ab6fabf4a2
2 /*
3 // Fredrik Olofsson
5 A quick demo of Fredrik Olofsson's Atari 2600 plugin, which can be downloaded from:
8 www.fredrikolofsson.com/pages/code-sc.html
10 This lovely 8-bit tune is based on an example in the helpfile.
14 // Simple synth definition using the Atari2600 UGen:
16 SynthDef(\atari2600, {|out= 0, gate= 1, tone0= 5, 
17       tone1= 8, freq0= 10, freq1= 20, amp= 1, pan= 0|
18         var e, z;
19         e= EnvGen.kr(Env.asr(0.01, amp, 0.05), gate, doneAction:2);
20         z= Atari2600.ar(tone0, tone1, freq0, freq1, 15, 15);
21         Out.ar(out, Pan2.ar(z*e, pan));
22 }).add;
25 // And a pattern to play it:
27 Pbind(
28         \instrument, \atari2600,
29         \dur, Pseq([0.25, 0.25, 0.25, 0.45], inf),
30         \amp, 0.8,
31         \tone0, Pseq([Pseq([2, 5], 32), Pseq([3, 5], 32)], inf),
32         \tone1, 14,
33         \freq0, Pseq([Pbrown(28, 31, 1, 32), 
34                           Pbrown(23, 26, 3, 32)], inf),
35         \freq1, Pseq([Pn(10, 16), Pn(11, 16)], inf)
36 ).play