SCLOrkQuNeo:
Filter:
SCLOrkTools/Classes (extension) | Quarks > SCLOrkTools

SCLOrkQuNeo
ExtensionExtension

User interface mirroring the QuNeo MIDI controller

Description

Graphical User Interface mirroring the QuNeo MIDI controller. It can be used as a standalone GUI in SuperCollider, or in conjunction with an actual QuNeo hardware. When used with the hardware, GUI and QuNeo mirror each other (ie, pushing a button on the device will be reflected on the GUI and vice-versa).

The class assumes SuperCollider is running on a Linux computer with the Jack Audio Connection Kit handling both audio and MIDI (the default setup in the Santa Clara Laptop Orchestra). MIDI functionality will need some tweaking to work as expected on other systems (Mac OS and Windows).

The class is designed to work with a custom QuNeo Preset (a set of mappings for MIDI note numbers and control messages). The preset file is included with SCLOrkTools.

When used with the QuNeo controller, SCLOrkQuNeo will send back LED update information to the device so that changes on the GUI are also reflected on the hardware.

Class Methods

.new

Creates a new instance of the SCLOrkQuNeo Graphical User Interface.

Returns:

an instance of SCLOrkQuNeo.

Instance Methods

.onSliderChange

.onButtonChange

Methods onSliderChange and onButtonChange allow users to define custom action for sliders and buttons. The function receives two arguments: slider value (0.0 to 1.0) and slider number for sliders; velocity (0-127) and midinote for buttons. GUI will show the control number or midinote for each slider or button. The two rotary knobs are considered sliders (ccNum 4 and 5).

Note: When playing buttons from the QuNeo, velocity will be a value between 0 and 127. When playing buttons from the GUI, velocity will be either 127 (button push) or 0 (button release).

.onConnectMIDI

This method is called when the user presses the "MIDI ON/OFF" button. There is no need to call it directly. The method will initialize MIDICLient and check whether there is a QuNeo connected.

.isPhysicalDeviceConnected

Linux-specific. This method accesses the command line to check whether QuNeo is plugged in (amidi). It also checks whether the QuNeo is visible in the MIDIClient.destinations list.

Arguments:

verbose

true or false.

.connectQuNeo

Linux-specific. Connects QuNeo MIDI In to SuperCollider MIDI Out and vice versa. This is done through Jack, so it assumes QuNeo is visible to Jack (e.g. using a2jmidid).

.changeSliderLabel

Customize the label (string of characters) shown on each slider.

Arguments:

ccNum

The number of the slider you want to change the label.

string

The new label (a string of characters between double quotes).

keepNumber

true or false. If true, original number label (eg. "cc9") will be kept, prepended to the new label.

.changeButtonLabel

Same as above but for buttons.

Arguments:

midinote

Midinote number of the button you want to re-label.

string

New label.

keepNumber

true or false. If true, original number label will be kept prepended to the new label.

Strings that are too long will not fit nicely on button. One or two short words are best. You can force a line break in the string using \n if needed.

.midiChannel

The MIDI channel used to communicate with the QuNeo. In the preset used by SCLOrk, this is channel 12 (11 in SuperCollider). No need to use this method directly.

Examples