supernova: fix for small audio vector sizes
[supercollider.git] / HelpSource / Tutorials / Mark_Polishook_tutorial / 09_Buses.schelp
blobfe2657b356c8a29eee4415d03c045e386d0b43cd
1 title:: 09_Buses
2 summary:: Mark Polishook tutorial
3 categories:: Tutorials>Mark_Polishook_tutorial
4 related:: Tutorials/Mark_Polishook_tutorial/00_Introductory_tutorial
7 By default, SuperCollider has 128 buses for audio signals and 4096 for control signals. The buses, which are items in an array, are what SuperCollider uses to represent audio and control rate data.
9 ////////////////////////////////////////////////////////////////////////////////////////////////////
11 code::
12 // the array of audio buses (channels)
13 [ channel0, channel1, channel2, channel3, channel4, ... , ..., ..., etc., ... channel127 ]
15 // the array of control buses (channels)
16 [ channel0, channel1, channel2, channel3, channel4, ... , ..., ..., etc., ... channel4095 ]
19 section::Placing audio into a bus
21 Use an Out ugen at the audio rate to put data into an audio bus.
23 code::
25 SynthDef("dataForABus", {
26         Out.ar(
27                 0,              // write 1 channel of audio into bus 0
28                 Saw.ar(100, 0.1)
29         )
30 }).add;
33 Synth("dataForABus");
36 A SynthDef browser
38 code::
40 SynthDescLib.global.read;
41 SynthDescLib.global.browse;
45 shows 1 channel of output on channel 0.
47 section::Getting audio from a bus
49 Send an .ar message to an In ugen to get data from an audio bus.
51 code::
53 SynthDef("dataFromABus", {
54         Out.ar(
55                 0,
56                 [       // the left channel gets input from an audio bus
57                         In.ar(0, 1),
58                         SinOsc.ar(440, 0.2)
59                 ]
60         )
61 }).add;
65 Synth("dataForABus");   // synthesize a sawtooth wave on channel 0
66 Synth("dataFromABus");  // pair it with a sine wave on channel 1
70 section::Control rate buses
72 Use code::In.kr:: and code::Out.kr:: to read from or write to control buses.
74 ////////////////////////////////////////////////////////////////////////////////////////////////////
76 For additional information, see the link::Classes/Out::, link::Classes/In::, and link::Classes/Bus:: files in the SuperCollider help system.
78 ////////////////////////////////////////////////////////////////////////////////////////////////////
80 go to link::Tutorials/Mark_Polishook_tutorial/10_Controls::