[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11715] branches/soc-2007-hcube/intern/ tinySND/blender: Did some API cleanup, functions are renamed to be the same as the blender audio system functions .

Csaba Hruska csaba.hruska at gmail.com
Mon Aug 20 00:56:59 CEST 2007


Revision: 11715
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11715
Author:   hcube
Date:     2007-08-20 00:56:33 +0200 (Mon, 20 Aug 2007)

Log Message:
-----------
Did some API cleanup, functions are renamed to be the same as the blender audio system functions. Added sound volume, pan, mute handling API.

Modified Paths:
--------------
    branches/soc-2007-hcube/intern/tinySND/blender/SND_C-api.cpp
    branches/soc-2007-hcube/intern/tinySND/blender/SND_C-api.h

Modified: branches/soc-2007-hcube/intern/tinySND/blender/SND_C-api.cpp
===================================================================
--- branches/soc-2007-hcube/intern/tinySND/blender/SND_C-api.cpp	2007-08-19 19:53:43 UTC (rev 11714)
+++ branches/soc-2007-hcube/intern/tinySND/blender/SND_C-api.cpp	2007-08-19 22:56:33 UTC (rev 11715)
@@ -42,31 +42,26 @@
 };
 
 static PlayTarget				gPlayTarget			= AUDIODEVICE_TARGET;
-static int 						gGlobalFrameCounter = 0;
 static std::vector<SND_Sound*> 	gSounds;
 static SND_Device				*gDevice			= 0;
 static SND_DataMultiplexer		*gDataMultiplexer	= 0;
 static SND_FXMixer				*gFXMixerLeft		= 0;
 static SND_FXMixer				*gFXMixerRight		= 0;
 static SND_DataConsumer			*gFileWriter		= 0;
-static bool						gWasDeviceEnabled	= false;
 
 static SND_CallbackFunction		*gCallbackFunction	= 0;
 static void						*gCallbackUserData1	= 0;
 static void						*gCallbackUserData2	= 0;
 
-// callback for global frame counter
-static void gGlobalFrameCounter_cb( int framesNum, void *userData1, void *userData2 )
+// callback for blender audio system
+static void gAudioCallback_cb( int framesNum, void *userData1, void *userData2 )
 {
 	if( gCallbackFunction != 0 )
 	{
 		gCallbackFunction( framesNum, gCallbackUserData1, gCallbackUserData2 );
 	}
-	
-	gGlobalFrameCounter += framesNum;
 }
 
-
 int SND_IsInitialized(void)
 {
     return gDevice != 0;
@@ -76,7 +71,6 @@
 {
     assert( gDevice == 0 );
 
-	gGlobalFrameCounter = 0;
 	gFileWriter = 0;
 	gPlayTarget = AUDIODEVICE_TARGET;
 	gCallbackFunction = 0;
@@ -100,7 +94,8 @@
 
 	gDevice->setInput( gDataMultiplexer );
 	// add callback for global frame counter
-	gDevice->setCallback( gGlobalFrameCounter_cb );
+	gDevice->setCallback( gAudioCallback_cb );
+	gDevice->enable();
 }
 
 void SND_Finalize(void)
@@ -134,16 +129,6 @@
 	return 0;
 }
 
-int SND_GetGlobalFrameCounter(void)
-{
-	return gGlobalFrameCounter;
-}
-
-void SND_ClearGlobalFrameCounter(void)
-{
-	gGlobalFrameCounter = 0;
-}
-
 void SND_SetCallback( SND_AudioCallbackFunction *callbackFunction, void *userData1, void *userData2 )
 {
 	gCallbackFunction = (SND_CallbackFunction*)callbackFunction;
@@ -153,16 +138,15 @@
 
 //file handling
 
-int SND_OpenFileForWrite( char *filename, int sampleRate )
+int SND_FileOpenForWrite( char *filename, int sampleRate )
 {
-	gWasDeviceEnabled = gDevice->isEnabled();
 	gDevice->disable();
 
 	gFileWriter = new sndfileWriter( filename );
 	
 	gFileWriter->setInput( gDataMultiplexer );
 	// add callback for global frame counter
-	gFileWriter->setCallback( gGlobalFrameCounter_cb );
+	gFileWriter->setCallback( gAudioCallback_cb );
 	
 	//setup parameters
 	gFileWriter->setSampleRate( sampleRate );
@@ -174,15 +158,7 @@
 		delete gFileWriter;
 		gFileWriter = 0;
 		
-		if( gWasDeviceEnabled )
-		{
-			gDevice->enable();
-		}
-		else
-		{
-			gDevice->disable();
-		}
-		
+		gDevice->enable();
 		return false;
 	}
 	
@@ -207,7 +183,7 @@
 	return true;
 }
 
-void SND_WriteFramesToFile( int framesNum )
+void SND_FileWriteFrames( int framesNum )
 {
 	assert( gFileWriter != 0 );
 	assert( gPlayTarget == AUDIOFILE_TARGET );
@@ -215,7 +191,7 @@
 	gFileWriter->consumeData( framesNum );
 }
 
