[Scummvm-cvs-logs] CVS: scummvm/bs2/driver d_sound.cpp,1.32,1.33

Pawel Kolodziejski aquadran at users.sourceforge.net
Tue Sep 2 21:47:06 CEST 2003


Update of /cvsroot/scummvm/scummvm/bs2/driver
In directory sc8-pr-cvs1:/tmp/cvs-serv23703

Modified Files:
	d_sound.cpp 
Log Message:
some cleanup code 

Index: d_sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/driver/d_sound.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- d_sound.cpp	3 Sep 2003 03:57:23 -0000	1.32
+++ d_sound.cpp	3 Sep 2003 04:45:57 -0000	1.33
@@ -346,7 +346,6 @@
 	}
 }
 
-
 int32 Sword2Sound::AmISpeaking() {
 	if ((!speechMuted) && (!speechPaused) && (soundHandleSpeech != 0)) {
 		return (RDSE_SPEAKING);
@@ -533,13 +532,10 @@
 		int8 p;
 		if (speechMuted) {
 			volume = 0;
-//			IDirectSoundBuffer_SetVolume(dsbSpeech, volTable[0]);
 		} else {
 			volume = vol * speechVol;
-//			IDirectSoundBuffer_SetVolume(dsbSpeech, volTable[vol*speechVol]);
 		}
 		p = panTable[pan + 16];
-//		IDirectSoundBuffer_SetPan(dsbSpeech, panTable[pan+16]);
 
 		//	Start the speech playing
 		speechPaused = 1;
@@ -590,7 +586,6 @@
 	speechVol = volume;
 	if ((soundHandleSpeech != 0) && !speechMuted && GetSpeechStatus() == RDSE_SAMPLEPLAYING) {
 		g_engine->_mixer->setChannelVolume(soundHandleSpeech, 16 * speechVol);
-//		IDirectSoundBuffer_SetVolume(dsbSpeech, volTable[16*speechVol]);
 	}
 }
 
@@ -604,10 +599,8 @@
 	if (GetSpeechStatus() == RDSE_SAMPLEPLAYING) {
 		if (mute) {
 			g_engine->_mixer->setChannelVolume(soundHandleSpeech, 0);
-//			IDirectSoundBuffer_SetVolume(dsbSpeech, volTable[0]);
 		} else {
 			g_engine->_mixer->setChannelVolume(soundHandleSpeech, 16 * speechVol);
-//			IDirectSoundBuffer_SetVolume(dsbSpeech, volTable[16*speechVol]);
 		}
 	}
 }
@@ -696,114 +689,6 @@
 		fxCached[fxi] = RDSE_FXCACHED;
 	}
 	return(RD_OK);
