/ 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
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.
Lua Release
HALion Script uses Lua 5.2.3 with the following standard libraries:
- basic library
- package library
- string manipulation
- table manipulation
- mathematical functions
- bitwise operations
- input and output facilities
- operating system facilities
- debug facilities
❕ The standard library coroutine is not supported. Furthermore, the functions
io.popen
,io.tmpfile
,os.execute
,os.exit
,os.getenv
,os.setlocale
andos.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.