[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11300] branches/soc-2007-hcube/intern/ tinySND/samplerate: Added buffer handling code.
Csaba Hruska
csaba.hruska at gmail.com
Wed Jul 18 12:39:41 CEST 2007
Revision: 11300
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11300
Author: hcube
Date: 2007-07-18 12:39:40 +0200 (Wed, 18 Jul 2007)
Log Message:
-----------
Added buffer handling code. Gaining feature is removed.
Modified Paths:
--------------
branches/soc-2007-hcube/intern/tinySND/samplerate/SND_FXSRC.cpp
branches/soc-2007-hcube/intern/tinySND/samplerate/SND_FXSRC.h
Modified: branches/soc-2007-hcube/intern/tinySND/samplerate/SND_FXSRC.cpp
===================================================================
--- branches/soc-2007-hcube/intern/tinySND/samplerate/SND_FXSRC.cpp 2007-07-17 23:22:29 UTC (rev 11299)
+++ branches/soc-2007-hcube/intern/tinySND/samplerate/SND_FXSRC.cpp 2007-07-18 10:39:40 UTC (rev 11300)
@@ -2,16 +2,6 @@
#include "SND_Defines.h"
#include "SND_FXSRC.h"
-/*
- float *mBuffer;
- int mBufferSize;
-
- int mConverterType;
- float mGain;
- bool mIsMuted;
- float mSampleRate;
-*/
-
SND_FXSRC::SND_FXSRC(void)
{
int result;
@@ -23,7 +13,6 @@
mBufferSize = SND_MIX_BUFFER_SIZE;
mSampleRate = 0.0;
- mGain = 1.0;
mIsMuted = false;
}
@@ -36,16 +25,6 @@
delete mBuffer;
}
-void SND_FXSRC::setGain( float gain )
-{
- mGain = gain;
-}
-
-float SND_FXSRC::getGain(void)
-{
- return mGain;
-}
-
void SND_FXSRC::setMute( bool isMuted )
{
mIsMuted = isMuted;
@@ -98,7 +77,7 @@
bool SND_FXSRC::isDataAvailable()
{
- return !mIsMuted && mGain!=0 && mInput!=0 && mInput->isDataAvailable();
+ return !mIsMuted && mInput!=0 && mInput->isDataAvailable();
}
float *SND_FXSRC::getPCMDataPtr( int framesNum )
@@ -118,9 +97,6 @@
assert( mSRC_State != 0 );
assert( mInput != 0 );
- // assign own buffer if we have not enought space
- // !!!! UNIMPLEMENTED YET !!!!!!!!!
-
mSRC_Data.src_ratio = mSampleRate / mInput->getSampleRate();
if( mSRC_Data.src_ratio == 1.0 )
@@ -129,6 +105,13 @@
return mInput->getPCMDataPtr( framesNum );
}
+ if( mBufferSize < framesNum )
+ {
+ delete mBuffer;
+ mBufferSize = (framesNum / SND_MIX_BUFFER_SIZE + 1) * SND_MIX_BUFFER_SIZE;
+ mBuffer = new float[ mBufferSize ];
+ }
+
mSRC_Data.output_frames = framesNum;
mSRC_Data.data_out = mBuffer;
mSRC_Data.input_frames = (long)(((float)framesNum) / mSRC_Data.src_ratio);
Modified: branches/soc-2007-hcube/intern/tinySND/samplerate/SND_FXSRC.h
===================================================================
--- branches/soc-2007-hcube/intern/tinySND/samplerate/SND_FXSRC.h 2007-07-17 23:22:29 UTC (rev 11299)
+++ branches/soc-2007-hcube/intern/tinySND/samplerate/SND_FXSRC.h 2007-07-18 10:39:40 UTC (rev 11300)
@@ -12,10 +12,6 @@
SND_FXSRC();
~SND_FXSRC();
- // maybe will be obsolete
- void setGain( float gain );
- float getGain();
-
bool isMuted();
void setMute( bool isMuted );
@@ -44,7 +40,6 @@
int mBufferSize;
int mConverterType;
- float mGain;
bool mIsMuted;
float mSampleRate;
More information about the Bf-blender-cvs
mailing list