The type of the host-provided function that the UI can use to send data to a plugin's input ports. The
buffer parameter must point to a block of data,
buffer_size bytes large. The contents of this buffer and what the host should do with it depends on the value of the
format parameter should either be 0 or a numeric ID for a "Transfer
mechanism". Transfer mechanisms are Features and may be defined in meta-extensions. They specify how to translate the data buffers passed to this function to input data for the plugin ports. If a UI wishes to write data to an input port, it must list a transfer mechanism Feature for that port's class as an optional or required feature (depending on whether the UI will work without being able to write to that port or not). The only exception is when the UI wants to write single float values to input ports of the class lv2:ControlPort, in which case
buffer_size should always be 4, the buffer should always contain a single IEEE-754 float, and
format should be 0.
The numeric IDs for the transfer mechanisms are provided by a URI-to-integer mapping function provided by the host, using the URI Map feature <http://lv2plug.in/ns/ext/uri-map> with the map URI "http://lv2plug.in/ns/extensions/ui". Thus a UI that requires transfer mechanism features also requires the URI Map feature, but this is implicit - the UI does not have to list the URI map feature as a required or optional feature in it's RDF data.
An UI MUST NOT pass a
format parameter value (except 0) that has not been returned by the host-provided URI mapping function for a host-supported transfer mechanism feature URI.
The UI MUST NOT try to write to a port for which there is no specified transfer mechanism, or to an output port. The UI is responsible for allocating the buffer and deallocating it after the call.
Definition at line 101 of file ui.h.