diff options
Diffstat (limited to 'engines/access/sound.cpp')
-rw-r--r-- | engines/access/sound.cpp | 51 |
1 files changed, 32 insertions, 19 deletions
diff --git a/engines/access/sound.cpp b/engines/access/sound.cpp index fdc606b43e..7d1885955a 100644 --- a/engines/access/sound.cpp +++ b/engines/access/sound.cpp @@ -32,17 +32,12 @@ namespace Access { SoundManager::SoundManager(AccessEngine *vm, Audio::Mixer *mixer) : _vm(vm), _mixer(mixer) { - _music = nullptr; - _tempMusic = nullptr; - _musicRepeat = false; _playingSound = false; _isVoice = false; } SoundManager::~SoundManager() { clearSounds(); - delete _music; - delete _tempMusic; } void SoundManager::clearSounds() { @@ -138,33 +133,51 @@ void SoundManager::loadSounds(Common::Array<RoomInfo::SoundIdent> &sounds) { } } -void SoundManager::midiPlay() { - // TODO +void SoundManager::stopSound() { + // TODO: REALSTOPSND or BLASTSTOPSND or STOP_SOUNDG + warning("TODO: stopSound"); +} + +void SoundManager::freeSounds() { + stopSound(); + clearSounds(); +} + +/******************************************************************************************/ + +MusicManager::MusicManager(AccessEngine *vm, Audio::Mixer *mixer) : _vm(vm), _mixer(mixer) { + _music = nullptr; + _tempMusic = nullptr; + _musicRepeat = false; +} + +MusicManager::~MusicManager() { + delete _music; + delete _tempMusic; } -bool SoundManager::checkMidiDone() { +void MusicManager::midiPlay() { // TODO - return true; } -void SoundManager::midiRepeat() { +bool MusicManager::checkMidiDone() { // TODO + return true; } -void SoundManager::stopSong() { +void MusicManager::midiRepeat() { // TODO } -void SoundManager::stopSound() { - // TODO: REALSTOPSND or BLASTSTOPSND or STOP_SOUNDG +void MusicManager::stopSong() { + // TODO } -void SoundManager::freeSounds() { - stopSound(); - clearSounds(); +Resource *MusicManager::loadMusic(int fileNum, int subfile) { + return _vm->_files->loadFile(fileNum, subfile); } -void SoundManager::newMusic(int musicId, int mode) { +void MusicManager::newMusic(int musicId, int mode) { if (mode == 1) { stopSong(); freeMusic(); @@ -177,11 +190,11 @@ void SoundManager::newMusic(int musicId, int mode) { _musicRepeat = (mode == 2); _tempMusic = _music; stopSong(); - _music = loadSound(97, musicId); + _music = loadMusic(97, musicId); } } -void SoundManager::freeMusic() { +void MusicManager::freeMusic() { delete _music; _music = nullptr; } |