2011-01-23 1 views
1

다른 스크립트를 사용하여 iTunes를 스크립팅하는 방법을 찾고 있습니다. 트랙의 제목과 아티스트를 대량 조작하고 싶습니다. iTunes에서이 정보를 조작하지 않으면 iTunes 데이터베이스가 업데이트되지 않는다는 것을 알고 있기 때문에 일부 id3 도구를 사용하면 도움이되지 않습니다. AppleScript로 코딩하는 법을 알지 못하고 실제로 이것에 뛰어 들어야 할 시간이 없다면 궁금합니다. javascript, lua, bash 또는 PHP를 사용하여이 작업을 수행 할 수있는 방법이 있습니까? 당신은 JavaScriptOSA와 자바 스크립트에서 애플 이벤트를 보낼 수 있습니다애플 스크립트없이 itunes 스크립팅?

+0

제어 아이튠즈 : http://merbist.com/2010/01/17/controlling-itunes-with-macruby/ – miku

+0

덕분에, 내가 읽은 후 애플 스크립트로 사용하기로 결정이 – aurora

답변

1

적어도 하루 동안 AppleScript를 배우는 것이 좋습니다. 요컨대, OS X의 GUI 간 응용 프로그램 간 통신은 Apple Events를 통해 이루어지며, 그의 주요 언어 인 AppleScript의 구조를 따르고 있습니다. 다양한 언어로 Apple Events에 전화 할 수있는 다리가 많이 있지만, Apple Events의 개념을 먼저 이해해야합니다. 따라서 적어도 AppleScript에 대해 어느 정도 익숙해야합니다.

코코아의 경우와 마찬가지입니다. 많은 언어로 코코아 애플리케이션을 코딩 할 수 있지만 대부분의 문서 및 개념은 Objective-C를 기반으로합니다. 따라서 다른 언어로 코코아를 코딩하기 전에 적어도 Objective-C에 대한 친숙 함이 필요합니다.

그래서 Apple Events/AppleScript 시스템에 대해 간략하게 설명하겠습니다.

각 응용 프로그램은 객체 지향 시스템을 구현하고 사전으로 외부 세계에 노출합니다.이 정보는 AppleScript 편집기로 읽을 수 있습니다. AppleScript 편집기를 열고 파일 → 사전 열기를 선택하고 iTunes를 선택하십시오. 거기에서 명령, 클래스, 그 클래스의 메소드 목록을 볼 수 있습니다. 그런 다음 AppleScript 또는 Ruby 또는 Lua에서 이러한 객체와 메소드에 액세스합니다.

iTunes의 선택한 항목의 이름을 "A-B"에서 "B-A"로 변경한다고 가정 해보십시오. 그런 다음 코드는

set text item delimiters to "-" 
tell application "iTunes"   -- following statements are targeted to iTunes 
repeat with entry in selection -- "selection" is a concept implemented in iTunes 
    set s to name of entry  -- copy the name of entry to a local string s 
    set x to text items of s -- split the string s to a list according to text item delimiters 
    set y to {item 2 of x, item 1 of x} -- construct another list 
    set name of entry to y as string -- set the name. Note that "as string" adds the delimiters 
end repeat 
end tell 

예 애플 스크립트의 문법이 조금 이상한 것,하지만 기본적으로 정규 필수 언어와 1 대 1 대응이 있습니다. 혼란 스럽다면 the official language guide을 참조하십시오. 그리고 좋은 OSAX (AppleScript의 확장 시스템)가없는 AppleScript의 텍스트 작업은 어려운 일입니다. 그래서 저는 AppleScript의 개념에 익숙해지고 Ruby 나 다른 좋아하는 언어에서 사용하는 것이 좋지 않다고 생각합니다.

그러나 AppleScript 편집기에서 사전을여십시오. 각 응용 프로그램이 구현하고 시스템에 표시되는 것을 찾을 수 있기 때문입니다! MacRuby와

+0

대단히 감사합니다. applescript는 실제로 아주 이상한 언어입니다. 그러나 예제 스크립트는 매우 유용했습니다. 나는 당신의 모범과 언어 가이드와 함께 일할 수있게했습니다! – aurora

0

감사합니다. 그러나 더 최신이고 지원되므로 appscript (Python, Ruby)을 조사하는 것이 좋습니다.

+0

살펴해야합니다 유지의 대답. 하지만 어쨌든 고마워, 나는 이것을 명심해야한다. – aurora