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')
-rw-r--r--intern/audaspace/FX/AUD_AccumulatorFactory.cpp8
-rw-r--r--intern/audaspace/FX/AUD_AccumulatorFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_BaseIIRFilterReader.h2
-rw-r--r--intern/audaspace/FX/AUD_ButterworthFactory.cpp12
-rw-r--r--intern/audaspace/FX/AUD_ButterworthFactory.h2
-rw-r--r--intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_CallbackIIRFilterReader.h2
-rw-r--r--intern/audaspace/FX/AUD_DelayFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_DelayFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_DelayReader.cpp6
-rw-r--r--intern/audaspace/FX/AUD_DelayReader.h2
-rw-r--r--intern/audaspace/FX/AUD_DoubleFactory.cpp10
-rw-r--r--intern/audaspace/FX/AUD_DoubleFactory.h8
-rw-r--r--intern/audaspace/FX/AUD_DoubleReader.cpp4
-rw-r--r--intern/audaspace/FX/AUD_DoubleReader.h9
-rw-r--r--intern/audaspace/FX/AUD_DynamicIIRFilterFactory.cpp8
-rw-r--r--intern/audaspace/FX/AUD_DynamicIIRFilterFactory.h18
-rw-r--r--intern/audaspace/FX/AUD_DynamicIIRFilterReader.cpp8
-rw-r--r--intern/audaspace/FX/AUD_DynamicIIRFilterReader.h8
-rw-r--r--intern/audaspace/FX/AUD_EffectFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_EffectFactory.h8
-rw-r--r--intern/audaspace/FX/AUD_EffectReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_EffectReader.h7
-rw-r--r--intern/audaspace/FX/AUD_EnvelopeFactory.cpp10
-rw-r--r--intern/audaspace/FX/AUD_EnvelopeFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_FaderFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_FaderFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_FaderReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_FaderReader.h2
-rw-r--r--intern/audaspace/FX/AUD_HighpassFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_HighpassFactory.h2
-rw-r--r--intern/audaspace/FX/AUD_IDynamicIIRFilterCalculator.h52
-rw-r--r--intern/audaspace/FX/AUD_IIRFilterFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_IIRFilterFactory.h5
-rw-r--r--intern/audaspace/FX/AUD_IIRFilterReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_IIRFilterReader.h2
-rw-r--r--intern/audaspace/FX/AUD_LimiterFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_LimiterFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_LimiterReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_LimiterReader.h2
-rw-r--r--intern/audaspace/FX/AUD_LoopFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_LoopFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_LoopReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_LoopReader.h2
-rw-r--r--intern/audaspace/FX/AUD_LowpassFactory.cpp2
-rw-r--r--intern/audaspace/FX/AUD_LowpassFactory.h2
-rw-r--r--intern/audaspace/FX/AUD_PingPongFactory.cpp10
-rw-r--r--intern/audaspace/FX/AUD_PingPongFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_PitchFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_PitchFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_PitchReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_PitchReader.h2
-rw-r--r--intern/audaspace/FX/AUD_RectifyFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_RectifyFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_ReverseFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_ReverseFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_ReverseReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_ReverseReader.h2
-rw-r--r--intern/audaspace/FX/AUD_SquareFactory.cpp8
-rw-r--r--intern/audaspace/FX/AUD_SquareFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_SumFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_SumFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_SuperposeFactory.cpp10
-rw-r--r--intern/audaspace/FX/AUD_SuperposeFactory.h8
-rw-r--r--intern/audaspace/FX/AUD_SuperposeReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_SuperposeReader.h9
-rw-r--r--intern/audaspace/FX/AUD_VolumeFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_VolumeFactory.h4
69 files changed, 223 insertions, 171 deletions
diff --git a/intern/audaspace/FX/AUD_AccumulatorFactory.cpp b/intern/audaspace/FX/AUD_AccumulatorFactory.cpp
index 1862b9ab79d..00d3a9f2395 100644
--- a/intern/audaspace/FX/AUD_AccumulatorFactory.cpp
+++ b/intern/audaspace/FX/AUD_AccumulatorFactory.cpp
@@ -50,15 +50,15 @@ sample_t AUD_AccumulatorFactory::accumulatorFilter(AUD_CallbackIIRFilterReader*
return out;
}
-AUD_AccumulatorFactory::AUD_AccumulatorFactory(AUD_Reference<AUD_IFactory> factory,
+AUD_AccumulatorFactory::AUD_AccumulatorFactory(boost::shared_ptr<AUD_IFactory> factory,
bool additive) :
AUD_EffectFactory(factory),
m_additive(additive)
{
}
-AUD_Reference<AUD_IReader> AUD_AccumulatorFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_AccumulatorFactory::createReader()
{
- return new AUD_CallbackIIRFilterReader(getReader(), 2, 2,
- m_additive ? accumulatorFilterAdditive : accumulatorFilter);
+ return boost::shared_ptr<AUD_IReader>(new AUD_CallbackIIRFilterReader(getReader(), 2, 2,
+ m_additive ? accumulatorFilterAdditive : accumulatorFilter));
}
diff --git a/intern/audaspace/FX/AUD_AccumulatorFactory.h b/intern/audaspace/FX/AUD_AccumulatorFactory.h
index ac73c5aa6ae..9087218a5f9 100644
--- a/intern/audaspace/FX/AUD_AccumulatorFactory.h
+++ b/intern/audaspace/FX/AUD_AccumulatorFactory.h
@@ -58,9 +58,9 @@ public:
* \param factory The input factory.
* \param additive Whether the accumulator is additive.
*/
- AUD_AccumulatorFactory(AUD_Reference<AUD_IFactory> factory, bool additive = false);
+ AUD_AccumulatorFactory(boost::shared_ptr<AUD_IFactory> factory, bool additive = false);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
static sample_t accumulatorFilterAdditive(AUD_CallbackIIRFilterReader* reader, void* useless);
static sample_t accumulatorFilter(AUD_CallbackIIRFilterReader* reader, void* useless);
diff --git a/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp b/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp
index fa9e8746b2b..eadfc525f96 100644
--- a/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp
+++ b/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp
@@ -33,7 +33,7 @@
#define CC m_specs.channels + m_channel
-AUD_BaseIIRFilterReader::AUD_BaseIIRFilterReader(AUD_Reference<AUD_IReader> reader, int in,
+AUD_BaseIIRFilterReader::AUD_BaseIIRFilterReader(boost::shared_ptr<AUD_IReader> reader, int in,
int out) :
AUD_EffectReader(reader),
m_specs(reader->getSpecs()),
diff --git a/intern/audaspace/FX/AUD_BaseIIRFilterReader.h b/intern/audaspace/FX/AUD_BaseIIRFilterReader.h
index 43970c96a42..fe0a8efce64 100644
--- a/intern/audaspace/FX/AUD_BaseIIRFilterReader.h
+++ b/intern/audaspace/FX/AUD_BaseIIRFilterReader.h
@@ -90,7 +90,7 @@ protected:
* \param in The count of past input samples needed.
* \param out The count of past output samples needed.
*/
- AUD_BaseIIRFilterReader(AUD_Reference<AUD_IReader> reader, int in, int out);
+ AUD_BaseIIRFilterReader(boost::shared_ptr<AUD_IReader> reader, int in, int out);
void setLengths(int in, int out);
diff --git a/intern/audaspace/FX/AUD_ButterworthFactory.cpp b/intern/audaspace/FX/AUD_ButterworthFactory.cpp
index 5edca302ece..97d85c8122f 100644
--- a/intern/audaspace/FX/AUD_ButterworthFactory.cpp
+++ b/intern/audaspace/FX/AUD_ButterworthFactory.cpp
@@ -39,7 +39,7 @@
#define BWPB41 0.76536686473
#define BWPB42 1.84775906502
-AUD_ButterworthFactory::AUD_ButterworthFactory(AUD_Reference<AUD_IFactory> factory,
+AUD_ButterworthFactory::AUD_ButterworthFactory(boost::shared_ptr<AUD_IFactory> factory,
float frequency) :
AUD_DynamicIIRFilterFactory(factory),
m_frequency(frequency)
@@ -53,11 +53,11 @@ void AUD_ButterworthFactory::recalculateCoefficients(AUD_SampleRate rate,
float omega = 2 * tan(m_frequency * M_PI / rate);
float o2 = omega * omega;
float o4 = o2 * o2;
- float x1 = o2 + 2 * BWPB41 * omega + 4;
- float x2 = o2 + 2 * BWPB42 * omega + 4;
- float y1 = o2 - 2 * BWPB41 * omega + 4;
- float y2 = o2 - 2 * BWPB42 * omega + 4;
- float o228 = 2 * o2 - 8;
+ float x1 = o2 + 2.0f * (float)BWPB41 * omega + 4.0f;
+ float x2 = o2 + 2.0f * (float)BWPB42 * omega + 4.0f;
+ float y1 = o2 - 2.0f * (float)BWPB41 * omega + 4.0f;
+ float y2 = o2 - 2.0f * (float)BWPB42 * omega + 4.0f;
+ float o228 = 2.0f * o2 - 8.0f;
float norm = x1 * x2;
a.push_back(1);
a.push_back((x1 + x2) * o228 / norm);
diff --git a/intern/audaspace/FX/AUD_ButterworthFactory.h b/intern/audaspace/FX/AUD_ButterworthFactory.h
index dc8b4d92775..e796f76aa29 100644
--- a/intern/audaspace/FX/AUD_ButterworthFactory.h
+++ b/intern/audaspace/FX/AUD_ButterworthFactory.h
@@ -53,7 +53,7 @@ public:
* \param factory The input factory.
* \param frequency The cutoff frequency.
*/
- AUD_ButterworthFactory(AUD_Reference<AUD_IFactory> factory, float frequency);
+ AUD_ButterworthFactory(boost::shared_ptr<AUD_IFactory> factory, float frequency);
virtual void recalculateCoefficients(AUD_SampleRate rate,
std::vector<float>& b,
diff --git a/intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp b/intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp
index 1a5c99adfb9..b5157d47666 100644
--- a/intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp
+++ b/intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp
@@ -29,7 +29,7 @@
#include "AUD_CallbackIIRFilterReader.h"
-AUD_CallbackIIRFilterReader::AUD_CallbackIIRFilterReader(AUD_Reference<AUD_IReader> reader,
+AUD_CallbackIIRFilterReader::AUD_CallbackIIRFilterReader(boost::shared_ptr<AUD_IReader> reader,
int in, int out,
doFilterIIR doFilter,
endFilterIIR endFilter,
diff --git a/intern/audaspace/FX/AUD_CallbackIIRFilterReader.h b/intern/audaspace/FX/AUD_CallbackIIRFilterReader.h
index 7ced73844c9..d9df65f03eb 100644
--- a/intern/audaspace/FX/AUD_CallbackIIRFilterReader.h
+++ b/intern/audaspace/FX/AUD_CallbackIIRFilterReader.h
@@ -74,7 +74,7 @@ public:
* \param endFilter The finishing callback.
* \param data Data pointer for the callbacks.
*/
- AUD_CallbackIIRFilterReader(AUD_Reference<AUD_IReader> reader, int in, int out,
+ AUD_CallbackIIRFilterReader(boost::shared_ptr<AUD_IReader> reader, int in, int out,
doFilterIIR doFilter,
endFilterIIR endFilter = 0,
void* data = 0);
diff --git a/intern/audaspace/FX/AUD_DelayFactory.cpp b/intern/audaspace/FX/AUD_DelayFactory.cpp
index a4606597933..3e5a7cfd2f8 100644
--- a/intern/audaspace/FX/AUD_DelayFactory.cpp
+++ b/intern/audaspace/FX/AUD_DelayFactory.cpp
@@ -31,7 +31,7 @@
#include "AUD_DelayReader.h"
#include "AUD_Space.h"
-AUD_DelayFactory::AUD_DelayFactory(AUD_Reference<AUD_IFactory> factory, float delay) :
+AUD_DelayFactory::AUD_DelayFactory(boost::shared_ptr<AUD_IFactory> factory, float delay) :
AUD_EffectFactory(factory),
m_delay(delay)
{
@@ -42,7 +42,7 @@ float AUD_DelayFactory::getDelay() const
return m_delay;
}
-AUD_Reference<AUD_IReader> AUD_DelayFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_DelayFactory::createReader()
{
- return new AUD_DelayReader(getReader(), m_delay);
+ return boost::shared_ptr<AUD_IReader>(new AUD_DelayReader(getReader(), m_delay));
}
diff --git a/intern/audaspace/FX/AUD_DelayFactory.h b/intern/audaspace/FX/AUD_DelayFactory.h
index 26855a05d70..8cfb2be9ac8 100644
--- a/intern/audaspace/FX/AUD_DelayFactory.h
+++ b/intern/audaspace/FX/AUD_DelayFactory.h
@@ -53,14 +53,14 @@ public:
* \param factory The input factory.
* \param delay The desired delay in seconds.
*/
- AUD_DelayFactory(AUD_Reference<AUD_IFactory> factory, float delay = 0);
+ AUD_DelayFactory(boost::shared_ptr<AUD_IFactory> factory, float delay = 0);
/**
* Returns the delay in seconds.
*/
float getDelay() const;
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_DELAYFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_DelayReader.cpp b/intern/audaspace/FX/AUD_DelayReader.cpp
index 903e043af01..050508f28da 100644
--- a/intern/audaspace/FX/AUD_DelayReader.cpp
+++ b/intern/audaspace/FX/AUD_DelayReader.cpp
@@ -31,10 +31,10 @@
#include <cstring>
-AUD_DelayReader::AUD_DelayReader(AUD_Reference<AUD_IReader> reader, float delay) :
+AUD_DelayReader::AUD_DelayReader(boost::shared_ptr<AUD_IReader> reader, float delay) :
AUD_EffectReader(reader),
- m_delay(int(delay * reader->getSpecs().rate)),
- m_remdelay(int(delay * reader->getSpecs().rate))
+ m_delay(int((AUD_SampleRate)delay * reader->getSpecs().rate)),
+ m_remdelay(int((AUD_SampleRate)delay * reader->getSpecs().rate))
{
}
diff --git a/intern/audaspace/FX/AUD_DelayReader.h b/intern/audaspace/FX/AUD_DelayReader.h
index 9d9b6619470..d4388e3befc 100644
--- a/intern/audaspace/FX/AUD_DelayReader.h
+++ b/intern/audaspace/FX/AUD_DelayReader.h
@@ -59,7 +59,7 @@ public:
* \param reader The reader to read from.
* \param delay The delay in seconds.
*/
- AUD_DelayReader(AUD_Reference<AUD_IReader> reader, float delay);
+ AUD_DelayReader(boost::shared_ptr<AUD_IReader> reader, float delay);
virtual void seek(int position);
virtual int getLength() const;
diff --git a/intern/audaspace/FX/AUD_DoubleFactory.cpp b/intern/audaspace/FX/AUD_DoubleFactory.cpp
index ab0111f8955..21bcbc2f649 100644
--- a/intern/audaspace/FX/AUD_DoubleFactory.cpp
+++ b/intern/audaspace/FX/AUD_DoubleFactory.cpp
@@ -30,15 +30,15 @@
#include "AUD_DoubleFactory.h"
#include "AUD_DoubleReader.h"
-AUD_DoubleFactory::AUD_DoubleFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2) :
+AUD_DoubleFactory::AUD_DoubleFactory(boost::shared_ptr<AUD_IFactory> factory1, boost::shared_ptr<AUD_IFactory> factory2) :
m_factory1(factory1), m_factory2(factory2)
{
}
-AUD_Reference<AUD_IReader> AUD_DoubleFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_DoubleFactory::createReader()
{
- AUD_Reference<AUD_IReader> reader1 = m_factory1->createReader();
- AUD_Reference<AUD_IReader> reader2 = m_factory2->createReader();
+ boost::shared_ptr<AUD_IReader> reader1 = m_factory1->createReader();
+ boost::shared_ptr<AUD_IReader> reader2 = m_factory2->createReader();
- return new AUD_DoubleReader(reader1, reader2);
+ return boost::shared_ptr<AUD_IReader>(new AUD_DoubleReader(reader1, reader2));
}
diff --git a/intern/audaspace/FX/AUD_DoubleFactory.h b/intern/audaspace/FX/AUD_DoubleFactory.h
index e4d8fbfde8f..4a02cc7bcdb 100644
--- a/intern/audaspace/FX/AUD_DoubleFactory.h
+++ b/intern/audaspace/FX/AUD_DoubleFactory.h
@@ -41,12 +41,12 @@ private:
/**
* First played factory.
*/
- AUD_Reference<AUD_IFactory> m_factory1;
+ boost::shared_ptr<AUD_IFactory> m_factory1;
/**
* Second played factory.
*/
- AUD_Reference<AUD_IFactory> m_factory2;
+ boost::shared_ptr<AUD_IFactory> m_factory2;
// hide copy constructor and operator=
AUD_DoubleFactory(const AUD_DoubleFactory&);
@@ -58,9 +58,9 @@ public:
* \param factory1 The first input factory.
* \param factory2 The second input factory.
*/
- AUD_DoubleFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2);
+ AUD_DoubleFactory(boost::shared_ptr<AUD_IFactory> factory1, boost::shared_ptr<AUD_IFactory> factory2);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_DOUBLEFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_DoubleReader.cpp b/intern/audaspace/FX/AUD_DoubleReader.cpp
index 2b28bc7d679..ee18914e93f 100644
--- a/intern/audaspace/FX/AUD_DoubleReader.cpp
+++ b/intern/audaspace/FX/AUD_DoubleReader.cpp
@@ -31,8 +31,8 @@
#include <cstring>
-AUD_DoubleReader::AUD_DoubleReader(AUD_Reference<AUD_IReader> reader1,
- AUD_Reference<AUD_IReader> reader2) :
+AUD_DoubleReader::AUD_DoubleReader(boost::shared_ptr<AUD_IReader> reader1,
+ boost::shared_ptr<AUD_IReader> reader2) :
m_reader1(reader1), m_reader2(reader2), m_finished1(false)
{
AUD_Specs s1, s2;
diff --git a/intern/audaspace/FX/AUD_DoubleReader.h b/intern/audaspace/FX/AUD_DoubleReader.h
index 1489f4eb184..5d2f65f1a90 100644
--- a/intern/audaspace/FX/AUD_DoubleReader.h
+++ b/intern/audaspace/FX/AUD_DoubleReader.h
@@ -32,7 +32,8 @@
#include "AUD_IReader.h"
#include "AUD_Buffer.h"
-#include "AUD_Reference.h"
+
+#include <boost/shared_ptr.hpp>
/**
* This reader plays two readers sequently.
@@ -43,12 +44,12 @@ private:
/**
* The first reader.
*/
- AUD_Reference<AUD_IReader> m_reader1;
+ boost::shared_ptr<AUD_IReader> m_reader1;
/**
* The second reader.
*/
- AUD_Reference<AUD_IReader> m_reader2;
+ boost::shared_ptr<AUD_IReader> m_reader2;
/**
* Whether we've reached the end of the first reader.
@@ -65,7 +66,7 @@ public:
* \param reader1 The first reader to read from.
* \param reader2 The second reader to read from.
*/
- AUD_DoubleReader(AUD_Reference<AUD_IReader> reader1, AUD_Reference<AUD_IReader> reader2);
+ AUD_DoubleReader(boost::shared_ptr<AUD_IReader> reader1, boost::shared_ptr<AUD_IReader> reader2);
/**
* Destroys the reader.
diff --git a/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.cpp b/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.cpp
index 3d6beb6c554..e8ea4323b2e 100644
--- a/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.cpp
+++ b/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.cpp
@@ -29,12 +29,14 @@
#include "AUD_DynamicIIRFilterFactory.h"
#include "AUD_DynamicIIRFilterReader.h"
-AUD_DynamicIIRFilterFactory::AUD_DynamicIIRFilterFactory(AUD_Reference<AUD_IFactory> factory) :
+
+AUD_DynamicIIRFilterFactory::AUD_DynamicIIRFilterFactory(boost::shared_ptr<AUD_IFactory> factory) :
AUD_EffectFactory(factory)
{
}
-AUD_Reference<AUD_IReader> AUD_DynamicIIRFilterFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_DynamicIIRFilterFactory::createReader()
{
- return new AUD_DynamicIIRFilterReader(getReader(), this);
+ return boost::shared_ptr<AUD_IReader>(new AUD_DynamicIIRFilterReader(getReader(), m_calculator));
}
+
diff --git a/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.h b/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.h
index 5b297db2d56..f36a37f44b4 100644
--- a/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.h
+++ b/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.h
@@ -30,6 +30,7 @@
#define __AUD_DYNAMICIIRFILTERFACTORY_H__
#include "AUD_EffectFactory.h"
+#include "AUD_IDynamicIIRFilterCalculator.h"
#include <vector>
/**
@@ -40,24 +41,17 @@
*/
class AUD_DynamicIIRFilterFactory : public AUD_EffectFactory
{
+protected:
+ boost::shared_ptr<AUD_IDynamicIIRFilterCalculator> m_calculator;
+
public:
/**
* Creates a new Dynmic IIR filter factory.
* \param factory The input factory.
*/
- AUD_DynamicIIRFilterFactory(AUD_Reference<AUD_IFactory> factory);
-
- virtual AUD_Reference<AUD_IReader> createReader();
+ AUD_DynamicIIRFilterFactory(boost::shared_ptr<AUD_IFactory> factory);
- /**
- * Recalculates the filter coefficients.
- * \param rate The sample rate of the audio data.
- * \param[out] b The input filter coefficients.
- * \param[out] a The output filter coefficients.
- */
- virtual void recalculateCoefficients(AUD_SampleRate rate,
- std::vector<float>& b,
- std::vector<float>& a)=0;
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif // __AUD_DYNAMICIIRFILTERFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_DynamicIIRFilterReader.cpp b/intern/audaspace/FX/AUD_DynamicIIRFilterReader.cpp
index 24332ebfc1a..52aaf2311c0 100644
--- a/intern/audaspace/FX/AUD_DynamicIIRFilterReader.cpp
+++ b/intern/audaspace/FX/AUD_DynamicIIRFilterReader.cpp
@@ -28,10 +28,10 @@
#include "AUD_DynamicIIRFilterReader.h"
-AUD_DynamicIIRFilterReader::AUD_DynamicIIRFilterReader(AUD_Reference<AUD_IReader> reader,
- AUD_Reference<AUD_DynamicIIRFilterFactory> factory) :
+AUD_DynamicIIRFilterReader::AUD_DynamicIIRFilterReader(boost::shared_ptr<AUD_IReader> reader,
+ boost::shared_ptr<AUD_IDynamicIIRFilterCalculator> calculator) :
AUD_IIRFilterReader(reader, std::vector<float>(), std::vector<float>()),
- m_factory(factory)
+ m_calculator(calculator)
{
sampleRateChanged(reader->getSpecs().rate);
}
@@ -39,6 +39,6 @@ AUD_DynamicIIRFilterReader::AUD_DynamicIIRFilterReader(AUD_Reference<AUD_IReader
void AUD_DynamicIIRFilterReader::sampleRateChanged(AUD_SampleRate rate)
{
std::vector<float> a, b;
- m_factory->recalculateCoefficients(rate, b, a);
+ m_calculator->recalculateCoefficients(rate, b, a);
setCoefficients(b, a);
}
diff --git a/intern/audaspace/FX/AUD_DynamicIIRFilterReader.h b/intern/audaspace/FX/AUD_DynamicIIRFilterReader.h
index 8a53c15b18f..0b68578bc53 100644
--- a/intern/audaspace/FX/AUD_DynamicIIRFilterReader.h
+++ b/intern/audaspace/FX/AUD_DynamicIIRFilterReader.h
@@ -30,7 +30,7 @@
#define __AUD_DYNAMICIIRFILTERREADER_H__
#include "AUD_IIRFilterReader.h"
-#include "AUD_DynamicIIRFilterFactory.h"
+#include "AUD_IDynamicIIRFilterCalculator.h"
/**
* This class is for dynamic infinite impulse response filters with simple
@@ -42,11 +42,11 @@ private:
/**
* The factory for dynamically recalculating filter coefficients.
*/
- AUD_Reference<AUD_DynamicIIRFilterFactory> m_factory;
+ boost::shared_ptr<AUD_IDynamicIIRFilterCalculator> m_calculator;
public:
- AUD_DynamicIIRFilterReader(AUD_Reference<AUD_IReader> reader,
- AUD_Reference<AUD_DynamicIIRFilterFactory> factory);
+ AUD_DynamicIIRFilterReader(boost::shared_ptr<AUD_IReader> reader,
+ boost::shared_ptr<AUD_IDynamicIIRFilterCalculator> calculator);
virtual void sampleRateChanged(AUD_SampleRate rate);
};
diff --git a/intern/audaspace/FX/AUD_EffectFactory.cpp b/intern/audaspace/FX/AUD_EffectFactory.cpp
index d35f8affec8..6018ed561ca 100644
--- a/intern/audaspace/FX/AUD_EffectFactory.cpp
+++ b/intern/audaspace/FX/AUD_EffectFactory.cpp
@@ -30,7 +30,7 @@
#include "AUD_EffectFactory.h"
#include "AUD_IReader.h"
-AUD_EffectFactory::AUD_EffectFactory(AUD_Reference<AUD_IFactory> factory)
+AUD_EffectFactory::AUD_EffectFactory(boost::shared_ptr<AUD_IFactory> factory)
{
m_factory = factory;
}
@@ -39,7 +39,7 @@ AUD_EffectFactory::~AUD_EffectFactory()
{
}
-AUD_Reference<AUD_IFactory> AUD_EffectFactory::getFactory() const
+boost::shared_ptr<AUD_IFactory> AUD_EffectFactory::getFactory() const
{
return m_factory;
}
diff --git a/intern/audaspace/FX/AUD_EffectFactory.h b/intern/audaspace/FX/AUD_EffectFactory.h
index c8d26a1daa7..d09872638be 100644
--- a/intern/audaspace/FX/AUD_EffectFactory.h
+++ b/intern/audaspace/FX/AUD_EffectFactory.h
@@ -47,7 +47,7 @@ protected:
/**
* If there is no reader it is created out of this factory.
*/
- AUD_Reference<AUD_IFactory> m_factory;
+ boost::shared_ptr<AUD_IFactory> m_factory;
/**
* Returns the reader created out of the factory.
@@ -55,7 +55,7 @@ protected:
* classes.
* \return The reader created out of the factory.
*/
- inline AUD_Reference<AUD_IReader> getReader() const
+ inline boost::shared_ptr<AUD_IReader> getReader() const
{
return m_factory->createReader();
}
@@ -65,7 +65,7 @@ public:
* Creates a new factory.
* \param factory The input factory.
*/
- AUD_EffectFactory(AUD_Reference<AUD_IFactory> factory);
+ AUD_EffectFactory(boost::shared_ptr<AUD_IFactory> factory);
/**
* Destroys the factory.
@@ -76,7 +76,7 @@ public:
* Returns the saved factory.
* \return The factory or NULL if there has no factory been saved.
*/
- AUD_Reference<AUD_IFactory> getFactory() const;
+ boost::shared_ptr<AUD_IFactory> getFactory() const;
};
#endif //__AUD_EFFECTFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_EffectReader.cpp b/intern/audaspace/FX/AUD_EffectReader.cpp
index 6c08549e744..b3e80bef03b 100644
--- a/intern/audaspace/FX/AUD_EffectReader.cpp
+++ b/intern/audaspace/FX/AUD_EffectReader.cpp
@@ -29,7 +29,7 @@
#include "AUD_EffectReader.h"
-AUD_EffectReader::AUD_EffectReader(AUD_Reference<AUD_IReader> reader)
+AUD_EffectReader::AUD_EffectReader(boost::shared_ptr<AUD_IReader> reader)
{
m_reader = reader;
}
diff --git a/intern/audaspace/FX/AUD_EffectReader.h b/intern/audaspace/FX/AUD_EffectReader.h
index b089ec9a318..2745c12afaf 100644
--- a/intern/audaspace/FX/AUD_EffectReader.h
+++ b/intern/audaspace/FX/AUD_EffectReader.h
@@ -31,7 +31,8 @@
#define __AUD_EFFECTREADER_H__
#include "AUD_IReader.h"
-#include "AUD_Reference.h"
+
+#include <boost/shared_ptr.hpp>
/**
* This reader is a base class for all effect readers that take one other reader
@@ -48,14 +49,14 @@ protected:
/**
* The reader to read from.
*/
- AUD_Reference<AUD_IReader> m_reader;
+ boost::shared_ptr<AUD_IReader> m_reader;
public:
/**
* Creates a new effect reader.
* \param reader The reader to read from.
*/
- AUD_EffectReader(AUD_Reference<AUD_IReader> reader);
+ AUD_EffectReader(boost::shared_ptr<AUD_IReader> reader);
/**
* Destroys the reader.
diff --git a/intern/audaspace/FX/AUD_EnvelopeFactory.cpp b/intern/audaspace/FX/AUD_EnvelopeFactory.cpp
index c7176662659..1e5737557c1 100644
--- a/intern/audaspace/FX/AUD_EnvelopeFactory.cpp
+++ b/intern/audaspace/FX/AUD_EnvelopeFactory.cpp
@@ -54,7 +54,7 @@ void AUD_EnvelopeFactory::endEnvelopeFilter(EnvelopeParameters* param)
delete param;
}
-AUD_EnvelopeFactory::AUD_EnvelopeFactory(AUD_Reference<AUD_IFactory> factory, float attack,
+AUD_EnvelopeFactory::AUD_EnvelopeFactory(boost::shared_ptr<AUD_IFactory> factory, float attack,
float release, float threshold,
float arthreshold) :
AUD_EffectFactory(factory),
@@ -65,9 +65,9 @@ AUD_EnvelopeFactory::AUD_EnvelopeFactory(AUD_Reference<AUD_IFactory> factory, fl
{
}
-AUD_Reference<AUD_IReader> AUD_EnvelopeFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_EnvelopeFactory::createReader()
{
- AUD_Reference<AUD_IReader> reader = getReader();
+ boost::shared_ptr<AUD_IReader> reader = getReader();
EnvelopeParameters* param = new EnvelopeParameters();
param->arthreshold = m_arthreshold;
@@ -75,8 +75,8 @@ AUD_Reference<AUD_IReader> AUD_EnvelopeFactory::createReader()
param->release = pow(m_arthreshold, 1.0f/(static_cast<float>(reader->getSpecs().rate) * m_release));
param->threshold = m_threshold;
- return new AUD_CallbackIIRFilterReader(reader, 1, 2,
+ return boost::shared_ptr<AUD_IReader>(new AUD_CallbackIIRFilterReader(reader, 1, 2,
(doFilterIIR) envelopeFilter,
(endFilterIIR) endEnvelopeFilter,
- param);
+ param));
}
diff --git a/intern/audaspace/FX/AUD_EnvelopeFactory.h b/intern/audaspace/FX/AUD_EnvelopeFactory.h
index c8f3dc37cd2..656212c8cac 100644
--- a/intern/audaspace/FX/AUD_EnvelopeFactory.h
+++ b/intern/audaspace/FX/AUD_EnvelopeFactory.h
@@ -73,10 +73,10 @@ public:
* \param threshold The threshold value.
* \param arthreshold The attack/release threshold value.
*/
- AUD_EnvelopeFactory(AUD_Reference<AUD_IFactory> factory, float attack, float release,
+ AUD_EnvelopeFactory(boost::shared_ptr<AUD_IFactory> factory, float attack, float release,
float threshold, float arthreshold);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
static sample_t envelopeFilter(AUD_CallbackIIRFilterReader* reader, EnvelopeParameters* param);
static void endEnvelopeFilter(EnvelopeParameters* param);
diff --git a/intern/audaspace/FX/AUD_FaderFactory.cpp b/intern/audaspace/FX/AUD_FaderFactory.cpp
index ec119ef9388..b34d2134385 100644
--- a/intern/audaspace/FX/AUD_FaderFactory.cpp
+++ b/intern/audaspace/FX/AUD_FaderFactory.cpp
@@ -30,7 +30,7 @@
#include "AUD_FaderFactory.h"
#include "AUD_FaderReader.h"
-AUD_FaderFactory::AUD_FaderFactory(AUD_Reference<AUD_IFactory> factory, AUD_FadeType type,
+AUD_FaderFactory::AUD_FaderFactory(boost::shared_ptr<AUD_IFactory> factory, AUD_FadeType type,
float start, float length) :
AUD_EffectFactory(factory),
m_type(type),
@@ -54,7 +54,7 @@ float AUD_FaderFactory::getLength() const
return m_length;
}
-AUD_Reference<AUD_IReader> AUD_FaderFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_FaderFactory::createReader()
{
- return new AUD_FaderReader(getReader(), m_type, m_start, m_length);
+ return boost::shared_ptr<AUD_IReader>(new AUD_FaderReader(getReader(), m_type, m_start, m_length));
}
diff --git a/intern/audaspace/FX/AUD_FaderFactory.h b/intern/audaspace/FX/AUD_FaderFactory.h
index 82eaf2fae9f..f9ad88a751d 100644
--- a/intern/audaspace/FX/AUD_FaderFactory.h
+++ b/intern/audaspace/FX/AUD_FaderFactory.h
@@ -67,7 +67,7 @@ public:
* \param start The time where fading should start in seconds.
* \param length How long fading should last in seconds.
*/
- AUD_FaderFactory(AUD_Reference<AUD_IFactory> factory,
+ AUD_FaderFactory(boost::shared_ptr<AUD_IFactory> factory,
AUD_FadeType type = AUD_FADE_IN,
float start = 0.0f, float length = 1.0f);
@@ -86,7 +86,7 @@ public:
*/
float getLength() const;
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_FADERFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_FaderReader.cpp b/intern/audaspace/FX/AUD_FaderReader.cpp
index 4ece91ca899..e09072054cb 100644
--- a/intern/audaspace/FX/AUD_FaderReader.cpp
+++ b/intern/audaspace/FX/AUD_FaderReader.cpp
@@ -31,7 +31,7 @@
#include <cstring>
-AUD_FaderReader::AUD_FaderReader(AUD_Reference<AUD_IReader> reader, AUD_FadeType type,
+AUD_FaderReader::AUD_FaderReader(boost::shared_ptr<AUD_IReader> reader, AUD_FadeType type,
float start,float length) :
AUD_EffectReader(reader),
m_type(type),
diff --git a/intern/audaspace/FX/AUD_FaderReader.h b/intern/audaspace/FX/AUD_FaderReader.h
index 788e8539228..a49960b30fb 100644
--- a/intern/audaspace/FX/AUD_FaderReader.h
+++ b/intern/audaspace/FX/AUD_FaderReader.h
@@ -67,7 +67,7 @@ public:
* \param start The time where fading should start in seconds.
* \param length How long fading should last in seconds.
*/
- AUD_FaderReader(AUD_Reference<AUD_IReader> reader, AUD_FadeType type,
+ AUD_FaderReader(boost::shared_ptr<AUD_IReader> reader, AUD_FadeType type,
float start,float length);
virtual void read(int& length, bool& eos, sample_t* buffer);
diff --git a/intern/audaspace/FX/AUD_HighpassFactory.cpp b/intern/audaspace/FX/AUD_HighpassFactory.cpp
index 41070842596..ba5297d21ed 100644
--- a/intern/audaspace/FX/AUD_HighpassFactory.cpp
+++ b/intern/audaspace/FX/AUD_HighpassFactory.cpp
@@ -36,7 +36,7 @@
#define M_PI 3.14159265358979323846
#endif
-AUD_HighpassFactory::AUD_HighpassFactory(AUD_Reference<AUD_IFactory> factory, float frequency,
+AUD_HighpassFactory::AUD_HighpassFactory(boost::shared_ptr<AUD_IFactory> factory, float frequency,
float Q) :
AUD_DynamicIIRFilterFactory(factory),
m_frequency(frequency),
@@ -48,8 +48,8 @@ void AUD_HighpassFactory::recalculateCoefficients(AUD_SampleRate rate,
std::vector<float> &b,
std::vector<float> &a)
{
- float w0 = 2 * M_PI * m_frequency / rate;
- float alpha = sin(w0) / (2 * m_Q);
+ float w0 = 2.0 * M_PI * (AUD_SampleRate)m_frequency / rate;
+ float alpha = (float)(sin(w0) / (2.0 * (double)m_Q));
float norm = 1 + alpha;
float c = cos(w0);
a.push_back(1);
diff --git a/intern/audaspace/FX/AUD_HighpassFactory.h b/intern/audaspace/FX/AUD_HighpassFactory.h
index 66aa8091234..ed7e9db44a4 100644
--- a/intern/audaspace/FX/AUD_HighpassFactory.h
+++ b/intern/audaspace/FX/AUD_HighpassFactory.h
@@ -59,7 +59,7 @@ public:
* \param frequency The cutoff frequency.
* \param Q The Q factor.
*/
- AUD_HighpassFactory(AUD_Reference<AUD_IFactory> factory, float frequency, float Q = 1.0f);
+ AUD_HighpassFactory(boost::shared_ptr<AUD_IFactory> factory, float frequency, float Q = 1.0f);
virtual void recalculateCoefficients(AUD_SampleRate rate, std::vector<float> &b, std::vector<float> &a);
};
diff --git a/intern/audaspace/FX/AUD_IDynamicIIRFilterCalculator.h b/intern/audaspace/FX/AUD_IDynamicIIRFilterCalculator.h
new file mode 100644
index 00000000000..77d83360255
--- /dev/null
+++ b/intern/audaspace/FX/AUD_IDynamicIIRFilterCalculator.h
@@ -0,0 +1,52 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * 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 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 General Public License for more details.
+ *
+ * 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 GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/FX/AUD_IDynamicIIRFilterCalculator.h
+ * \ingroup audfx
+ */
+
+#ifndef AUD_IDYNAMICIIRFILTERCALCULATOR_H
+#define AUD_IDYNAMICIIRFILTERCALCULATOR_H
+
+#include <vector>
+
+/**
+ * This interface calculates dynamic filter coefficients which depend on the
+ * sampling rate for AUD_DynamicIIRFilterReaders.
+ */
+class AUD_IDynamicIIRFilterCalculator
+{
+public:
+ /**
+ * Recalculates the filter coefficients.
+ * \param rate The sample rate of the audio data.
+ * \param[out] b The input filter coefficients.
+ * \param[out] a The output filter coefficients.
+ */
+ virtual void recalculateCoefficients(AUD_SampleRate rate,
+ std::vector<float>& b,
+ std::vector<float>& a)=0;
+};
+
+#endif // AUD_IDYNAMICIIRFILTERCALCULATOR_H
diff --git a/intern/audaspace/FX/AUD_IIRFilterFactory.cpp b/intern/audaspace/FX/AUD_IIRFilterFactory.cpp
index 807b0ef4899..c4f94a2dc27 100644
--- a/intern/audaspace/FX/AUD_IIRFilterFactory.cpp
+++ b/intern/audaspace/FX/AUD_IIRFilterFactory.cpp
@@ -30,14 +30,14 @@
#include "AUD_IIRFilterFactory.h"
#include "AUD_IIRFilterReader.h"
-AUD_IIRFilterFactory::AUD_IIRFilterFactory(AUD_Reference<AUD_IFactory> factory,
+AUD_IIRFilterFactory::AUD_IIRFilterFactory(boost::shared_ptr<AUD_IFactory> factory,
std::vector<float> b,
std::vector<float> a) :
AUD_EffectFactory(factory), m_a(a), m_b(b)
{
}
-AUD_Reference<AUD_IReader> AUD_IIRFilterFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_IIRFilterFactory::createReader()
{
- return new AUD_IIRFilterReader(getReader(), m_b, m_a);
+ return boost::shared_ptr<AUD_IReader>(new AUD_IIRFilterReader(getReader(), m_b, m_a));
}
diff --git a/intern/audaspace/FX/AUD_IIRFilterFactory.h b/intern/audaspace/FX/AUD_IIRFilterFactory.h
index 43256a166aa..0b55c120384 100644
--- a/intern/audaspace/FX/AUD_IIRFilterFactory.h
+++ b/intern/audaspace/FX/AUD_IIRFilterFactory.h
@@ -31,6 +31,7 @@
#define __AUD_IIRFILTERFACTORY_H__
#include "AUD_EffectFactory.h"
+#include "AUD_IDynamicIIRFilterCalculator.h"
#include <vector>
@@ -61,10 +62,10 @@ public:
* \param b The input filter coefficients.
* \param a The output filter coefficients.
*/
- AUD_IIRFilterFactory(AUD_Reference<AUD_IFactory> factory, std::vector<float> b,
+ AUD_IIRFilterFactory(boost::shared_ptr<AUD_IFactory> factory, std::vector<float> b,
std::vector<float> a);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_IIRFILTERFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_IIRFilterReader.cpp b/intern/audaspace/FX/AUD_IIRFilterReader.cpp
index 8f78c110d1f..6716e6b9ddc 100644
--- a/intern/audaspace/FX/AUD_IIRFilterReader.cpp
+++ b/intern/audaspace/FX/AUD_IIRFilterReader.cpp
@@ -29,7 +29,7 @@
#include "AUD_IIRFilterReader.h"
-AUD_IIRFilterReader::AUD_IIRFilterReader(AUD_Reference<AUD_IReader> reader,
+AUD_IIRFilterReader::AUD_IIRFilterReader(boost::shared_ptr<AUD_IReader> reader,
const std::vector<float>& b,
const std::vector<float>& a) :
AUD_BaseIIRFilterReader(reader, b.size(), a.size()), m_a(a), m_b(b)
diff --git a/intern/audaspace/FX/AUD_IIRFilterReader.h b/intern/audaspace/FX/AUD_IIRFilterReader.h
index d9be52f2919..d663805b50f 100644
--- a/intern/audaspace/FX/AUD_IIRFilterReader.h
+++ b/intern/audaspace/FX/AUD_IIRFilterReader.h
@@ -61,7 +61,7 @@ public:
* \param b The input filter coefficients.
* \param a The output filter coefficients.
*/
- AUD_IIRFilterReader(AUD_Reference<AUD_IReader> reader, const std::vector<float>& b,
+ AUD_IIRFilterReader(boost::shared_ptr<AUD_IReader> reader, const std::vector<float>& b,
const std::vector<float>& a);
virtual sample_t filter();
diff --git a/intern/audaspace/FX/AUD_LimiterFactory.cpp b/intern/audaspace/FX/AUD_LimiterFactory.cpp
index e58657d8d70..679ed3a6b8b 100644
--- a/intern/audaspace/FX/AUD_LimiterFactory.cpp
+++ b/intern/audaspace/FX/AUD_LimiterFactory.cpp
@@ -31,7 +31,7 @@
#include "AUD_LimiterReader.h"
#include "AUD_Space.h"
-AUD_LimiterFactory::AUD_LimiterFactory(AUD_Reference<AUD_IFactory> factory,
+AUD_LimiterFactory::AUD_LimiterFactory(boost::shared_ptr<AUD_IFactory> factory,
float start, float end) :
AUD_EffectFactory(factory),
m_start(start),
@@ -49,7 +49,7 @@ float AUD_LimiterFactory::getEnd() const
return m_end;
}
-AUD_Reference<AUD_IReader> AUD_LimiterFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_LimiterFactory::createReader()
{
- return new AUD_LimiterReader(getReader(), m_start, m_end);
+ return boost::shared_ptr<AUD_IReader>(new AUD_LimiterReader(getReader(), m_start, m_end));
}
diff --git a/intern/audaspace/FX/AUD_LimiterFactory.h b/intern/audaspace/FX/AUD_LimiterFactory.h
index ddc8183ce7a..0376952b4bd 100644
--- a/intern/audaspace/FX/AUD_LimiterFactory.h
+++ b/intern/audaspace/FX/AUD_LimiterFactory.h
@@ -60,7 +60,7 @@ public:
* \param end The desired end time, a negative value signals that it should
* play to the end.
*/
- AUD_LimiterFactory(AUD_Reference<AUD_IFactory> factory,
+ AUD_LimiterFactory(boost::shared_ptr<AUD_IFactory> factory,
float start = 0, float end = -1);
/**
@@ -73,7 +73,7 @@ public:
*/
float getEnd() const;
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_LIMITERFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_LimiterReader.cpp b/intern/audaspace/FX/AUD_LimiterReader.cpp
index 0abf496c7f9..9c1d4443b06 100644
--- a/intern/audaspace/FX/AUD_LimiterReader.cpp
+++ b/intern/audaspace/FX/AUD_LimiterReader.cpp
@@ -30,7 +30,7 @@
#include "AUD_LimiterReader.h"
#include "AUD_Buffer.h"
-AUD_LimiterReader::AUD_LimiterReader(AUD_Reference<AUD_IReader> reader,
+AUD_LimiterReader::AUD_LimiterReader(boost::shared_ptr<AUD_IReader> reader,
float start, float end) :
AUD_EffectReader(reader),
m_start(start),
diff --git a/intern/audaspace/FX/AUD_LimiterReader.h b/intern/audaspace/FX/AUD_LimiterReader.h
index 34c4ea7c20e..607eb9e5bec 100644
--- a/intern/audaspace/FX/AUD_LimiterReader.h
+++ b/intern/audaspace/FX/AUD_LimiterReader.h
@@ -60,7 +60,7 @@ public:
* \param end The desired end time (sample exklusive), a negative value
* signals that it should play to the end.
*/
- AUD_LimiterReader(AUD_Reference<AUD_IReader> reader, float start = 0, float end = -1);
+ AUD_LimiterReader(boost::shared_ptr<AUD_IReader> reader, float start = 0, float end = -1);
virtual void seek(int position);
virtual int getLength() const;
diff --git a/intern/audaspace/FX/AUD_LoopFactory.cpp b/intern/audaspace/FX/AUD_LoopFactory.cpp
index 32c9e6bad7f..a9e83e349a0 100644
--- a/intern/audaspace/FX/AUD_LoopFactory.cpp
+++ b/intern/audaspace/FX/AUD_LoopFactory.cpp
@@ -30,7 +30,7 @@
#include "AUD_LoopFactory.h"
#include "AUD_LoopReader.h"
-AUD_LoopFactory::AUD_LoopFactory(AUD_Reference<AUD_IFactory> factory, int loop) :
+AUD_LoopFactory::AUD_LoopFactory(boost::shared_ptr<AUD_IFactory> factory, int loop) :
AUD_EffectFactory(factory),
m_loop(loop)
{
@@ -41,7 +41,7 @@ int AUD_LoopFactory::getLoop() const
return m_loop;
}
-AUD_Reference<AUD_IReader> AUD_LoopFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_LoopFactory::createReader()
{
- return new AUD_LoopReader(getReader(), m_loop);
+ return boost::shared_ptr<AUD_IReader>(new AUD_LoopReader(getReader(), m_loop));
}
diff --git a/intern/audaspace/FX/AUD_LoopFactory.h b/intern/audaspace/FX/AUD_LoopFactory.h
index 754b780bd99..570536bee9a 100644
--- a/intern/audaspace/FX/AUD_LoopFactory.h
+++ b/intern/audaspace/FX/AUD_LoopFactory.h
@@ -55,14 +55,14 @@ public:
* \param loop The desired loop count, negative values result in endless
* looping.
*/
- AUD_LoopFactory(AUD_Reference<AUD_IFactory> factory, int loop = -1);
+ AUD_LoopFactory(boost::shared_ptr<AUD_IFactory> factory, int loop = -1);
/**
* Returns the loop count.
*/
int getLoop() const;
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_LOOPFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_LoopReader.cpp b/intern/audaspace/FX/AUD_LoopReader.cpp
index 863f66f9f46..6fbcaa5af37 100644
--- a/intern/audaspace/FX/AUD_LoopReader.cpp
+++ b/intern/audaspace/FX/AUD_LoopReader.cpp
@@ -32,7 +32,7 @@
#include <cstring>
-AUD_LoopReader::AUD_LoopReader(AUD_Reference<AUD_IReader> reader, int loop) :
+AUD_LoopReader::AUD_LoopReader(boost::shared_ptr<AUD_IReader> reader, int loop) :
AUD_EffectReader(reader), m_count(loop), m_left(loop)
{
}
diff --git a/intern/audaspace/FX/AUD_LoopReader.h b/intern/audaspace/FX/AUD_LoopReader.h
index fd2dd71d78f..12b8078b12d 100644
--- a/intern/audaspace/FX/AUD_LoopReader.h
+++ b/intern/audaspace/FX/AUD_LoopReader.h
@@ -61,7 +61,7 @@ public:
* \param loop The desired loop count, negative values result in endless
* looping.
*/
- AUD_LoopReader(AUD_Reference<AUD_IReader> reader, int loop);
+ AUD_LoopReader(boost::shared_ptr<AUD_IReader> reader, int loop);
virtual void seek(int position);
virtual int getLength() const;
diff --git a/intern/audaspace/FX/AUD_LowpassFactory.cpp b/intern/audaspace/FX/AUD_LowpassFactory.cpp
index 14dbc951c7f..e2faa241ac9 100644
--- a/intern/audaspace/FX/AUD_LowpassFactory.cpp
+++ b/intern/audaspace/FX/AUD_LowpassFactory.cpp
@@ -36,7 +36,7 @@
#define M_PI 3.14159265358979323846
#endif
-AUD_LowpassFactory::AUD_LowpassFactory(AUD_Reference<AUD_IFactory> factory, float frequency,
+AUD_LowpassFactory::AUD_LowpassFactory(boost::shared_ptr<AUD_IFactory> factory, float frequency,
float Q) :
AUD_DynamicIIRFilterFactory(factory),
m_frequency(frequency),
diff --git a/intern/audaspace/FX/AUD_LowpassFactory.h b/intern/audaspace/FX/AUD_LowpassFactory.h
index 7e98720a2db..fdbc6e5d91d 100644
--- a/intern/audaspace/FX/AUD_LowpassFactory.h
+++ b/intern/audaspace/FX/AUD_LowpassFactory.h
@@ -59,7 +59,7 @@ public:
* \param frequency The cutoff frequency.
* \param Q The Q factor.
*/
- AUD_LowpassFactory(AUD_Reference<AUD_IFactory> factory, float frequency, float Q = 1.0f);
+ AUD_LowpassFactory(boost::shared_ptr<AUD_IFactory> factory, float frequency, float Q = 1.0f);
virtual void recalculateCoefficients(AUD_SampleRate rate, std::vector<float> &b, std::vector<float> &a);
};
diff --git a/intern/audaspace/FX/AUD_PingPongFactory.cpp b/intern/audaspace/FX/AUD_PingPongFactory.cpp
index 3d5011cf47b..84e4b29415e 100644
--- a/intern/audaspace/FX/AUD_PingPongFactory.cpp
+++ b/intern/audaspace/FX/AUD_PingPongFactory.cpp
@@ -31,16 +31,16 @@
#include "AUD_DoubleReader.h"
#include "AUD_ReverseFactory.h"
-AUD_PingPongFactory::AUD_PingPongFactory(AUD_Reference<AUD_IFactory> factory) :
+AUD_PingPongFactory::AUD_PingPongFactory(boost::shared_ptr<AUD_IFactory> factory) :
AUD_EffectFactory(factory)
{
}
-AUD_Reference<AUD_IReader> AUD_PingPongFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_PingPongFactory::createReader()
{
- AUD_Reference<AUD_IReader> reader = getReader();
+ boost::shared_ptr<AUD_IReader> reader = getReader();
AUD_ReverseFactory factory(m_factory);
- AUD_Reference<AUD_IReader> reader2 = factory.createReader();
+ boost::shared_ptr<AUD_IReader> reader2 = factory.createReader();
- return new AUD_DoubleReader(reader, reader2);
+ return boost::shared_ptr<AUD_IReader>(new AUD_DoubleReader(reader, reader2));
}
diff --git a/intern/audaspace/FX/AUD_PingPongFactory.h b/intern/audaspace/FX/AUD_PingPongFactory.h
index f25624a7c5e..e8ee5c9e389 100644
--- a/intern/audaspace/FX/AUD_PingPongFactory.h
+++ b/intern/audaspace/FX/AUD_PingPongFactory.h
@@ -48,9 +48,9 @@ public:
* Creates a new ping pong factory.
* \param factory The input factory.
*/
- AUD_PingPongFactory(AUD_Reference<AUD_IFactory> factory);
+ AUD_PingPongFactory(boost::shared_ptr<AUD_IFactory> factory);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_PINGPONGFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_PitchFactory.cpp b/intern/audaspace/FX/AUD_PitchFactory.cpp
index c6e9ae0b457..9dc27a58162 100644
--- a/intern/audaspace/FX/AUD_PitchFactory.cpp
+++ b/intern/audaspace/FX/AUD_PitchFactory.cpp
@@ -31,13 +31,13 @@
#include "AUD_PitchReader.h"
#include "AUD_Space.h"
-AUD_PitchFactory::AUD_PitchFactory(AUD_Reference<AUD_IFactory> factory, float pitch) :
+AUD_PitchFactory::AUD_PitchFactory(boost::shared_ptr<AUD_IFactory> factory, float pitch) :
AUD_EffectFactory(factory),
m_pitch(pitch)
{
}
-AUD_Reference<AUD_IReader> AUD_PitchFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_PitchFactory::createReader()
{
- return new AUD_PitchReader(getReader(), m_pitch);
+ return boost::shared_ptr<AUD_IReader>(new AUD_PitchReader(getReader(), m_pitch));
}
diff --git a/intern/audaspace/FX/AUD_PitchFactory.h b/intern/audaspace/FX/AUD_PitchFactory.h
index 5ad37ad1a6c..159388b28dd 100644
--- a/intern/audaspace/FX/AUD_PitchFactory.h
+++ b/intern/audaspace/FX/AUD_PitchFactory.h
@@ -53,9 +53,9 @@ public:
* \param factory The input factory.
* \param pitch The desired pitch.
*/
- AUD_PitchFactory(AUD_Reference<AUD_IFactory> factory, float pitch);
+ AUD_PitchFactory(boost::shared_ptr<AUD_IFactory> factory, float pitch);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_PITCHFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_PitchReader.cpp b/intern/audaspace/FX/AUD_PitchReader.cpp
index 0d1ff012e73..218af4fc090 100644
--- a/intern/audaspace/FX/AUD_PitchReader.cpp
+++ b/intern/audaspace/FX/AUD_PitchReader.cpp
@@ -29,7 +29,7 @@
#include "AUD_PitchReader.h"
-AUD_PitchReader::AUD_PitchReader(AUD_Reference<AUD_IReader> reader, float pitch) :
+AUD_PitchReader::AUD_PitchReader(boost::shared_ptr<AUD_IReader> reader, float pitch) :
AUD_EffectReader(reader), m_pitch(pitch)
{
}
diff --git a/intern/audaspace/FX/AUD_PitchReader.h b/intern/audaspace/FX/AUD_PitchReader.h
index 3185bfdf30b..d22e589b05d 100644
--- a/intern/audaspace/FX/AUD_PitchReader.h
+++ b/intern/audaspace/FX/AUD_PitchReader.h
@@ -53,7 +53,7 @@ public:
* \param reader The reader to read from.
* \param pitch The pitch value.
*/
- AUD_PitchReader(AUD_Reference<AUD_IReader> reader, float pitch);
+ AUD_PitchReader(boost::shared_ptr<AUD_IReader> reader, float pitch);
virtual AUD_Specs getSpecs() const;
diff --git a/intern/audaspace/FX/AUD_RectifyFactory.cpp b/intern/audaspace/FX/AUD_RectifyFactory.cpp
index ad01f404698..26bb5615dad 100644
--- a/intern/audaspace/FX/AUD_RectifyFactory.cpp
+++ b/intern/audaspace/FX/AUD_RectifyFactory.cpp
@@ -37,12 +37,12 @@ sample_t AUD_RectifyFactory::rectifyFilter(AUD_CallbackIIRFilterReader* reader,
return fabs(reader->x(0));
}
-AUD_RectifyFactory::AUD_RectifyFactory(AUD_Reference<AUD_IFactory> factory) :
+AUD_RectifyFactory::AUD_RectifyFactory(boost::shared_ptr<AUD_IFactory> factory) :
AUD_EffectFactory(factory)
{
}
-AUD_Reference<AUD_IReader> AUD_RectifyFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_RectifyFactory::createReader()
{
- return new AUD_CallbackIIRFilterReader(getReader(), 1, 1, rectifyFilter);
+ return boost::shared_ptr<AUD_IReader>(new AUD_CallbackIIRFilterReader(getReader(), 1, 1, rectifyFilter));
}
diff --git a/intern/audaspace/FX/AUD_RectifyFactory.h b/intern/audaspace/FX/AUD_RectifyFactory.h
index 5ad41d424d9..eb595e43e4f 100644
--- a/intern/audaspace/FX/AUD_RectifyFactory.h
+++ b/intern/audaspace/FX/AUD_RectifyFactory.h
@@ -48,9 +48,9 @@ public:
* Creates a new rectify factory.
* \param factory The input factory.
*/
- AUD_RectifyFactory(AUD_Reference<AUD_IFactory> factory);
+ AUD_RectifyFactory(boost::shared_ptr<AUD_IFactory> factory);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
static sample_t rectifyFilter(AUD_CallbackIIRFilterReader* reader, void* useless);
};
diff --git a/intern/audaspace/FX/AUD_ReverseFactory.cpp b/intern/audaspace/FX/AUD_ReverseFactory.cpp
index 063cbc88180..afb4ad2bec9 100644
--- a/intern/audaspace/FX/AUD_ReverseFactory.cpp
+++ b/intern/audaspace/FX/AUD_ReverseFactory.cpp
@@ -31,12 +31,12 @@
#include "AUD_ReverseReader.h"
#include "AUD_Space.h"
-AUD_ReverseFactory::AUD_ReverseFactory(AUD_Reference<AUD_IFactory> factory) :
+AUD_ReverseFactory::AUD_ReverseFactory(boost::shared_ptr<AUD_IFactory> factory) :
AUD_EffectFactory(factory)
{
}
-AUD_Reference<AUD_IReader> AUD_ReverseFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_ReverseFactory::createReader()
{
- return new AUD_ReverseReader(getReader());
+ return boost::shared_ptr<AUD_IReader>(new AUD_ReverseReader(getReader()));
}
diff --git a/intern/audaspace/FX/AUD_ReverseFactory.h b/intern/audaspace/FX/AUD_ReverseFactory.h
index e2d75dc560a..5b0c9e3c29a 100644
--- a/intern/audaspace/FX/AUD_ReverseFactory.h
+++ b/intern/audaspace/FX/AUD_ReverseFactory.h
@@ -48,9 +48,9 @@ public:
* Creates a new reverse factory.
* \param factory The input factory.
*/
- AUD_ReverseFactory(AUD_Reference<AUD_IFactory> factory);
+ AUD_ReverseFactory(boost::shared_ptr<AUD_IFactory> factory);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_REVERSEFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_ReverseReader.cpp b/intern/audaspace/FX/AUD_ReverseReader.cpp
index 6b454c66d25..c0a5962a299 100644
--- a/intern/audaspace/FX/AUD_ReverseReader.cpp
+++ b/intern/audaspace/FX/AUD_ReverseReader.cpp
@@ -34,7 +34,7 @@
static const char* props_error = "AUD_ReverseReader: The reader has to be "
"seekable and a finite length.";
-AUD_ReverseReader::AUD_ReverseReader(AUD_Reference<AUD_IReader> reader) :
+AUD_ReverseReader::AUD_ReverseReader(boost::shared_ptr<AUD_IReader> reader) :
AUD_EffectReader(reader),
m_length(reader->getLength()),
m_position(0)
diff --git a/intern/audaspace/FX/AUD_ReverseReader.h b/intern/audaspace/FX/AUD_ReverseReader.h
index d1e5179b8ec..219047915bd 100644
--- a/intern/audaspace/FX/AUD_ReverseReader.h
+++ b/intern/audaspace/FX/AUD_ReverseReader.h
@@ -61,7 +61,7 @@ public:
* \exception AUD_Exception Thrown if the reader specified has an
* undeterminable/infinite length or is not seekable.
*/
- AUD_ReverseReader(AUD_Reference<AUD_IReader> reader);
+ AUD_ReverseReader(boost::shared_ptr<AUD_IReader> reader);
virtual void seek(int position);
virtual int getLength() const;
diff --git a/intern/audaspace/FX/AUD_SquareFactory.cpp b/intern/audaspace/FX/AUD_SquareFactory.cpp
index 7aabdb775f6..4b4dccb6e6b 100644
--- a/intern/audaspace/FX/AUD_SquareFactory.cpp
+++ b/intern/audaspace/FX/AUD_SquareFactory.cpp
@@ -46,7 +46,7 @@ void AUD_SquareFactory::endSquareFilter(float* threshold)
delete threshold;
}
-AUD_SquareFactory::AUD_SquareFactory(AUD_Reference<AUD_IFactory> factory, float threshold) :
+AUD_SquareFactory::AUD_SquareFactory(boost::shared_ptr<AUD_IFactory> factory, float threshold) :
AUD_EffectFactory(factory),
m_threshold(threshold)
{
@@ -57,10 +57,10 @@ float AUD_SquareFactory::getThreshold() const
return m_threshold;
}
-AUD_Reference<AUD_IReader> AUD_SquareFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_SquareFactory::createReader()
{
- return new AUD_CallbackIIRFilterReader(getReader(), 1, 1,
+ return boost::shared_ptr<AUD_IReader>(new AUD_CallbackIIRFilterReader(getReader(), 1, 1,
(doFilterIIR) squareFilter,
(endFilterIIR) endSquareFilter,
- new float(m_threshold));
+ new float(m_threshold)));
}
diff --git a/intern/audaspace/FX/AUD_SquareFactory.h b/intern/audaspace/FX/AUD_SquareFactory.h
index 9c0dea25d2b..27e62b6f4cc 100644
--- a/intern/audaspace/FX/AUD_SquareFactory.h
+++ b/intern/audaspace/FX/AUD_SquareFactory.h
@@ -54,14 +54,14 @@ public:
* \param factory The input factory.
* \param threshold The threshold.
*/
- AUD_SquareFactory(AUD_Reference<AUD_IFactory> factory, float threshold = 0.0f);
+ AUD_SquareFactory(boost::shared_ptr<AUD_IFactory> factory, float threshold = 0.0f);
/**
* Returns the threshold.
*/
float getThreshold() const;
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
static sample_t squareFilter(AUD_CallbackIIRFilterReader* reader, float* threshold);
static void endSquareFilter(float* threshold);
diff --git a/intern/audaspace/FX/AUD_SumFactory.cpp b/intern/audaspace/FX/AUD_SumFactory.cpp
index b58c44b0171..7f82233a0b7 100644
--- a/intern/audaspace/FX/AUD_SumFactory.cpp
+++ b/intern/audaspace/FX/AUD_SumFactory.cpp
@@ -30,16 +30,16 @@
#include "AUD_SumFactory.h"
#include "AUD_IIRFilterReader.h"
-AUD_SumFactory::AUD_SumFactory(AUD_Reference<AUD_IFactory> factory) :
+AUD_SumFactory::AUD_SumFactory(boost::shared_ptr<AUD_IFactory> factory) :
AUD_EffectFactory(factory)
{
}
-AUD_Reference<AUD_IReader> AUD_SumFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_SumFactory::createReader()
{
std::vector<float> a, b;
a.push_back(1);
a.push_back(-1);
b.push_back(1);
- return new AUD_IIRFilterReader(getReader(), b, a);
+ return boost::shared_ptr<AUD_IReader>(new AUD_IIRFilterReader(getReader(), b, a));
}
diff --git a/intern/audaspace/FX/AUD_SumFactory.h b/intern/audaspace/FX/AUD_SumFactory.h
index ec17faf3fb2..a916f3509cb 100644
--- a/intern/audaspace/FX/AUD_SumFactory.h
+++ b/intern/audaspace/FX/AUD_SumFactory.h
@@ -47,9 +47,9 @@ public:
* Creates a new sum factory.
* \param factory The input factory.
*/
- AUD_SumFactory(AUD_Reference<AUD_IFactory> factory);
+ AUD_SumFactory(boost::shared_ptr<AUD_IFactory> factory);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_SUMFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_SuperposeFactory.cpp b/intern/audaspace/FX/AUD_SuperposeFactory.cpp
index 30c57198c73..3efad37a5b3 100644
--- a/intern/audaspace/FX/AUD_SuperposeFactory.cpp
+++ b/intern/audaspace/FX/AUD_SuperposeFactory.cpp
@@ -30,15 +30,15 @@
#include "AUD_SuperposeFactory.h"
#include "AUD_SuperposeReader.h"
-AUD_SuperposeFactory::AUD_SuperposeFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2) :
+AUD_SuperposeFactory::AUD_SuperposeFactory(boost::shared_ptr<AUD_IFactory> factory1, boost::shared_ptr<AUD_IFactory> factory2) :
m_factory1(factory1), m_factory2(factory2)
{
}
-AUD_Reference<AUD_IReader> AUD_SuperposeFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_SuperposeFactory::createReader()
{
- AUD_Reference<AUD_IReader> reader1 = m_factory1->createReader();
- AUD_Reference<AUD_IReader> reader2 = m_factory2->createReader();
+ boost::shared_ptr<AUD_IReader> reader1 = m_factory1->createReader();
+ boost::shared_ptr<AUD_IReader> reader2 = m_factory2->createReader();
- return new AUD_SuperposeReader(reader1, reader2);
+ return boost::shared_ptr<AUD_IReader>(new AUD_SuperposeReader(reader1, reader2));
}
diff --git a/intern/audaspace/FX/AUD_SuperposeFactory.h b/intern/audaspace/FX/AUD_SuperposeFactory.h
index 2da8e34496d..caa0dfb752f 100644
--- a/intern/audaspace/FX/AUD_SuperposeFactory.h
+++ b/intern/audaspace/FX/AUD_SuperposeFactory.h
@@ -43,12 +43,12 @@ private:
/**
* First played factory.
*/
- AUD_Reference<AUD_IFactory> m_factory1;
+ boost::shared_ptr<AUD_IFactory> m_factory1;
/**
* Second played factory.
*/
- AUD_Reference<AUD_IFactory> m_factory2;
+ boost::shared_ptr<AUD_IFactory> m_factory2;
// hide copy constructor and operator=
AUD_SuperposeFactory(const AUD_SuperposeFactory&);
@@ -60,9 +60,9 @@ public:
* \param factory1 The first input factory.
* \param factory2 The second input factory.
*/
- AUD_SuperposeFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2);
+ AUD_SuperposeFactory(boost::shared_ptr<AUD_IFactory> factory1, boost::shared_ptr<AUD_IFactory> factory2);
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_SUPERPOSEFACTORY_H__
diff --git a/intern/audaspace/FX/AUD_SuperposeReader.cpp b/intern/audaspace/FX/AUD_SuperposeReader.cpp
index 535d3590a8f..294a48b3e7a 100644
--- a/intern/audaspace/FX/AUD_SuperposeReader.cpp
+++ b/intern/audaspace/FX/AUD_SuperposeReader.cpp
@@ -34,7 +34,7 @@
static const char* specs_error = "AUD_SuperposeReader: Both readers have to "
"have the same specs.";
-AUD_SuperposeReader::AUD_SuperposeReader(AUD_Reference<AUD_IReader> reader1, AUD_Reference<AUD_IReader> reader2) :
+AUD_SuperposeReader::AUD_SuperposeReader(boost::shared_ptr<AUD_IReader> reader1, boost::shared_ptr<AUD_IReader> reader2) :
m_reader1(reader1), m_reader2(reader2)
{
}
diff --git a/intern/audaspace/FX/AUD_SuperposeReader.h b/intern/audaspace/FX/AUD_SuperposeReader.h
index d0fde13a267..a04ab90fe43 100644
--- a/intern/audaspace/FX/AUD_SuperposeReader.h
+++ b/intern/audaspace/FX/AUD_SuperposeReader.h
@@ -32,7 +32,8 @@
#include "AUD_IReader.h"
#include "AUD_Buffer.h"
-#include "AUD_Reference.h"
+
+#include <boost/shared_ptr.hpp>
/**
* This reader plays two readers with the same specs in parallel.
@@ -43,12 +44,12 @@ private:
/**
* The first reader.
*/
- AUD_Reference<AUD_IReader> m_reader1;
+ boost::shared_ptr<AUD_IReader> m_reader1;
/**
* The second reader.
*/
- AUD_Reference<AUD_IReader> m_reader2;
+ boost::shared_ptr<AUD_IReader> m_reader2;
/**
* Buffer used for mixing.
@@ -66,7 +67,7 @@ public:
* \param reader2 The second reader to read from.
* \exception AUD_Exception Thrown if the specs from the readers differ.
*/
- AUD_SuperposeReader(AUD_Reference<AUD_IReader> reader1, AUD_Reference<AUD_IReader> reader2);
+ AUD_SuperposeReader(boost::shared_ptr<AUD_IReader> reader1, boost::shared_ptr<AUD_IReader> reader2);
/**
* Destroys the reader.
diff --git a/intern/audaspace/FX/AUD_VolumeFactory.cpp b/intern/audaspace/FX/AUD_VolumeFactory.cpp
index f5e635eec2d..4f0e1e425e6 100644
--- a/intern/audaspace/FX/AUD_VolumeFactory.cpp
+++ b/intern/audaspace/FX/AUD_VolumeFactory.cpp
@@ -30,7 +30,7 @@
#include "AUD_VolumeFactory.h"
#include "AUD_IIRFilterReader.h"
-AUD_VolumeFactory::AUD_VolumeFactory(AUD_Reference<AUD_IFactory> factory, float volume) :
+AUD_VolumeFactory::AUD_VolumeFactory(boost::shared_ptr<AUD_IFactory> factory, float volume) :
AUD_EffectFactory(factory),
m_volume(volume)
{
@@ -41,10 +41,10 @@ float AUD_VolumeFactory::getVolume() const
return m_volume;
}
-AUD_Reference<AUD_IReader> AUD_VolumeFactory::createReader()
+boost::shared_ptr<AUD_IReader> AUD_VolumeFactory::createReader()
{
std::vector<float> a, b;
a.push_back(1);
b.push_back(m_volume);
- return new AUD_IIRFilterReader(getReader(), b, a);
+ return boost::shared_ptr<AUD_IReader>(new AUD_IIRFilterReader(getReader(), b, a));
}
diff --git a/intern/audaspace/FX/AUD_VolumeFactory.h b/intern/audaspace/FX/AUD_VolumeFactory.h
index b12838373b3..6fe779ffb88 100644
--- a/intern/audaspace/FX/AUD_VolumeFactory.h
+++ b/intern/audaspace/FX/AUD_VolumeFactory.h
@@ -55,7 +55,7 @@ public:
* \param factory The input factory.
* \param volume The desired volume.
*/
- AUD_VolumeFactory(AUD_Reference<AUD_IFactory> factory, float volume);
+ AUD_VolumeFactory(boost::shared_ptr<AUD_IFactory> factory, float volume);
/**
* Returns the volume.
@@ -63,7 +63,7 @@ public:
*/
float getVolume() const;
- virtual AUD_Reference<AUD_IReader> createReader();
+ virtual boost::shared_ptr<AUD_IReader> createReader();
};
#endif //__AUD_VOLUMEFACTORY_H__