VST use scratch buffers for processing.
[ardour.git] / libs / ardour / ardour / panner.h
index 18e3e8045a58180b28fb3f9052032bde01bd4a4b..211ad0ca8eb12bf8401ddad4469407ea005a5f8c 100644 (file)
 #include "pbd/signals.h"
 #include "pbd/stateful.h"
 
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
 #include "ardour/automation_control.h"
 #include "ardour/automatable.h"
 
+
+/* This section is for actual panners to use. They will include this file,
+ * declare ARDOURPANNER_DLL_EXPORTS during compilation, and ... voila.
+ */
+
+#ifdef ARDOURPANNER_DLL_EXPORTS // defined if we are building a panner implementation
+    #define ARDOURPANNER_API LIBARDOUR_DLL_EXPORT
+  #else
+    #define ARDOURPANNER_API LIBARDOUR_DLL_IMPORT
+  #endif 
+#define ARDOURPANNER_LOCAL LIBARDOUR_DLL_LOCAL
+
 namespace ARDOUR {
 
 class Session;
@@ -42,7 +55,7 @@ class BufferSet;
 class AudioBuffer;
 class Speakers;
 
-class Panner : public PBD::Stateful, public PBD::ScopedConnectionList
+class LIBARDOUR_API Panner : public PBD::Stateful, public PBD::ScopedConnectionList
 {
 public:
        Panner (boost::shared_ptr<Pannable>);
@@ -175,7 +188,7 @@ protected:
 } // namespace
 
 extern "C" {
-struct PanPluginDescriptor {
+struct LIBARDOUR_API PanPluginDescriptor {
        std::string name;
        std::string panner_uri;
        std::string gui_uri;