문제

진심으로, 나는 이것을 묻는 것도 당황 스럽습니다.

전체 앨범의 재생 목록을 만들어야하는 사과 스크립트가 있습니다. 실제로 재생 목록에 트랙을 추가하는 것을 제외하고는 모든 것이 잘 작동합니다. 관련 코드는 다음과 같습니다.

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

대신에.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top