-void SND_CloseFile(void)
+void SND_FileClose(void)
 {
 	assert( gDevice != 0 );
 	assert( gFileWriter != 0 );
@@ -242,15 +218,7 @@
 	
 	gFileWriter = 0;
 	
-	if( gWasDeviceEnabled )
-	{
-		gDevice->enable();
-	}
-	else
-	{
-		gDevice->disable();
-	}
-
+	gDevice->enable();
 	gPlayTarget = AUDIODEVICE_TARGET;
 }
 
@@ -258,7 +226,7 @@
 // sound handling
 
  // hides various DataProvider backends
-SND_SoundIHandle SND_NewSound( char *filename )
+SND_SoundIHandle SND_SoundNew( char *filename )
 {
 	assert( filename != 0 );
 	
@@ -365,7 +333,7 @@
 	return (SND_SoundIHandle)sound;
 }
 
-void SND_DeleteSound( SND_SoundIHandle soundHandle )
+void SND_SoundDelete( SND_SoundIHandle soundHandle )
 {
 	assert( soundHandle != 0 );
 	
@@ -401,7 +369,7 @@
 	delete sound;
 }
 
-int SND_IsPlayingSound( SND_SoundIHandle soundHandle )
+int SND_SoundIsPlaying( SND_SoundIHandle soundHandle )
 {
 	assert( soundHandle != 0 );
 
@@ -418,15 +386,10 @@
 	return result;
 }
 
-void SND_PlaySound( SND_SoundIHandle soundHandle )
+void SND_SoundPlay( SND_SoundIHandle soundHandle )
 {
 	assert( soundHandle != 0 );
 
-	if( gPlayTarget == AUDIODEVICE_TARGET && !gDevice->isEnabled() )
-	{
-		gDevice->enable();
-	}
-	
 	SND_Sound *sound = (SND_Sound*)soundHandle;
 
 	std::vector<SND_FXSample*>::const_iterator i;
@@ -437,7 +400,7 @@
 	}
 }
 
-void SND_StopSound( SND_SoundIHandle soundHandle )
+void SND_SoundStop( SND_SoundIHandle soundHandle )
 {
 	assert( soundHandle != 0 );
 	
@@ -451,7 +414,7 @@
 	}
 }
 
-void SND_SeekSound( SND_SoundIHandle soundHandle, int frameNum )
+void SND_SoundSeek( SND_SoundIHandle soundHandle, int frameNum )
 {
 	assert( soundHandle != 0 );
 	
@@ -465,7 +428,7 @@
 	}
 }
 
-int SND_GetSoundFramePos( SND_SoundIHandle soundHandle )
+int SND_SoundGetFramePos( SND_SoundIHandle soundHandle )
 {
 	assert( soundHandle != 0 );
 	
@@ -485,11 +448,63 @@
 	return result;
 }
 
-void SND_GetSoundInfo( SND_SoundIHandle soundHandle, SND_SoundInfo *sndInfo )
+float SND_SoundGetGain( SND_SoundIHandle soundHandle )
 {
 	assert( soundHandle != 0 );
 
 	SND_Sound *sound = (SND_Sound*)soundHandle;
+	// !!!! UNIMPLEMENTED YET !!!! 
+	return 0.0;
+}
+
+void SND_SoundSetGain( SND_SoundIHandle soundHandle, float gain )
+{
+	assert( soundHandle != 0 );
+
+	SND_Sound *sound = (SND_Sound*)soundHandle;
+	// !!!! UNIMPLEMENTED YET !!!! 
+}
+
+float SND_SoundGetPan( SND_SoundIHandle soundHandle )
+{
+	assert( soundHandle != 0 );
+
+	SND_Sound *sound = (SND_Sound*)soundHandle;
+	// !!!! UNIMPLEMENTED YET !!!! 
+	return 0.0;
+}
+
+void SND_SoundSetPan( SND_SoundIHandle soundHandle, float pan )
+{
+	assert( soundHandle != 0 );
+
+	SND_Sound *sound = (SND_Sound*)soundHandle;
+	// !!!! UNIMPLEMENTED YET !!!! 
+}
+
+int SND_SoundIsMuted( SND_SoundIHandle soundHandle )
+{
+	assert( soundHandle != 0 );
+
+	SND_Sound *sound = (SND_Sound*)soundHandle;
+	// !!!! UNIMPLEMENTED YET !!!! 
+
+	return false;
+}
+
+void SND_SoundSetMute( SND_SoundIHandle soundHandle, int mute )
+{
+	assert( soundHandle != 0 );
+
+	SND_Sound *sound = (SND_Sound*)soundHandle;
+	// !!!! UNIMPLEMENTED YET !!!! 
+}
+
+void SND_SoundGetInfo( SND_SoundIHandle soundHandle, SND_SoundInfo *sndInfo )
+{
+	assert( soundHandle != 0 );
+
+	SND_Sound *sound = (SND_Sound*)soundHandle;
 	
 	sndInfo->channelsNum	= sound->mDataProvider->getNumChannels();
 	sndInfo->framesNum		= sound->mDataProvider->getNumFrames();
@@ -497,7 +512,7 @@
 	sndInfo->frameRate		= sound->mDataProvider->getSampleRate();
 }
 
