diff options
32 files changed, 136 insertions, 124 deletions
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp index e0d905a015..0ff1396a49 100644 --- a/engines/saga/interface.cpp +++ b/engines/saga/interface.cpp @@ -546,8 +546,8 @@ void Interface::textInputRepeatCallback(void *refCon) {  void Interface::textInputStartRepeat(uint16 ascii) {  	if (!_textInputRepeatPhase) {  		_textInputRepeatPhase = 1; -		Common::g_timer->removeTimerProc(&textInputRepeatCallback); -		Common::g_timer->installTimerProc(&textInputRepeatCallback, KEYBOARD_REPEAT_DELAY1, this); +		_vm->_timer->removeTimerProc(&textInputRepeatCallback); +		_vm->_timer->installTimerProc(&textInputRepeatCallback, KEYBOARD_REPEAT_DELAY1, this);  	}  	_textInputRepeatChar = ascii; @@ -556,8 +556,8 @@ void Interface::textInputStartRepeat(uint16 ascii) {  void Interface::textInputRepeat() {  	if (_textInputRepeatPhase == 1) {  		_textInputRepeatPhase = 2; -		Common::g_timer->removeTimerProc(&textInputRepeatCallback); -		Common::g_timer->installTimerProc(&textInputRepeatCallback, KEYBOARD_REPEAT_DELAY2, this); +		_vm->_timer->removeTimerProc(&textInputRepeatCallback); +		_vm->_timer->installTimerProc(&textInputRepeatCallback, KEYBOARD_REPEAT_DELAY2, this);  	} else if (_textInputRepeatPhase == 2) {  		processAscii(_textInputRepeatChar, true);  	} @@ -565,7 +565,7 @@ void Interface::textInputRepeat() {  void Interface::processKeyUp(uint16 ascii) {  	if (_textInputRepeatPhase) { -		Common::g_timer->removeTimerProc(&textInputRepeatCallback); +		_vm->_timer->removeTimerProc(&textInputRepeatCallback);  		_textInputRepeatPhase = 0;  	}  } diff --git a/engines/saga/music.cpp b/engines/saga/music.cpp index bacf726626..f4af44f826 100644 --- a/engines/saga/music.cpp +++ b/engines/saga/music.cpp @@ -346,7 +346,7 @@ void Music::musicVolumeGauge() {  	_player->setVolume(volume);  	if (_currentVolumePercent == 100) { -		Common::g_timer->removeTimerProc(&musicVolumeGaugeCallback); +		_vm->_timer->removeTimerProc(&musicVolumeGaugeCallback);  		_currentVolume = _targetVolume;  	}  } @@ -361,12 +361,12 @@ void Music::setVolume(int volume, int time) {  	if (time == 1) {  		_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, volume);  		_player->setVolume(volume); -		Common::g_timer->removeTimerProc(&musicVolumeGaugeCallback); +		_vm->_timer->removeTimerProc(&musicVolumeGaugeCallback);  		_currentVolume = volume;  		return;  	} -	Common::g_timer->installTimerProc(&musicVolumeGaugeCallback, time * 100L, this); +	_vm->_timer->installTimerProc(&musicVolumeGaugeCallback, time * 100L, this);  }  bool Music::isPlaying() { diff --git a/engines/saga/puzzle.cpp b/engines/saga/puzzle.cpp index 54ebf0bc3f..de519e4062 100644 --- a/engines/saga/puzzle.cpp +++ b/engines/saga/puzzle.cpp @@ -119,7 +119,7 @@ void Puzzle::initPieceInfo(int i, int16 curX, int16 curY, byte offX, byte offY,  void Puzzle::execute(void) {  	_active = true; -	Common::g_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this); +	_vm->_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this);  	initPieces(); @@ -134,7 +134,7 @@ void Puzzle::execute(void) {  void Puzzle::exitPuzzle(void) {  	_active = false; -	Common::g_timer->removeTimerProc(&hintTimerCallback); +	_vm->_timer->removeTimerProc(&hintTimerCallback);  	_vm->_scene->changeScene(ITE_SCENE_LODGE, 0, kTransitionNoFade);  	_vm->_interface->setMode(kPanelMain); @@ -383,17 +383,17 @@ void Puzzle::solicitHint(void) {  	_vm->_actor->setSpeechColor(1, kITEColorBlack); -	Common::g_timer->removeTimerProc(&hintTimerCallback); +	_vm->_timer->removeTimerProc(&hintTimerCallback);  	switch (_hintRqState) {  	case kRQSpeaking:  		if (_vm->_actor->isSpeaking()) { -			Common::g_timer->installTimerProc(&hintTimerCallback, 50000, this); +			_vm->_timer->installTimerProc(&hintTimerCallback, 50000, this);  			break;  		}  		_hintRqState = _hintNextRqState; -		Common::g_timer->installTimerProc(&hintTimerCallback, 333333, this); +		_vm->_timer->installTimerProc(&hintTimerCallback, 333333, this);  		break;  	case kRQNoHint: @@ -416,11 +416,11 @@ void Puzzle::solicitHint(void) {  		//	Roll to see if Sakka scolds  		if (_vm->_rnd.getRandomNumber(1)) {  			_hintRqState = kRQSakkaDenies; -			Common::g_timer->installTimerProc(&hintTimerCallback, 200000, this); +			_vm->_timer->installTimerProc(&hintTimerCallback, 200000, this);  		} else {  			_hintRqState = kRQSpeaking;  			_hintNextRqState = kRQHintRequested; -			Common::g_timer->installTimerProc(&hintTimerCallback, 50000, this); +			_vm->_timer->installTimerProc(&hintTimerCallback, 50000, this);  		}  		break; @@ -433,7 +433,7 @@ void Puzzle::solicitHint(void) {  		_hintRqState = kRQSpeaking;  		_hintNextRqState = kRQHintRequestedStage2; -		Common::g_timer->installTimerProc(&hintTimerCallback, 50000, this); +		_vm->_timer->installTimerProc(&hintTimerCallback, 50000, this);  		_vm->_interface->converseClear();  		_vm->_interface->converseAddText(optionsStr[_lang][kROAccept], 1, 0, 0 ); @@ -460,7 +460,7 @@ void Puzzle::solicitHint(void) {  		_vm->_interface->converseAddText(optionsStr[_lang][kROLater], 0, 0, 0);  		_vm->_interface->converseDisplayText(); -		Common::g_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this); +		_vm->_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this);  		_hintRqState = kRQSkipEverything;  		break; @@ -483,8 +483,8 @@ void Puzzle::handleReply(int reply) {  	case 2:		// Decline the hint  		_vm->_actor->abortSpeech();  		_hintRqState = kRQNoHint; -		Common::g_timer->removeTimerProc(&hintTimerCallback); -		Common::g_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime * 2, this); +		_vm->_timer->removeTimerProc(&hintTimerCallback); +		_vm->_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime * 2, this);  		clearHint();  		break;  	} @@ -546,8 +546,8 @@ void Puzzle::giveHint(void) {  	_vm->_interface->converseAddText(optionsStr[_lang][kROLater], 0, 0, 0);  	_vm->_interface->converseDisplayText(); -	Common::g_timer->removeTimerProc(&hintTimerCallback); -	Common::g_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this); +	_vm->_timer->removeTimerProc(&hintTimerCallback); +	_vm->_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this);  }  void Puzzle::clearHint(void) { diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index 2938d73bc0..4c9ad26789 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -326,7 +326,7 @@ void SaveLoadChooser::reflowLayout() {  		int thumbY = g_gui.evaluator()->getVar("scummsaveload_thumbnail.y");  		int hPad = g_gui.evaluator()->getVar("scummsaveload_thumbnail.hPad");  		int vPad = g_gui.evaluator()->getVar("scummsaveload_thumbnail.vPad"); -		int thumbH = ((_vm->_system->getHeight() % 200 && _vm->_system->getHeight() != 350) ? kThumbnailHeight2 : kThumbnailHeight1); +		int thumbH = ((g_system->getHeight() % 200 && g_system->getHeight() != 350) ? kThumbnailHeight2 : kThumbnailHeight1);  		_container->resize(thumbX - hPad, thumbY - vPad, kThumbnailWidth + hPad * 2, thumbH + vPad * 2 + kLineHeight * 4); diff --git a/engines/scumm/he/sound_he.cpp b/engines/scumm/he/sound_he.cpp index b83fde2838..931ef12c95 100644 --- a/engines/scumm/he/sound_he.cpp +++ b/engines/scumm/he/sound_he.cpp @@ -46,9 +46,9 @@  namespace Scumm { -SoundHE::SoundHE(ScummEngine *parent) +SoundHE::SoundHE(ScummEngine *parent, Audio::Mixer *mixer)  	: -	Sound(parent), +	Sound(parent, mixer),  	_vm((ScummEngine_v60he *)parent),  	_overrideFreq(0),  	_heMusic(0), @@ -114,7 +114,7 @@ void SoundHE::processSoundQueues() {  int SoundHE::isSoundRunning(int sound) const {  	if (_vm->_game.heversion >= 70) {  		if (sound >= 10000) { -			return _vm->_mixer->getSoundID(_heSoundChannels[sound - 10000]); +			return _mixer->getSoundID(_heSoundChannels[sound - 10000]);  		}  	} else if (_vm->_game.heversion >= 60) {  		if (sound == -2) { @@ -124,7 +124,7 @@ int SoundHE::isSoundRunning(int sound) const {  		}  	} -	if (_vm->_mixer->isSoundIDActive(sound)) +	if (_mixer->isSoundIDActive(sound))  		return sound;  	if (isSoundInQueue(sound)) @@ -189,7 +189,7 @@ void SoundHE::stopSoundChannel(int chan) {  		_vm->_talkDelay = 0;  	} -	_vm->_mixer->stopHandle(_heSoundChannels[chan]); +	_mixer->stopHandle(_heSoundChannels[chan]);  	_heChannel[chan].sound = 0;  	_heChannel[chan].priority = 0; @@ -219,7 +219,7 @@ int SoundHE::findFreeSoundChannel() {  	if (min < 8) {  		for (chan = min; chan < ARRAYSIZE(_heChannel); chan++) { -			if (_vm->_mixer->isSoundHandleActive(_heSoundChannels[chan]) == 0) +			if (_mixer->isSoundHandleActive(_heSoundChannels[chan]) == 0)  				return chan;  		}  	} else { @@ -236,7 +236,7 @@ int SoundHE::isSoundCodeUsed(int sound) {  			chan = i;  	} -	if (_vm->_mixer->isSoundHandleActive(_heSoundChannels[chan]) && chan != -1) { +	if (_mixer->isSoundHandleActive(_heSoundChannels[chan]) && chan != -1) {  		return _heChannel[chan].sbngBlock;  	} else {  		return 0; @@ -250,7 +250,7 @@ int SoundHE::getSoundPos(int sound) {  			chan = i;  	} -	if (_vm->_mixer->isSoundHandleActive(_heSoundChannels[chan]) && chan != -1) { +	if (_mixer->isSoundHandleActive(_heSoundChannels[chan]) && chan != -1) {  		int time =  _vm->getHETimer(chan + 4) * 11025 / 1000;  		return time;  	} else { @@ -271,7 +271,7 @@ int SoundHE::getSoundVar(int sound, int var) {  			chan = i;  	} -	if (_vm->_mixer->isSoundHandleActive(_heSoundChannels[chan]) && chan != -1) { +	if (_mixer->isSoundHandleActive(_heSoundChannels[chan]) && chan != -1) {  		debug(5, "getSoundVar: sound %d var %d result %d", sound, var, _heChannel[chan].soundVars[var]);  		return _heChannel[chan].soundVars[var];  	} else { @@ -528,14 +528,14 @@ void SoundHE::playHESound(int soundID, int heOffset, int heChannel, int heFlags)  		musicFile.seek(music_offs, SEEK_SET); -		_vm->_mixer->stopHandle(_heSoundChannels[heChannel]); +		_mixer->stopHandle(_heSoundChannels[heChannel]);  		spoolPtr = _vm->_res->createResource(rtSpoolBuffer, heChannel, size);  		assert(spoolPtr);  		musicFile.read(spoolPtr, size);  		musicFile.close();  		if (_vm->_game.heversion == 70) { -			_vm->_mixer->playRaw(&_heSoundChannels[heChannel], spoolPtr, size, 11025, flags, soundID, 255, 0, 0,0, type); +			_mixer->playRaw(&_heSoundChannels[heChannel], spoolPtr, size, 11025, flags, soundID, 255, 0, 0,0, type);  			return;  		}  	} @@ -585,8 +585,8 @@ void SoundHE::playHESound(int soundID, int heOffset, int heChannel, int heFlags)  			flags |= Audio::Mixer::FLAG_LOOP;  		} -		_vm->_mixer->stopHandle(_heSoundChannels[heChannel]); -		_vm->_mixer->playRaw(&_heSoundChannels[heChannel], sound, size, rate, flags, soundID, 255, 0, 0,0, type); +		_mixer->stopHandle(_heSoundChannels[heChannel]); +		_mixer->playRaw(&_heSoundChannels[heChannel], sound, size, rate, flags, soundID, 255, 0, 0,0, type);  	}  	// Support for sound in Humongous Entertainment games  	else if (READ_BE_UINT32(ptr) == MKID_BE('DIGI') || READ_BE_UINT32(ptr) == MKID_BE('TALK')) { @@ -598,7 +598,7 @@ void SoundHE::playHESound(int soundID, int heOffset, int heChannel, int heFlags)  		// Skip DIGI/TALK (8) and HSHD (24) blocks  		ptr += 32; -		if (_vm->_mixer->isSoundHandleActive(_heSoundChannels[heChannel])) { +		if (_mixer->isSoundHandleActive(_heSoundChannels[heChannel])) {  			int curSnd = _heChannel[heChannel].sound;  			if (curSnd == 1 && soundID != 1)  				return; @@ -641,8 +641,8 @@ void SoundHE::playHESound(int soundID, int heOffset, int heChannel, int heFlags)  			_heChannel[heChannel].timer = size * 1000 / rate;  		} -		_vm->_mixer->stopHandle(_heSoundChannels[heChannel]); -		_vm->_mixer->playRaw(&_heSoundChannels[heChannel], ptr + heOffset + 8, size, rate, flags, soundID, 255, 0, 0,0, type); +		_mixer->stopHandle(_heSoundChannels[heChannel]); +		_mixer->playRaw(&_heSoundChannels[heChannel], ptr + heOffset + 8, size, rate, flags, soundID, 255, 0, 0,0, type);  	}  	// Support for PCM music in 3DO versions of Humongous Entertainment games @@ -658,9 +658,9 @@ void SoundHE::playHESound(int soundID, int heOffset, int heChannel, int heFlags)  		flags = Audio::Mixer::FLAG_AUTOFREE; -		_vm->_mixer->stopID(_currentMusic); +		_mixer->stopID(_currentMusic);  		_currentMusic = soundID; -		_vm->_mixer->playRaw(NULL, ptr + 8, size, rate, flags, soundID, 255, 0, 0,0, Audio::Mixer::kMusicSoundType); +		_mixer->playRaw(NULL, ptr + 8, size, rate, flags, soundID, 255, 0, 0,0, Audio::Mixer::kMusicSoundType);  	}  	else if (READ_BE_UINT32(ptr) == MKID_BE('MIDI')) {  		if (_vm->_imuse) { diff --git a/engines/scumm/he/sound_he.h b/engines/scumm/he/sound_he.h index c0a26c7446..36f0714048 100644 --- a/engines/scumm/he/sound_he.h +++ b/engines/scumm/he/sound_he.h @@ -56,7 +56,7 @@ public: // Used by createSound()  	} _heChannel[8];  public: -	SoundHE(ScummEngine *parent); +	SoundHE(ScummEngine *parent, Audio::Mixer *mixer);  	~SoundHE();  	virtual void addSoundToQueue(int sound, int heOffset = 0, int heChannel = 0, int heFlags = 0); diff --git a/engines/scumm/imuse_digi/dimuse.cpp b/engines/scumm/imuse_digi/dimuse.cpp index 537faad92a..8d1dab64a7 100644 --- a/engines/scumm/imuse_digi/dimuse.cpp +++ b/engines/scumm/imuse_digi/dimuse.cpp @@ -44,8 +44,8 @@ void IMuseDigital::timer_handler(void *refCon) {  	imuseDigital->callback();  } -IMuseDigital::IMuseDigital(ScummEngine_v7 *scumm, int fps) -	: _vm(scumm) { +IMuseDigital::IMuseDigital(ScummEngine_v7 *scumm, Audio::Mixer *mixer, int fps) +	: _vm(scumm), _mixer(mixer) {  	_pause = false;  	_sound = new ImuseDigiSndMgr(_vm);  	assert(_sound); @@ -200,7 +200,7 @@ void IMuseDigital::saveOrLoad(Serializer *ser) {  			if (track->volGroupId == 3)  				type = Audio::Mixer::kMusicSoundType; -			_vm->_mixer->playInputStream(type, &track->handle, track->stream, -1, vol, pan, false); +			_mixer->playInputStream(type, &track->handle, track->stream, -1, vol, pan, false);  		}  	}  } @@ -318,9 +318,9 @@ void IMuseDigital::callback() {  					if (result > mixer_size)  						result = mixer_size; -					if (_vm->_mixer->isReady()) { -						_vm->_mixer->setChannelVolume(track->handle, vol); -						_vm->_mixer->setChannelBalance(track->handle, pan); +					if (_mixer->isReady()) { +						_mixer->setChannelVolume(track->handle, vol); +						_mixer->setChannelBalance(track->handle, pan);  						track->stream->append(data, result);  						track->regionOffset += result;  					} @@ -335,13 +335,13 @@ void IMuseDigital::callback() {  					assert(mixer_size >= 0);  				} while (mixer_size != 0);  			} else if (track->stream2) { -				if (_vm->_mixer->isReady()) { +				if (_mixer->isReady()) {  					if (!track->started) {  						track->started = true; -						_vm->_mixer->playInputStream(type, &track->handle, track->stream2, -1, vol, pan, false); +						_mixer->playInputStream(type, &track->handle, track->stream2, -1, vol, pan, false);  					} else { -						_vm->_mixer->setChannelVolume(track->handle, vol); -						_vm->_mixer->setChannelBalance(track->handle, pan); +						_mixer->setChannelVolume(track->handle, vol); +						_mixer->setChannelBalance(track->handle, pan);  					}  				}  			} diff --git a/engines/scumm/imuse_digi/dimuse.h b/engines/scumm/imuse_digi/dimuse.h index 0a3ed5b2f5..fe8120c758 100644 --- a/engines/scumm/imuse_digi/dimuse.h +++ b/engines/scumm/imuse_digi/dimuse.h @@ -90,6 +90,7 @@ private:  	Common::Mutex _mutex;  	ScummEngine_v7 *_vm; +	Audio::Mixer *_mixer;  	ImuseDigiSndMgr *_sound;  	char *_audioNames; @@ -131,7 +132,7 @@ private:  	void playDigMusic(const char *songName, const imuseDigTable *table, int atribPos, bool sequence);  public: -	IMuseDigital(ScummEngine_v7 *scumm, int fps); +	IMuseDigital(ScummEngine_v7 *scumm, Audio::Mixer *mixer, int fps);  	virtual ~IMuseDigital();  	void setAudioNames(int32 num, char *names); diff --git a/engines/scumm/imuse_digi/dimuse_script.cpp b/engines/scumm/imuse_digi/dimuse_script.cpp index b55855262d..0c131775ea 100644 --- a/engines/scumm/imuse_digi/dimuse_script.cpp +++ b/engines/scumm/imuse_digi/dimuse_script.cpp @@ -172,9 +172,9 @@ void IMuseDigital::flushTracks() {  	 				track->stream->finish();  	 			}  				if (track->stream->endOfStream() -						|| _vm->_mixer->isPaused() // hack for paused Mixer +						|| _mixer->isPaused() // hack for paused Mixer  						|| _vm->_insaneRunning) { // INSANE hack for sync timer mode -					_vm->_mixer->stopHandle(track->handle); +					_mixer->stopHandle(track->handle);  					delete track->stream;  					track->stream = NULL;  					_sound->closeSound(track->soundHandle); @@ -182,7 +182,7 @@ void IMuseDigital::flushTracks() {  					track->used = false;  				}  			} else if (track->stream2) { -				_vm->_mixer->stopHandle(track->handle); +				_mixer->stopHandle(track->handle);  				delete track->stream2;  				track->stream2 = NULL;  				track->used = false; @@ -285,7 +285,7 @@ int IMuseDigital::getSoundStatus(int sound) const {  	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {  		Track *track = _track[l];  		if (track->soundId == sound) { -			if ((track->stream2 && _vm->_mixer->isSoundHandleActive(track->handle)) || +			if ((track->stream2 && _mixer->isSoundHandleActive(track->handle)) ||  				(track->stream && track->used && !track->readyToRemove)) {  					return 1;  			} diff --git a/engines/scumm/imuse_digi/dimuse_track.cpp b/engines/scumm/imuse_digi/dimuse_track.cpp index eb17887a0b..37ae22f47f 100644 --- a/engines/scumm/imuse_digi/dimuse_track.cpp +++ b/engines/scumm/imuse_digi/dimuse_track.cpp @@ -179,7 +179,7 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType,  		int32 streamBufferSize = track->iteration;  		track->stream2 = NULL;  		track->stream = Audio::makeAppendableAudioStream(freq, track->mixerFlags, streamBufferSize); -		_vm->_mixer->playInputStream(type, &track->handle, track->stream, -1, vol, pan, false); +		_mixer->playInputStream(type, &track->handle, track->stream, -1, vol, pan, false);  		track->started = true;  	} @@ -358,7 +358,7 @@ IMuseDigital::Track *IMuseDigital::cloneToFadeOutTrack(Track *track, int fadeDel  	// setup 1 second stream wrapped buffer  	int32 streamBufferSize = fadeTrack->iteration;  	fadeTrack->stream = Audio::makeAppendableAudioStream(_sound->getFreq(fadeTrack->soundHandle), fadeTrack->mixerFlags, streamBufferSize); -	_vm->_mixer->playInputStream(type, &fadeTrack->handle, fadeTrack->stream, -1, fadeTrack->vol / 1000, fadeTrack->pan, false); +	_mixer->playInputStream(type, &fadeTrack->handle, fadeTrack->stream, -1, fadeTrack->vol / 1000, fadeTrack->pan, false);  	fadeTrack->started = true;  	fadeTrack->used = true; diff --git a/engines/scumm/player_mod.cpp b/engines/scumm/player_mod.cpp index 9a22aaa1e0..8ce3c80132 100644 --- a/engines/scumm/player_mod.cpp +++ b/engines/scumm/player_mod.cpp @@ -28,9 +28,9 @@  namespace Scumm { -Player_MOD::Player_MOD(ScummEngine *scumm) { +Player_MOD::Player_MOD(Audio::Mixer *mixer) {  	int i; -	_mixer = scumm->_mixer; +	_mixer = mixer;  	_samplerate = _mixer->getOutputRate();  	_mixamt = 0;  	_mixpos = 0; diff --git a/engines/scumm/player_mod.h b/engines/scumm/player_mod.h index 5caa27e23a..155cb154d1 100644 --- a/engines/scumm/player_mod.h +++ b/engines/scumm/player_mod.h @@ -38,7 +38,7 @@ namespace Scumm {   */  class Player_MOD : public Audio::AudioStream {  public: -	Player_MOD(ScummEngine *scumm); +	Player_MOD(Audio::Mixer *mixer);  	virtual ~Player_MOD();  	virtual void setMusicVolume(int vol); diff --git a/engines/scumm/player_nes.cpp b/engines/scumm/player_nes.cpp index 0a63cf153c..a44498edc2 100644 --- a/engines/scumm/player_nes.cpp +++ b/engines/scumm/player_nes.cpp @@ -605,10 +605,10 @@ int16 APU_GetSample(void) {  } -Player_NES::Player_NES(ScummEngine *scumm) { +Player_NES::Player_NES(ScummEngine *scumm, Audio::Mixer *mixer) {  	int i;  	_vm = scumm; -	_mixer = scumm->_mixer; +	_mixer = mixer;  	APUe::APU.SampleRate = _sample_rate = _mixer->getOutputRate();  	_samples_per_frame = _sample_rate / 60; diff --git a/engines/scumm/player_nes.h b/engines/scumm/player_nes.h index c7788bb6b1..9739766913 100644 --- a/engines/scumm/player_nes.h +++ b/engines/scumm/player_nes.h @@ -45,7 +45,7 @@ static const int NUMCHANS = 4;   */  class Player_NES : public Audio::AudioStream, public MusicEngine {  public: -	Player_NES(ScummEngine *scumm); +	Player_NES(ScummEngine *scumm, Audio::Mixer *mixer);  	virtual ~Player_NES();  	virtual void setMusicVolume(int vol); diff --git a/engines/scumm/player_v1.cpp b/engines/scumm/player_v1.cpp index d752fbde2d..b0b47b7f32 100644 --- a/engines/scumm/player_v1.cpp +++ b/engines/scumm/player_v1.cpp @@ -34,7 +34,8 @@ namespace Scumm {  #define TIMER_BASE_FREQ 1193000  #define FIXP_SHIFT  16 -Player_V1::Player_V1(ScummEngine *scumm, bool pcjr) : Player_V2(scumm, pcjr) { +Player_V1::Player_V1(ScummEngine *scumm, Audio::Mixer *mixer, bool pcjr) +	: Player_V2(scumm, mixer, pcjr) {  	// Initialize channel code  	for (int i = 0; i < 4; ++i)  		clear_channel(i); diff --git a/engines/scumm/player_v1.h b/engines/scumm/player_v1.h index 60ba8ad26d..f1c9a5ea1e 100644 --- a/engines/scumm/player_v1.h +++ b/engines/scumm/player_v1.h @@ -33,7 +33,7 @@ namespace Scumm {   */  class Player_V1 : public Player_V2 {  public: -	Player_V1(ScummEngine *scumm, bool pcjr); +	Player_V1(ScummEngine *scumm, Audio::Mixer *mixer, bool pcjr);  	~Player_V1();  	virtual void startSound(int sound); diff --git a/engines/scumm/player_v2.cpp b/engines/scumm/player_v2.cpp index 9726149851..1eb7b958dd 100644 --- a/engines/scumm/player_v2.cpp +++ b/engines/scumm/player_v2.cpp @@ -342,12 +342,12 @@ static const uint16 pcjr_freq_table[12] = {  #endif -Player_V2::Player_V2(ScummEngine *scumm, bool pcjr) { +Player_V2::Player_V2(ScummEngine *scumm, Audio::Mixer *mixer, bool pcjr) {  	int i;  	_isV3Game = (scumm->_game.version >= 3);  	_vm = scumm; -	_mixer = scumm->_mixer; +	_mixer = mixer;  	_sample_rate = _mixer->getOutputRate();  	_header_len = (scumm->_game.features & GF_OLD_BUNDLE) ? 4 : 6; diff --git a/engines/scumm/player_v2.h b/engines/scumm/player_v2.h index c1a15f542e..91479487f9 100644 --- a/engines/scumm/player_v2.h +++ b/engines/scumm/player_v2.h @@ -74,7 +74,7 @@ struct channel_data {   */  class Player_V2 : public Audio::AudioStream, public MusicEngine {  public: -	Player_V2(ScummEngine *scumm, bool pcjr); +	Player_V2(ScummEngine *scumm, Audio::Mixer *mixer, bool pcjr);  	virtual ~Player_V2();  	virtual void setMusicVolume(int vol); diff --git a/engines/scumm/player_v2a.cpp b/engines/scumm/player_v2a.cpp index 23eeebf70b..e1f36464bb 100644 --- a/engines/scumm/player_v2a.cpp +++ b/engines/scumm/player_v2a.cpp @@ -1303,7 +1303,7 @@ static V2A_Sound *findSound (unsigned long crc) {  	return NULL;  } -Player_V2A::Player_V2A(ScummEngine *scumm) { +Player_V2A::Player_V2A(ScummEngine *scumm, Audio::Mixer *mixer) {  	int i;  	_vm = scumm; @@ -1317,7 +1317,7 @@ Player_V2A::Player_V2A(ScummEngine *scumm) {  		_slot[i].sound = NULL;  	} -	_mod = new Player_MOD(scumm); +	_mod = new Player_MOD(mixer);  	_mod->setUpdateProc(update_proc, this, 60);  } diff --git a/engines/scumm/player_v2a.h b/engines/scumm/player_v2a.h index b2d25d67d5..11d8470336 100644 --- a/engines/scumm/player_v2a.h +++ b/engines/scumm/player_v2a.h @@ -40,7 +40,7 @@ class V2A_Sound;   */  class Player_V2A : public MusicEngine {  public: -	Player_V2A(ScummEngine *scumm); +	Player_V2A(ScummEngine *scumm, Audio::Mixer *mixer);  	virtual ~Player_V2A();  	virtual void setMusicVolume(int vol); diff --git a/engines/scumm/player_v3a.cpp b/engines/scumm/player_v3a.cpp index e229f4515e..337145e442 100644 --- a/engines/scumm/player_v3a.cpp +++ b/engines/scumm/player_v3a.cpp @@ -35,7 +35,7 @@ static const uint16 note_freqs[4][12] = {  	{0x00D6, 0x00CA, 0x00BE, 0x00B4, 0x00A9, 0x00A0, 0x0097, 0x008E, 0x0086, 0x007F, 0x00F0, 0x00E2}  }; -Player_V3A::Player_V3A(ScummEngine *scumm) { +Player_V3A::Player_V3A(ScummEngine *scumm, Audio::Mixer *mixer) {  	int i;  	_vm = scumm;  	for (i = 0; i < V3A_MAXMUS; i++) { @@ -56,7 +56,7 @@ Player_V3A::Player_V3A(ScummEngine *scumm) {  	_isinit = false; -	_mod = new Player_MOD(scumm); +	_mod = new Player_MOD(mixer);  	_mod->setUpdateProc(update_proc, this, 60);  } diff --git a/engines/scumm/player_v3a.h b/engines/scumm/player_v3a.h index 351d8ece60..9fea053830 100644 --- a/engines/scumm/player_v3a.h +++ b/engines/scumm/player_v3a.h @@ -39,7 +39,7 @@ class ScummEngine;   */  class Player_V3A : public MusicEngine {  public: -	Player_V3A(ScummEngine *scumm); +	Player_V3A(ScummEngine *scumm, Audio::Mixer *mixer);  	virtual ~Player_V3A();  	virtual void setMusicVolume(int vol); diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 371017b8b5..877dacd953 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -1009,9 +1009,9 @@ void ScummEngine::setupScumm() {  	// Create the sound manager  	if (_game.heversion > 0) -		_sound = new SoundHE(this); +		_sound = new SoundHE(this, _mixer);  	else -		_sound = new Sound(this); +		_sound = new Sound(this, _mixer);  	// Setup the music engine  	setupMusic(_game.midi); @@ -1096,16 +1096,14 @@ void ScummEngine::setupScumm() {  void ScummEngine_v7::setupScumm() {  	if (_game.features & GF_DIGI_IMUSE) { -#ifndef DISABLE_SCUMM_7_8 -		_musicEngine = _imuseDigital = new IMuseDigital(this, 10); -#endif +		_musicEngine = _imuseDigital = new IMuseDigital(this, _mixer, 10);  	}  	ScummEngine::setupScumm();  	// Create FT INSANE object  	if (_game.id == GID_FT) -		_insane = new Insane((ScummEngine_v7 *)this); +		_insane = new Insane(this);  	else  		_insane = 0; @@ -1457,19 +1455,19 @@ void ScummEngine::setupMusic(int midi) {  		// TODO  		_musicEngine = NULL;  	} else if (_game.platform == Common::kPlatformNES) { -		_musicEngine = new Player_NES(this); +		_musicEngine = new Player_NES(this, _mixer);  	} else if ((_game.platform == Common::kPlatformAmiga) && (_game.version == 2)) { -		_musicEngine = new Player_V2A(this); +		_musicEngine = new Player_V2A(this, _mixer);  	} else if ((_game.platform == Common::kPlatformAmiga) && (_game.version == 3)) { -		_musicEngine = new Player_V3A(this); +		_musicEngine = new Player_V3A(this, _mixer);  	} else if ((_game.platform == Common::kPlatformAmiga) && (_game.version <= 4)) {  		_musicEngine = NULL;  	} else if (_game.id == GID_MANIAC && (_game.version == 1)) { -		_musicEngine = new Player_V1(this, midiDriver != MD_PCSPK); +		_musicEngine = new Player_V1(this, _mixer, midiDriver != MD_PCSPK);  	} else if (_game.version <= 2) { -		_musicEngine = new Player_V2(this, midiDriver != MD_PCSPK); +		_musicEngine = new Player_V2(this, _mixer, midiDriver != MD_PCSPK);  	} else if ((_musicType == MDT_PCSPK) && ((_game.version > 2) && (_game.version <= 4))) { -		_musicEngine = new Player_V2(this, midiDriver != MD_PCSPK); +		_musicEngine = new Player_V2(this, _mixer, midiDriver != MD_PCSPK);  	} else if (_game.version >= 3 && _game.heversion <= 61 && _game.platform != Common::kPlatform3DO) {  		MidiDriver *nativeMidiDriver = 0;  		MidiDriver *adlibMidiDriver = 0; diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp index 1da644e1e9..f6850cc773 100644 --- a/engines/scumm/sound.cpp +++ b/engines/scumm/sound.cpp @@ -56,9 +56,10 @@ struct MP3OffsetTable {					/* Compressed Sound (.SO3) */  }; -Sound::Sound(ScummEngine *parent) +Sound::Sound(ScummEngine *parent, Audio::Mixer *mixer)  	:  	_vm(parent), +	_mixer(mixer),  	_soundQuePos(0),  	_soundQue2Pos(0),  	_sfxFile(0), @@ -187,7 +188,7 @@ void Sound::playSound(int soundID) {  		// Allocate a sound buffer, copy the data into it, and play  		sound = (char *)malloc(size);  		memcpy(sound, ptr, size); -		_vm->_mixer->playRaw(NULL, sound, size, rate, flags, soundID); +		_mixer->playRaw(NULL, sound, size, rate, flags, soundID);  	}  	// WORKAROUND bug # 1311447  	else if (READ_BE_UINT32(ptr) == 0x460e200d) { @@ -209,7 +210,7 @@ void Sound::playSound(int soundID) {  		// Allocate a sound buffer, copy the data into it, and play  		sound = (char *)malloc(size);  		memcpy(sound, ptr, size); -		_vm->_mixer->playRaw(NULL, sound, size, rate, flags, soundID); +		_mixer->playRaw(NULL, sound, size, rate, flags, soundID);  	}  	// Support for sampled sound effects in Monkey Island 1 and 2  	else if (READ_BE_UINT32(ptr) == MKID_BE('SBL ')) { @@ -280,7 +281,7 @@ void Sound::playSound(int soundID) {  		// Allocate a sound buffer, copy the data into it, and play  		sound = (char *)malloc(size);  		memcpy(sound, ptr + 6, size); -		_vm->_mixer->playRaw(NULL, sound, size, rate, flags, soundID); +		_mixer->playRaw(NULL, sound, size, rate, flags, soundID);  	}  	else if ((_vm->_game.platform == Common::kPlatformFMTowns && _vm->_game.version == 3) || READ_BE_UINT32(ptr) == MKID_BE('SOUN') || READ_BE_UINT32(ptr) == MKID_BE('TOWS')) { @@ -333,7 +334,7 @@ void Sound::playSound(int soundID) {  				if (loopEnd > 0)  					flags |= Audio::Mixer::FLAG_LOOP; -				_vm->_mixer->playRaw(NULL, sound, waveSize, rate, flags, soundID, 255, 0, loopStart, loopEnd); +				_mixer->playRaw(NULL, sound, waveSize, rate, flags, soundID, 255, 0, loopStart, loopEnd);  			}  			break;  		case 1: @@ -394,7 +395,7 @@ void Sound::playSound(int soundID) {  		sound = (char *)malloc(size);  		int vol = ptr[24] * 4;  		memcpy(sound, ptr + READ_BE_UINT16(ptr + 8), size); -		_vm->_mixer->playRaw(NULL, sound, size, rate, Audio::Mixer::FLAG_AUTOFREE, soundID, vol, 0); +		_mixer->playRaw(NULL, sound, size, rate, Audio::Mixer::FLAG_AUTOFREE, soundID, vol, 0);  	}  	else { @@ -458,7 +459,7 @@ void Sound::processSfxQueues() {  		} else if (_vm->_game.heversion >= 60) {  			finished = !isSoundRunning(1);  		} else { -			finished = !_vm->_mixer->isSoundHandleActive(_talkChannelHandle); +			finished = !_mixer->isSoundHandleActive(_talkChannelHandle);  		}  		if ((uint) act < 0x80 && ((_vm->_game.version == 8) || (_vm->_game.version <= 7 && !_vm->_string[0].no_talk_anim))) { @@ -556,7 +557,7 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, Audio::SoundHandle  		if (mode == 1 && (_vm->_game.id == GID_TENTACLE || _vm->_game.id == GID_SAMNMAX)) {  			id = 777777 + _talk_sound_channel; -			_vm->_mixer->stopID(id); +			_mixer->stopID(id);  		}  		if (b > 8) { @@ -598,7 +599,7 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, Audio::SoundHandle  		_mouthSyncMode = true;  	} -	if (!_soundsPaused && _vm->_mixer->isReady()) { +	if (!_soundsPaused && _mixer->isReady()) {  		Audio::AudioStream *input = NULL;  		switch (_soundMode) { @@ -636,7 +637,7 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, Audio::SoundHandle  			_vm->_imuseDigital->startVoice(kTalkSoundID, input);  #endif  		} else { -			_vm->_mixer->playInputStream(Audio::Mixer::kSFXSoundType, handle, input, id); +			_mixer->playInputStream(Audio::Mixer::kSFXSoundType, handle, input, id);  		}  	}  } @@ -650,7 +651,7 @@ void Sound::stopTalkSound() {  		} else if (_vm->_game.heversion >= 60) {  			stopSound(1);  		} else { -			_vm->_mixer->stopHandle(_talkChannelHandle); +			_mixer->stopHandle(_talkChannelHandle);  		}  		_sfxMode &= ~2;  	} @@ -682,7 +683,7 @@ int Sound::isSoundRunning(int sound) const {  	if (sound == _currentCDSound)  		return pollCD(); -	if (_vm->_mixer->isSoundIDActive(sound)) +	if (_mixer->isSoundIDActive(sound))  		return 1;  	if (isSoundInQueue(sound)) @@ -727,7 +728,7 @@ bool Sound::isSoundInUse(int sound) const {  	if (_vm->_imuse)  		return _vm->_imuse->get_sound_active(sound); -	if (_vm->_mixer->isSoundIDActive(sound)) +	if (_mixer->isSoundIDActive(sound))  		return 1;  	return false; @@ -765,7 +766,7 @@ void Sound::stopSound(int sound) {  	}  	if (!(_vm->_game.features & GF_DIGI_IMUSE)) -		_vm->_mixer->stopID(sound); +		_mixer->stopID(sound);  	if (_vm->_musicEngine)  		_vm->_musicEngine->stopSound(sound); @@ -797,7 +798,7 @@ void Sound::stopAllSounds() {  	// Stop all SFX  	if (!_vm->_imuseDigital) { -		_vm->_mixer->stopAll(); +		_mixer->stopAll();  	}  } @@ -874,7 +875,7 @@ void Sound::pauseSounds(bool pause) {  	}  #endif -	_vm->_mixer->pauseAll(pause); +	_mixer->pauseAll(pause);  	if ((_vm->_game.features & GF_AUDIOTRACKS) && _vm->VAR(_vm->VAR_MUSIC_TIMER) > 0) {  		if (pause) @@ -983,7 +984,7 @@ BaseScummFile *Sound::openSfxFile() {  }  bool Sound::isSfxFinished() const { -	return !_vm->_mixer->hasActiveChannelOfType(Audio::Mixer::kSFXSoundType); +	return !_mixer->hasActiveChannelOfType(Audio::Mixer::kSFXSoundType);  }  // We use a real timer in an attempt to get better sync with CD tracks. This is diff --git a/engines/scumm/sound.h b/engines/scumm/sound.h index 83607d3dd3..bda4fdd273 100644 --- a/engines/scumm/sound.h +++ b/engines/scumm/sound.h @@ -27,6 +27,10 @@  #include "sound/mixer.h"  #include "scumm/saveload.h" +namespace Audio { +class Mixer; +} +  namespace Scumm {  class ScummEngine; @@ -52,6 +56,7 @@ public:  protected:  	ScummEngine *_vm; +	Audio::Mixer *_mixer;  	int16 _soundQuePos, _soundQue[0x100];  	int16 _soundQue2Pos; @@ -85,7 +90,7 @@ public:  	byte _sfxMode;  public: -	Sound(ScummEngine *parent); +	Sound(ScummEngine *parent, Audio::Mixer *mixer);  	virtual ~Sound();  	virtual void addSoundToQueue(int sound, int heOffset = 0, int heChannel = 0, int heFlags = 0);  	virtual void addSoundToQueue2(int sound, int heOffset = 0, int heChannel = 0, int heFlags = 0); diff --git a/engines/sword2/controls.cpp b/engines/sword2/controls.cpp index b1eb7ad932..f9665c4be8 100644 --- a/engines/sword2/controls.cpp +++ b/engines/sword2/controls.cpp @@ -1003,7 +1003,7 @@ void OptionsDialog::onAction(Widget *widget, int result) {  	if (widget == _musicSwitch) {  		_vm->_sound->muteMusic(result != 0);  	} else if (widget == _musicSlider) { -		_vm->_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, result); +		_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, result);  		_vm->_sound->muteMusic(result == 0);  		_musicSwitch->setValue(result != 0);  	} else if (widget == _speechSlider) { diff --git a/sound/audiocd.cpp b/sound/audiocd.cpp index 4c07bf4b43..3a7c08959f 100644 --- a/sound/audiocd.cpp +++ b/sound/audiocd.cpp @@ -68,6 +68,8 @@ AudioCDManager::AudioCDManager() {  	memset(_cachedTracks, 0, sizeof(_cachedTracks));  	memset(_trackInfo, 0, sizeof(_trackInfo));  	_currentCache = 0; +	_mixer = g_system->getMixer(); +	assert(_mixer);  }  void AudioCDManager::play(int track, int numLoops, int startFrame, int duration) { @@ -83,9 +85,9 @@ void AudioCDManager::play(int track, int numLoops, int startFrame, int duration)  		_cd.duration = duration;  		if (index >= 0) { -			g_engine->_mixer->stopHandle(_cd.handle); +			_mixer->stopHandle(_cd.handle);  			_cd.playing = true; -			_trackInfo[index]->play(g_engine->_mixer, &_cd.handle, _cd.start, _cd.duration); +			_trackInfo[index]->play(_mixer, &_cd.handle, _cd.start, _cd.duration);  		} else {  			g_system->playCD(track, numLoops, startFrame, duration);  			_cd.playing = false; @@ -95,7 +97,7 @@ void AudioCDManager::play(int track, int numLoops, int startFrame, int duration)  void AudioCDManager::stop() {  	if (_cd.playing) { -		g_engine->_mixer->stopHandle(_cd.handle); +		_mixer->stopHandle(_cd.handle);  		_cd.playing = false;  	} else {  		g_system->stopCD(); @@ -109,16 +111,16 @@ bool AudioCDManager::isPlaying() const {  void AudioCDManager::updateCD() {  	if (_cd.playing) {  		// If the sound handle is 0, then playback stopped. -		if (!g_engine->_mixer->isSoundHandleActive(_cd.handle)) { +		if (!_mixer->isSoundHandleActive(_cd.handle)) {  			// If playback just stopped, check if the current track is supposed  			// to be repeated, and if that's the case, play it again. Else, stop  			// the CD explicitly.  			if (_cd.numLoops == -1 || --_cd.numLoops > 0) {  				int index = getCachedTrack(_cd.track);  				assert(index >= 0); -				_trackInfo[index]->play(g_engine->_mixer, &_cd.handle, _cd.start, _cd.duration); +				_trackInfo[index]->play(_mixer, &_cd.handle, _cd.start, _cd.duration);  			} else { -				g_engine->_mixer->stopHandle(_cd.handle); +				_mixer->stopHandle(_cd.handle);  				_cd.playing = false;  			}  		} diff --git a/sound/audiocd.h b/sound/audiocd.h index 2083ffdf39..837edcff82 100644 --- a/sound/audiocd.h +++ b/sound/audiocd.h @@ -31,9 +31,10 @@  namespace Audio { +  class DigitalTrackInfo {  public: -	virtual void play(Audio::Mixer *mixer, Audio::SoundHandle *handle, int startFrame, int duration) = 0; +	virtual void play(Mixer *mixer, SoundHandle *handle, int startFrame, int duration) = 0;  	virtual ~DigitalTrackInfo() { }  }; @@ -65,7 +66,7 @@ private:  private:  	/* used for emulated CD music */  	struct ExtStatus : Status { -		Audio::SoundHandle handle; +		SoundHandle handle;  	};  	ExtStatus _cd; @@ -81,6 +82,7 @@ private:  	DigitalTrackInfo *_trackInfo[CACHE_TRACKS];  	int _currentCache; +	Mixer	*_mixer;  };  /** Shortcut for accessing the audio CD manager. */ diff --git a/sound/mididrv.cpp b/sound/mididrv.cpp index ea738dba0b..8c2a64f808 100644 --- a/sound/mididrv.cpp +++ b/sound/mididrv.cpp @@ -26,6 +26,7 @@  #include "engines/engine.h"  #include "common/config-manager.h"  #include "common/str.h" +#include "common/system.h"  #include "common/util.h"  #include "sound/mididrv.h" @@ -211,9 +212,9 @@ MidiDriver *MidiDriver::createMidi(int midiDriver) {  	switch (midiDriver) {  	case MD_NULL:      return MidiDriver_NULL_create(); -	case MD_ADLIB:     return MidiDriver_ADLIB_create(g_engine->_mixer); +	case MD_ADLIB:     return MidiDriver_ADLIB_create(g_system->getMixer()); -	case MD_TOWNS:     return MidiDriver_YM2612_create(g_engine->_mixer); +	case MD_TOWNS:     return MidiDriver_YM2612_create(g_system->getMixer());  	// Right now PC Speaker and PCjr are handled  	// outside the MidiDriver architecture, so @@ -222,11 +223,11 @@ MidiDriver *MidiDriver::createMidi(int midiDriver) {  	case MD_PCJR:      return NULL;  #ifdef USE_FLUIDSYNTH -	case MD_FLUIDSYNTH:	return MidiDriver_FluidSynth_create(g_engine->_mixer); +	case MD_FLUIDSYNTH:	return MidiDriver_FluidSynth_create(g_system->getMixer());  #endif  #ifdef USE_MT32EMU -	case MD_MT32:      return MidiDriver_MT32_create(g_engine->_mixer); +	case MD_MT32:      return MidiDriver_MT32_create(g_system->getMixer());  #endif  #if defined(PALMOS_MODE) diff --git a/sound/mixer.h b/sound/mixer.h index f1cbc0586c..34fd54c0ed 100644 --- a/sound/mixer.h +++ b/sound/mixer.h @@ -39,8 +39,8 @@ class Channel;  class Mixer;  class SoundHandle { -	friend class Audio::Channel; -	friend class Audio::Mixer; +	friend class Channel; +	friend class Mixer;  	uint32 _val;  public:  	inline SoundHandle() : _val(0xFFFFFFFF) {} diff --git a/sound/mpu401.cpp b/sound/mpu401.cpp index 2d1285e2f7..22c4344bae 100644 --- a/sound/mpu401.cpp +++ b/sound/mpu401.cpp @@ -21,6 +21,7 @@  #include "common/stdafx.h"  #include "sound/mpu401.h" +#include "common/system.h"  #include "common/timer.h"  #include "common/util.h"	// for ARRAYSIZE @@ -100,7 +101,7 @@ MidiDriver_MPU401::MidiDriver_MPU401() :  void MidiDriver_MPU401::close() {  	if (_timer_proc) -		Common::g_timer->removeTimerProc(_timer_proc); +		g_system->getTimerManager()->removeTimerProc(_timer_proc);  	_timer_proc = 0;  	for (int i = 0; i < 16; ++i)  		send(0x7B << 8 | 0xB0 | i); @@ -134,9 +135,9 @@ MidiChannel *MidiDriver_MPU401::allocateChannel() {  void MidiDriver_MPU401::setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) {  	if (!_timer_proc || !timer_proc) {  		if (_timer_proc) -			Common::g_timer->removeTimerProc(_timer_proc); +			g_system->getTimerManager()->removeTimerProc(_timer_proc);  		_timer_proc = timer_proc;  		if (timer_proc) -			Common::g_timer->installTimerProc(timer_proc, 10000, timer_param); +			g_system->getTimerManager()->installTimerProc(timer_proc, 10000, timer_param);  	}  } diff --git a/sound/softsynth/mt32.cpp b/sound/softsynth/mt32.cpp index 4af039287e..70ce6bcf8b 100644 --- a/sound/softsynth/mt32.cpp +++ b/sound/softsynth/mt32.cpp @@ -75,7 +75,7 @@ public:  	int getRate() const { return _outputRate; }  }; -class MT32File: public MT32Emu::File { +class MT32File : public MT32Emu::File {  	Common::File file;  public:  	bool open(const char *filename, OpenMode mode) {  | 
