00001 struct t_cuesheet_index_list 00002 { 00003 enum {count = 100}; 00004 inline t_cuesheet_index_list() {reset();} 00005 inline t_cuesheet_index_list(const t_cuesheet_index_list & p_source) {*this=p_source;} 00006 void reset() {for(unsigned n=0;n<count;n++) m_positions[n]=0;} 00007 00008 void to_infos(file_info & p_out) const; 00009 00010 //returns false when there was nothing relevant in infos 00011 bool from_infos(file_info const & p_in,double p_base); 00012 00013 double m_positions[count]; 00014 00015 inline double start() const {return m_positions[1];} 00016 bool is_empty() const; 00017 00018 bool is_valid() const; 00019 }; 00020 00021 unsigned cuesheet_parse_index_time_ticks_e(const char * p_string,t_size p_length); 00022 double cuesheet_parse_index_time_e(const char * p_string,t_size p_length); 00023 00024 class cuesheet_format_index_time 00025 { 00026 public: 00027 cuesheet_format_index_time(double p_time); 00028 inline operator const char*() const {return m_buffer;} 00029 private: 00030 pfc::string_formatter m_buffer; 00031 };
1.5.5