[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31372] trunk/blender: Audaspace (GSoC): First merging commit

Joerg Mueller nexyon at gmail.com
Mon Aug 16 13:41:08 CEST 2010


Revision: 31372
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31372
Author:   nexyon
Date:     2010-08-16 13:41:07 +0200 (Mon, 16 Aug 2010)

Log Message:
-----------
Audaspace (GSoC): First merging commit
* All audaspace changes from the GSoC branch including the aud Python module
* This commit also includes some minor changes in source/gameengine/Ketsji/KX_PythonInit.cpp:
  - Fixing names of some constants
  - removing outdated stopDSP() python function
  - Autoinclusion of bge instead of GameLogic
  - Fix for some error messages: GameLogic -> bge.logic

Modified Paths:
--------------
    trunk/blender/intern/audaspace/CMakeLists.txt
    trunk/blender/intern/audaspace/FX/AUD_AccumulatorFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_AccumulatorFactory.h
    trunk/blender/intern/audaspace/FX/AUD_ButterworthFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_ButterworthFactory.h
    trunk/blender/intern/audaspace/FX/AUD_DelayFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_DelayFactory.h
    trunk/blender/intern/audaspace/FX/AUD_DelayReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_DelayReader.h
    trunk/blender/intern/audaspace/FX/AUD_DoubleReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_DoubleReader.h
    trunk/blender/intern/audaspace/FX/AUD_EffectFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_EffectFactory.h
    trunk/blender/intern/audaspace/FX/AUD_EffectReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_EffectReader.h
    trunk/blender/intern/audaspace/FX/AUD_EnvelopeFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_EnvelopeFactory.h
    trunk/blender/intern/audaspace/FX/AUD_FaderFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_FaderFactory.h
    trunk/blender/intern/audaspace/FX/AUD_FaderReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_FaderReader.h
    trunk/blender/intern/audaspace/FX/AUD_HighpassFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_HighpassFactory.h
    trunk/blender/intern/audaspace/FX/AUD_LimiterFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_LimiterFactory.h
    trunk/blender/intern/audaspace/FX/AUD_LimiterReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_LimiterReader.h
    trunk/blender/intern/audaspace/FX/AUD_LoopFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_LoopFactory.h
    trunk/blender/intern/audaspace/FX/AUD_LoopReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_LoopReader.h
    trunk/blender/intern/audaspace/FX/AUD_LowpassFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_LowpassFactory.h
    trunk/blender/intern/audaspace/FX/AUD_PingPongFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_PingPongFactory.h
    trunk/blender/intern/audaspace/FX/AUD_PitchFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_PitchFactory.h
    trunk/blender/intern/audaspace/FX/AUD_PitchReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_PitchReader.h
    trunk/blender/intern/audaspace/FX/AUD_RectifyFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_RectifyFactory.h
    trunk/blender/intern/audaspace/FX/AUD_ReverseFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_ReverseFactory.h
    trunk/blender/intern/audaspace/FX/AUD_ReverseReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_ReverseReader.h
    trunk/blender/intern/audaspace/FX/AUD_SquareFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_SquareFactory.h
    trunk/blender/intern/audaspace/FX/AUD_SumFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_SumFactory.h
    trunk/blender/intern/audaspace/FX/AUD_VolumeFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_VolumeFactory.h
    trunk/blender/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
    trunk/blender/intern/audaspace/OpenAL/AUD_OpenALDevice.h
    trunk/blender/intern/audaspace/SConscript
    trunk/blender/intern/audaspace/SDL/AUD_SDLDevice.cpp
    trunk/blender/intern/audaspace/SDL/AUD_SDLDevice.h
    trunk/blender/intern/audaspace/SRC/AUD_SRCResampleFactory.cpp
    trunk/blender/intern/audaspace/SRC/AUD_SRCResampleFactory.h
    trunk/blender/intern/audaspace/SRC/AUD_SRCResampleReader.cpp
    trunk/blender/intern/audaspace/SRC/AUD_SRCResampleReader.h
    trunk/blender/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.cpp
    trunk/blender/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.h
    trunk/blender/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
    trunk/blender/intern/audaspace/ffmpeg/AUD_FFMPEGReader.h
    trunk/blender/intern/audaspace/fftw/AUD_BandPassReader.h
    trunk/blender/intern/audaspace/intern/AUD_Buffer.cpp
    trunk/blender/intern/audaspace/intern/AUD_Buffer.h
    trunk/blender/intern/audaspace/intern/AUD_BufferReader.cpp
    trunk/blender/intern/audaspace/intern/AUD_BufferReader.h
    trunk/blender/intern/audaspace/intern/AUD_C-API.cpp
    trunk/blender/intern/audaspace/intern/AUD_C-API.h
    trunk/blender/intern/audaspace/intern/AUD_ChannelMapperFactory.cpp
    trunk/blender/intern/audaspace/intern/AUD_ChannelMapperFactory.h
    trunk/blender/intern/audaspace/intern/AUD_ChannelMapperReader.cpp
    trunk/blender/intern/audaspace/intern/AUD_ChannelMapperReader.h
    trunk/blender/intern/audaspace/intern/AUD_ConverterFactory.cpp
    trunk/blender/intern/audaspace/intern/AUD_ConverterFactory.h
    trunk/blender/intern/audaspace/intern/AUD_ConverterReader.cpp
    trunk/blender/intern/audaspace/intern/AUD_ConverterReader.h
    trunk/blender/intern/audaspace/intern/AUD_FileFactory.cpp
    trunk/blender/intern/audaspace/intern/AUD_FileFactory.h
    trunk/blender/intern/audaspace/intern/AUD_I3DDevice.h
    trunk/blender/intern/audaspace/intern/AUD_IDevice.h
    trunk/blender/intern/audaspace/intern/AUD_IFactory.h
    trunk/blender/intern/audaspace/intern/AUD_IReader.h
    trunk/blender/intern/audaspace/intern/AUD_LinearResampleFactory.cpp
    trunk/blender/intern/audaspace/intern/AUD_LinearResampleFactory.h
    trunk/blender/intern/audaspace/intern/AUD_LinearResampleReader.cpp
    trunk/blender/intern/audaspace/intern/AUD_LinearResampleReader.h
    trunk/blender/intern/audaspace/intern/AUD_Mixer.cpp
    trunk/blender/intern/audaspace/intern/AUD_Mixer.h
    trunk/blender/intern/audaspace/intern/AUD_MixerFactory.cpp
    trunk/blender/intern/audaspace/intern/AUD_MixerFactory.h
    trunk/blender/intern/audaspace/intern/AUD_NULLDevice.cpp
    trunk/blender/intern/audaspace/intern/AUD_NULLDevice.h
    trunk/blender/intern/audaspace/intern/AUD_ReadDevice.cpp
    trunk/blender/intern/audaspace/intern/AUD_ReadDevice.h
    trunk/blender/intern/audaspace/intern/AUD_Reference.h
    trunk/blender/intern/audaspace/intern/AUD_SequencerFactory.cpp
    trunk/blender/intern/audaspace/intern/AUD_SequencerFactory.h
    trunk/blender/intern/audaspace/intern/AUD_SequencerReader.cpp
    trunk/blender/intern/audaspace/intern/AUD_SequencerReader.h
    trunk/blender/intern/audaspace/intern/AUD_SinusFactory.cpp
    trunk/blender/intern/audaspace/intern/AUD_SinusFactory.h
    trunk/blender/intern/audaspace/intern/AUD_SinusReader.cpp
    trunk/blender/intern/audaspace/intern/AUD_SinusReader.h
    trunk/blender/intern/audaspace/intern/AUD_SoftwareDevice.cpp
    trunk/blender/intern/audaspace/intern/AUD_SoftwareDevice.h
    trunk/blender/intern/audaspace/intern/AUD_Space.h
    trunk/blender/intern/audaspace/intern/AUD_StreamBufferFactory.cpp
    trunk/blender/intern/audaspace/intern/AUD_StreamBufferFactory.h
    trunk/blender/intern/audaspace/jack/AUD_JackDevice.cpp
    trunk/blender/intern/audaspace/jack/AUD_JackDevice.h
    trunk/blender/intern/audaspace/sndfile/AUD_SndFileFactory.cpp
    trunk/blender/intern/audaspace/sndfile/AUD_SndFileFactory.h
    trunk/blender/intern/audaspace/sndfile/AUD_SndFileReader.cpp
    trunk/blender/intern/audaspace/sndfile/AUD_SndFileReader.h
    trunk/blender/source/blender/blenkernel/intern/sound.c
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/python/CMakeLists.txt
    trunk/blender/source/blender/python/SConscript
    trunk/blender/source/blender/python/intern/bpy.c
    trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
    trunk/blender/source/gameengine/Ketsji/KX_SoundActuator.cpp
    trunk/blender/source/gameengine/Ketsji/KX_SoundActuator.h

