fix plugin silence runs (e.g. during audition)
[ardour.git] / libs / ardour / panner.cc
index a182f0b99c32ecfda119bcc3f0906f2a21087170..c88fbe44f430e1a9f679dfcc84365d611e4e1417 100644 (file)
 
 */
 
-#include "ardour/audio_buffer.h"
 #include "ardour/buffer_set.h"
 #include "ardour/debug.h"
 #include "ardour/panner.h"
 #include "ardour/pannable.h"
-#include "ardour/session.h"
-#include "ardour/utils.h"
 
 #include "i18n.h"
 
@@ -31,13 +28,15 @@ using namespace std;
 using namespace ARDOUR;
 
 Panner::Panner (boost::shared_ptr<Pannable> p)
-       : _pannable (p)
+       : _frozen (0)
 {
+       // boost_debug_shared_ptr_mark_interesting (this, "panner");
+       _pannable = p;
 }
 
 Panner::~Panner ()
 {
-       DEBUG_TRACE(PBD::DEBUG::Destruction, string_compose ("panner @ %1 destructor, pannable is %2\n", this, _pannable));
+       DEBUG_TRACE(PBD::DEBUG::Destruction, string_compose ("panner @ %1 destructor, pannable is %2 @ %3\n", this, _pannable, &_pannable));
 }
 
 XMLNode&
@@ -120,3 +119,17 @@ Panner::set_state (XMLNode const &, int)
 {
        return 0;
 }
+
+void
+Panner::freeze ()
+{
+       _frozen++;
+}
+
+void
+Panner::thaw ()
+{
+       if (_frozen > 0.0) {
+               _frozen--;
+       }
+}