The main purpose of Loupedeck plugins is to provide the user actions that are specific to an application or service that the plugin supports. There are various types of actions that plugins can provide.
Types of actions
There are two types of actions: commands for press and push actions and adjustments for rotations.
You can assign commands directly to the touch buttons, round or square hardware buttons, or the encoder’s press action. Examples of these commands are Mute system sounds, Copy, or Launch Windows Explorer.
You can assign an adjustment directly to the encoders or the wheel (Loupedeck CT console only). Adjustments are usually made to value ranges that are adjusted by turning the encoder. Examples of adjustments are Volume, Hue, or Brightness.
Simple actions are the most basic type of action available. They are building blocks for all other, more complex actions. Simple actions consist of commands and adjustments that you can assign to controls and execute without any further configuration.
Commands and adjustments can contain parameters. As an example, the Apply develop profile command in the Lightroom plugin takes the preset file name as a parameter.
Parameters are especially useful when you cannot determine the number of similar commands or adjustments at the development stage. Consider Windows 10 Volume Mixer - you cannot predict how many channels it will have on different PCs. However, a plugin can implement a single toggle mute command (or change volume adjustment) that takes the channel name as a parameter - and serve them all.
The plugin needs to indicate that the action has a parameter and provide a list of available parameters.
The list of parameters can change at any moment (for example, if a user started Spotify that added a channel to Volume Mixer), and there is a way to notify the Loupedeck console about the change.
A command or an adjustment can have only one string parameter. If the plugin needs to store more data associated with a parameter, it should treat the parameter as an ID and keep an internal dictionary that links this ID to any related data.
The Loupedeck software treats a parameter as a random string. It is the plugin's responsibility to keep these parameters unique for every action.
The association between a parametrized action and the actual parameter values is called a profile action. The reason for the name is that this association is now becoming a part of the profile (and stored with the profile) and it can then be used in the same way as simple commands and adjustments (assigned to controls, for example).
The Wheel Tool is an SDK concept behind the wheel pages. It allows fine control of the layout, touch and rotation actions for the wheel in the Loupedeck CT console.
Dynamic folders / Control center
To manage objects that can appear and disappear dynamically (for example, running applications or lamps in Philips Hue), the Loupedeck software supports the concept of a dynamic folder.
A dynamic folder (also known as control center) is a dynamic workspace that is fully controlled by a plugin.
A dynamic folder contains touch pages, encoder pages, and wheel tools. However, you cannot add any items to the dynamic folder, as the content is defined by the plugin.
The dynamic folder is represented on the UI by a command that you can assign to any touch or hardware button. The dynamic folder opens when you press this button on the Loupedeck CT or Loupedeck Live console. The dynamic folder closes when you press the special Back button or the console’s Home button, or when you change the workspace or page, or when you change the active application.