1. HALion Developer Resource
  2. HALion Script
  3. HALion Script
  4. Getting Started
    1. What is HALion Script?
    2. Exploring the Code Examples
    3. Lua Syntax Highlighting
  5. Diving Deeper
    1. Working with Objects
    2. Working with UI Scripts
    3. Threads in HALion
    4. Script Initialization
    5. Creating Parameters
    6. Working with Parameters
    7. Using Slot Local Variables
    8. Protecting Layers
    9. Managing Script Modules
    10. Using External Files
    11. Debugging with LDT
  6. Updates
  7. Functions by Subject
  8. Class Reference
    1. Audio File
    2. Element
      1. Bus
      2. Effect
      3. Instance
      4. Layer
        1. Program
      5. MidiModule
      6. ModulationMatrixRow
      7. Slot
      8. Zone
    3. Event
    4. LoadProgress
    5. ParameterDefinition
  9. Reference
    1. addLayerPassword
    2. addQCAssignment
    3. afterTouch
    4. AlternateData Table
    5. analyzePitch
    6. appendBus
    7. appendEffect
    8. appendLayer
    9. appendLayerAsync
    10. appendMidiModule
    11. appendZone
    12. assignAutomation
    13. AudioFile.open
    14. beat2ms
    15. Bus Constructor
    16. Bypass Masks
    17. calcModulation
    18. cancelDecompose
    19. cancelPitchAnalysis
    20. changeNoteExpression
    21. changePan
    22. changeTune
    23. changeVolume
    24. changeVolumedB
    25. clone
    26. controlChange
    27. Controller Numbers
    28. decompose
    29. Decompose Output Modes
    30. defineModulation
    31. defineParameter
    32. defineSlotLocal
    33. Effect Constructor
    34. endUndoBlock
    35. Event Constructor
    36. Event Types
    37. fade
    38. findBusses
    39. findChildren
    40. findEffects
    41. findLayers
    42. findMidiModules
    43. findSlots
    44. findZones
    45. forgetAutomation
    46. getAllocatedMemory
    47. getAutomationIndex
    48. getBarDuration
    49. getBeatDuration
    50. getBeatTime
    51. getBeatTimeInBar
    52. getBus
    53. getCC
    54. getChild
    55. getContext
    56. getDecomposeOutputPath
    57. getDecomposeProgress
    58. getDecomposeSettings
    59. getDisplayString
    60. getEffect
    61. getElement
    62. getFreeVoices
    63. getHostName
    64. getHostVersion
    65. getKeyProperties
    66. getKeySwitches
    67. getLayer
    68. getMidiModule
    69. getModulationMatrixRow
    70. getMsTime
    71. getNoteDuration
    72. getNoteExpression
    73. getNoteExpressionProperties
    74. getNumQCAssignments
    75. getOnsets
    76. getOutputBus
    77. getParameter
    78. getParameterDefinition
    79. getParameterNormalized
    80. getPeak
    81. getPitch
    82. getPitchAnalysisProgress
    83. getProcessedSamples
    84. getProductName
    85. getProductVersion
    86. getProgram
    87. getQCAssignmentBypass
    88. getQCAssignmentCurve
    89. getQCAssignmentMax
    90. getQCAssignmentMin
    91. getQCAssignmentMode
    92. getQCAssignmentParamId
    93. getQCAssignmentScope
    94. getSamplingRate
    95. getScriptExecTimeOut
    96. getScriptVersion
    97. getSlot
    98. getSlotIndex
    99. getSource1
    100. getSource2
    101. getTempo
    102. getTime
    103. getTimeSignature
    104. getUndoContext
    105. getUsedMemory
    106. getUsedVoices
    107. getUsedVoicesOfSlot
    108. getUserPresetPath
    109. getUserSubPresetPath
    110. getVoices
    111. getZone
    112. hasParameter
    113. insertBus
    114. insertEffect
    115. insertEnvelopePoint
    116. insertEvent
    117. insertLayer
    118. insertLayerAsync
    119. insertMidiModule
    120. insertZone
    121. isKeyDown
    122. isNoteHeld
    123. isOctaveKeyDown
    124. isPlaying
    125. Layer Constructor
    126. loadPreset
    127. loadPresetAsync
    128. messageBox
    129. MIDI File Format Types
    130. MidiModule Constructor
    131. MIDI Sequence Table
    132. Modulation Destination Types
    133. Modulation Source Types
    134. ms2beat
    135. ms2samples
    136. Note Expression Types
    137. onAfterTouch
    138. onController
    139. onData
    140. onIdle
    141. onInit
    142. onLoad
    143. onLoadIntoSlot
    144. onLoadSubPreset
    145. onNote
    146. onNoteExpression
    147. onPitchBend
    148. onRelease
    149. onRemoveFromSlot
    150. onRetrigger
    151. onSave
    152. onSaveSubPreset
    153. onTriggerPad
    154. onUnhandledEvent
    155. openURL
    156. pitchBend
    157. playNote
    158. playTriggerPad
    159. postEvent
    160. printRaw
    161. Program Constructor
    162. Quick Control Assignment Modes
    163. readMidiFile
    164. releaseVoice
    165. removeBus
    166. removeEffect
    167. removeEnvelopePoint
    168. removeFromParent
    169. removeLayer
    170. removeMidiModule
    171. removeQCAssignment
    172. removeZone
    173. runAsync
    174. runSync
    175. samples2ms
    176. savePreset
    177. setBypassNoteOff
    178. setName
    179. setOutputBus
    180. setParameter
    181. setParameterNormalized
    182. setProgram
    183. setQCAssignmentBypass
    184. setQCAssignmentCurve
    185. setQCAssignmentMax
    186. setQCAssignmentMin
    187. setQCAssignmentMode
    188. setQCAssignmentParamId
    189. setQCAssignmentScope
    190. setScriptExecTimeOut
    191. setSource1
    192. setSource2
    193. setZoneFMXAlgo
    194. sortEvents
    195. spawn
    196. startUndoBlock
    197. startWriteOutputToFile
    198. stopWriteOutputToFile
    199. Undo Context Types
    200. VoiceGroupsData Table
    201. Voice Group Steal Modes
    202. wait
    203. waitBeat
    204. waitForRelease
    205. writeMidiFile
    206. Zone Constructor
  10. HALion Macro Page
  11. HALion Macro Page
  12. Example Macro Pages
  13. Exploring Templates
  14. Resources
    1. Bitmap
    2. Color
    3. Decor (Resource)
    4. Font
    5. Section
    6. SVG
  15. Controls
    1. Animation
    2. Decor (Control)
    3. Disable
    4. Drag Group
    5. Drop
    6. Group
    7. Image
    8. Internal
    9. Knob
    10. Label
    11. Live Data View
    12. Menu
    13. Meter
    14. Range Slider
    15. Slider
    16. Stack
    17. Step Modulator
    18. Switch
    19. Template
    20. Template List
    21. Text
    22. Waveform
    23. Wavetable
    24. Wavetable 3D
    25. XY
  16. Templates
    1. About Box
    2. Animation Script
    3. Curve Editor
    4. Envelope
    5. Envelope Shaper
    6. FlexPhraser
    7. FlexPhraserStepSeq
    8. FX Meter
    9. MIDI Player
    10. Mixer Channel
    11. Path Browser
    12. Preset Browser
    13. Preset Browser Custom
    14. Sample Display
    15. Step Modulator(Template)
    16. Studio EQ Meter
    17. Wavetable Noise Selector
    18. Wavetable Selector
  17. HALion Tutorials & Guidelines
  18. HALion Tutorials & Guidelines
  19. Getting Started
    1. HALion Libraries
    2. Creating Instruments
    3. Exploring the Turorials and How-tos
  20. Tutorials
    1. Creating a Modulation Matrix
    2. Creating a Template List
    3. Creating an FX Chain
    4. Creating an FX Rack
    5. Using Attribute Rules
    6. Using Relative Paths
    7. Using Velocity Crossfades
    8. Working with Exported Properties
  21. How-tos
    1. Animating and Modifying SVGs
    2. Animating SVGs with Additional Parameters
    3. Animating Switches Using SVGs
    4. Custom Multi-Level Menus
    5. Custom Multi-Level Menus II
    6. Custom Popup Menus
    7. Drag-and-Drop Sample Import
    8. Dynamic Template References
    9. Key Range Limitation
    10. Map Samples to Root Key
    11. MIDI Note Parameters
    12. Modifying SVGs with Multiple Objects
    13. Modulation Matrix for FM Zones
    14. Modulation Matrix for Grain Zones
    15. Modulation Matrix for Sample Zones
    16. Modulation Matrix for Spectral Zones
    17. Modulation Matrix for Synth Zones
    18. Modulation Matrix for Wavetable Zones
    19. Multi-Level System Menus
    20. Relative Paths
    21. Snapshot Effects
    22. Switching Control Templates
    23. Using Mouse States in SVGs
    24. Working with Exported Variables
  22. Guidelines
    1. HS Preset Guideline
    2. Quick Controls Guideline
    3. MediaBay Guideline