- Migrate album_metadata_save, album_rename & album_renum,

- Add album_metadata_save, album_rename & album_renum completion scripts.
This commit is contained in:
2026-04-12 17:40:53 +02:00
parent 6f09c6c806
commit c314a9ec76
12 changed files with 780 additions and 232 deletions

View File

@@ -192,11 +192,11 @@ mt_fix_file_name()
mt_tagtab_alloc()
{
unset tagtab
declare -Ag tagtab
unset TAGTAB
declare -Ag TAGTAB
declare -g taglist
taglist=":"
declare -g TAGLIST
TAGLIST=":"
}
@@ -212,7 +212,7 @@ mt_tag_exist()
local tag="$1"
echo ${taglist} | grep -e ":${tag}:"
echo ${TAGLIST} | grep -e ":${tag}:"
}
@@ -247,17 +247,17 @@ mt_tagtab_read()
if [[ "$(mt_tag_exist ${tag})" == "" ]]
then
taglist="${taglist}${tag}:"
TAGLIST="${TAGLIST}${tag}:"
fi
if [[ ( "${mode}" != "FACTORING" ) || ( "${tag}" =~ ^${MT_NODEF_TAG_COND}$ ) || ( "${tagtab["0,${tag}"]}" != "" ) ]]
if [[ ( "${mode}" != "FACTORING" ) || ( "${tag}" =~ ^${MT_NODEF_TAG_COND}$ ) || ( -v "TAGTAB[\"0,${tag}\"]}" ) ]]
then
if [[ "${tagtab["0,${tag}"]}" != "${value}" ]]
if [[ ( ! -v "TAGTAB[\"0,${tag}\"]}" ) || ( "${TAGTAB["0,${tag}"]}" != "${value}") ]]
then
tagtab["${track_id},${tag}"]="$value"
TAGTAB["${track_id},${tag}"]="$value"
fi
else
tagtab["0,${tag}"]="${value}"
TAGTAB["0,${tag}"]="${value}"
fi
fi
done < ${tmp_file}
@@ -278,17 +278,17 @@ mt_tagtab_read()
if [[ "$(mt_tag_exist ${tag})" == "" ]]
then
taglist="${taglist}${tag}:"
TAGLIST="${TAGLIST}${tag}:"
fi
if [[ ( "${mode}" != "FACTORING" ) || ( "${tag}" =~ ^${MT_NODEF_TAG_COND}$ ) || ( "${tagtab["0,${tag}"]}" != "" ) ]]
if [[ ( "${mode}" != "FACTORING" ) || ( "${tag}" =~ ^${MT_NODEF_TAG_COND}$ ) || ( "${TAGTAB["0,${tag}"]}" != "" ) ]]
then
if [[ "${tagtab["0,${tag}"]}" != "${value}" ]]
if [[ "${TAGTAB["0,${tag}"]}" != "${value}" ]]
then
tagtab["${track_id},${tag}"]="$value"
TAGTAB["${track_id},${tag}"]="$value"
fi
else
tagtab["0,${tag}"]="${value}"
TAGTAB["0,${tag}"]="${value}"
fi
fi
done < ${tmp_file}
@@ -299,9 +299,9 @@ mt_tagtab_read()
;;
esac
if [[ ${taglist} == ":" ]]
if [[ ${TAGLIST} == ":" ]]
then
taglist=""
TAGLIST=""
fi
\rm -f ${tmp_file}
@@ -332,7 +332,7 @@ mt_tagtab_load()
case "${tag}"
in
@${MT_FLAC_TAG_COND})
tagtab["${track_id},${tag}"]="$value"
TAGTAB["${track_id},${tag}"]="$value"
;;
DEF)
@@ -360,6 +360,26 @@ mt_tagtab_load()
#-----------------------------------------------------------------------------------------------------------------------------------
# TagTab Full Dump
#-----------------------------------------------------------------------------------------------------------------------------------
mt_tagtab_full_dump()
{
echo "--- TAGTAB Dump ---"
for key in "${!TAGTAB[@]}"
do
printf "TAGTAB[%q]=\"%s\"\n" "$key" "${TAGTAB[$key]}"
done
echo "--- End Dump ---"
}
#-----------------------------------------------------------------------------------------------------------------------------------
# TagTab Dump
#-----------------------------------------------------------------------------------------------------------------------------------
@@ -376,7 +396,7 @@ mt_tagtab_dump()
;;
"PASSTHROUGH")
dump_list="${taglist//:/ }"
dump_list="${TAGLIST//:/ }"
;;
"CUSTOM")
@@ -386,12 +406,11 @@ mt_tagtab_dump()
esac
for tag in ${dump_list}
do
if [[ "${tagtab["${track_id},${tag}"]}" != "" ]]
if [[ -v "TAGTAB[\"${track_id},${tag}\"]" ]]
then
echo "${tag}=${tagtab["${track_id},${tag}"]}"
echo "${tag}=${TAGTAB["${track_id},${tag}"]}"
fi
done
}
@@ -411,11 +430,11 @@ mt_tag_get()
local tag=$3
return="${tagtab["${track_id},${tag}"]}"
return="${TAGTAB["${track_id},${tag}"]}"
if [[ "${return}" == "" ]]
then
return="${tagtab["0,${tag}"]}"
return="${TAGTAB["0,${tag}"]}"
if [[ "${return}" == "" ]] && [[ "${tag}" == "TRACKNUMBER" ]]
then
@@ -446,16 +465,16 @@ mt_tag_save()
for tag in ${MT_FLAC_TAG_LIST}
do
# if [[ "${tagtab["${track_id},${tag}"]}" == "" ]]
# if [[ "${TAGTAB["${track_id},${tag}"]}" == "" ]]
# then
# value="${tagtab["0,${tag}"]}"
# value="${TAGTAB["0,${tag}"]}"
#
# if [[ "${value}" == "" ]] && [[ "${tag}" == "TRACKNUMBER" ]]
# then
# value="$(printf "%02d" ${track_id})"
# fi
# else
# value="${tagtab["${track_id},${tag}"]}"
# value="${TAGTAB["${track_id},${tag}"]}"
# fi
mt_tag_get value "${track_id}" "${tag}"