visibility macros and flush() added to SrcFileSource; merge with master
[ardour.git] / libs / ardour / ardour / lv2_plugin.h
index d62ddb140ef6b4b92bc8a01c0b93b42d34d0658c..034101ee41f1c1014f9157927a359d11b77919ec 100644 (file)
@@ -29,6 +29,8 @@
 #include "ardour/worker.h"
 #include "pbd/ringbuffer.h"
 
+typedef struct LV2_Evbuf_Impl LV2_Evbuf;
+
 namespace ARDOUR {
 
 // a callback function for lilv_state_new_from_instance(). friend of LV2Plugin
@@ -41,7 +43,7 @@ const void* lv2plugin_get_port_value(const char* port_symbol,
 class AudioEngine;
 class Session;
 
-class LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
+class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
 {
   public:
        LV2Plugin (ARDOUR::AudioEngine& engine,
@@ -75,6 +77,7 @@ class LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
        const void* c_ui_type();
 
        bool is_external_ui () const;
+       bool is_external_kx () const;
        bool ui_is_resizable () const;
 
        const char* port_symbol (uint32_t port) const;
@@ -202,6 +205,7 @@ class LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
        typedef unsigned PortFlags;
 
        std::vector<PortFlags>         _port_flags;
+       std::vector<size_t>            _port_minimumSize;
        std::map<std::string,uint32_t> _port_indices;
 
        /// Message send to/from UI via ports
@@ -268,7 +272,7 @@ class LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
 };
 
 
-class LV2PluginInfo : public PluginInfo {
+class LIBARDOUR_API LV2PluginInfo : public PluginInfo {
 public:
        LV2PluginInfo (const void* c_plugin);
        ~LV2PluginInfo ();