Added Paths:
-----------
    trunk/blender/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_BaseIIRFilterReader.h
    trunk/blender/intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_CallbackIIRFilterReader.h
    trunk/blender/intern/audaspace/FX/AUD_DoubleFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_DoubleFactory.h
    trunk/blender/intern/audaspace/FX/AUD_IIRFilterFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_IIRFilterFactory.h
    trunk/blender/intern/audaspace/FX/AUD_IIRFilterReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_IIRFilterReader.h
    trunk/blender/intern/audaspace/FX/AUD_SuperposeFactory.cpp
    trunk/blender/intern/audaspace/FX/AUD_SuperposeFactory.h
    trunk/blender/intern/audaspace/FX/AUD_SuperposeReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_SuperposeReader.h
    trunk/blender/intern/audaspace/Python/
    trunk/blender/intern/audaspace/Python/AUD_PyAPI.cpp
    trunk/blender/intern/audaspace/Python/AUD_PyAPI.h
    trunk/blender/intern/audaspace/intern/AUD_3DMath.h
    trunk/blender/intern/audaspace/intern/AUD_DefaultMixer.cpp
    trunk/blender/intern/audaspace/intern/AUD_DefaultMixer.h
    trunk/blender/intern/audaspace/intern/AUD_SilenceFactory.cpp
    trunk/blender/intern/audaspace/intern/AUD_SilenceFactory.h
    trunk/blender/intern/audaspace/intern/AUD_SilenceReader.cpp
    trunk/blender/intern/audaspace/intern/AUD_SilenceReader.h

