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@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users