X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Flv2_plugin.h;h=9d4e2d1f68719ad308b31fcd20971b7732604ec6;hb=5c32fc3babdd3ed7d715b6aeb24a72f3a0f550a0;hp=936fd9019f6b03e14393008140fa6a5f564ac82d;hpb=93bc9b972888f5a8c08115eccb66a35d4f3853a6;p=ardour.git diff --git a/libs/ardour/ardour/lv2_plugin.h b/libs/ardour/ardour/lv2_plugin.h index 936fd9019f..9d4e2d1f68 100644 --- a/libs/ardour/ardour/lv2_plugin.h +++ b/libs/ardour/ardour/lv2_plugin.h @@ -71,6 +71,7 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee 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; @@ -79,6 +80,8 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee 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) const; + const void* extension_data (const char* uri) const; const void* c_plugin(); @@ -105,6 +108,7 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee 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); @@ -188,6 +192,8 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee 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, @@ -205,7 +211,9 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee 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;