aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Input/in_cdda/CDPlay.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Plugins/Input/in_cdda/CDPlay.h')
-rw-r--r--Src/Plugins/Input/in_cdda/CDPlay.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/Src/Plugins/Input/in_cdda/CDPlay.h b/Src/Plugins/Input/in_cdda/CDPlay.h
new file mode 100644
index 00000000..49de6601
--- /dev/null
+++ b/Src/Plugins/Input/in_cdda/CDPlay.h
@@ -0,0 +1,34 @@
+#ifndef NULLSOFT_CDPLAYH
+#define NULLSOFT_CDPLAYH
+
+class C_CDPlay
+{
+public:
+ virtual ~C_CDPlay() { }
+
+ virtual int play(wchar_t drive, int track)=0;
+ virtual void stop()=0;
+ virtual void pause()=0;
+ virtual void unpause()=0;
+ virtual int getlength()=0;
+ virtual int getoutputtime()=0;
+ virtual void setoutputtime(int time_in_ms)=0;
+ virtual void setvolume(int _a_v, int _a_p)=0;
+
+ //called by winampGetExtendedRead_*
+ virtual int open(wchar_t drive, int track) { return 1; }
+ virtual int read(char *dest, int len, int *killswitch) { return 0; }
+
+ // queries if this is the currently playing drive & track, passing track == 0 just means check drive
+ bool IsPlaying(wchar_t drive, int track=0)
+ {
+ if (drive == g_drive && (!track))
+ return true;
+
+ return false;
+ }
+
+ wchar_t g_drive;
+};
+
+#endif \ No newline at end of file