aboutsummaryrefslogtreecommitdiff
path: root/backends/audiocd/win32
diff options
context:
space:
mode:
Diffstat (limited to 'backends/audiocd/win32')
-rw-r--r--backends/audiocd/win32/win32-audiocd.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/backends/audiocd/win32/win32-audiocd.cpp b/backends/audiocd/win32/win32-audiocd.cpp
index b3cde308b9..6eff1ef0b3 100644
--- a/backends/audiocd/win32/win32-audiocd.cpp
+++ b/backends/audiocd/win32/win32-audiocd.cpp
@@ -149,13 +149,14 @@ public:
Win32AudioCDManager();
~Win32AudioCDManager();
- bool open();
- void close();
- bool play(int track, int numLoops, int startFrame, int duration, bool onlyEmulate = false);
+ virtual bool open();
+ virtual void close();
+ virtual bool play(int track, int numLoops, int startFrame, int duration, bool onlyEmulate = false,
+ Audio::Mixer::SoundType soundType = Audio::Mixer::kMusicSoundType);
protected:
- bool openCD(int drive);
- bool openCD(const Common::String &drive);
+ virtual bool openCD(int drive);
+ virtual bool openCD(const Common::String &drive);
private:
bool loadTOC();
@@ -254,9 +255,10 @@ void Win32AudioCDManager::close() {
_tocEntries.clear();
}
-bool Win32AudioCDManager::play(int track, int numLoops, int startFrame, int duration, bool onlyEmulate) {
+bool Win32AudioCDManager::play(int track, int numLoops, int startFrame, int duration, bool onlyEmulate,
+ Audio::Mixer::SoundType soundType) {
// Prefer emulation
- if (DefaultAudioCDManager::play(track, numLoops, startFrame, duration, onlyEmulate))
+ if (DefaultAudioCDManager::play(track, numLoops, startFrame, duration, onlyEmulate, soundType))
return true;
// If we're set to only emulate, or have no CD drive, return here
@@ -289,7 +291,7 @@ bool Win32AudioCDManager::play(int track, int numLoops, int startFrame, int dura
_emulating = true;
_mixer->playStream(
- Audio::Mixer::kMusicSoundType,
+ soundType,
&_handle,
Audio::makeLoopingAudioStream(audioStream, start, end, (numLoops < 1) ? numLoops + 1 : numLoops),
-1,