/ HALion Developer Resource / HALion Script / Reference /

Controller Numbers

Description

Continuous controller events are determined by their controller number. Controller numbers from 0 to 127 follow the MIDI specification. Controller numbers above 127 are additional controllers that are specific to HALion.

❕ To limit a function to the continuous controllers of the MIDI specification, use an if statement. See example below.

Available in: Processor.

Additional Controllers

Controllers like aftertouch, pitch bend and other special controllers are determined by controller numbers above 127.

NumberController
128Aftertouch
129Pitchbend
130Controller A
131Controller B
132Controller C
133Controller D
134Controller E
135Controller F
136Controller G
137Controller H
138Reserved for polyhonic Velocity
139Reserved for polyhonic Note Expression Custom 1
140Reserved for polyhonic Note Expression Custom 2
141Reserved for polyhonic Note Expression Custom 3
142Reserved for polyhonic Note Expression Custom 4
143Reserved for polyhonic Note Expression Custom 5
144Reserved for polyhonic Note Expression Custom 6
145Reserved for polyhonic Note Expression Custom 7
146Reserved for polyhonic Note Expression Custom 8
147RPN Pitch Bend Range
148RPN Channel Fine Tuning (value range -8191 to 8191 equals -100 to 100 cent)
149RPN Channel Coarse Tuning (value range -64 to 63 equals -64 to 63 semitones)
150RPN Tuning Program Change
151RPN Tuning Bank Select
152RPN Modulation Depth Range

❕ The function onController will not be called by controllers 138 to 146. They are reserved for the polyphonic sources note-on velocity and note expression custom 1-8. You can use the callback functions onNote and onNoteExpression instead.

Example

-- Exclude MIDI mode messages and other special controllers.

function onController(event)
    if event.controller < 120 then
        print("Controller #: "..event.controller..", Value: "..event.value)
        postEvent(event)
    end
end

See also: onController, controlChange, getCC