1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
SoundIn {
*ar { arg bus = 0, mul=1.0, add=0.0;
var chanOffset;
chanOffset = this.channelOffset;
if(bus.isArray.not,{
^In.ar(chanOffset + bus, 1).madd(mul,add)
});
// check to see if channels array is consecutive [n,n+1,n+2...]
if(bus.every({arg item, i;
(i==0) or: {item == (bus.at(i-1)+1)}
}),{
^In.ar(chanOffset + bus.first, bus.size).madd(mul,add)
},{
// allow In to multi channel expand
^In.ar(chanOffset + bus).madd(mul,add)
})
}
*channelOffset {
^NumOutputBuses.ir
}
}
|