File: valueat.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 (28 lines) | stat: -rw-r--r-- 657 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
// for demo'ing SndBuf.valueAt() and using Impulse to render
// audio one-sample-at-a-time; not a conventional use case
// (see sndbuf.ck or otf_01.ck for more conventional usage of sndbuf)

// use this for reading from file only
SndBuf buf;
// read a file
me.dir() + "../data/kick.wav" => buf.read;

// the patch (no sndbuf involved)
Impulse i => dac;

// infinite time-loop
while( true )
{
    // index
    int pos;
    // repeat this many times
    repeat( buf.samples() )
    {
        // set next sample
        buf.valueAt( pos ) => i.next;
        // increment index
        pos++;
        // advance time by one samp
        1::samp => now;
    }
}