uint32_t num_ports () const;
uint32_t parameter_count () const;
float default_value (uint32_t port);
+ framecnt_t max_latency () const;
framecnt_t signal_latency () const;
void set_parameter (uint32_t port, float val);
float get_parameter (uint32_t port) const;
int get_parameter_descriptor (uint32_t which, ParameterDescriptor&) const;
uint32_t nth_parameter (uint32_t port, bool& ok) const;
- IOPortDescription describe_io_port (DataType dt, bool input, uint32_t id);
+ IOPortDescription describe_io_port (DataType dt, bool input, uint32_t id) const;
const void* extension_data (const char* uri) const;
bool requires_fixed_sized_buffers () const;
int connect_and_run (BufferSet& bufs,
+ framepos_t start, framepos_t end, double speed,
ChanMapping in, ChanMapping out,
pframes_t nframes, framecnt_t offset);
URIMap& _uri_map;
bool _no_sample_accurate_ctrl;
bool _can_write_automation;
+ framecnt_t _max_latency;
+ framecnt_t _current_latency;
friend const void* lv2plugin_get_port_value(const char* port_symbol,
void* user_data,
PORT_POSITION = 1 << 7, ///< Event port understands position
PORT_PATCHMSG = 1 << 8, ///< Event port supports patch:Message
PORT_AUTOCTRL = 1 << 9, ///< Event port supports auto:AutomationControl
- PORT_CTRLED = 1 << 10 ///< Port prop auto:AutomationControlled (can be self controlled)
+ PORT_CTRLED = 1 << 10, ///< Port prop auto:AutomationControlled (can be self controlled)
+ PORT_CTRLER = 1 << 11, ///< Port prop auto:AutomationController (can be self set)
+ PORT_NOAUTO = 1 << 12 ///< Port don't allow to automate
} PortFlag;
typedef unsigned PortFlags;