[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