|
1
|
1 #pragma once
|
|
|
2
|
|
|
3 unsigned cuesheet_parse_index_time_ticks_e(const char * p_string,t_size p_length);
|
|
|
4 double cuesheet_parse_index_time_e(const char * p_string,t_size p_length);
|
|
|
5
|
|
|
6 class cuesheet_format_index_time
|
|
|
7 {
|
|
|
8 public:
|
|
|
9 cuesheet_format_index_time(double p_time);
|
|
|
10 inline operator const char*() const {return m_buffer;}
|
|
|
11 private:
|
|
|
12 pfc::string_formatter m_buffer;
|
|
|
13 };
|
|
|
14
|
|
|
15
|
|
|
16 struct t_cuesheet_index_list
|
|
|
17 {
|
|
|
18 enum {count = 100};
|
|
|
19 t_cuesheet_index_list() {reset();}
|
|
|
20 void reset() {for(unsigned n=0;n<count;n++) m_positions[n]=0;}
|
|
|
21
|
|
|
22 void to_infos(file_info & p_out) const;
|
|
|
23
|
|
|
24 //returns false when there was nothing relevant in infos
|
|
|
25 bool from_infos(file_info const & p_in,double p_base);
|
|
|
26
|
|
|
27 double m_positions[count];
|
|
|
28
|
|
|
29 inline double start() const {return m_positions[1];}
|
|
|
30 inline double pregap() const {return m_positions[1] - m_positions[0];}
|
|
|
31 bool is_empty() const;
|
|
|
32
|
|
|
33 bool is_valid() const;
|
|
|
34 };
|
|
|
35
|