-
-/*
-	uint32			dwBytes1, dwBytes2;
-  	int32 			i, fxi;
-	uint32			*data32;
-	void 			*lpv1, *lpv2;
-	_wavHeader		*wav;
-	HRESULT 		hr;
-	DSBUFFERDESC	dsbd;
-	PCMWAVEFORMAT	wf;
-
-
-	wav = (_wavHeader *) data;
-
-	if (soundOn)
-	{
-
-		// Check for a valid id.
-		if (id == 0)
-			return(RDERR_INVALIDID);
-
-		// Check that the fx is not already open
-		for (i=0; i<MAXFX; i++)
-			if (fxId[i] == id)
-				return(RDERR_FXALREADYOPEN);
-
-		// Now choose a free slot for the fx
-		fxi = 0;
-		while (fxi<MAXFX)
-		{
-			if (fxId[fxi] == 0)
-				break;
-			fxi++;
-		}
-
-		if (fxi == MAXFX)
-			return(RDERR_NOFREEBUFFERS);
-
-		memset(&wf, 0, sizeof(PCMWAVEFORMAT));
-		wf.wf.wFormatTag = WAVE_FORMAT_PCM;
-		wf.wf.nChannels = wav->channels;
-		wf.wf.nSamplesPerSec = wav->samplesPerSec;
-		wf.wBitsPerSample = 8 * wav->blockAlign / (wav->samplesPerSec * wav->channels);
-		wf.wf.nBlockAlign = wf.wf.nChannels * wf.wBitsPerSample / 8;
-		wf.wf.nAvgBytesPerSec = wf.wf.nSamplesPerSec * wf.wf.nBlockAlign;
-   
-		memset(&dsbd, 0, sizeof(DSBUFFERDESC));
-		dsbd.dwSize = sizeof(DSBUFFERDESC);
-//		dsbd.dwFlags = DSBCAPS_CTRLDEFAULT;
-		dsbd.lpwfxFormat = (LPWAVEFORMATEX) &wf;
-	
-	    //  Set the sample size - search for the size of the data.
-		i = 0;
-		while (i<100)
-		{
-			if (*data == 'd')
-			{
-				data32 = (int32 *) data;
-				if (*data32 == 'atad')
-					break;
-			}
-			i += 1;
-			data++;
-		}
-		if (!data32)
-			return(RDERR_INVALIDWAV);
-
-		dsbd.dwBufferBytes = *(data32 + 1);
-
-		//	Create the speech sample buffer
-		hr = IDirectSound_CreateSoundBuffer(lpDS, &dsbd, &dsbFx[fxi], NULL);
-		if (hr != DS_OK)
-			return(RDERR_CREATESOUNDBUFFER);
-
-		//	Lock the speech buffer, ready to fill it with data
-		hr = IDirectSoundBuffer_Lock(dsbFx[fxi], 0, dsbd.dwBufferBytes, &lpv1, &dwBytes1, &lpv2, &dwBytes2, 0);
-		if (hr == DSERR_BUFFERLOST)
-		{
-			IDirectSoundBuffer_Restore(dsbFx[fxi]);
-			hr = IDirectSoundBuffer_Lock(dsbFx[fxi], 0, dsbd.dwBufferBytes, &lpv1, &dwBytes1, &lpv2, &dwBytes2, 0);
-		}
-
-		if (hr == DS_OK)
-		{
-			//	Fill the speech buffer with data
-			memcpy((uint8 *) lpv1, (uint8 *) (data32 + 2), dwBytes1);
-
-			if (dwBytes1 != dsbd.dwBufferBytes)
-			{
-				memcpy((uint8 *) lpv1 + dwBytes1, (uint8 *) (data32 + 2) + dwBytes1, dwBytes2);
-			}
-
-			//	Unlock the buffer now that we've filled it
-			IDirectSoundBuffer_Unlock(dsbFx[fxi], lpv1, dwBytes1, lpv2, dwBytes2);
-
-		}
-		else
-		{
-			IDirectSoundBuffer_Release(dsbFx[fxi]);
-			return(RDERR_LOCKSPEECHBUFFER);
-		}
-		
-		fxId[fxi] = id;
-		fxCached[fxi] = RDSE_FXCACHED;
-
-	}
-	return(RD_OK);
-*/
 }
 
 int32 Sword2Sound::PlayFx(int32 id, uint8 *data, uint8 vol, int8 pan, uint8 type) {
@@ -830,12 +715,9 @@
 				//	Start the sound effect playing
 				if (musicMuted) {
 					volume = 0;
-//					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[0]);
 				} else {
 					volume = musicVolTable[volMusic[0]];
-//					IDirectSoundBuffer_SetVolume(dsbFx[i], musicVolTable[volMusic[0]]);
 				}
-//				IDirectSoundBuffer_SetPan(dsbFx[i], 0);
 				g_engine->_mixer->playRaw(&soundHandleFx[i], bufferFx[i], bufferSizeFx[i], fxRate[i], flagsFx[i], volume, 0);
 
 				fxCached[i] = RDSE_FXTOCLEAR;
@@ -857,13 +739,10 @@
 				//	Start the sound effect playing
 				if (fxMuted) {
 					volume = 0;
-//					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[0]);
 				} else {
 					volume = vol * fxVol;
-//					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[vol*fxVol]);
 				}
 				p = panTable[pan + 16];
-//				IDirectSoundBuffer_SetPan(dsbFx[i], panTable[pan+16]);
 
 				g_engine->_mixer->playRaw(&soundHandleFx[i], bufferFx[i], bufferSizeFx[i], fxRate[i], flagsFx[i], volume, p);
 				if (id == (int32) 0xffffffff) {
@@ -882,16 +761,15 @@
 					return RDERR_FXFUCKED;
 				}
 				fxCached[i] = RDSE_FXTOCLEAR;
+
+				flagsFx[i] &= ~SoundMixer::FLAG_LOOP;
 				
 				byte volume;
 				if (musicMuted) {
 					volume = 0;
-//					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[0]);
 				} else {
 					volume = musicVolTable[volMusic[0]];
-//					IDirectSoundBuffer_SetVolume(dsbFx[i], musicVolTable[volMusic[0]]);
 				}
-//				IDirectSoundBuffer_SetPan(dsbFx[i], 0);
 				g_engine->_mixer->playRaw(&soundHandleFx[i], bufferFx[i], bufferSizeFx[i], fxRate[i], flagsFx[i], volume, 0);
 			} else {
 				hr = OpenFx(id, data);
@@ -916,117 +794,15 @@
 				//	Start the sound effect playing
 				if (fxMuted) {
 					volume = 0;
-//					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[0]);
 				} else {
 					volume = vol * fxVol;
-//					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[vol*fxVol]);
 				}
 				p = panTable[pan + 16];
-//				IDirectSoundBuffer_SetPan(dsbFx[i], panTable[pan+16]);
 				g_engine->_mixer->playRaw(&soundHandleFx[i], bufferFx[i], bufferSizeFx[i], fxRate[i], flagsFx[i], volume, p);
 			}
 		}
 	}
 	return(RD_OK);
