[Scummvm-cvs-logs] SF.net SVN: scummvm: [31419] scummvm/trunk/engines/lure

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Sun Apr 6 13:12:43 CEST 2008


Revision: 31419
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31419&view=rev
Author:   thebluegr
Date:     2008-04-06 04:12:42 -0700 (Sun, 06 Apr 2008)

Log Message:
-----------
Replaced ManagedList with Common::SharedPtr in lure's sound system

Modified Paths:
--------------
    scummvm/trunk/engines/lure/sound.cpp
    scummvm/trunk/engines/lure/sound.h

Modified: scummvm/trunk/engines/lure/sound.cpp
===================================================================
--- scummvm/trunk/engines/lure/sound.cpp	2008-04-06 09:13:39 UTC (rev 31418)
+++ scummvm/trunk/engines/lure/sound.cpp	2008-04-06 11:12:42 UTC (rev 31419)
@@ -94,10 +94,10 @@
 
 void SoundManager::saveToStream(WriteStream *stream) {
 	debugC(ERROR_BASIC, kLureDebugSounds, "SoundManager::saveToStream");
-	ManagedList<SoundDescResource *>::iterator i;
+	SoundListIterator i;
 
 	for (i = _activeSounds.begin(); i != _activeSounds.end(); ++i) {
-		SoundDescResource *rec = *i;
+		SoundDescResource *rec = (*i).get();
 		stream->writeByte(rec->soundNumber);
 	}
 	stream->writeByte(0xff);
@@ -222,7 +222,7 @@
 		newEntry->volume = rec.volume;
 	else /* resource volumes do not seem to work well with our adlib emu */
 		newEntry->volume = 240; /* 255 causes clipping with adlib */
-	_activeSounds.push_back(newEntry);
+	_activeSounds.push_back(SoundList::value_type(newEntry));
 
 	musicInterface_Play(rec.soundNumber, channelCtr, numChannels);
 	musicInterface_SetVolume(channelCtr, newEntry->volume);
@@ -280,10 +280,10 @@
 
 SoundDescResource *SoundManager::findSound(uint8 soundNumber) {
 	debugC(ERROR_BASIC, kLureDebugSounds, "SoundManager::findSound soundNumber=%d", soundNumber);
-	ManagedList<SoundDescResource *>::iterator i;
+	SoundListIterator i;
 
 	for (i = _activeSounds.begin(); i != _activeSounds.end(); ++i) {
-		SoundDescResource *rec = *i;
+		SoundDescResource *rec = (*i).get();
 
 		if (rec->soundNumber == soundNumber) {
 			debugC(ERROR_INTERMEDIATE, kLureDebugSounds, "SoundManager::findSound - sound found");
@@ -298,10 +298,10 @@
 
 void SoundManager::tidySounds() {
 	debugC(ERROR_INTERMEDIATE, kLureDebugSounds, "SoundManager::tidySounds");
-	ManagedList<SoundDescResource *>::iterator i = _activeSounds.begin();
+	SoundListIterator i = _activeSounds.begin();
 
 	while (i != _activeSounds.end()) {
-		SoundDescResource *rec = *i;
+		SoundDescResource *rec = (*i).get();
 
 		if (musicInterface_CheckPlaying(rec->soundNumber))
 			// Still playing, so move to next entry
@@ -319,10 +319,10 @@
 	debugC(ERROR_BASIC, kLureDebugSounds, "SoundManager::removeSounds");
 	bellsBodge();
 
-	ManagedList<SoundDescResource *>::iterator i = _activeSounds.begin();
+	SoundListIterator i = _activeSounds.begin();
 
 	while (i != _activeSounds.end()) {
-		SoundDescResource *rec = *i;
+		SoundDescResource *rec = (*i).get();
 
 		if ((rec->flags & SF_IN_USE) != 0)
 			musicInterface_Stop(rec->soundNumber);
@@ -333,10 +333,10 @@
 
 void SoundManager::restoreSounds() {
 	debugC(ERROR_BASIC, kLureDebugSounds, "SoundManager::restoreSounds");
-	ManagedList<SoundDescResource *>::iterator i = _activeSounds.begin();
+	SoundListIterator i = _activeSounds.begin();
 
 	while (i != _activeSounds.end()) {
-		SoundDescResource *rec = *i;
+		SoundDescResource *rec = (*i).get();
 
 		if ((rec->numChannels != 0) && ((rec->flags & SF_RESTORE) != 0)) {
 			Common::set_to(_channelsInUse+rec->channel, _channelsInUse+rec->channel+rec->numChannels, true);
@@ -361,9 +361,9 @@
 		inProgress = false;
 
 		g_system->lockMutex(_soundMutex);
-		ManagedList<MidiMusic *>::iterator i;
+		MusicListIterator i;
 		for (i = _playingSounds.begin(); i != _playingSounds.end(); ++i) {
-			MidiMusic *music = *i;
+			MidiMusic *music = (*i).get();
 			if (music->getVolume() > 0) {
 				inProgress = true;
 				music->setVolume(music->getVolume() >= 10 ? (music->getVolume() - 10) : 0);
@@ -420,7 +420,7 @@
 	g_system->lockMutex(_soundMutex);
 	MidiMusic *sound = new MidiMusic(_driver, _channelsInner, channelNumber, soundNum,
 		isMusic, numChannels, soundStart, dataSize);
-	_playingSounds.push_back(sound);
+	_playingSounds.push_back(MusicList::value_type(sound));
 	g_system->unlockMutex(_soundMutex);
 }
 
@@ -433,9 +433,9 @@
 	uint8 soundNum = soundNumber & 0x7f;
 
 	g_system->lockMutex(_soundMutex);
-	ManagedList<MidiMusic *>::iterator i;
+	MusicListIterator i;
 	for (i = _playingSounds.begin(); i != _playingSounds.end(); ++i) {
-		MidiMusic *music = *i;
+		MidiMusic *music = (*i).get();
 		if (music->soundNumber() == soundNum) {
 			_playingSounds.erase(i);
 			break;
@@ -454,9 +454,9 @@
 	bool result = false;
 
 	g_system->lockMutex(_soundMutex);
-	ManagedList<MidiMusic *>::iterator i;
+	MusicListIterator i;
 	for (i = _playingSounds.begin(); i != _playingSounds.end(); ++i) {
-		MidiMusic *music = *i;
+		MidiMusic *music = (*i).get();
 		if (music->soundNumber() == soundNum) {
 			result = true;
 			break;
@@ -476,9 +476,9 @@
 	musicInterface_TidySounds();
 
 	g_system->lockMutex(_soundMutex);
-	ManagedList<MidiMusic *>::iterator i;
+	MusicListIterator i;
 	for (i = _playingSounds.begin(); i != _playingSounds.end(); ++i) {
-		MidiMusic *music = *i;
+		MidiMusic *music = (*i).get();
 		if (music->channelNumber() == channelNum)
 			music->setVolume(volume);
 	}
@@ -493,9 +493,9 @@
 	musicInterface_TidySounds();
 
 	g_system->lockMutex(_soundMutex);
-	ManagedList<MidiMusic *>::iterator i;
+	MusicListIterator i;
 	for (i = _playingSounds.begin(); i != _playingSounds.end(); ++i) {
-		MidiMusic *music = *i;
+		MidiMusic *music = (*i).get();
 		music->stopMusic();
 	}
 
@@ -526,9 +526,9 @@
 	debugC(ERROR_DETAILED, kLureDebugSounds, "musicInterface_TidySounds");
 
 	g_system->lockMutex(_soundMutex);
-	ManagedList<MidiMusic *>::iterator i = _playingSounds.begin();
+	MusicListIterator i = _playingSounds.begin();
 	while (i != _playingSounds.end()) {
-		MidiMusic *music = *i;
+		MidiMusic *music = (*i).get();
 		if (!music->isPlaying())
 			i = _playingSounds.erase(i);
 		else
@@ -548,9 +548,9 @@
 
 	g_system->lockMutex(_soundMutex);
 
-	ManagedList<MidiMusic *>::iterator i;
+	MusicListIterator i;
 	for (i = _playingSounds.begin(); i != _playingSounds.end(); ++i) {
-		MidiMusic *music = *i;
+		MidiMusic *music = (*i).get();
 		if (music->isPlaying())
 			music->onTimer();
 	}

Modified: scummvm/trunk/engines/lure/sound.h
===================================================================
--- scummvm/trunk/engines/lure/sound.h	2008-04-06 09:13:39 UTC (rev 31418)
+++ scummvm/trunk/engines/lure/sound.h	2008-04-06 11:12:42 UTC (rev 31419)
@@ -27,6 +27,7 @@
 #include "lure/memory.h"
 
 #include "common/singleton.h"
+#include "common/ptr.h"
 #include "sound/mididrv.h"
 #include "sound/mixer.h"
 
@@ -108,8 +109,12 @@
 	int _numDescs;
 	SoundDescResource *soundDescs() { return (SoundDescResource *) _descs->data(); }
 	MidiDriver *_driver;
-	ManagedList<SoundDescResource *> _activeSounds;
-	ManagedList<MidiMusic *> _playingSounds;
+	typedef Common::List<Common::SharedPtr<SoundDescResource> > SoundList;
+	typedef SoundList::iterator SoundListIterator;
+	SoundList _activeSounds;
+	typedef Common::List<Common::SharedPtr<MidiMusic> > MusicList;
+	typedef MusicList::iterator MusicListIterator;
+	MusicList _playingSounds;
 	ChannelEntry _channelsInner[NUM_CHANNELS];
 	bool _channelsInUse[NUM_CHANNELS];
 	bool _isPlaying;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list