Обновление кодека и метаинформации для FLAC-файлов: различия между версиями
Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Rain (обсуждение | вклад) |
Rain (обсуждение | вклад) |
||
Строка 29: | Строка 29: | ||
---- | ---- | ||
[[Category:FLAC]][[Category:Скрипт]][[Category:Bash-скрипт]][[Category:Теги в аудиофайлах]][[CMCS]] | [[Category:FLAC]][[Category:Скрипт]][[Category:Bash-скрипт]][[Category:Теги в аудиофайлах]][[Category:CMCS]] |
Версия 18:55, 21 февраля 2010
Скрипт для обновления версии кодека и метатегов в 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