Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/audaspace/FX/AUD_AccumulatorFactory.h')
-rw-r--r--intern/audaspace/FX/AUD_AccumulatorFactory.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/intern/audaspace/FX/AUD_AccumulatorFactory.h b/intern/audaspace/FX/AUD_AccumulatorFactory.h
index 3c3b32ce071..95246ef5341 100644
--- a/intern/audaspace/FX/AUD_AccumulatorFactory.h
+++ b/intern/audaspace/FX/AUD_AccumulatorFactory.h
@@ -33,9 +33,14 @@
#define AUD_ACCUMULATORFACTORY
#include "AUD_EffectFactory.h"
+class AUD_CallbackIIRFilterReader;
/**
* This factory creates an accumulator reader.
+ *
+ * The accumulator adds the difference at the input to the last output in case
+ * it's positive. In additive mode it additionaly adds the difference always.
+ * So in case the difference is positive, it's added twice.
*/
class AUD_AccumulatorFactory : public AUD_EffectFactory
{
@@ -55,9 +60,12 @@ public:
* \param factory The input factory.
* \param additive Whether the accumulator is additive.
*/
- AUD_AccumulatorFactory(AUD_IFactory* factory, bool additive = false);
+ AUD_AccumulatorFactory(AUD_Reference<AUD_IFactory> factory, bool additive = false);
+
+ virtual AUD_Reference<AUD_IReader> createReader();
- virtual AUD_IReader* createReader() const;
+ static sample_t accumulatorFilterAdditive(AUD_CallbackIIRFilterReader* reader, void* useless);
+ static sample_t accumulatorFilter(AUD_CallbackIIRFilterReader* reader, void* useless);
};
#endif //AUD_ACCUMULATORFACTORY