Есть ли способ заставить Finder показывать mp3-поля? (художник, звание и т. д.)
2 ответа
У меня была точно такая же проблема, тогда я начал использовать AudioFinder
AudioFinder изобрел жанр звуковых браузеров, став первым специализированным звуковым браузером на любой платформе. Благодаря долгой истории инноваций, AudioFinder последовательно открывает новые горизонты, и с бесплатными обновлениями вы всегда можете получить больше добавленной стоимости.
После долгих лет борьбы с этим я, наконец, придумал хак, который работает к моему удовлетворению. К сожалению, он дает вам доступ только к одному тегу. В моем случае желаемым мета является "битрейт".
Для начала я создал скрипт с библиотекой Python eyeD3, который захватывает битрейт mp3, записывает его в тег "comment" и возвращает его:
import eyed3
import sys
filename = sys.argv[1]
from eyed3 import mp3
f = mp3.Mp3AudioFile(filename)
bitrate = f.info.bit_rate[1]
str_bitrate = str(bitrate).encode("utf-8").decode("utf-8")
f.tag.comments.set(str_bitrate)
f.tag.save()
exit(str_bitrate)
Затем я создал скрипт bash, который берет папку, запускает на ней скрипт python и устанавливает для поля Mac OS "comment" значение битрейта:
for f in "$1"*.mp3;
do
echo "$f";
updated=$(python bitrate.py "$f" 2>&1);
comment=$(mdls -r -nullMarker "" -n kMDItemFinderComment "$f")
printf "%s ( comment ): %s\n" "${1##*/}" "$comment"
/usr/bin/osascript -e "set filepath to POSIX file \"$f\"" \
-e "set the_File to filepath as alias" \
-e "tell application \"Finder\" to set the comment of the_File to \"$updated\""
done
Наконец, я создал скрипт Automator, который принимает папку в качестве входных данных и передает ее скрипту bash:
Это дает вам пункт контекстного меню, который при нажатии