Modality-toolkit

A common interface to MIDI, OSC and HID for highly personalised electronic instruments

Modality Toolkit

The Modality Toolkit is a library to facilitate accessing (hardware) controllers in SuperCollider. It is designed and developed by the ModalityTeam, a group of people that see themselves as both developers and (advanced) users of SuperCollider.

The central idea behind the Modality-toolkit is to simplify creation of individual (electronic) instruments with SuperCollider, using controllers of various kinds. To this end, a common code interface, MKtl, is used for connecting controllers from various sources (and protocols). These are atm. HID and MIDI; OSC, Serialport and GUI-based are planned to be integrated.

The name Modality arose from the idea to scaffold the creation of modal interfaces, i.e. to create interfaces where one physical controller can be used for different purposes and it is possible to switch its functionality, even at runtime. It is our believe that integration of such on-the-fly remapping features helps to create a setup much more flexible, powerful, and interesting to play. Such a modal interface allows to cope with fast changes of overall direction as it can be necessary when e.g. improvising with musicians playing acoustic instruments.

For more information, visit the Modality page.

Installation

There are multiple ways to install Modality to your SuperCollider environment:

  • Quarks (recommended for generic installations of SC 3.7+)
  • git clone (recommended for active development)
  • manual zip-file (recommended for static standalone installations)

Quarks install

  • evaluate Quarks.gui in SuperCollider
  • select and install Modality-toolkit

git

  • Evaluate Platform.userExtensionDir to get the path to the SuperCollider extension folder.
  • Clone the modality toolkit to that folder via git clone https://github.com/ModalityTeam/Modality-toolkit.git Modality

manual zip-file

  • download the zip file of the current repository head.
  • Evaluate Platform.userExtensionDir to get the path to the SuperCollider extension folder.
  • unzip the downloaded file into the extensions folder.

Getting started

Please read the article on "Modality" in the SuperCollider help system (Here's the unrendered version of it if you want to take a peek).

Acknowledgements

Modality and its research meetings have kindly been supported by BEK and STEIM. The Modality toolkit is free software published under the GPL.

Extension
✓
Superclass:
✗
Extension
✗
Superclass:
✗
Extension
✓
Superclass:
✗
Extension
✓
Superclass:
✗
Extension
✓
Superclass:
✗
HIDExplorer
Extension
✗
Superclass:
✗
HIDMKtlDevice
Extension
✗
Superclass:
MKtlDevice
Extension
✓
Superclass:
✗
Extension
✗
Superclass:
✗
Extension
✗
Superclass:
✗
MAbstractElement
Extension
✗
Superclass:
✗
MButtonView
Extension
✗
Superclass:
Button
MChanVoicer
Extension
✗
Superclass:
✗
Extension
✗
Superclass:
MPadView
MIDIAnalysis
Extension
✗
Superclass:
✗
Extension
✓
Superclass:
✗
Extension
✓
Superclass:
✗
MIDIExplorer
Extension
✗
Superclass:
✗
Extension
✓
Superclass:
✗
MIDIMonitor
Extension
✗
Superclass:
✗
Extension
✓
Superclass:
✗
Extension
✗
Superclass:
✗
MKnobView
Extension
✗
Superclass:
Knob
Extension
✓
Superclass:
✗
Extension
✓
Superclass:
✗
MKtlDevice
Extension
✗
Superclass:
✗
Extension
✓
Superclass:
✗
MKtlElementCollective
Extension
✗
Superclass:
MKtlElementGroup
MKtlElementGUI
Extension
✗
Superclass:
✗
MKtlElementGroup
Extension
✓
Superclass:
✗
MKtlElementGroupGUI
Extension
✗
Superclass:
MKtlElementGUI
MKtlElementView
Extension
✗
Superclass:
✗
Extension
✗
Superclass:
✗
MKtlLookup
Extension
✗
Superclass:
✗
Extension
✗
Superclass:
List
MPadMoveViewRedirect
Extension
✗
Superclass:
MPadUpViewRedirect
MPadUpViewRedirect
Extension
✗
Superclass:
✗
MPadView
Extension
✗
Superclass:
SCViewHolder
Extension
✗
Superclass:
MKtl
MRoundPad
Extension
✗
Superclass:
MHexPad
MSliderView
Extension
✗
Superclass:
Slider
Extension
✗
Superclass:
AbstractMessageMatcher
Extension
✓
Superclass:
✗
OSCMessageAndArgsSizeDispatcher
Extension
✗
Superclass:
OSCMessageDispatcher
OSCMessageInversePatternDispatcher
Extension
✗
Superclass:
OSCMessageAndArgsSizeDispatcher
Extension
✗
Superclass:
✗
Extension
✓
Superclass:
✗
Extension
✗
Superclass:
Pattern
Extension
✗
Superclass:
✗
Extension
✗
Superclass:
✗
Extension
✗
Superclass:
✗
Extension
✗
Superclass:
SoftSet
Extension
✗
Superclass:
✗
Extension
✓
Superclass:
✗
Extension
✗
Superclass:
✗
v0.2.1
Date
2017-06-01
Git hash
2a8434539b099ccf7a10a7da99e99c246b4672aa
v0.2
Date
2017-06-01
Git hash
82e4759c5b4da46c7b9cc1c6921ca6b012e3c470
0.9.0beta
Date
2016-11-10
Git hash
938a11907662954e26b6e8348452d67ab3f7266e
altMaster-pre09
Date
2015-07-01
Git hash
3ce8d2bbcc0cafa2c7588a92e0756d4d71962907
v0.1
Date
2012-04-17
Git hash
35bd5a56a8dc5a79efe6c67182294f425fed3597

Installation

Repository

URL

https://github.com/ModalityTeam/Modality-toolkit

Since

2011-05-14

Last update

2025-09-03

Current version

v0.2.1

Quark info

name

Modality Toolkit

schelp

Modality

license

GPL

summary

A common interface to MIDI, OSC and HID for highly personalised electronic instruments

version

0.2.1

copyright

Modality team, http://modality.github.io

Possible dependcies

Possible dependants

FPLib

ModalityTests

NTMI