QcPenPrinter: no need to allocate QPrintDialog on heap
[supercollider.git] / HelpSource / Classes / PhidSlot.schelp
blobca8e922cea779feb29891ebe49749910625ce807
1 class:: PhidSlot
2 summary:: pattern that polls values from a human device interface, based on an indexed slot
3 related:: Classes/Phid, Classes/PhidKey, Classes/GeneralHID
4 categories:: Streams-Patterns-Events>Patterns>User Input
6 ClassMethods::
8 method::new
10 argument::slot
11 index pointing to a slot like a button or an axis.
13 argument::type
14 index pointing to the type of slot (see link::Classes/GeneralHID:: for a description of this).
16 argument::device
17 a link::Classes/GeneralHIDDevice::, or an element from the code::GeneralHID.deviceList::, which will then be opened by the pattern.
19 argument::repeats
20 number of values to return.
22 Examples::
24 code::
25 // build the device list and start the event loop:
26 GeneralHID.buildDeviceList;
27 GeneralHID.startEventLoop;
29 // find an Impact game device and open it:
30 a = GeneralHID.open( GeneralHID.findBy( 1973 ) );
32 // inspect the capabilities of this device:
33 a.caps;
35 // boot the server
36 s.boot;
37 // simple example:
39 p = Pbind(
40         \degree, ( PhidSlot( 0, 3, a, inf )*12 ).round(1),
41         \dur, 0.25
42 ).play;
44 p.stop;
46 // more complex example, showing multichannel expansion and sequences of slots:
48 p = Pbind(
49         \degree, ( PhidSlot( Pseq([[0,1],2,5],inf), 3, a, inf )*12 ).round(1),
50         \dur, 0.25
51 ).play;
53 // the type argument can also be replaced by an Array or pattern.
54 p.stop;
55 // clean up: close the device and stop the eventloop
56 a.close;
57 GeneralHID.stopEventLoop;