-
-/*
-	int32 i, loop;
-	HRESULT hr;
-
-	if (type == RDSE_FXLOOP)
-		loop = DSBPLAY_LOOPING;
-	else
-		loop = 0;
-
-	if (soundOn)
-	{
-		if (data == NULL)
-		{
-			if (type == RDSE_FXLEADOUT)
-			{
-				id = 0xffffffff;
-				i = GetFxIndex(id);
-				if (i == MAXFX)
-					return(RDERR_FXNOTOPEN);
-
-				fxLooped[i] = 0;
-
-				//	Start the sound effect playing
-				if (musicMuted)
-					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[0]);
-				else
-					IDirectSoundBuffer_SetVolume(dsbFx[i], musicVolTable[volMusic[0]]);
-				IDirectSoundBuffer_SetPan(dsbFx[i], 0);
-				IDirectSoundBuffer_Play(dsbFx[i], 0, 0, 0);
-
-				fxCached[i] = RDSE_FXTOCLEAR;
-			}
-			else
-			{
-				i = GetFxIndex(id);
-				if (i == MAXFX)
-					return(RDERR_FXNOTOPEN);
-
-				fxLooped[i] = loop;
-				fxVolume[i] = vol;
-
-				//	Start the sound effect playing
-				if (fxMuted)
-					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[0]);
-				else
-					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[vol*fxVol]);
-				IDirectSoundBuffer_SetPan(dsbFx[i], panTable[pan+16]);
-
-				IDirectSoundBuffer_Play(dsbFx[i], 0, 0, loop);
-				if (id == 0xffffffff)
-					fxCached[i] = RDSE_FXTOCLEAR;
-			}
-		}
-		else
-		{
-			if (type == RDSE_FXLEADIN)
-			{
-				id = 0xfffffffe;
-				hr = OpenFx(id, data);
-				if (hr != RD_OK)
-					return hr;
-				i = GetFxIndex(id);
-				if (i == MAXFX)
-					return RDERR_FXFUCKED;
-				fxCached[i] = RDSE_FXTOCLEAR;
-				if (musicMuted)
-					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[0]);
-				else
-					IDirectSoundBuffer_SetVolume(dsbFx[i], musicVolTable[volMusic[0]]);
-				IDirectSoundBuffer_SetPan(dsbFx[i], 0);
-				IDirectSoundBuffer_Play(dsbFx[i], 0, 0, 0);
-			}
-			else
-			{
-				hr = OpenFx(id, data);
-				if (hr != RD_OK)
-					return(hr);
-
-				i = GetFxIndex(id);
-				if (i == MAXFX)
-					return(RDERR_FXFUCKED);
-
-				fxCached[i] = RDSE_FXTOCLEAR;
-				fxLooped[i] = loop;
-				fxVolume[i] = vol;
-
-				//	Start the sound effect playing
-				if (fxMuted)
-					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[0]);
-				else
-					IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[vol*fxVol]);
-				IDirectSoundBuffer_SetPan(dsbFx[i], panTable[pan+16]);
-				IDirectSoundBuffer_Play(dsbFx[i], 0, 0, loop);
-			}
-		}
-	}
-	return(RD_OK);
-*/
 }
 
 int32 Sword2Sound::SetFxVolumePan(int32 id, uint8 vol, int8 pan) {
@@ -1038,8 +814,6 @@
 	if (!fxMuted) {
 		g_engine->_mixer->setChannelVolume(soundHandleFx[i], vol * fxVol);
 		g_engine->_mixer->setChannelPan(soundHandleFx[i], panTable[pan + 16]);
-//		IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[vol*fxVol]);
-//		IDirectSoundBuffer_SetPan(dsbFx[i], panTable[pan+16]);
 	}
 	return RD_OK;
 }
