00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00031
00032 #pragma once
00033
00034 #include "api_sound.h"
00035 #include "../Core/System/sharedptr.h"
00036 #include "../Core/Text/string_types.h"
00037 #include <vector>
00038
00039 class CL_CDDrive_Impl;
00040
00045 class CL_API_SOUND CL_CDDrive
00046 {
00049
00050 public:
00052 CL_CDDrive();
00053
00057 CL_CDDrive(const CL_CDDrive ©);
00058
00059 virtual ~CL_CDDrive();
00060
00064
00065 public:
00067 static std::vector<CL_CDDrive> &get_drives();
00068
00070 CL_String8 get_drive_path();
00071
00073 CL_String8 get_cd_name();
00074
00076 int get_num_tracks();
00077
00079 bool is_playing();
00080
00082 int get_cur_track();
00083
00085 int get_cur_frame();
00086
00090
00091 public:
00096 bool play_tracks(int track, int end_track=0);
00097
00102 bool play_frames(int frame, int end_frame=0);
00103
00105 bool play_track(int track);
00106
00108 void stop();
00109
00111 void pause();
00112
00114 void resume();
00115
00119
00120 private:
00121 CL_SharedPtr<CL_CDDrive_Impl> impl;
00123 };
00124