Я создал рабочий процесс автоматизатора, который может добавлять песни в мою библиотеку iTunes и устанавливать их информацию по имени исполнителя, названию альбома и названию песни. Однако треки не имеют обложки, когда я их импортирую, поэтому я искал способы автоматического добавления обложки. Одним из способов было использование iTunes «Получить обложку альбома». Проблема в том, что это часто не давало очень хороших иллюстраций, если вообще их давало.
Я решил скачать обложки песен, обложек которых у меня не было, но они хранятся в моей папке Загрузки. input
, который я передаю в свой сценарий, — это файл .jpg, который я хочу добавить к песне в качестве обложки. Проблема в том, что всякий раз, когда я запускаю этот скрипт, он говорит, что не может преобразовать файл псевдонима в тип файла. Сообщение об ошибке выглядит следующим образом:
Не удается создать псевдоним «Macintosh HD:Users:Nilay:Downloads:Avicii — True — Hey Brother.jpg» в тип файла.
Нет никаких причин, по которым он не сможет найти файл, потому что я нахожу файл с помощью Automator «Элементы поиска фильтра», поэтому я знаю, что он передает правильный файл.
Я попытался передать текст файла, а не сам файл, но это все равно привело к тому же сообщению. Первые несколько комментариев — это несколько способов, которыми я пытался обойти это сообщение об ошибке, но, увы, ни один из них не сработал.
Мне было интересно, знает ли кто-нибудь, как решить это сообщение об ошибке или другой способ, с помощью которого я мог бы добавить собственное изображение к песне, не заходя вручную в iTunes -> «Выбрать песню» -> «Информация» -> «Обложка» -> «Добавить обложку». Также было бы возможно, если бы кто-нибудь мог объяснить, как автоматизировать это действие с помощью AppleScript или Workflow. Спасибо!!!
on run {input, parameters}
--set jpegFilename to input
--set jpegFilename to "/path/to/some/artwork.jpg"
--set jpegFile to (POSIX file jpegFilename)
--set jpegFile to (jpegFilename as POSIX file)
--tell application "System Events" to set jpegFile to (input as POSIX file)
set jpegFile to input
tell application "Image Events"
set myImage to open (jpegFile as file)
-- the below line needs HFS syntax pathname, eg: MyComputer:Users:liquidx:
-- save myImage as PICT in (file ":path:to:some:temporary.pict")
save myImage as PICT in (POSIX file jpegFile)
close myImage
end tell
tell application "iTunes"
set myTrack to current track
set artworkCount to count of artwork of myTrack
-- the below line needs HFS syntax pathname, eg: MyComputer:Users:liquidx:
-- set myArt to read (file ":path:to:some:temporary.pict") from 513 as picture
set myArt to read (POSIX file jpegFile) from 513 as picture
if artworkCount > 0 then
set data of artwork (artworkCount + 1) of current track to myArt
else
set data of artwork 1 of current track to myArt
end if
end tell
tell application "Image Events"
-- delete (file ":path:to:some:temporary.pict")
delete (POSIX file jpegFile)
end tell
end run