scide: implement selectionLength for openDocument
[supercollider.git] / HelpSource / Classes / Wavetable.schelp
blobb9e3c374553796c5f99f5354837bb3126c6e2d62
1 CLASS::Wavetable
2 summary::sampled audio buffer in wavetable format
3 related::Classes/Signal
4 categories:: Signals
6 DESCRIPTION::
7 A Wavetable is a FloatArray in a special format used by SuperCollider's interpolating oscillators. Wavetables cannot be created by strong::new::.
9 CLASSMETHODS::
11 method::sineFill
12 Fill a Wavetable of the given size with a sum of sines at the given amplitudes and phases. The Wavetable will be normalized.
13 code::
14 Wavetable.sineFill(512, 1.0/[1, 2, 3, 4, 5, 6]).plot;
16 argument::size
17 must be a power of 2.
18 argument::amplitudes
19 an Array of amplitudes for each harmonic beginning with the fundamental.
20 argument::phases
21 an Array of phases in radians for each harmonic beginning with the fundamental.
23 method::chebyFill
24 Fill a Wavetable of the given size with a sum of Chebyshev polynomials at the given amplitudes for use in waveshaping by the link::Classes/Shaper:: ugen. The Wavetable will be normalized.
25 code::
26 Wavetable.chebyFill(513, [1]).plot;
27 Wavetable.chebyFill(513, [0, 1]).plot;
28 Wavetable.chebyFill(513, [0, 0, 1]).plot;
29 Wavetable.chebyFill(513, [0.3, -0.8, 1.1]).plot;
31 argument::size
32 must be a power of 2 plus 1, eventual wavetable is next power of two size up.
33 argument::amplitudes
34 an Array of amplitudes for each Chebyshev polynomial beginning with order 1.
35 argument::normalize
36 A link::Classes/Boolean::.
38 INSTANCEMETHODS::
40 method::plot
41 Plot the Wavetable in a window. The arguments are not required and if not given defaults will be used.
42 code::
43 Wavetable.sineFill(512, [0.5]).plot;
44 Wavetable.sineFill(512, [1]).plot("Table 1", Rect(50, 50, 150, 450));
46 argument::name
47 a String, the name of the window.
48 argument::bounds
49 a Rect giving the bounds of the window.
50 argument::minval
51 the minimum value in the plot. Defaults to the highest value in the data.
52 argument::maxval
53 the maximum value in the plot. Defaults to the lowest value in the data.
54 argument::parent
55 a window to place the plot in. If nil, one will be created for you.
57 method::asSignal
58 Convert the Wavetable into a Signal.
59 code::
60 Wavetable.sineFill(512, [1]).asSignal.plot;