[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11734] branches/soc-2007-hcube/source/ blender/src/seqaudio.c: bugfix: now resets the pan, volume and mute at sound stop.

Csaba Hruska csaba.hruska at gmail.com
Mon Aug 20 12:53:29 CEST 2007


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

Log Message:
-----------
bugfix: now resets the pan, volume and mute at sound stop. Now the callback is used only when necessary.

Modified Paths:
--------------
    branches/soc-2007-hcube/source/blender/src/seqaudio.c

Modified: branches/soc-2007-hcube/source/blender/src/seqaudio.c
===================================================================
--- branches/soc-2007-hcube/source/blender/src/seqaudio.c	2007-08-20 10:50:45 UTC (rev 11733)
+++ branches/soc-2007-hcube/source/blender/src/seqaudio.c	2007-08-20 10:53:29 UTC (rev 11734)
@@ -65,6 +65,11 @@
 			if( gSeqAudioState == SEQAUDIO_STOP )
 			{
 				audio_sound_stop( seq->sound );
+
+				// reset sound attributes
+				audio_sound_setgain( seq->sound, 0.0 );
+				audio_sound_setpan( seq->sound, 0.0 );
+				audio_sound_setmute( seq->sound, FALSE );
 			}
 			else
 			{
@@ -107,6 +112,11 @@
 					{
 						// stop sound
 						audio_sound_stop( seq->sound );
+
+						// reset sound attributes
+						audio_sound_setgain( seq->sound, 0.0 );
+						audio_sound_setpan( seq->sound, 0.0 );
+						audio_sound_setmute( seq->sound, FALSE );
 					}
 				}
 			}
@@ -151,13 +161,11 @@
 	gSeqAudioState = SEQAUDIO_STOP;
 	gSequenceStartFrame = 0;
 	gAudioFrameCounter = 0;
-	
-	audio_setcallback( do_seqaudio_update_cb, 0, 0 );
 }
 
 void seqaudio_finalize(void)
 {
-	audio_setcallback( 0, 0, 0 );
+	seqaudio_stop();
 }
 
 void seqaudio_play(void)
@@ -174,6 +182,8 @@
 
 	gSeqAudioState = SEQAUDIO_PLAY;
 
+	audio_setcallback( do_seqaudio_update_cb, 0, 0 );
+
 	seqaudio_update();
 }
 
@@ -187,6 +197,9 @@
 	}
 
 	gSeqAudioState = SEQAUDIO_STOP;
+
+	audio_setcallback( 0, 0, 0 );
+	
 	seqaudio_update();
 }
 
@@ -226,6 +239,9 @@
 	
 	gAudioFrameCounter = 0;
 	gSequenceStartFrame = CFRA;
+
+	audio_setcallback( do_seqaudio_update_cb, 0, 0 );
+
 	seqaudio_update();
 }
 
@@ -244,7 +260,7 @@
 	// process sound
 	oldCFRA = CFRA;
 	CFRA = SFRA;	
-	
+
 	seqaudio_play();
 
 	while( CFRA < EFRA )
@@ -260,7 +276,7 @@
 	
 	// close file sound target
 	audio_file_close();
-	
+
 	CFRA = oldCFRA;
 	
 	return TRUE;





More information about the Bf-blender-cvs mailing list