Removed Paths:
-------------
    trunk/blender/intern/audaspace/FX/AUD_AccumulatorReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_AccumulatorReader.h
    trunk/blender/intern/audaspace/FX/AUD_ButterworthReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_ButterworthReader.h
    trunk/blender/intern/audaspace/FX/AUD_EnvelopeReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_EnvelopeReader.h
    trunk/blender/intern/audaspace/FX/AUD_HighpassReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_HighpassReader.h
    trunk/blender/intern/audaspace/FX/AUD_LowpassReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_LowpassReader.h
    trunk/blender/intern/audaspace/FX/AUD_RectifyReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_RectifyReader.h
    trunk/blender/intern/audaspace/FX/AUD_SquareReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_SquareReader.h
    trunk/blender/intern/audaspace/FX/AUD_SumReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_SumReader.h
    trunk/blender/intern/audaspace/FX/AUD_VolumeReader.cpp
    trunk/blender/intern/audaspace/FX/AUD_VolumeReader.h
    trunk/blender/intern/audaspace/Python/AUD_PyAPI.cpp
    trunk/blender/intern/audaspace/Python/AUD_PyAPI.h
    trunk/blender/intern/audaspace/intern/AUD_SourceCaps.h

Modified: trunk/blender/intern/audaspace/CMakeLists.txt
===================================================================
--- trunk/blender/intern/audaspace/CMakeLists.txt	2010-08-16 09:37:08 UTC (rev 31371)
+++ trunk/blender/intern/audaspace/CMakeLists.txt	2010-08-16 11:41:07 UTC (rev 31372)
@@ -60,6 +60,12 @@
 	ADD_DEFINITIONS(-DWITH_FFTW3)
 ENDIF(WITH_FFTW3)
 
