Showing the changes to examples/basic (1 of 10 files). Show all
Unified · Split
| @@ -0,0 +1,36 @@ | |||
| 1 | // oscillator demo | ||
| 2 | // - philipd | ||
| 3 | |||
| 4 | [ 0, 2, 4, 7, 9 ] @=> int f[]; | ||
| 5 | |||
| 6 | SinOsc s => dac; | ||
| 7 | SawOsc saw => dac; | ||
| 8 | TriOsc tri => dac; | ||
| 9 | PulseOsc pul => dac; | ||
| 10 | SqrOsc sqr => dac; | ||
| 11 | |||
| 12 | TriOsc trictrl => SinOsc sintri => dac; | ||
| 13 | |||
| 14 | [ s, saw, tri, pul, sqr, trictrl ] @=> Osc oscillators[]; | ||
| 15 | |||
| 16 | 0.2 => s.gain; | ||
| 17 | 0.1 => saw.gain; | ||
| 18 | 0.1 => tri.gain; | ||
| 19 | 0.1 => pul.gain; | ||
| 20 | 0.1 => sqr.gain; | ||
| 21 | 0.1 => sintri.gain; | ||
| 22 | 2 => sintri.sync; | ||
| 23 | |||
| 24 | while ( true ) { | ||
| 25 | |||
| 26 | Math.random2(0,7) => int select; | ||
| 27 | if ( select > 5 ) 5 => select; | ||
| 28 | Std.mtof( f[Math.random2( 0, 4 )] + 60 ) => float newnote; | ||
| 29 | newnote => oscillators[select].freq; | ||
| 30 | 0.25::second => now; | ||
| 31 | for ( 0 => int i; i < 10; i+1 => i ) { | ||
| 32 | Math.random2f (0.2, .8 ) => trictrl.width; | ||
| 33 | 0.05 ::second => now; | ||
| 34 | } | ||
| 35 | |||
| 36 | } | ||