1DiskOut : UGen { 2 *ar { arg bufnum, channelsArray; 3 ^this.multiNewList(['audio', bufnum] ++ channelsArray.asArray) 4 } 5 6 checkInputs { 7 if (rate == 'audio', { 8 for(1, inputs.size - 1, { arg i; 9 if (inputs.at(i).rate != 'audio', { 10 ^("input was not audio rate: " + inputs.at(i)); 11 }); 12 }); 13 }); 14 ^this.checkValidInputs 15 } 16} 17 18DiskIn : MultiOutUGen { 19 *ar { arg numChannels, bufnum, loop = 0; 20 ^this.multiNew('audio', numChannels, bufnum, loop) 21 } 22 init { arg numChannels, bufnum, loop = 0; 23 inputs = [bufnum, loop]; 24 ^this.initOutputs(numChannels, rate) 25 } 26} 27 28VDiskIn : MultiOutUGen { 29 *ar { arg numChannels, bufnum, rate = 1, loop = 0, sendID = 0; 30 ^this.multiNew('audio', numChannels, bufnum, rate, loop, sendID) 31 } 32 init { arg numChannels, bufnum, argRate = 1, loop = 0, sendID = 0; 33 inputs = [bufnum, argRate, loop, sendID]; 34 ^this.initOutputs(numChannels, rate) 35 } 36} 37