Обновление кодека и метаинформации для FLAC-файлов: различия между версиями

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
(Оказалось быстрее)
Строка 1: Строка 1:
Скрипт для обновления версии кодека и метатегов в FLAC-файлах (к примеру, надо обновить кодек с v.1.1.0 до v.1.2.1 либо создать seektable для файлов, если, к примеру, есть проблемы с проматыванием трека в Amarok). Указываем каталог, где лежат FLAC-файлы либо указываем нужные файлы как параметры скрипта, для каждого из них скрипт декодирует и одновременно кодирует получившийся поток в файл с расширением '''new''', считывает теги из старого и записывает в новый файл, потом перемещает новый файл на место старого.
Скрипт для обновления версии кодека и метатегов в FLAC-файлах (к примеру, надо обновить кодек с v.1.1.0 до v.1.2.1 либо создать seektable для файлов, если, к примеру, есть проблемы с проматыванием трека в Amarok). Указываем каталог, где лежат FLAC-файлы либо указываем нужные файлы как параметры скрипта; для каждого из них скрипт декодирует и одновременно кодирует получившийся поток в новый файл, копирует теги, потом перемещает новый файл на место старого.


----
----
Строка 6: Строка 6:
# By Rain ;)
# By Rain ;)


updatefile() {
[ -z "${1}" ] && find ./ -type f -iname '*.flac' -exec flac -V8f {} \; || flac -V8f "${@}"
        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
</source>
</source>
----
----


[[Category:FLAC]][[Category:Скрипт]][[Category:Bash-скрипт]][[Category:Теги в аудиофайлах]][[Category:CMCS]]
[[Category:FLAC]][[Category:Скрипт]][[Category:Bash-скрипт]][[Category:Теги в аудиофайлах]][[Category:CMCS]]

Версия 11:20, 1 декабря 2011

Скрипт для обновления версии кодека и метатегов в FLAC-файлах (к примеру, надо обновить кодек с v.1.1.0 до v.1.2.1 либо создать seektable для файлов, если, к примеру, есть проблемы с проматыванием трека в Amarok). Указываем каталог, где лежат FLAC-файлы либо указываем нужные файлы как параметры скрипта; для каждого из них скрипт декодирует и одновременно кодирует получившийся поток в новый файл, копирует теги, потом перемещает новый файл на место старого.


#!/bin/bash
# By Rain ;)

[ -z "${1}" ] && find ./ -type f -iname '*.flac' -exec flac -V8f {} \; || flac -V8f "${@}"