Merge branch 'cairocanvas'
[ardour.git] / libs / ardour / ardour / lv2_plugin.h
index 5154cd4d3e710cc8148e3a3322f2c44ed9096ef0..7d080fa8e23d2210004b99f933485b285c24ade8 100644 (file)
@@ -23,6 +23,7 @@
 #include <set>
 #include <string>
 #include <vector>
+#include <boost/enable_shared_from_this.hpp>
 
 #include "ardour/plugin.h"
 #include "ardour/uri_map.h"
@@ -43,7 +44,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,
@@ -77,6 +78,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;
@@ -271,16 +273,16 @@ class LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
 };
 
 
-class LV2PluginInfo : public PluginInfo {
+class LIBARDOUR_API LV2PluginInfo : public PluginInfo , public boost::enable_shared_from_this<ARDOUR::LV2PluginInfo> {
 public:
-       LV2PluginInfo (const void* c_plugin);
+       LV2PluginInfo (const char* plugin_uri);
        ~LV2PluginInfo ();
 
        static PluginInfoList* discover ();
 
        PluginPtr load (Session& session);
 
-       const void* _c_plugin;
+       char * _plugin_uri;
 };
 
 typedef boost::shared_ptr<LV2PluginInfo> LV2PluginInfoPtr;