[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