[chuck-users] chuck killed when swapping buffer reference

Charlls Quarra charlls_quarra at yahoo.com.ar
Mon Feb 13 19:13:45 EST 2006


 This program kills chuck 1.2.0.4 after u>30, when curbuf and nextbuf references are swapped. There is something blatantly wrong with this code?
 
 // the patch 
 sndbuf buf => dac;
 sndbuf buf2 => dac;
 sndbuf @ curbuf;
 sndbuf @ nextbuf;
 
 2 => buf.interp;
 2 => buf2.interp;
 // load the file
 "/home/charles/test.wav" => buf.read;
 "/home/charles/test.wav" => buf2.read;
 
 // set the playback rate (1.0 is default)
 1.0 => buf.play; 
 1.0 => buf2.play;
 buf @=> curbuf;
 buf2 @=> nextbuf;
 
 0 =>int u; 
 buf.samples() => int size;
 std.rand2(0, size) =>int nextpos;
 100::ms => dur stepping;
 nextpos => nextbuf.pos;
 0.0 => float mixer;
 1.0 => curbuf.gain;
 0.0 => nextbuf.gain;
 // time loop
 sndbuf @ swap;
 while( true )
 {
     1 +=> u;
     if ( u>30 )
     {
       5::ms => stepping;             
       0.05 +=> mixer;
       1.0 - mixer => curbuf.gain;
       mixer => nextbuf.gain;
       if ( mixer > 0.95 )
       {
         std.rand2(0 , size) => nextpos;
     curbuf => swap;
     nextbuf => curbuf;
     swap => nextbuf;
     nextpos => nextbuf.pos;
     0.0 => mixer;
         0 => u; 
     100::ms => stepping;
       }      
     }
     stepping => now;
 }
 
		
---------------------------------
 1GB gratis, Antivirus y Antispam
 Correo Yahoo!, el mejor correo web del mundo
 Abrí tu cuenta aquí
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20060213/69753b31/attachment.htm


More information about the chuck-users mailing list