add libardour infrastructure for "fade range" edit operation
[ardour.git] / libs / ardour / ardour / processor.h
index 772ae3520dc60d3bb15abdfd059819858a5aa8eb..85d466a169265434d859ba44da3aa4a7343d727e 100644 (file)
@@ -30,6 +30,7 @@
 #include "ardour/buffer_set.h"
 #include "ardour/latent.h"
 #include "ardour/session_object.h"
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
 #include "ardour/automatable.h"
 
@@ -41,7 +42,7 @@ class Session;
 class Route;
 
 /** A mixer strip element - plugin, send, meter, etc */
-class Processor : public SessionObject, public Automatable, public Latent
+class LIBARDOUR_API Processor : public SessionObject, public Automatable, public Latent
 {
   public:
        static const std::string state_node_name;
@@ -113,6 +114,9 @@ class Processor : public SessionObject, public Automatable, public Latent
        void  set_ui (void*);
        void* get_ui () const { return _ui_pointer; }
 
+        void set_owner (SessionObject*);
+        SessionObject* owner() const;
+
 protected:
        virtual int set_state_2X (const XMLNode&, int version);
 
@@ -125,6 +129,7 @@ protected:
        bool      _display_to_user;
        bool      _pre_fader; ///< true if this processor is currently placed before the Amp, otherwise false
        void*     _ui_pointer;
+        SessionObject* _owner;
 };
 
 } // namespace ARDOUR