Audaspace:
[blender.git] / intern / audaspace / FX / AUD_ButterworthFactory.h
index 69169531d7070681fa662c644f94982fa3cb6d61..3a86b14a7a6cfda25a1bf2d484457c7511db64ed 100644 (file)
@@ -1,43 +1,46 @@
 /*
- * $Id$
+ * ***** BEGIN GPL LICENSE BLOCK *****
  *
- * ***** BEGIN LGPL LICENSE BLOCK *****
- *
- * Copyright 2009 Jörg Hermann Müller
+ * Copyright 2009-2011 Jörg Hermann Müller
  *
  * This file is part of AudaSpace.
  *
- * AudaSpace is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
  *
  * AudaSpace is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ * GNU General Public License for more details.
  *
- * You should have received a copy of the GNU Lesser General Public License
- * along with AudaSpace.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
- * ***** END LGPL LICENSE BLOCK *****
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/FX/AUD_ButterworthFactory.h
+ *  \ingroup audfx
  */
 
-#ifndef AUD_BUTTERWORTHFACTORY
-#define AUD_BUTTERWORTHFACTORY
 
-#include "AUD_EffectFactory.h"
+#ifndef __AUD_BUTTERWORTHFACTORY_H__
+#define __AUD_BUTTERWORTHFACTORY_H__
+
+#include "AUD_DynamicIIRFilterFactory.h"
 
 /**
- * This factory creates a butterworth filter reader.
+ * This factory creates a butterworth lowpass filter reader.
  */
-class AUD_ButterworthFactory : public AUD_EffectFactory
+class AUD_ButterworthFactory : public AUD_DynamicIIRFilterFactory
 {
 private:
-       /**
-        * The attack value in seconds.
-        */
-       float m_frequency;
+       // hide copy constructor and operator=
+       AUD_ButterworthFactory(const AUD_ButterworthFactory&);
+       AUD_ButterworthFactory& operator=(const AUD_ButterworthFactory&);
 
 public:
        /**
@@ -45,15 +48,7 @@ public:
         * \param factory The input factory.
         * \param frequency The cutoff frequency.
         */
-       AUD_ButterworthFactory(AUD_IFactory* factory, float frequency);
-
-       /**
-        * Creates a new butterworth factory.
-        * \param frequency The cutoff frequency.
-        */
-       AUD_ButterworthFactory(float frequency);
-
-       virtual AUD_IReader* createReader();
+       AUD_ButterworthFactory(boost::shared_ptr<AUD_IFactory> factory, float frequency);
 };
 
-#endif //AUD_BUTTERWORTHFACTORY
+#endif //__AUD_BUTTERWORTHFACTORY_H__