fix another logic error in PresentationInfo::flag_match()
[ardour.git] / libs / ardour / ardour / lv2_plugin.h
index 936fd9019f6b03e14393008140fa6a5f564ac82d..9d4e2d1f68719ad308b31fcd20971b7732604ec6 100644 (file)
@@ -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;