-+rtaudio=alsa -odac -m0 -d -b2048 -B4096 sr=22050 ksmps=100 nchnls=2 /************************************************************************** General Soundfile Player - Used by Memorize Activity **************************************************************************/ instr 108 /* soundfile play control p4 : filename p5 : unique instance ID p6 : output gain (0-1) p7 : offset in seconds channels: sfplay..on - instance control channel (1:on 0: off) sfplay..gain - soundfile play gain (0-1) sfplay..flen - holds the channel length */ S1 strget p4 inst = p5 ich = 1 iln = 10 ioffset = p8 Slen sprintf "sfplay.%d.flen", p5 ; file length channel chnset iln, Slen Splay sprintf "sfplay.%d.on", inst ; instance control channel Sname sprintf "sfplay.%d.fname", inst ; filename channel Sgain sprintf "sfplay.%d.gain", inst ; gain channel chnset S1, Sname chnset 1, Splay chnset p6, Sgain event_i "i",109,0,iln,inst,ich,ioffset turnoff endin instr 109 /* soundfile player This is the actual soundfile player. It never gets called directly */ ich = p5 inst= p4 ioffset = p6 Splay sprintf "sfplay.%d.on", inst ; instance control channel Sname sprintf "sfplay.%d.fname", inst ; filename channel Sgain sprintf "sfplay.%d.gain", inst ; gain channel kon chnget Splay kg1 chnget Sgain S1 chnget Sname if kon == 0 then printf "sfplay:%d OFF\n", 1, inst turnoff endif if ich = 1 then a1 oggplay S1, ioffset a2 = a1 else a1,a2 oggplay S1, ioffset endif outs a1*kg1, a2*kg1 printf_i "sfplay:%d\n", 1, inst endin f0 600000