Forgot a help fix: Drag a dock's title bar, not divider, to reposition
[supercollider.git] / HelpSource / Tutorials / Mark_Polishook_tutorial / 12_UnaryOp_synthesis.schelp
blob275dc68b7739bbd64b47ccdb5bb690c4c5411db6
1 title:: 12_UnaryOp_synthesis
2 summary:: Mark Polishook tutorial
3 categories:: Tutorials>Mark_Polishook_tutorial
4 related:: Tutorials/Mark_Polishook_tutorial/00_Introductory_tutorial
6 section::Unary messages
8 Some synthesis processes can be initiated with a unary message (a message with no arguments).
10 ////////////////////////////////////////////////////////////////////////////////////////////////////
12 For example, compare
14 code::
15 { SinOsc.ar(500, 0, 0.5) }.scope;
20 code::
21 { SinOsc.ar(500, 0, 0.5).distort }.scope;
24 The .distort message modulates the SinOsc to create more partials.
26 ////////////////////////////////////////////////////////////////////////////////////////////////////
28 Q: Where does the .distort message come from?
30 A: It's defined in the AbstractFunction class. The UGen class is a subclass of the AbstractFunction class. The idea is that all classes inherit methods defined in their superclasses; all ugens thus inherit from AbstractFunction).
32 Compare
34 code::
35 { SinOsc.ar(500, 0, 0.5) }.scope;
40 code::
41 // .cubed is a unary operation
42 { SinOsc.ar(500, 0, 0.5).cubed }.scope;
45 ////////////////////////////////////////////////////////////////////////////////////////////////////
47 go to link::Tutorials/Mark_Polishook_tutorial/13_BinaryOp_synthesis::