Go to the documentation of this file.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:
00054 CL_CDDrive();
00055
00056 virtual ~CL_CDDrive();
00057
00061
00062 public:
00064 static std::vector<CL_CDDrive> &get_drives();
00065
00067 bool is_null() const { return !impl; }
00068
00070 void throw_if_null() const;
00071
00073 CL_String8 get_drive_path();
00074
00076 CL_String8 get_cd_name();
00077
00079 int get_num_tracks();
00080
00082 bool is_playing();
00083
00085 int get_cur_track();
00086
00088 int get_cur_frame();
00089
00093
00094 public:
00099 bool play_tracks(int track, int end_track=0);
00100
00105 bool play_frames(int frame, int end_frame=0);
00106
00108 bool play_track(int track);
00109
00111 void stop();
00112
00114 void pause();
00115
00117 void resume();
00118
00122
00123 private:
00124 CL_SharedPtr<CL_CDDrive_Impl> impl;
00126 };
00127