2009-12-29 4 views
1

CPAN 검색을 시도했습니다. Mac::iTunes을 찾았지만 특정 트랙에 등급을 지정하는 방법이 아닙니다.Perl을 사용하여 Mac의 iTunes에서 노래를 평가할 수 있습니까?

+0

Mac :: itunes 자료는 허튼 소리입니다. CPAN에 업로드하는 것과 같은 사람들이 있어야합니다. 나는 궁금해하지만, 당신이하고있는 일. 방금 모든 물건을 새 컴퓨터로 옮겼습니다. 모든 평가가 손실되었으므로 모든 것을 다시 가져 오는 방법에 대해 생각하고 있습니다. –

+0

Brian, http://www.macosxhints.com/article.php?story=20070130165510807 및 http://hifiblog.com/past/2006/05/11/howto-move-your-itunes-music-while-preserving -library-data-you-dont-let-itunes-manage-your-music-library/둘 다 유망 해 보입니다. 요컨대, 물건을 되 찾으려면, 그것을 지우고 규정 된 방식대로 다시 복사하십시오. iTunes에서 라이브러리를 관리하도록하면 쉽게됩니다. –

+0

@Rob : 실제로 많은 컴퓨터의 라이브러리를 병합 했으므로 그 중 아무 것도 도움이되지 않습니다. 파일을 복사하는 간단한 문제라면 이미 해결했을 것입니다. :) –

답변

4

AppleScript로 작성하여 iTunes를 완벽하게 제어 할 수 있으며 Perl 바인딩 Mac::AppleScript이 있습니다.

편집 코드 샘플 : 그냥 AppleScript로 텍스트의 큰 덩어리를 받아 그것을 실행 맥 :: 애플 스크립트에 의해 흥분하지 않는 경우

use Mac::AppleScript qw(RunAppleScript); 

RunAppleScript(qq(tell application "iTunes" \n set rating of current track to $r \n end tell)); 
+0

그것이 제가 시작한 경로 였지만, 작업의 다른 부분은 Perl에서는 사소하고 Applescript에서는 광기로 어려울 것입니다. – Bill

-2

itunes-perl을 보시면 트랙을 평가할 수있는 것 같습니다.

+0

그 스크립트는'Win32 :: OLE'을 사용하기 때문에 매킨토시에서는 작동하지 않습니다. –

+0

오. 네. 그 줄은 "Windows 용 iTunes"라고합니다. Dur. – mopoke

5

, 당신은 Mac::AppleScript::Glue을 선호 할 수도하는 제공 더 많은 객체 지향 인터페이스. 여기 Iamamac의 샘플 코드에 상응는 다음과 같습니다

#!/usr/bin/env perl 
use Modern::Perl; 
use Mac::AppleScript::Glue; 
use Data::Dumper; 

my $itunes = Mac::AppleScript::Glue::Application->new('iTunes'); 
# might crash if iTunes isn't playing anything yet 
my $track = $itunes->current_track; 
# for expository purposes, let's see what we're dealing with 
say Dumper \$itunes, \$track; 

say $track->rating; # initially undef 
$track->set(rating => 100); 
say $track->rating; # should print 100 

모든 해당 모듈은, 애플 스크립트의 큰 덩어리를 구축 실행 한 다음 당신의 다음 명령에 사용할 수있는 다른 AppleScript로 발현에 떨어져 모든 휴식입니다 않습니다. 위의 스크립트를 실행할 때 _ref 트랙 객체의 값에서 확인할 수 있습니다. AppleScript를 붙여 넣기하고 분석하는 것이므로 다른 모듈보다 빠르지는 않지만 스크립트 내에서 다른 Perl 명령을 삽입 할 수 있으며 코드가 좀 더 비슷하게 보입니다. 펄, 그게 가치있는 일이야.

관련 문제