merge (with conflict fixes) with master (even against rgareus' recommendation)
[ardour.git] / libs / ardour / ardour / panner_manager.h
index 4a29e1c36b59841da32faf6b0c4aff4beb05a899..73d667424f3a24f34292dcfd8a962dc35dc61d30 100644 (file)
 #ifndef __ardour_panner_manager_h__
 #define __ardour_panner_manager_h__
 
-#include <dlfcn.h>
+#include <map>
+#include <string>
+#include <glibmm/module.h>
+
 #include "ardour/panner.h"
 #include "ardour/session_handle.h"
 
@@ -28,21 +31,22 @@ namespace ARDOUR {
 
 typedef std::map<std::string,std::string> PannerUriMap;
 
-struct PannerInfo {
+struct LIBARDOUR_API PannerInfo {
+
        PanPluginDescriptor descriptor;
-       void* module;
+       Glib::Module* module;
 
-       PannerInfo (PanPluginDescriptor& d, void* handle)
+       PannerInfo (PanPluginDescriptor& d, Glib::Module* m)
        : descriptor (d)
-       , module (handle)
+       , module (m)
        {}
 
        ~PannerInfo () {
-               dlclose (module);
+               delete module;
        }
 };
 
-class PannerManager : public ARDOUR::SessionHandlePtr
+class LIBARDOUR_API PannerManager : public ARDOUR::SessionHandlePtr
 {
 public:
        ~PannerManager ();