-SET(SRC ${SRC} ${FFMPEGSRC} ${SNDFILESRC} ${FFTW3SRC} ${SDLSRC} ${OPENALSRC} ${JACKSRC})
+IF(WITH_PYTHON)
+	SET(INC ${INC} Python ${PYTHON_INC})
+	FILE(GLOB PYTHONSRC Python/*.cpp)
+	ADD_DEFINITIONS(-DWITH_PYTHON)
+ENDIF(WITH_PYTHON)
 
+SET(SRC ${SRC} ${FFMPEGSRC} ${SNDFILESRC} ${FFTW3SRC} ${SDLSRC} ${OPENALSRC} ${JACKSRC} ${PYTHONSRC})
+
 BLENDERLIB(bf_audaspace "${SRC}" "${INC}")

Modified: trunk/blender/intern/audaspace/FX/AUD_AccumulatorFactory.cpp
===================================================================
--- trunk/blender/intern/audaspace/FX/AUD_AccumulatorFactory.cpp	2010-08-16 09:37:08 UTC (rev 31371)
+++ trunk/blender/intern/audaspace/FX/AUD_AccumulatorFactory.cpp	2010-08-16 11:41:07 UTC (rev 31372)
@@ -24,26 +24,37 @@
  */
 
 #include "AUD_AccumulatorFactory.h"
-#include "AUD_AccumulatorReader.h"
+#include "AUD_CallbackIIRFilterReader.h"
 
+sample_t accumulatorFilterAdditive(AUD_CallbackIIRFilterReader* reader, void* useless)
+{
+	float in = reader->x(0);
+	float lastin = reader->x(-1);
+	float out = reader->y(-1) + in - lastin;
+	if(in > lastin)
+		out += in - lastin;
+	return out;
+}
+
+sample_t accumulatorFilter(AUD_CallbackIIRFilterReader* reader, void* useless)
+{
+	float in = reader->x(0);
+	float lastin = reader->x(-1);
+	float out = reader->y(-1);
+	if(in > lastin)
+		out += in - lastin;
+	return out;
+}
+
 AUD_AccumulatorFactory::AUD_AccumulatorFactory(AUD_IFactory* factory,
 											   bool additive) :
 		AUD_EffectFactory(factory),
-		m_additive(additive) {}
+		m_additive(additive)
+{
+}
 
-AUD_AccumulatorFactory::AUD_AccumulatorFactory(bool additive) :
-		AUD_EffectFactory(0),
-		m_additive(additive) {}
-
-AUD_IReader* AUD_AccumulatorFactory::createReader()
+AUD_IReader* AUD_AccumulatorFactory::createReader() const
 {
-	AUD_IReader* reader = getReader();
-
-	if(reader != 0)
-	{
-		reader = new AUD_AccumulatorReader(reader, m_additive);
-		AUD_NEW("reader")
-	}
-
-	return reader;
+	return new AUD_CallbackIIRFilterReader(getReader(), 2, 2,
+							m_additive ? accumulatorFilterAdditive : accumulatorFilter);
 }

Modified: trunk/blender/intern/audaspace/FX/AUD_AccumulatorFactory.h
===================================================================
--- trunk/blender/intern/audaspace/FX/AUD_AccumulatorFactory.h	2010-08-16 09:37:08 UTC (rev 31371)
+++ trunk/blender/intern/audaspace/FX/AUD_AccumulatorFactory.h	2010-08-16 11:41:07 UTC (rev 31372)
@@ -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

Deleted: trunk/blender/intern/audaspace/FX/AUD_AccumulatorReader.cpp
===================================================================
--- trunk/blender/intern/audaspace/FX/AUD_AccumulatorReader.cpp	2010-08-16 09:37:08 UTC (rev 31371)
+++ trunk/blender/intern/audaspace/FX/AUD_AccumulatorReader.cpp	2010-08-16 11:41:07 UTC (rev 31372)
@@ -1,99 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN LGPL LICENSE BLOCK *****
- *
- * Copyright 2009 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
- * (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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with AudaSpace.  If not, see <http://www.gnu.org/licenses/>.
- *
- * ***** END LGPL LICENSE BLOCK *****
- */
-
-#include "AUD_AccumulatorReader.h"
-#include "AUD_Buffer.h"
-
-#include <cstring>
-
-#define CC specs.channels + channel
-
-AUD_AccumulatorReader::AUD_AccumulatorReader(AUD_IReader* reader,
-											 bool additive) :
-		AUD_EffectReader(reader),
-		m_additive(additive)
-{
-	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);
-}
-
-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();
-
-	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));
-
-	buffer = m_buffer->getBuffer();
-
-	if(m_additive)
-	{
-		for(int channel = 0; channel < specs.channels; channel++)
-		{
-			for(int i = 0; i < length; i++)
-			{
-				if(buf[i * CC] > prevs[channel])
-					sums[channel] += buf[i * CC] - prevs[channel];
-				buffer[i * CC] = sums[channel] + buf[i * CC];
-				prevs[channel] = buf[i * CC];
-			}
-		}
-	}
-	else
-	{
-		for(int channel = 0; channel < specs.channels; channel++)
-		{
-			for(int i = 0; i < length * specs.channels; i++)
-			{
-				if(buf[i * CC] > prevs[channel])
-					sums[channel] += buf[i * CC] - prevs[channel];
-				buffer[i * CC] = sums[channel];
-				prevs[channel] = buf[i * CC];
-			}
-		}
-	}
-}

