add last backwards-compatible version

This commit is contained in:
2021-12-14 00:33:46 -07:00
parent 68b10d413b
commit b0dd3f07f3
335 changed files with 4746 additions and 19627 deletions

View File

@@ -26,7 +26,6 @@ namespace {
void operator() (unsigned p_trackno,const track_record & p_record) {
if (p_trackno > 0) {
cue_creator::t_entry_list::iterator iter = m_entries.insert_last();
iter->m_trackType = "AUDIO";
iter->m_file = p_record.m_file;
iter->m_flags = p_record.m_flags;
iter->m_index_list = p_record.m_index_list;
@@ -124,18 +123,9 @@ namespace {
};
};
static bool meta_value_equals(const char* v1, const char* v2, bool asNumber) {
if (asNumber) {
// Special fix: leading zeros on track numbers
while( *v1 == '0' ) ++ v1;
while( *v2 == '0' ) ++ v2;
}
return strcmp(v1,v2) == 0;
}
static void strip_redundant_track_meta(unsigned p_tracknumber,const file_info & p_cueinfo,file_info_record::t_meta_map & p_meta,const char * p_metaname, bool asNumber) {
const size_t metaindex = p_cueinfo.meta_find(p_metaname);
if (metaindex == SIZE_MAX) return;
static void strip_redundant_track_meta(unsigned p_tracknumber,const file_info & p_cueinfo,file_info_record::t_meta_map & p_meta,const char * p_metaname) {
t_size metaindex = p_cueinfo.meta_find(p_metaname);
if (metaindex == ~0) return;
pfc::string_formatter namelocal;
build_cue_meta_name(p_metaname,p_tracknumber,namelocal);
{
@@ -144,8 +134,7 @@ static void strip_redundant_track_meta(unsigned p_tracknumber,const file_info &
file_info_record::t_meta_value::const_iterator iter = val->first();
for(t_size valwalk = 0, valcount = p_cueinfo.meta_enum_value_count(metaindex); valwalk < valcount; ++valwalk) {
if (iter.is_empty()) return;
if (!meta_value_equals(*iter,p_cueinfo.meta_enum_value(metaindex,valwalk), asNumber)) return;
if (strcmp(*iter,p_cueinfo.meta_enum_value(metaindex,valwalk)) != 0) return;
++iter;
}
if (!iter.is_empty()) return;
@@ -192,8 +181,8 @@ void embeddedcue_metadata_manager::get_tag(file_info & p_info) const {
//strip redundant titles and tracknumbers that the cuesheet already contains
for(cue_creator::t_entry_list::const_iterator iter = entries.first(); iter.is_valid(); ++iter) {
strip_redundant_track_meta(iter->m_track_number,iter->m_infos,output.m_meta,"tracknumber", true);
strip_redundant_track_meta(iter->m_track_number,iter->m_infos,output.m_meta,"title", false);
strip_redundant_track_meta(iter->m_track_number,iter->m_infos,output.m_meta,"tracknumber");
strip_redundant_track_meta(iter->m_track_number,iter->m_infos,output.m_meta,"title");
}