aboutsummaryrefslogtreecommitdiff
path: root/engines/access/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/access/sound.cpp')
-rw-r--r--engines/access/sound.cpp51
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;
}