/ HALion Developer Resource / HALion Script / Getting Started /

What is HALion Script?


On this page:


HALion Script allows you to customize and expand the features of HALion to a great extent. It is a domain-specific programming language based on the Lua scripting language. It comes with many functions tailored to HALion, while maintaining the general programmability of Lua. HALion Script allows you to manipulate musical events, access and modify parameters of HALion, control the behavior of macro pages, and much more. All of this can enhance your instrument creation greatly.

Fields of application:

  • Arpeggiation and sequencing
  • Chord generation and recognition
  • Microtonal music and alternative scales
  • Algorithmic composition
  • Advanced, interactive playback for creating more realistic performances
  • Custom-built workflows for macro pages
  • Automization of repeating tasks while building large-scale libraries

Jump to Top

Lua Resources

Lua is a very common scripting language, used in many professional fields, such as game development or image processing, for example. To find out more about Lua, please visit lua.org. For learning Lua, we recommend the official book Programming in Lua and Lua's Reference Manual.

Jump to Top

Lua Release

HALion Script uses Lua 5.2.3 with the following standard libraries:

❕ The standard library coroutine is not supported. Furthermore, the functions io.popen, io.tmpfile, os.execute, os.exit, os.getenv, os.setlocale and os.tmpname are not supported.

The classes and functions of the HALion Script language are described in the Class Reference and on the Reference pages. Many of the descriptions provide small code examples. For more details, see Exploring the Code Examples.

Jump to Top