Module: Ruck::MultiChannelTarget
- Included in:
- Generators::WavOut
- Defined in:
- lib/ruck/ugen/general.rb
Instance Method Summary collapse
Instance Method Details
#add_source(ugen) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/ruck/ugen/general.rb', line 59 def add_source(ugen) if ugen.is_a? Array ugen.each { |u| add_source u } return self end if ugen.out_channels.length == 1 @in_channels.each { |chan| chan.add_source ugen.out(0) } else 1.upto([ugen.out_channels.length, @in_channels.length].min) do |i| @in_channels[i-1].add_source ugen.out(i-1) end end self end |
#in(chan) ⇒ Object
96 97 98 |
# File 'lib/ruck/ugen/general.rb', line 96 def in(chan) @in_channels[chan] end |
#in_channels ⇒ Object
92 93 94 |
# File 'lib/ruck/ugen/general.rb', line 92 def in_channels @in_channels end |
#remove_source(ugen) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/ruck/ugen/general.rb', line 76 def remove_source(ugen) if ugen.is_a? Array ugen.each { |u| remove_source u } return end # remove all outputs of ugen from all inputs of self @in_channels.each do |in_chan| ugen.out_channels.each do |out_chan| in_chan.remove_source out_chan end end self end |