final case class Mix(elem: GE) extends SingleOut with Product with Serializable
A graph element that mixes the channels of a signal together. It works like the sclang counterpart.
The Mix
companion object contains various useful mixing idioms:
- Mix.tabulate(n: Int)(fun: Int => GE)
: corresponds to Seq.tabulate
and to Array.fill
in sclang.
- Mix.fill(n: Int)(thunk: => GE)
: corresponds to Seq.fill
.
- Mix.seq(elems: GE*)
: A shortcut for Mix(GESeq(elems: _*))
.
A separate graph element is Mix.mono
.
Mix.mono(elem: GE)
flattens all channels of
the input element before summing them, guaranteeing that the result is monophonic.
Finally, Mix.fold
is an idiom that not actually adds elements,
but recursively folds them. Thus,
Mix.fold(elem: GE, n: Int)(fun: GE => GE)
is equivalent to
(1 to n).foldLeft(elem) { (res, _) => fun(res) }
Mix.fold
is often used in the SuperCollider examples to apply a filtering
process such as reverberation several times. For cases where the iteration
index is needed, the full form as shown above can be used instead.
- elem
the graph element whose channels to mix together
- See also
- Alphabetic
- By Inheritance
- Mix
- Serializable
- SingleOut
- SomeOut
- Lazy
- GE
- UGenSource
- Expander
- Lazy
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected