Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

cd_audio.h

Go to the documentation of this file.
00001 #ifndef header_cd_audio
00002 #define header_cd_audio
00003 
00005 
00006 #include <string>
00007 #include <vector>
00008 
00009 class CL_CDDrive
00010 //: CD drive audio interface.
00011 // <p>Use this class to control the CDROM drive in your computer.</p>
00012 {
00013 public:
00014         virtual ~CL_CDDrive() { ; }
00015 
00016         virtual bool init()=0;
00017         // Call this one to initialize the cd drive.
00018 
00019         virtual std::string get_drive_path()=0;
00020         // Get the path of the CD drive. (what is this, starch?)
00021 
00022         virtual std::string get_cd_name()=0;
00023         // Get the name of the CD.
00024 
00025         virtual int get_num_tracks()=0;
00026         // Get the number of tracks available on the cd.
00027 
00028         virtual bool is_playing()=0;
00029         // Returns true if the CD drive is playing.
00030         
00031         virtual int get_cur_track()=0;
00032         // Returns the current track.
00033 
00034         virtual int get_cur_frame()=0;
00035         // Returns the current frame on the track.
00036 
00037         virtual bool play_tracks(int track, int end_track=0)=0;
00038         // Play from track 'track' til track 'end_track'.
00041 
00042         virtual bool play_frames(int frame, int end_frame=0)=0;
00043         // Play from frame 'frame' to 'end_frame'.
00046 
00047         virtual bool play_track(int track)=0;
00048         // Play track 'track'. Returns true if successful.
00049 
00050         virtual void stop()=0;
00051         // Stop playing.
00052 
00053         virtual void pause()=0;
00054         // Pause the playback.
00055 
00056         virtual void resume()=0;
00057         // Resume the playback.
00058 };
00059 
00060 class CL_CDAudio
00061 //: CD Audio interface.
00062 {
00063 public:
00064         static std::vector<CL_CDDrive *> cd_drives;
00065         // List of CD drives available.
00066 };
00067 
00068 #endif

Generated at Wed Apr 4 19:53:59 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001