Merge pull request #506 from andrewcsmith/patch-2
[supercollider.git] / HelpSource / Classes / MIDIMessageDispatcher.schelp
blobd3c3782f232cafb52b2138d584aed039c0cebb78
1 CLASS:: MIDIMessageDispatcher
2 summary:: The default dispatcher for MIDIFunc's and MIDIdef's set to respond to noteOn, noteOff, control, and polytouch messages.
3 categories:: External Control>MIDI>Dispatchers
4 related:: Classes/MIDIFunc, Classes/MIDIdef, Classes/AbstractWrappingDispatcher, Classes/AbstractDispatcher, Classes/MIDIMessageDispatcherNV, Classes/AbstractMessageMatcher, Classes/MIDIFuncSrcMessageMatcher, Classes/MIDIFuncChanMessageMatcher, Classes/MIDIFuncChanArrayMessageMatcher, Classes/MIDIFuncSrcMessageMatcherNV, Classes/MIDIFuncBothMessageMatcher, Classes/MIDIFuncBothCAMessageMatcher, Guides/MIDI
6 DESCRIPTION::
7 MIDIMessageDispatcher is used to dispatch incoming MIDI noteOn, noteOff, control, and polytouch messages to matching functions. Normally users should not have to create or message instances of this class directly.
10 CLASSMETHODS::
12 METHOD:: new
13 Create a new instance.
15 argument:: messageType
16 A link::Classes/Symbol:: indicating the message type, one of code::\noteOn::, code::\noteOff::, code::\control::, or code::\polytouch::.
18 returns:: A new MIDIMessageDispatcher.
21 INSTANCEMETHODS::
23 METHOD:: messageType
24 Get this dispatcher's message type, one of code::\noteOn::, code::\noteOff::, code::\control::, or code::\polytouch::.
26 returns:: A link::Classes/Symbol::.
28 METHOD:: getKeysForFuncProxy
29 Get the keys at which a responder func's functions are stored in this dispatcher's active dictionary. The keys will be MIDI message numbers.
31 argument:: funcProxy
32 The link::Classes/MIDIFunc:: or link::Classes/MIDIdef:: whose keys should be returned.
34 returns:: An link::Classes/Array:: containing the funcProxy's message number as an link::Classes/Integer::.
36 METHOD:: value
37 Attempt to match an incoming MIDI message with this dispatcher's responder funcs, and evaluate their functions for all matches found.
39 argument:: src
40 The UID of the source of the MIDI message as an link::Classes/Integer::.
42 argument:: chan
43 The channel number of the MIDI message as an link::Classes/Integer::. Note this should be in the range 0-15.
45 argument:: num
46 The message number (e.g. note number, etc.) of the MIDI message as an link::Classes/Integer::. Note this should be in the range 0-127.
48 argument:: val
49 The message value (e.g. velocity, etc.) of the MIDI message as an link::Classes/Integer::. Note this should be in the range 0-127.
51 METHOD:: register
52 Adds this dispatcher to the appropriate receive hook in link::Classes/MIDIIn::.
54 METHOD:: unregister
55 Removes this dispatcher from the appropriate receive hook in link::Classes/MIDIIn::.
57 METHOD:: wrapFunc
58 Called internally to wrap functions in message matcher objects, if needed.
60 argument:: funcProxy
61 An instance of link::Classes/MIDIFunc:: or link::Classes/MIDIdef:: whose function(s) are to be wrapped.
63 METHOD:: typeKey
64 Gets a key indicating the type of message this dispatcher responds to, in the form: code::('MIDI ' ++ messageType).asSymbol::.
66 returns:: A link::Classes/Symbol::.