Revision: 30832 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30832 Author: nexyon Date: 2010-07-28 11:36:03 +0200 (Wed, 28 Jul 2010)
Log Message: ----------- Audaspace: HUGE Refactor. Some points of the refactor not sorted by importance: * Fixed immutability of readers and factories (there are exceptions...) * Fixed copy constructors and = operators * Removed messaging system * Removed reader types * Added const where possible * Using initalisers when possible * Avoided use of pointers when possible * Removed AUD_NEW and AUD_DELETE macros * Removed useless NULL pointer checks * Fixed exception catching * Fixed some yet unknown bugs * Lots of other stuff Modified Paths: -------------- branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_DelayFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_DelayFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_DelayReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_DelayReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_DoubleFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_DoubleFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_DoubleReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_DoubleReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_EffectFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_EffectFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_EffectReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_EffectReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_EnvelopeFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_EnvelopeFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_EnvelopeReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_EnvelopeReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_FaderFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_FaderFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_FaderReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_FaderReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_HighpassFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_HighpassFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_HighpassReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_HighpassReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LimiterFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LimiterFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LimiterReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LimiterReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LoopFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LoopFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LoopReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LoopReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LowpassFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LowpassFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LowpassReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_LowpassReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_PingPongFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_PingPongFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_PitchFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_PitchFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_PitchReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_PitchReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_RectifyFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_RectifyFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_RectifyReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_RectifyReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ReverseFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ReverseFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ReverseReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ReverseReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SquareFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SquareFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SquareReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SquareReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SumFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SumFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SumReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SumReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SuperposeFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SuperposeFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SuperposeReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_SuperposeReader.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_VolumeFactory.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_VolumeFactory.h branches/soc-2010-nexyon/intern/audaspace/FX/AUD_VolumeReader.cpp branches/soc-2010-nexyon/intern/audaspace/FX/AUD_VolumeReader.h branches/soc-2010-nexyon/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp branches/soc-2010-nexyon/intern/audaspace/OpenAL/AUD_OpenALDevice.h branches/soc-2010-nexyon/intern/audaspace/Python/AUD_PyAPI.cpp branches/soc-2010-nexyon/intern/audaspace/SDL/AUD_SDLDevice.h branches/soc-2010-nexyon/intern/audaspace/SRC/AUD_SRCResampleFactory.cpp branches/soc-2010-nexyon/intern/audaspace/SRC/AUD_SRCResampleFactory.h branches/soc-2010-nexyon/intern/audaspace/SRC/AUD_SRCResampleReader.cpp branches/soc-2010-nexyon/intern/audaspace/SRC/AUD_SRCResampleReader.h branches/soc-2010-nexyon/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.cpp branches/soc-2010-nexyon/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.h branches/soc-2010-nexyon/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp branches/soc-2010-nexyon/intern/audaspace/ffmpeg/AUD_FFMPEGReader.h branches/soc-2010-nexyon/intern/audaspace/fftw/AUD_BandPassReader.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_Buffer.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_Buffer.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_BufferReader.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_BufferReader.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_C-API.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ChannelMapperFactory.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ChannelMapperFactory.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ChannelMapperReader.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ChannelMapperReader.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ConverterFactory.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ConverterFactory.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ConverterReader.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ConverterReader.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_FileFactory.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_FileFactory.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_IDevice.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_IFactory.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_IReader.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_LinearResampleFactory.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_LinearResampleFactory.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_LinearResampleReader.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_LinearResampleReader.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_Mixer.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_Mixer.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_MixerFactory.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_MixerFactory.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_NULLDevice.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_NULLDevice.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ReadDevice.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_ReadDevice.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_Reference.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SequencerFactory.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SequencerFactory.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SequencerReader.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SequencerReader.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SinusFactory.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SinusFactory.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SinusReader.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SinusReader.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SoftwareDevice.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_SoftwareDevice.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_Space.h branches/soc-2010-nexyon/intern/audaspace/intern/AUD_StreamBufferFactory.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_StreamBufferFactory.h branches/soc-2010-nexyon/intern/audaspace/jack/AUD_JackDevice.cpp branches/soc-2010-nexyon/intern/audaspace/jack/AUD_JackDevice.h branches/soc-2010-nexyon/intern/audaspace/sndfile/AUD_SndFileFactory.cpp branches/soc-2010-nexyon/intern/audaspace/sndfile/AUD_SndFileFactory.h branches/soc-2010-nexyon/intern/audaspace/sndfile/AUD_SndFileReader.cpp branches/soc-2010-nexyon/intern/audaspace/sndfile/AUD_SndFileReader.h Added Paths: ----------- branches/soc-2010-nexyon/intern/audaspace/intern/AUD_DefaultMixer.cpp branches/soc-2010-nexyon/intern/audaspace/intern/AUD_DefaultMixer.h Modified: branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorFactory.cpp =================================================================== --- branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorFactory.cpp 2010-07-28 08:06:46 UTC (rev 30831) +++ branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorFactory.cpp 2010-07-28 09:36:03 UTC (rev 30832) @@ -29,21 +29,11 @@ AUD_AccumulatorFactory::AUD_AccumulatorFactory(AUD_IFactory* factory, bool additive) : AUD_EffectFactory(factory), - m_additive(additive) {} - -AUD_AccumulatorFactory::AUD_AccumulatorFactory(bool additive) : - AUD_EffectFactory(0), - m_additive(additive) {} - -AUD_IReader* AUD_AccumulatorFactory::createReader() + m_additive(additive) { - AUD_IReader* reader = getReader(); +} - if(reader != 0) - { - reader = new AUD_AccumulatorReader(reader, m_additive); - AUD_NEW("reader") - } - - return reader; +AUD_IReader* AUD_AccumulatorFactory::createReader() const +{ + return new AUD_AccumulatorReader(getReader(), m_additive); } Modified: branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorFactory.h =================================================================== --- branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorFactory.h 2010-07-28 08:06:46 UTC (rev 30831) +++ branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorFactory.h 2010-07-28 09:36:03 UTC (rev 30832) @@ -37,8 +37,12 @@ /** * Whether the accumulator is additive. */ - bool m_additive; + const bool m_additive; + // hide copy constructor and operator= + AUD_AccumulatorFactory(const AUD_AccumulatorFactory&); + AUD_AccumulatorFactory& operator=(const AUD_AccumulatorFactory&); + public: /** * Creates a new accumulator factory. @@ -47,13 +51,7 @@ */ AUD_AccumulatorFactory(AUD_IFactory* factory, bool additive = false); - /** - * Creates a new accumulator factory. - * \param additive Whether the accumulator is additive. - */ - AUD_AccumulatorFactory(bool additive = false); - - virtual AUD_IReader* createReader(); + virtual AUD_IReader* createReader() const; }; #endif //AUD_ACCUMULATORFACTORY Modified: branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorReader.cpp =================================================================== --- branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorReader.cpp 2010-07-28 08:06:46 UTC (rev 30831) +++ branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorReader.cpp 2010-07-28 09:36:03 UTC (rev 30832) @@ -24,7 +24,6 @@ */ #include "AUD_AccumulatorReader.h" -#include "AUD_Buffer.h" #include <cstring> @@ -33,42 +32,29 @@ AUD_AccumulatorReader::AUD_AccumulatorReader(AUD_IReader* reader, bool additive) : AUD_EffectReader(reader), - m_additive(additive) + m_additive(additive), + m_sums(AUD_SAMPLE_SIZE(reader->getSpecs())), + m_prevs(AUD_SAMPLE_SIZE(reader->getSpecs())) { - AUD_Specs specs = reader->getSpecs(); - int samplesize = AUD_SAMPLE_SIZE(specs); - - m_buffer = new AUD_Buffer(); AUD_NEW("buffer") - - m_sums = new AUD_Buffer(samplesize); AUD_NEW("buffer") - memset(m_sums->getBuffer(), 0, samplesize); - - m_prevs = new AUD_Buffer(samplesize); AUD_NEW("buffer") - memset(m_prevs->getBuffer(), 0, samplesize); + memset(m_sums.getBuffer(), 0, m_sums.getSize()); + memset(m_prevs.getBuffer(), 0, m_prevs.getSize()); } -AUD_AccumulatorReader::~AUD_AccumulatorReader() -{ - delete m_buffer; AUD_DELETE("buffer") - delete m_sums; AUD_DELETE("buffer") - delete m_prevs; AUD_DELETE("buffer") -} - void AUD_AccumulatorReader::read(int & length, sample_t* & buffer) { sample_t* buf; sample_t* sums; sample_t* prevs; - sums = m_sums->getBuffer(); - prevs = m_prevs->getBuffer(); + sums = m_sums.getBuffer(); + prevs = m_prevs.getBuffer(); AUD_Specs specs = m_reader->getSpecs(); m_reader->read(length, buf); - if(m_buffer->getSize() < length * AUD_SAMPLE_SIZE(specs)) - m_buffer->resize(length * AUD_SAMPLE_SIZE(specs)); + if(m_buffer.getSize() < length * AUD_SAMPLE_SIZE(specs)) + m_buffer.resize(length * AUD_SAMPLE_SIZE(specs)); - buffer = m_buffer->getBuffer(); + buffer = m_buffer.getBuffer(); if(m_additive) { @@ -87,7 +73,7 @@ { for(int channel = 0; channel < specs.channels; channel++) { - for(int i = 0; i < length * specs.channels; i++) + for(int i = 0; i < length; i++) { if(buf[i * CC] > prevs[channel]) sums[channel] += buf[i * CC] - prevs[channel]; Modified: branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorReader.h =================================================================== --- branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorReader.h 2010-07-28 08:06:46 UTC (rev 30831) +++ branches/soc-2010-nexyon/intern/audaspace/FX/AUD_AccumulatorReader.h 2010-07-28 09:36:03 UTC (rev 30832) @@ -27,7 +27,7 @@ #define AUD_ACCUMULATORREADER #include "AUD_EffectReader.h" -class AUD_Buffer; +#include "AUD_Buffer.h" /** * This class represents an accumulator. @@ -36,39 +36,37 @@ { private: /** + * Whether the accumulator is additive. + */ + const bool m_additive; + + /** * The playback buffer. */ - AUD_Buffer *m_buffer; + AUD_Buffer m_buffer; /** * The sums of the specific channels. */ - AUD_Buffer *m_sums; + AUD_Buffer m_sums; /** * The previous results of the specific channels. */ - AUD_Buffer *m_prevs; + AUD_Buffer m_prevs; - /** - * Whether the accumulator is additive. - */ - bool m_additive; + // hide copy constructor and operator= + AUD_AccumulatorReader(const AUD_AccumulatorReader&); + AUD_AccumulatorReader& operator=(const AUD_AccumulatorReader&); public: /** * Creates a new accumulator reader. * \param reader The reader to read from. * \param additive Whether the accumulator is additive. - * \exception AUD_Exception Thrown if the reader specified is NULL. */ AUD_AccumulatorReader(AUD_IReader* reader, bool additive); - /** - * Destroys the reader. - */ - virtual ~AUD_AccumulatorReader(); - virtual void read(int & length, sample_t* & buffer); }; Modified: branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthFactory.cpp =================================================================== --- branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthFactory.cpp 2010-07-28 08:06:46 UTC (rev 30831) +++ branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthFactory.cpp 2010-07-28 09:36:03 UTC (rev 30832) @@ -29,21 +29,11 @@ AUD_ButterworthFactory::AUD_ButterworthFactory(AUD_IFactory* factory, float frequency) : AUD_EffectFactory(factory), - m_frequency(frequency) {} - -AUD_ButterworthFactory::AUD_ButterworthFactory(float frequency) : - AUD_EffectFactory(0), - m_frequency(frequency) {} - -AUD_IReader* AUD_ButterworthFactory::createReader() + m_frequency(frequency) { - AUD_IReader* reader = getReader(); +} - if(reader != 0) - { - reader = new AUD_ButterworthReader(reader, m_frequency); - AUD_NEW("reader") - } - - return reader; +AUD_IReader* AUD_ButterworthFactory::createReader() const +{ + return new AUD_ButterworthReader(getReader(), m_frequency); } Modified: branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthFactory.h =================================================================== --- branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthFactory.h 2010-07-28 08:06:46 UTC (rev 30831) +++ branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthFactory.h 2010-07-28 09:36:03 UTC (rev 30832) @@ -37,8 +37,12 @@ /** * The attack value in seconds. */ - float m_frequency; + const float m_frequency; + // hide copy constructor and operator= + AUD_ButterworthFactory(const AUD_ButterworthFactory&); + AUD_ButterworthFactory& operator=(const AUD_ButterworthFactory&); + public: /** * Creates a new butterworth factory. @@ -47,13 +51,7 @@ */ 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(); + virtual AUD_IReader* createReader() const; }; #endif //AUD_BUTTERWORTHFACTORY Modified: branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthReader.cpp =================================================================== --- branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthReader.cpp 2010-07-28 08:06:46 UTC (rev 30831) +++ branches/soc-2010-nexyon/intern/audaspace/FX/AUD_ButterworthReader.cpp 2010-07-28 09:36:03 UTC (rev 30832) @@ -24,7 +24,6 @@ */ #include "AUD_ButterworthReader.h" -#include "AUD_Buffer.h" #include <cstring> #include <cmath> @@ -39,21 +38,15 @@ AUD_ButterworthReader::AUD_ButterworthReader(AUD_IReader* reader, float frequency) : - AUD_EffectReader(reader) + AUD_EffectReader(reader), + m_outvalues(AUD_SAMPLE_SIZE(reader->getSpecs()) * 5), + m_invalues(AUD_SAMPLE_SIZE(reader->getSpecs()) * 5), + m_position(0) { AUD_Specs specs = reader->getSpecs(); - int samplesize = AUD_SAMPLE_SIZE(specs); + memset(m_outvalues.getBuffer(), 0, m_outvalues.getSize()); + memset(m_invalues.getBuffer(), 0, m_invalues.getSize()); - m_buffer = new AUD_Buffer(); AUD_NEW("buffer") - - m_outvalues = new AUD_Buffer(samplesize * 5); AUD_NEW("buffer") - memset(m_outvalues->getBuffer(), 0, samplesize * 5); - - m_invalues = new AUD_Buffer(samplesize * 5); AUD_NEW("buffer") - memset(m_invalues->getBuffer(), 0, samplesize * 5); - - m_position = 0; - // calculate coefficients float omega = 2 * tan(frequency * M_PI / specs.rate); float o2 = omega * omega; @@ -74,31 +67,23 @@ m_coeff[1][2] = 6 * o4 / norm; } -AUD_ButterworthReader::~AUD_ButterworthReader() -{ - delete m_buffer; AUD_DELETE("buffer") - - delete m_outvalues; AUD_DELETE("buffer") - delete m_invalues; AUD_DELETE("buffer"); -} - void AUD_ButterworthReader::read(int & length, sample_t* & buffer) { sample_t* buf; sample_t* outvalues; sample_t* invalues; - outvalues = m_outvalues->getBuffer(); - invalues = m_invalues->getBuffer(); + outvalues = m_outvalues.getBuffer(); + invalues = m_invalues.getBuffer(); AUD_Specs specs = m_reader->getSpecs(); m_reader->read(length, buf); - if(m_buffer->getSize() < length * AUD_SAMPLE_SIZE(specs)) - m_buffer->resize(length * AUD_SAMPLE_SIZE(specs)); + if(m_buffer.getSize() < length * AUD_SAMPLE_SIZE(specs)) + m_buffer.resize(length * AUD_SAMPLE_SIZE(specs)); - buffer = m_buffer->getBuffer(); + buffer = m_buffer.getBuffer(); @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs