[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