This extension defines special port types used for controlling and inspecting a plugin instance by sending messages/commands and receiving responses to them. It also allows plugins to send status updates to the host. The port types in this extension only define an abstract notion of plugin control, not actual data types and/or message semantics. They must be used with some other port data type (e.g. event) to define the actual data format of port buffers. As a result, this extension can be used in conjunction with any extension that defines a port type suitable for controlling plugins.
An input port used to control a plugin instance. A plugin has at most 1 CommandPort. A CommandPort is always an lv2:InputPort. Hosts or UIs send messages to the command port in order to control a plugin instance in any way. This is an abstract port class, the actual format and semantics of the port buffer (and messages) are defined by some other port type.
An output port used to notify the host about changes to a plugin instance and responses to commands. A plugin has at most 1 StatusPort. A StatusPort is always an lv2:OutputPort. Any response to a command sent to the CommandPort of the plugin will appear in the StatusPort output. The plugin may also emit other messages (i.e. the contents of a StatusPort are not necessarily responses to commands). This is an abstract port class, the actual format and semantics of the port buffer (and messages) are defined by some other port type.