244 const char * cuesheet = p_info.meta_get(
"cuesheet",0);
245 if (cuesheet == NULL) {
258 }
catch(exception_io_data
const & e) {
264 const double length = p_info.get_length();
266 if (iter->m_index_list.start() > length) {
267 console::info(
"Invalid cuesheet - index outside allowed range");
277 entry.
m_file = iter->m_file;
284 if (end <= begin)
throw exception_io_data();
290 for(
t_size metawalk = 0, metacount = p_info.meta_get_count(); metawalk < metacount; ++metawalk) {
291 const char * name = p_info.meta_enum_name(metawalk);
292 const t_size valuecount = p_info.meta_enum_value_count(metawalk);
294 __set_tag_global_field_relay relay(p_info,metawalk);
301 for(
t_size metawalk = 0, metacount = p_info.meta_get_count(); metawalk < metacount; ++metawalk) {
302 const char * name = p_info.meta_enum_name(metawalk);
303 const t_size valuecount = p_info.meta_enum_value_count(metawalk);
void enumerate(t_callback &p_callback) const
t_cuesheet_index_list m_index_list
void from_info(const file_info &p_info)
static bool is_global_meta_entry(const char *p_name)
void info(const char *p_message)
Differences between chain_list_v2_t<> and old chain_list_t<>: Iterators pointing to removed items as...
file_info_record_helper::file_info_record m_info
void complain(const char *what, const char *msg)
void transfer_meta_entry(const char *p_name, const file_info &p_info, t_size p_index)
t_storage_value & find_or_add(_t_key const &p_key)
const t_storage_value * query_ptr(const _t_key &p_key) const
static bool resolve_cue_meta_name(const char *p_name, pfc::string_base &p_outname, unsigned &p_tracknumber)
void set_length(double p_length)
void from_info_overwrite_info(const file_info &p_info)
void set(const _t_key &p_key, const _t_value &p_value)
static bool is_reserved_meta_entry(const char *p_name)
void parse_full(const char *p_cuesheet, cue_creator::t_entry_list &p_out)
Throws exception_bad_cuesheet on failure.
string8_t< pfc::alloc_fast_aggressive > string8_fastalloc