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

cdaudio_linux.h

Go to the documentation of this file.
00001 
00002 #ifndef header_cdaudio_linux
00003 #define header_cdaudio_linux
00004 
00005 #include "API/Sound/cd_audio.h"
00006 
00007 struct cdrom_tocentry;
00008 
00009 class CL_CDDrive_Linux : public CL_CDDrive
00010 {
00011 public:
00012         static void init_cdaudio();
00013 
00014         CL_CDDrive_Linux(const char *filename);
00015         virtual ~CL_CDDrive_Linux();
00016 
00017         virtual bool init();
00018 
00019         virtual std::string get_drive_path();
00020         virtual std::string get_cd_name();
00021 
00022         virtual int get_num_tracks();
00023 
00024         virtual bool is_playing();
00025         virtual int get_cur_track();
00026         virtual int get_cur_frame();
00027 
00028         virtual bool play_tracks(int track, int end_track);
00029         virtual bool play_frames(int frame, int end_frame);
00030         virtual bool play_track(int track);
00031 
00032         virtual void stop();
00033         virtual void pause();
00034         virtual void resume();
00035 
00036 private:
00037         std::string filename;
00038         int file_handle;
00039         
00040         std::string cd_name;
00041         struct STrack
00042         {
00043             int start_lba;
00044             int track_length;
00045         bool is_audio;
00046         };
00047         
00048         std::vector<STrack> tracks;
00049         int num_tracks;
00050         
00051         int first_track;
00052         int last_track;
00053         
00054         bool readtoc();
00055         bool readtocentry(int track_no,struct cdrom_tocentry* track_info);
00056 };
00057 
00058 #endif

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