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_HighpassReader.cpp')
-rw-r--r--intern/audaspace/FX/AUD_HighpassReader.cpp40
1 files changed, 12 insertions, 28 deletions
diff --git a/intern/audaspace/FX/AUD_HighpassReader.cpp b/intern/audaspace/FX/AUD_HighpassReader.cpp
index 36b1bb8082e..904d6a95867 100644
--- a/intern/audaspace/FX/AUD_HighpassReader.cpp
+++ b/intern/audaspace/FX/AUD_HighpassReader.cpp
@@ -24,7 +24,6 @@
*/
#include "AUD_HighpassReader.h"
-#include "AUD_Buffer.h"
#include <cstring>
#include <cmath>
@@ -37,22 +36,15 @@
AUD_HighpassReader::AUD_HighpassReader(AUD_IReader* reader, float frequency,
float Q) :
- AUD_EffectReader(reader)
+ AUD_EffectReader(reader),
+ m_outvalues(AUD_SAMPLE_SIZE(reader->getSpecs()) * AUD_HIGHPASS_ORDER),
+ m_invalues(AUD_SAMPLE_SIZE(reader->getSpecs()) * AUD_HIGHPASS_ORDER),
+ m_position(0)
{
- AUD_Specs specs = reader->getSpecs();
- int samplesize = AUD_SAMPLE_SIZE(specs);
-
- m_buffer = new AUD_Buffer(); AUD_NEW("buffer")
-
- m_outvalues = new AUD_Buffer(samplesize * AUD_HIGHPASS_ORDER);
- AUD_NEW("buffer")
- memset(m_outvalues->getBuffer(), 0, samplesize * AUD_HIGHPASS_ORDER);
+ memset(m_outvalues.getBuffer(), 0, m_outvalues.getSize());
+ memset(m_invalues.getBuffer(), 0, m_invalues.getSize());
- m_invalues = new AUD_Buffer(samplesize * AUD_HIGHPASS_ORDER);
- AUD_NEW("buffer")
- memset(m_invalues->getBuffer(), 0, samplesize * AUD_HIGHPASS_ORDER);
-
- m_position = 0;
+ AUD_Specs specs = reader->getSpecs();
// calculate coefficients
float w0 = 2 * M_PI * frequency / specs.rate;
@@ -65,31 +57,23 @@ AUD_HighpassReader::AUD_HighpassReader(AUD_IReader* reader, float frequency,
m_coeff[1][1] = (-1 - cos(w0)) / norm;
}
-AUD_HighpassReader::~AUD_HighpassReader()
-{
- delete m_buffer; AUD_DELETE("buffer")
-
- delete m_outvalues; AUD_DELETE("buffer")
- delete m_invalues; AUD_DELETE("buffer");
-}
-
void AUD_HighpassReader::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();
int channels = specs.channels;
for(int channel = 0; channel < channels; channel++)