-char* SND_GetVisualPCMData( SND_SoundIHandle soundHandle, int channelIdx )
+char* SND_SoundGetVisualPCMData( SND_SoundIHandle soundHandle, int channelIdx )
 {
 	assert( soundHandle != 0 );
 
@@ -518,16 +533,14 @@
 	return sound->mVisualWaveBuffer;	
 }
 
-void SND_StopAllSounds(void)
+void SND_SoundStopAll(void)
 {
     assert( gDevice != 0 );
 	
 	std::vector<SND_Sound*>::const_iterator i;
 	for( i = gSounds.begin() ; i != gSounds.end() ; ++i )
 	{
-		SND_StopSound( (SND_SoundIHandle)(*i) );
+		SND_SoundStop( (SND_SoundIHandle)(*i) );
 	}
-	
-	gDevice->disable();
 }
 

Modified: branches/soc-2007-hcube/intern/tinySND/blender/SND_C-api.h
===================================================================
--- branches/soc-2007-hcube/intern/tinySND/blender/SND_C-api.h	2007-08-19 19:53:43 UTC (rev 11714)
+++ branches/soc-2007-hcube/intern/tinySND/blender/SND_C-api.h	2007-08-19 22:56:33 UTC (rev 11715)
@@ -31,33 +31,41 @@
 
 extern int		SND_GetMixRate(void);
 
-extern int		SND_GetGlobalFrameCounter(void);
-extern void		SND_ClearGlobalFrameCounter(void);
-
 extern void		SND_SetCallback( SND_AudioCallbackFunction *callbackFunction, void *userData1, void *userData2 );
 
 // file handling
-extern int		SND_OpenFileForWrite( char *filename, int sampleRate );
-extern void		SND_WriteFramesToFile( int framesNum );
-extern void		SND_CloseFile(void);
+extern int		SND_FileOpenForWrite( char *filename, int sampleRate );
+extern void		SND_FileWriteFrames( int framesNum );
+extern void		SND_FileClose(void);
 
 // sound handling
-extern SND_SoundIHandle	SND_NewSound( char *filename ); // hides various DataProvider backends
-extern void		SND_DeleteSound( SND_SoundIHandle soundHandle );
+extern SND_SoundIHandle	SND_SoundNew( char *filename ); // hides various DataProvider backends
+extern void		SND_SoundDelete( SND_SoundIHandle soundHandle );
 
-extern int		SND_IsPlayingSound( SND_SoundIHandle soundHandle );
-extern void		SND_PlaySound( SND_SoundIHandle soundHandle );
-extern void		SND_StopSound( SND_SoundIHandle soundHandle );
+extern int		SND_SoundIsPlaying( SND_SoundIHandle soundHandle );
+extern void		SND_SoundPlay( SND_SoundIHandle soundHandle );
+extern void		SND_SoundStop( SND_SoundIHandle soundHandle );
 
-extern void		SND_SeekSound( SND_SoundIHandle soundHandle, int frameNum );
-extern int		SND_GetSoundFramePos( SND_SoundIHandle soundHandle );
+extern void		SND_SoundSeek( SND_SoundIHandle soundHandle, int frameNum );
+extern int		SND_SoundGetFramePos( SND_SoundIHandle soundHandle );
 
-extern void		SND_GetSoundInfo( SND_SoundIHandle soundHandle, SND_SoundInfo *sndInfo );
+// sound attributes
+extern float	SND_SoundGetGain( SND_SoundIHandle soundHandle );
+extern void		SND_SoundSetGain( SND_SoundIHandle soundHandle, float gain );
 
-extern char*	SND_GetVisualPCMData( SND_SoundIHandle soundHandle, int channelIdx );
+extern float	SND_SoundGetPan( SND_SoundIHandle soundHandle );
+extern void		SND_SoundSetPan( SND_SoundIHandle soundHandle, float pan );
 
-extern void		SND_StopAllSounds(void);
+extern int		SND_SoundIsMuted( SND_SoundIHandle soundHandle );
+extern void		SND_SoundSetMute( SND_SoundIHandle soundHandle, int mute );
 
+
+extern void		SND_SoundGetInfo( SND_SoundIHandle soundHandle, SND_SoundInfo *sndInfo );
+
+extern char*	SND_SoundGetVisualPCMData( SND_SoundIHandle soundHandle, int channelIdx );
+
+extern void		SND_SoundStopAll(void);
+
 #ifdef __cplusplus
 }
 #endif





More information about the Bf-blender-cvs mailing list