JustInTerface
—Accessing Hardware Controllers—
2006 Till Bovermann (IEM)
2007, 2008 Till Bovermann (Uni Bielefeld)
A meta interface to various hardware-controllers.
Designed especially for the use in [JITLib], but also usable in other styles.
See
[JInT_HIDlda]
[JInT_TriggerFinger]
[JInT_PocketControl]
[JInT_PocketFader]
[JInT_PocketDial]
for details on how to work with it.
/// semantic: continuous
/// semantic: controlability
SC3 provides several ways to connect existing h/w controllers. There are e.g.
OpenSoundControl
MIDI
HID-Controllers
These are protocols
More interesting
controllers inherent natural behavior and
how they fit into the patch to be controlled.
Most haptic controllers are assembled with subcontrollers, which are again each controllable by one finger.
Description dimensionality # states semantics
A,B,D Button 1d 2 discrete, backsnapper
C Nav.Cross 1d 9 discrete, backsnapper
E Joystick 2d 256**2 contiuous, backsnapper
Just InTeraction provides functionality to access controllers (not only) in JITLib.
[JInTController]
provides semantic access to different controller types.
Examples (currently implemented):
JInTC_onoff : JInTController
simple one-DOF controller with on/off
JInTC_Button : JInTC_onoff
Button (on/off) with snap back ("Taster")
JInTC_linear : JInTController
simple one-DOF contiuous controller (abstract)
JInTC_linearSnapper : JInTController
simple one-DOF contiuous controller, snapping back into default position
JInTC_Fader : JInTC_linear
simple one-DOF Fader
JInTC_Knob : JInTC_linear
simple knob to turn
JInTC_composite : JInTController
A composite of several controllers. Should not be used (abstract class)
JInTC_ThumbStick : JInTC_composite
small two DOF analog joystick with an additional knob-functionality by pressing it.
Normally actuated by thumb.
We may get information on a specific controller:
E.g:
a = JInTC_ThumbStick.new
a.numDOF; // number of dimensions
a.description; // a textual description
a.semantics; // keywords on semantics
a.specs.do{|a| a.asCompileString.postln};
// spec of each dimension
[JInT]
is a container filled with JInTControllers.
Examples (currently implemented):
[JInT_HIDlda]
implements JustInTerface for a Logitech Dual Action device.
[JInT_TriggerFinger]
implements JustInTerface for an M-Audio Trigger Finger.
[JInT_PocketControl]
implements JustInTerface for a Doepfer PocketControl.
[JInT_PocketFader]
implements JustInTerface for a Doepfer PocketFader.
[JInT_PocketDial]
implements JustInTerface for a Doepfer PocketDial.