File: delay2.ck

package info (click to toggle)
chuck 1.5.5.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 41,056 kB
  • sloc: cpp: 123,473; ansic: 35,893; javascript: 2,111; yacc: 609; makefile: 457; python: 174; perl: 86
file content (31 lines) | stat: -rw-r--r-- 623 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// name: delay2.ck
// desc: example of modulating delay using DelayL
// requires: 1.5.2.5 or higher

// patch
SndBuf doh("special:doh") => DelayL delay(.25::second, 1::second) => dac;

// shred to say "doh!" periodically
spork ~ sayDOH();

// infinite time loop
while( true )
{
    // modulate delay length
    .5::second + .4*Math.sin(now/second*2)::second => delay.delay;
    // every sample; might be extreme...but smooth
    1::samp => now;
}

// say doh
fun void sayDOH()
{
    // time loop
    while( true )
    {
        // reset playhead
        0 => doh.pos;
        // advance time
        400::ms => now;
    }
}