Basic Plugin Framework

Q-SYS plugins are small programs for integrating additional functionality in Q-SYS designs. These pieces, written in Lua, are saved in a file with the extension “.qplug”. Plugins can be manually added by double clicking the qplug file, or by placing it within the correct directory. See Q-SYS Core OS Environment Overview for more on Lua usage with Q-SYS Designer software.

All Q-SYS plugins start with these top-level functional blocks. Each has a specific purpose for making a plugin within Q-SYS.

PluginInfo

The PluginInfo object is required. It defines the plugin information.

Functions

Runtime Code

To determine if the plugin is being shown to the user in Design mode, or if it has been loaded or emulated and is in Runtime mode, check for the Controls object. When the Controls object is present, the design has been loaded. Add Runtime Lua code for your plugin here.

Final Result

The final result is a plugin that can be pulled into Q-SYS design, providing the user with a functioning button that outputs to a Debug Output frame: