File: SoundIn.sc

package info (click to toggle)
supercollider 1%3A3.13.0%2Brepack-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 80,296 kB
  • sloc: cpp: 476,363; lisp: 84,680; ansic: 77,685; sh: 25,509; python: 7,909; makefile: 3,440; perl: 1,964; javascript: 974; xml: 826; java: 677; yacc: 314; lex: 175; objc: 152; ruby: 136
file content (24 lines) | stat: -rw-r--r-- 520 bytes parent folder | download | duplicates (5)
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
	}
}