[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