scel: install files to site-lisp/SuperCollider
[supercollider.git] / HelpSource / Guides / MIDI.schelp
blobcc93e16c655996bb7634729ca7e792cdc5c16368
1 title:: MIDI
2 summary:: about MIDI
3 related:: Guides/UsingMIDI, Classes/MIDIFunc, Classes/MIDIdef
4 categories:: External Control>MIDI
6 note::
7 See the link::Reference/UsingMIDI:: helpfile for practical considerations and techniques for using MIDI in SC.
8 ::
10 link::Classes/MIDIClient:: is a static class that starts up the MIDI service:
11 It initializes with a number of virtual inports and outports.
12 The default is 1 and usually no more are needed.
13 The information about the hardware is stored in code::MIDIClient.sources:: and code::MIDIClient.destinations:: as link::Classes/MIDIEndpoint:: objects.
15 link::Classes/MIDIIn:: represents a connection between a inport and a source of the MIDIClient.
16 There are three possibilities to connect them:
17 To do something with the incoming MIDI data set the actions.
19 Examples::
21 code::
22 //MIDIIn example:
24 MIDIClient.init;
25 //There are three possibilities to connect for example to the first device:
26 //MIDIIn.connect(0, MIDIClient.sources.at(0));
27 //MIDIIn.connect(0, MIDIClient.sources.at(0).uid);
28 MIDIIn.connect(0, 0);
29 //set the action:
30 MIDIIn.control = {arg src, chan, num, val;
31         val.postln;
35 //MIDIOut example:
37 MIDIClient.init;
38 m = MIDIOut(0, MIDIClient.destinations.at(0).uid);
39 m.noteOn(0, 60, 60);