문제
진심으로, 나는 이것을 묻는 것도 당황 스럽습니다.
전체 앨범의 재생 목록을 만들어야하는 사과 스크립트가 있습니다. 실제로 재생 목록에 트랙을 추가하는 것을 제외하고는 모든 것이 잘 작동합니다. 관련 코드는 다음과 같습니다.
repeat with theAlbum in randAlbums
set these_tracks to (tracks of library playlist 1 whose album is theAlbum)
repeat with the_track in these_tracks
add the_track to playlist thePlaylist (* doesn't work *)
end repeat
end repeat
내가 얻는 오류는 "iTunes는 오류가 발생했습니다. 설명 자 유형 불일치가 발생했습니다."
Randalbums는 고유 한 앨범 이름의 목록이며, ThePlayList는 스크립트의 앞부분에서 작성된 재생 목록입니다.
나는 일주일처럼 느끼는 것에 대해 이것에 대해 머리를 두드리고 있었고 그것을 알아낼 수 없었습니다. 제공 할 수있는 지원에 미리 감사드립니다 :)
해결책
복제는 원하는 명령입니다. 이 시도:
repeat with theAlbum in randAlbums
duplicate (tracks of library playlist 1 whose album is theAlbum) to thePlaylist
end repeat
iTunes 인터페이스 내에서 add
파일 시스템 경로를 사용하여 iTunes 라이브러리에 새 트랙을 추가하는 데 사용됩니다. duplicate
재생 목록에 기존 트랙에 대한 참조를 배치하는 데 사용됩니다.
ADD 명령이 사용되면 iTunes는 결국 트랙이 이미 라이브러리의 일부이며 원하는 것을 수행하지만 파일의 메타 데이터를 읽기 전에는 앨범 아트 검색 등을 예약합니다. 꽤 느리게 작동하므로 많은 수의 트랙을 위해 루프 내에서 사용하는 경우 iTunes는 크롤링 속도가 느려집니다.
Duplice는 기본 데이터베이스 조회를 수행하고 결과를 한 번에 재생 목록에 추가하므로 매우 빠릅니다.
다른 팁
해당 라인을 다음으로 변경해보십시오.
add (get location of the_track) to playlist thePlaylist
또는 if thePlaylist
이미 재생 목록의 문자열 이름 대신 재생 목록 참조입니다.
add (get location of the_track) to thePlaylist
사과 스크립트는 정말 이상합니다 ... 그러나 스크립트를 체크 아웃하십시오 여기 dougscripts.com
그가 사용하는 것 같습니다 복제하다 그리고 아닙니다 추가하다 재생 목록에 추가 할 때. 나는보고있다 각각의 노래 스크립트
흠 ... 어때?
add (a reference to the_track) to playlist thePlaylist
노력하다:
copy the_track to end of playlist thePlaylist
대신에.