Deleted: trunk/blender/intern/audaspace/FX/AUD_AccumulatorReader.h
===================================================================
--- trunk/blender/intern/audaspace/FX/AUD_AccumulatorReader.h	2010-08-16 09:37:08 UTC (rev 31371)
+++ trunk/blender/intern/audaspace/FX/AUD_AccumulatorReader.h	2010-08-16 11:41:07 UTC (rev 31372)
@@ -1,75 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN LGPL LICENSE BLOCK *****
- *
- * Copyright 2009 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
- * (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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with AudaSpace.  If not, see <http://www.gnu.org/licenses/>.
- *
- * ***** END LGPL LICENSE BLOCK *****
- */
-
-#ifndef AUD_ACCUMULATORREADER
-#define AUD_ACCUMULATORREADER
-
-#include "AUD_EffectReader.h"
-class AUD_Buffer;
-
-/**
- * This class represents an accumulator.
- */
-class AUD_AccumulatorReader : public AUD_EffectReader
-{
-private:
-	/**
-	 * The playback buffer.
-	 */
-	AUD_Buffer *m_buffer;
-
-	/**
-	 * The sums of the specific channels.
-	 */
-	AUD_Buffer *m_sums;
-
-	/**
-	 * The previous results of the specific channels.
-	 */
-	AUD_Buffer *m_prevs;
-
-	/**
-	 * Whether the accumulator is additive.
-	 */
-	bool m_additive;
-
-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);
-};
-
-#endif //AUD_ACCUMULATORREADER

Copied: trunk/blender/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp (from rev 31371, branches/soc-2010-nexyon/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp)
===================================================================
--- trunk/blender/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp	                        (rev 0)
+++ trunk/blender/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp	2010-08-16 11:41:07 UTC (rev 31372)
@@ -0,0 +1,76 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN LGPL LICENSE BLOCK *****
+ *
+ * Copyright 2009 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
+ * (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.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with AudaSpace.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * ***** END LGPL LICENSE BLOCK *****
+ */
+
+#include "AUD_BaseIIRFilterReader.h"
+
+#include <cstring>
+
+#define CC m_channels + m_channel
+
+AUD_BaseIIRFilterReader::AUD_BaseIIRFilterReader(AUD_IReader* reader, int in,
+												 int out) :
+		AUD_EffectReader(reader),
+		m_channels(reader->getSpecs().channels),
+		m_xlen(in), m_ylen(out),
+		m_xpos(0), m_ypos(0), m_channel(0)
+{
+	m_x = new sample_t[in * m_channels];
+	m_y = new sample_t[out * m_channels];
+

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list