Установить заголовок, содержащий апостроф. Команды с параметром -c
, которые передаются kid3-cli, должны быть заключены в кавычки, если они состоят из нескольких слов. Если такая команда сама по себе содержит аргумент с пробелами, его тоже следует заключить в кавычки. В командных оболочках UNIX® возможно использовать одинарные или двойные кавычки, но в командной строке Windows важно использовать в качестве наружных двойные кавычки, а внутренних — одинарные. Если в тексте внутри одинарных кавычек содержатся ещё одни одинарные кавычки, их следует экранировать с помощью символа обратной косой черты, как это показано в следующем примере:
kid3-cli -c "set title 'I\'ll be there for you'" /путь/к/каталогу
Установить обложку альбома во всех файлах каталога с помощью функции пакетного импорта:
kid3-cli -c "autoimport 'Cover Art'" /путь/к/каталогу
Удалить фреймы комментариев и применить формат тега в обоих тегах всех MP3-файлов каталога:
kid3-cli -c "set comment '' 1" -c "set comment '' 2" \
-c "tagformat 1" -c "tagformat 2" /путь/к/каталогу/*.mp3
Автоматически импортировать тег 2, синхронизировать с тегом 1, установить имена файлов из тега 2 и создать список воспроизведения:
kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \
/путь/к/каталогу/*.mp3
Выполнить для всех файлов с тегом ID3v2.4.0 преобразование в тег ID3v2.3.0 и удалить фрейм аранжировщика:
kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \
-c "set arranger ''" /путь/к/каталогу
В этом сценарии Python kid3-cli используется для создания фреймов iTunNORM проверки звука iTunes на основе данных о выравнивании громкости.
#!/usr/bin/env python3 # Generate iTunes Sound Check from ReplayGain. import os, sys, subprocess def rg2sc(dirpath): for root, dirs, files in os.walk(dirpath): for name in files: if name.endswith(('.mp3', '.m4a', '.aiff', '.aif')): fn = os.path.join(root, name) rg = subprocess.check_output([ 'kid3-cli', '-c', 'get "replaygain_track_gain"', fn]).strip() if rg.endswith(b' dB'): rg = rg[:-3] try: rg = float(rg) except ValueError: print('Value %s of %s in not a float' % (rg, fn)) continue sc = (' ' + ('%08X' % int((10 ** (-rg / 10)) * 1000) )) * 10 subprocess.call([ 'kid3-cli', '-c', 'set iTunNORM "%s"' % sc, fn]) if __name__ == '__main__': rg2sc(sys.argv[1])