aboutsummaryrefslogtreecommitdiff
path: root/backends/audiocd
diff options
context:
space:
mode:
authorAlejandro Marzini2010-06-09 20:09:57 +0000
committerAlejandro Marzini2010-06-09 20:09:57 +0000
commite991cd8c53ad21af037df1e0a16816aeea2d0fe2 (patch)
treef647f636fc3898c150db61de50c3522056a65d17 /backends/audiocd
parent4177a1e16df7712c081e41a8eabf0b7d4694230b (diff)
downloadscummvm-rg350-e991cd8c53ad21af037df1e0a16816aeea2d0fe2.tar.gz
scummvm-rg350-e991cd8c53ad21af037df1e0a16816aeea2d0fe2.tar.bz2
scummvm-rg350-e991cd8c53ad21af037df1e0a16816aeea2d0fe2.zip
- Revised abstract AudioCDManager.
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem. - Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL. svn-id: r49548
Diffstat (limited to 'backends/audiocd')
-rw-r--r--backends/audiocd/abstract-audiocd.h8
-rw-r--r--backends/audiocd/default/default-audiocd.h5
2 files changed, 9 insertions, 4 deletions
diff --git a/backends/audiocd/abstract-audiocd.h b/backends/audiocd/abstract-audiocd.h
index 7d61c0092b..07d428fce6 100644
--- a/backends/audiocd/abstract-audiocd.h
+++ b/backends/audiocd/abstract-audiocd.h
@@ -40,11 +40,19 @@ public:
int numLoops;
};
+ // Emulated CD functions, engines should call these functions
virtual void play(int track, int numLoops, int startFrame, int duration, bool only_emulate = false) = 0;
virtual void stop() = 0;
virtual bool isPlaying() const = 0;
virtual void update() = 0;
virtual Status getStatus() const = 0;
+
+ // Real CD functions. Let Subclasses implement the real code
+ virtual bool openCD(int drive) { return false; }
+ virtual void updateCD() {}
+ virtual bool pollCD() const { return false; }
+ virtual void playCD(int track, int num_loops, int start_frame, int duration) {}
+ virtual void stopCD() {}
};
#endif
diff --git a/backends/audiocd/default/default-audiocd.h b/backends/audiocd/default/default-audiocd.h
index 5125f4e4e8..af75572788 100644
--- a/backends/audiocd/default/default-audiocd.h
+++ b/backends/audiocd/default/default-audiocd.h
@@ -34,22 +34,19 @@ public:
DefaultAudioCDManager();
virtual ~DefaultAudioCDManager() {}
- // Emulated CD functions, engines should call this functions
void play(int track, int numLoops, int startFrame, int duration, bool only_emulate = false);
void stop();
bool isPlaying() const;
void update();
virtual Status getStatus() const; // Subclasses should override for better status results
-protected:
-
- // Real CD functions. Let Subclasses implement the real code
virtual bool openCD(int drive) { return false; }
virtual void updateCD() {}
virtual bool pollCD() const { return false; }
virtual void playCD(int track, int num_loops, int start_frame, int duration) {}
virtual void stopCD() {}
+protected:
Audio::SoundHandle _handle;
bool _emulating;