annotate foosdk/sdk/foobar2000/helpers/cuesheet_index_list.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
1 #pragma once
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
2
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
3 unsigned cuesheet_parse_index_time_ticks_e(const char * p_string,t_size p_length);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
4 double cuesheet_parse_index_time_e(const char * p_string,t_size p_length);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
5
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
6 class cuesheet_format_index_time
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
7 {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
8 public:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
9 cuesheet_format_index_time(double p_time);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
10 inline operator const char*() const {return m_buffer;}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
11 private:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
12 pfc::string_formatter m_buffer;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
13 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
14
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
15
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
16 struct t_cuesheet_index_list
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
17 {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
18 enum {count = 100};
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
19 t_cuesheet_index_list() {reset();}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
20 void reset() {for(unsigned n=0;n<count;n++) m_positions[n]=0;}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
21
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
22 void to_infos(file_info & p_out) const;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
23
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
24 //returns false when there was nothing relevant in infos
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
25 bool from_infos(file_info const & p_in,double p_base);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
26
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
27 double m_positions[count];
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
28
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
29 inline double start() const {return m_positions[1];}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
30 inline double pregap() const {return m_positions[1] - m_positions[0];}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
31 bool is_empty() const;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
32
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
33 bool is_valid() const;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
34 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
35