- HALion Developer Resource
- HALion Script
- HALion Script
- Getting Started
❱
- What is HALion Script?
- Exploring the Code Examples
- Lua Syntax Highlighting
- Diving Deeper
❱
- Working with Objects
- Working with UI Scripts
- Threads in HALion
- Script Initialization
- Creating Parameters
- Working with Parameters
- Using Slot Local Variables
- Protecting Layers
- Managing Script Modules
- Using External Files
- Debugging with LDT
- Updates
- Functions by Subject
- Class Reference
❱
- Audio File
- Element
❱
- Bus
- Effect
- Instance
- Layer
❱
- Program
- MidiModule
- ModulationMatrixRow
- Slot
- Zone
- Event
- LoadProgress
- ParameterDefinition
- Reference
❱
- addLayerPassword
- addQCAssignment
- afterTouch
- AlternateData Table
- analyzePitch
- appendBus
- appendEffect
- appendLayer
- appendLayerAsync
- appendMidiModule
- appendZone
- assignAutomation
- AudioFile.open
- beat2ms
- Bus Constructor
- Bypass Masks
- calcModulation
- cancelDecompose
- cancelPitchAnalysis
- changeNoteExpression
- changePan
- changeTune
- changeVolume
- changeVolumedB
- clone
- controlChange
- Controller Numbers
- decompose
- Decompose Output Modes
- defineModulation
- defineParameter
- defineSlotLocal
- Effect Constructor
- endUndoBlock
- Event Constructor
- Event Types
- fade
- findBusses
- findChildren
- findEffects
- findLayers
- findMidiModules
- findSlots
- findZones
- forgetAutomation
- getAllocatedMemory
- getAutomationIndex
- getBarDuration
- getBeatDuration
- getBeatTime
- getBeatTimeInBar
- getBus
- getCC
- getChild
- getContext
- getDecomposeOutputPath
- getDecomposeProgress
- getDecomposeSettings
- getDisplayString
- getEffect
- getElement
- getFreeVoices
- getHostName
- getHostVersion
- getKeyProperties
- getKeySwitches
- getLayer
- getMidiModule
- getModulationMatrixRow
- getMsTime
- getNoteDuration
- getNoteExpression
- getNoteExpressionProperties
- getNumQCAssignments
- getOnsets
- getOutputBus
- getParameter
- getParameterDefinition
- getParameterNormalized
- getPeak
- getPitch
- getPitchAnalysisProgress
- getProcessedSamples
- getProductName
- getProductVersion
- getProgram
- getQCAssignmentBypass
- getQCAssignmentCurve
- getQCAssignmentMax
- getQCAssignmentMin
- getQCAssignmentMode
- getQCAssignmentParamId
- getQCAssignmentScope
- getSamplingRate
- getScriptExecTimeOut
- getScriptVersion
- getSlot
- getSlotIndex
- getSource1
- getSource2
- getTempo
- getTime
- getTimeSignature
- getUndoContext
- getUsedMemory
- getUsedVoices
- getUsedVoicesOfSlot
- getUserPresetPath
- getUserSubPresetPath
- getVoices
- getZone
- hasParameter
- insertBus
- insertEffect
- insertEnvelopePoint
- insertEvent
- insertLayer
- insertLayerAsync
- insertMidiModule
- insertZone
- isKeyDown
- isNoteHeld
- isOctaveKeyDown
- isPlaying
- Layer Constructor
- loadPreset
- loadPresetAsync
- messageBox
- MIDI File Format Types
- MidiModule Constructor
- MIDI Sequence Table
- Modulation Destination Types
- Modulation Source Types
- ms2beat
- ms2samples
- Note Expression Types
- onAfterTouch
- onController
- onData
- onIdle
- onInit
- onLoad
- onLoadIntoSlot
- onLoadSubPreset
- onNote
- onNoteExpression
- onPitchBend
- onRelease
- onRemoveFromSlot
- onRetrigger
- onSave
- onSaveSubPreset
- onTriggerPad
- onUnhandledEvent
- openURL
- pitchBend
- playNote
- playTriggerPad
- postEvent
- printRaw
- Program Constructor
- Quick Control Assignment Modes
- readMidiFile
- releaseVoice
- removeBus
- removeEffect
- removeEnvelopePoint
- removeFromParent
- removeLayer
- removeMidiModule
- removeQCAssignment
- removeZone
- runAsync
- runSync
- samples2ms
- savePreset
- setBypassNoteOff
- setName
- setOutputBus
- setParameter
- setParameterNormalized
- setProgram
- setQCAssignmentBypass
- setQCAssignmentCurve
- setQCAssignmentMax
- setQCAssignmentMin
- setQCAssignmentMode
- setQCAssignmentParamId
- setQCAssignmentScope
- setScriptExecTimeOut
- setSource1
- setSource2
- setZoneFMXAlgo
- sortEvents
- spawn
- startUndoBlock
- startWriteOutputToFile
- stopWriteOutputToFile
- Undo Context Types
- VoiceGroupsData Table
- Voice Group Steal Modes
- wait
- waitBeat
- waitForRelease
- writeMidiFile
- Zone Constructor
- HALion Macro Page
- HALion Macro Page
- Example Macro Pages
- Exploring Templates
- Resources
❱
- Bitmap
- Color
- Decor (Resource)
- Font
- Section
- SVG
- Controls
❱
- Animation
- Decor (Control)
- Disable
- Drag Group
- Drop
- Group
- Image
- Internal
- Knob
- Label
- Live Data View
- Menu
- Meter
- Range Slider
- Slider
- Stack
- Step Modulator
- Switch
- Template
- Template List
- Text
- Waveform
- Wavetable
- Wavetable 3D
- XY
- Templates
❱
- About Box
- Animation Script
- Curve Editor
- Envelope
- Envelope Shaper
- FlexPhraser
- FlexPhraserStepSeq
- FX Meter
- MIDI Player
- Mixer Channel
- Path Browser
- Preset Browser
- Preset Browser Custom
- Sample Display
- Step Modulator(Template)
- Studio EQ Meter
- Wavetable Noise Selector
- Wavetable Selector
- HALion Tutorials & Guidelines
- HALion Tutorials & Guidelines
- Getting Started
❱
- HALion Libraries
- Creating Instruments
- Exploring the Turorials and How-tos
- Tutorials
❱
- Creating a Modulation Matrix
- Creating a Template List
- Creating an FX Chain
- Creating an FX Rack
- Using Attribute Rules
- Using Relative Paths
- Using Velocity Crossfades
- Working with Exported Properties
- How-tos
❱
- Animating and Modifying SVGs
- Animating SVGs with Additional Parameters
- Animating Switches Using SVGs
- Custom Multi-Level Menus
- Custom Multi-Level Menus II
- Custom Popup Menus
- Drag-and-Drop Sample Import
- Dynamic Template References
- Key Range Limitation
- Map Samples to Root Key
- MIDI Note Parameters
- Modifying SVGs with Multiple Objects
- Modulation Matrix for FM Zones
- Modulation Matrix for Grain Zones
- Modulation Matrix for Sample Zones
- Modulation Matrix for Spectral Zones
- Modulation Matrix for Synth Zones
- Modulation Matrix for Wavetable Zones
- Multi-Level System Menus
- Relative Paths
- Snapshot Effects
- Switching Control Templates
- Using Mouse States in SVGs
- Working with Exported Variables
- Guidelines
❱
- HS Preset Guideline
- Quick Controls Guideline
- MediaBay Guideline