[chuck-users] Any way to use .pos passing a string?
Joel Matthys
jwmatthys at yahoo.com
Sun Jul 6 20:24:11 EDT 2014
Hi Federico. ChucK has a nice feature called Associative Arrays.
Basically you will create an empty array of SndBufs, and then create new
ones with the string as the array index:
SndBuf buf[0]; // declare empty array
new SndBuf @=> buf["kk"]; // creates new SndBuf associated with array
index "kk"
new SndBuf @=> buf["sn"]; // creates new SndBuf associated with array
index "sn"
buf["kk"] => dac;
buf["sn"] => dac;
me.dir() + "/audio/kick_01.wav" => buf["kk"].read;
me.dir() + "/audio/snare_01.wav" => buf["sn"].read;
buf["kk"].samples() => buf["kk"].pos;
buf["sn"].samples() => buf["sn"].pos;
["kk", "sn"] @=> string p1[];
while( true )
{
for( 0 => int i; i < p1.cap(); i++)
{
0 => buf[ p1[i] ].pos;
0.25::second => now;
}
}
//--END
Joel
On 07/06/2014 06:13 PM, Federico Lopez wrote:
> Hi,
> I have an array of strings (p1) that contains the same names of
> SndBuff instances (kk sn), I would like to pass the strings of the
> array to trigger samples and I don't know how to do it.
>
> Here is some test code:
>
> SndBuf kk => dac;
> SndBuf sn => dac;
>
> me.dir() + "/audio/kick_01.wav" => kk.read;
> me.dir() + "/audio/snare_01.wav" => sn.read;
>
> kk.samples() => kk.pos;
> sn.samples() => sn.pos;
>
> while( true )
> {
> ["kk", "sn"] @=> string p1[];
>
> for( 0 => int i; i < p1.cap(); i++)
> {
> 0 => p1[i].pos; // not working
> 0.25::second => now;
> }
> }
>
> Thanks,
>
> Federico López
>
>
>
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20140706/1392cc51/attachment.html>
More information about the chuck-users
mailing list