# Callbacks

typedef void *SuilController

  UI controller.

  This is an opaque pointer passed by the user which is passed to the various UI control functions (e.g. SuilPortWriteFunc). It is typically used to pass a pointer to some controller object the host uses to communicate with plugins.

typedef void (*SuilPortWriteFunc)(SuilController controller, uint32_t port_index, uint32_t buffer_size, uint32_t protocol, void const *buffer)

  Function to write/send a value to a port.

typedef uint32_t (*SuilPortIndexFunc)(SuilController controller, const char *port_symbol)

  Function to return the index for a port by symbol.

typedef uint32_t (*SuilPortSubscribeFunc)(SuilController controller, uint32_t port_index, uint32_t protocol, const LV2_Feature *const *features)

  Function to subscribe to notifications for a port.

typedef uint32_t (*SuilPortUnsubscribeFunc)(SuilController controller, uint32_t port_index, uint32_t protocol, const LV2_Feature *const *features)

  Function to unsubscribe from notifications for a port.

typedef void (*SuilTouchFunc)(SuilController controller, uint32_t port_index, bool grabbed)

  Function called when a control is grabbed or released.