JustInTerface
—Accessing Hardware Controllers—
2006 Till Bovermann (IEM)
2007, 2008 Till Bovermann (Uni Bielefeld)
A meta interface to various hardware-controllers.
Just InTeraction provides functionality to access various HCI-Controlers by abstracting from their particular communication protocol.
Designed to be used in JITLib, but also suitable for other styles.
See also
SC3 provides several ways to connect existing h/w controllers. There are e.g.
OpenSoundControl
MIDI
HID-Controllers
These are communication protocols. More interesting in terms of human centered interface design, however, is to look at the controller's inherent natural featured 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
[JInTController]
provide 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 directly be used (abstract class)
JInTC_ThumbStick : JInTC_composite
small two DOF analog joystick with an additional knob-functionality.
Normally actuated by thumb.
We can 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 (i.e. a hardware device) consisting of several JInTControllers.
Examples of controllers:
[JInT_HIDlda]
Logitech Dual Action device.
[JInT_TriggerFinger]
M-Audio Trigger Finger.
[JInT_PocketControl]
Doepfer PocketControl.
[JInT_PocketFader]
Doepfer PocketFader.
[JInT_PocketDial]
Doepfer PocketDial.
[JInT_Wacom]
Wacom Tablet.