Skip to main content

Core Glue Concepts

Parameters

Parameters in Glue represent control elements that can be interacted with. For example, one audio level of an audio mixer is one Parameter. A Parameter holds a value and Metadata (key-value pairs) that describe the Parameter.

Parameters can be bound together which keeps their values in sync. For example, if you have two Parameters that represent the left and right audio level of a stereo audio mixer, you can bind them together so that when you change the left audio level, the right audio level will automatically be updated to the same value.

Internally, one Parameter for each Hardware Widget is created. In the Zoning, Parameters of Plugins are bound to the Hardware Widget Parameters. Now, if a Hardware Control Widget is operated, the value of all bound Parameters is updated.

Each Parameter has a callback function that is called when the value of the Parameter changes. This callback function can be used to update the state of the target device which is controlled.

Parameter Types

  • Continuous: A Continuous Parameter can have any value between a minimum and maximum value. For example, the audio level of an audio mixer is a Continuous Parameter.
  • Switch: A Switch Parameter is on (true) or off (false). For example, the mute of an audio mixer is a Switch Parameter.
  • Selector: A Selector Parameter has a list of possible values and one of them can be selected. For example, the input selection of an audio mixer is a Selector Parameter.

Zones

Zones in Glue are used to group parameters together. They provide a way to organize and manage related parameters. It is recommended to only put Parameters of the same type into one Zone. For example, all audio level Parameters of an audio mixer should be in one Zone and there should be another Zone for all Mutes.