Обновление кодека и метаинформации для FLAC-файлов
Материал из Linux Wiki
Версия от 18:25, 29 сентября 2009; Rain (обсуждение | вклад)
Скрипт для обновления версии кодека и метатегов в FLAC-файлах (к примеру, надо обновить кодек с v.1.1.0 до v.1.2.1 либо создать seektable для файлов, если, к примеру, есть проблемы с проматыванием трека в Amarok). Указываем каталог, где лежат FLAC-файлы либо указываем нужные файлы как параметры скрипта, для каждого из них скрипт декодирует и одновременно кодирует получившийся поток в файл с расширением new, считывает теги из старого и записывает в новый файл, потом перемещает новый файл на место старого.
#!/bin/bash
# By Rain ;)
updatefile() {
echo -e "\n\e[35mWorking on file \e[36m${1}\e[0m"
flac -sdc "${1}" | flac --best - -Vo "${1}.new" &&\
metaflac --export-tags-to=- "${1}" | metaflac --import-tags-from=- "${1}.new" &&\
mv "${1}.new" "${1}"
}
if [ -z "${1}" ]
then
find ./ -iname '*.flac' |
while read file
do
updatefile "${file}"
done
else
for file in "${@}"
do
updatefile "${file}"
done
fi