@@ -1052,7 +826,6 @@
 	fxVolume[i] = vol;
 	if (!fxMuted) {
 		g_engine->_mixer->setChannelVolume(soundHandleFx[i], vol * fxVol);
-//		IDirectSoundBuffer_SetVolume(dsbFx[i], volTable[vol*fxVol]);
 	}
 	return RD_OK;
 }
@@ -1162,7 +935,6 @@
 	for (fxi = 0; fxi < MAXFX; fxi++) {
 		if (fxId[fxi] && !fxMuted) {
 			g_engine->_mixer->setChannelVolume(soundHandleFx[fxi], fxVolume[fxi] * fxVol);
-//			IDirectSoundBuffer_SetVolume(dsbFx[fxi], volTable[fxVolume[fxi]*fxVol]);
 		}
 	}
 }
@@ -1177,10 +949,8 @@
 		if (fxId[fxi]) {
 			if (mute) {
 				g_engine->_mixer->setChannelVolume(soundHandleFx[fxi], 0);
-//				IDirectSoundBuffer_SetVolume(dsbFx[fxi], volTable[0]);
 			} else {
 				g_engine->_mixer->setChannelVolume(soundHandleFx[fxi], fxVolume[fxi] * fxVol);
-//				IDirectSoundBuffer_SetVolume(dsbFx[fxi], volTable[fxVolume[fxi]*fxVol]);
 			}
 		}
 	}
@@ -1345,9 +1115,9 @@
 	}
 
 	g_engine->_mixer->newStream(&soundHandleMusic[primaryStream], data16,
-		bufferSizeMusic, 22050,
-		SoundMixer::FLAG_16BITS | SoundMixer::FLAG_AUTOFREE,
-		100000, volume, pan);
+		bufferSizeMusic, 22050, SoundMixer::FLAG_16BITS, 100000, volume, pan);
+		
+	free(data16);
 
 	// Recorder some last variables
 	musStreaming[primaryStream] = 1;
@@ -1875,16 +1645,8 @@
 					if (len & 1)
 						len--;
 					
-					if (soundHandleMusic[i] == 0) {
-						warning("play music appendStream(): this shouldn't happen");
-//						assert(soundHandleMusic[i]);
-						int volume = musicVolTable[volMusic[i]];
-						g_engine->_mixer->newStream(&soundHandleMusic[i], data16, bufferSizeMusic, 22050,
-										SoundMixer::FLAG_16BITS | SoundMixer::FLAG_AUTOFREE, 100000, volume, 0);
-					} else {
-						g_engine->_mixer->appendStream(soundHandleMusic[i], data16, len);
-					}
-
+					g_engine->_mixer->appendStream(soundHandleMusic[i], data16, len);
+					
 					free(data16);
 
 					// Free the compressed data buffer and unlock the sound buffer.
@@ -2261,7 +2023,6 @@
 		volMusic[i] = volume;
 		if (musStreaming[i] && !musFading[i] && !musicMuted) {
 			g_engine->_mixer->setChannelVolume(soundHandleMusic[i], musicVolTable[volume]);
-//			IDirectSoundBuffer_SetVolume(lpDsbMus[i], musicVolTable[volume]);
 		}
 	}
 }
@@ -2284,10 +2045,8 @@
 		if (musStreaming[i] && !musFading[i]) {
 			if (mute) {
 				g_engine->_mixer->setChannelVolume(soundHandleMusic[i], musicVolTable[0]);
-//				IDirectSoundBuffer_SetVolume(lpDsbMus[i], musicVolTable[0]);
 			} else {
 				g_engine->_mixer->setChannelVolume(soundHandleMusic[i], musicVolTable[volMusic[i]]);
-//				IDirectSoundBuffer_SetVolume(lpDsbMus[i], musicVolTable[volMusic[i]]);
 			}
 		}
 	}





More information about the Scummvm-git-logs mailing list