/ HALion Developer Resource / HALion Script / Class Reference /

Event

The Event class describes the properties of events.


On this page:

Event Class, Event Constructor


Classes

Event Class

Description

The state of an Event object is described by the following fields.

Available in: Processor.

Fields

FieldDescriptionValue Type
.typeThe type of event. See Event Types for details.number
.idThe ID of the event.number
.noteThe note number in the range of 0 to 127.number
.velocityThe note-on velocity in the range of 0 to 127.number
.controllerThe controller number. See Controller Numbers for a description of the different controllers.number
.valueThe value of a controller, pitch bend, or note expression event. The value range depends on the event type.number
.bendThe value of a pitch bend event in the range of -1.0 to 1.0.number
.noteExpressionTypeThe type of note expression event. See Note Expression Types for details.number
.dataAn array with the bytes of a system exclusive message. For the interpretation of these values, please consult the documentation of the MIDI data format of the device sending the system exclusive message. (Since HALion 7.0)table
.dataTypeCurrently, there is only one data type (0 = sysex). (Since HALion 7.0)number
.dataSizeThe number of bytes in the system exclusive message. (Since HALion 7.0)number
.ppqPositionThe position of the event in ppq relative to the project start. The host must be in playback. This value will be 0.0 if the host is not in playback.number

Fields per Event Type

Which of the fields are used depends on the Event Type.

FieldnoteOnnoteOffcontrollernoteExpressionnoteRetriggerdata
.type
.id--
.note---
.velocity---
.controller-----
.value----
.bend-----
.noteExpressionType-----
.data-----
.dataType-----
.dataSize-----
.ppqPosition

Example

-- Print the fields of an Event object.

function onNote(event)
    print(event)
    postEvent(event)
end
 
function onRelease(event)
    print(event)
    postEvent(event)
end
  
function onController(event)
    print(event)
    postEvent(event)
end
  
function onNoteExpression(event)
    print(event)
    -- postEvent(event), not needed for note expression.
end
 
function onRetrigger(event)
    print(event)
    postEvent(event)
end
 
function onData(event)
    print(event)
    postEvent(event)
end

Jump to Top

Constructors

Event Constructor

Event(type)

Description

Constructor to create a new Event object of the specified type.

Available in: Processor.

Arguments

ArgumentDescriptionValue Type
typeThe type of event. See Event Types for details.enum or number

Return Values

Returns a new Event object of the specified type.

❕ The fields of the Event object must be set after its creation.

Example

-- Create a new note-on event.

function onNote(event)
    local newEvent = Event(EventType.noteOn)
    newEvent.note = event.note + 12
    newEvent.velocity = event.velocity
    local id = postEvent(newEvent)
    waitForRelease()
    releaseVoice(id)
end

Jump to Top