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

JInT_HIDlda

JInT_TriggerFinger

JInT_PocketControl

JInT_PocketFader

JInT_PocketDial

JInT_WISE

JInT_Surface

JInT_Wacom

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.