2010-05-11 5 views
7

스크립팅 브리지를 사용하여 iTunes에 동영상을 추가하고 싶습니다. 그리고 '뮤직 비디오'와 '영화'중 하나를 선택하게하는 것이 바람직합니다. Objective-C와 AppleScript를 모두 알고 있으므로 어렵지 않을 것이라고 생각했지만 해결할 수는 없습니다. 어떻게 NSAPleScript를 사용할지 알았지 만 10.5 이상을 목표로하고 Scripting Bridge가 NSAppleScript를 사용하지 못하는 것을 읽습니다. 그게 맞습니까? 스크립팅 브리지를 사용하여 iTunes에 동영상 추가

내가 가진 모든

는별로 전혀 볼 수있다

iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier: @"com.apple.iTunes"]; 

입니다.

답변

1

당신은 (.sdef) 파일 (당신이 sdef 프로그램을 사용하여 얻을 수있는) 아이튠즈 '스크립트 정의에서 헤더 파일을 생성하기 위해 "스크립팅 정의 프로세서"(sdp) 프로그램을 사용한다 :

sdef /Applications/iTunes.app | sdp -fh --basename "iTunes" 

이를 iTunes.h이라는 파일을 제공합니다. 그런 다음 해당 헤더를 프로젝트에 포함시키고이를 통해 iTunes 스크립팅 브리지 인터페이스가 제공하는 것을 확인하십시오.

스크립팅 브리지로이 작업을 수행 할 수 없다면 (애플의 AppleScript 인터페이스를 통해 수행 할 수있는 모든 작업이 스크립팅 브리지를 통해 수행 될 수있는 것은 아닙니다.) 계속 진행하십시오. 대신 AppleScript로 작성하여 NSAppleScript으로 프로그램에서 실행하십시오.

+0

이미 sdp 작업을 수행했습니다. 그리고 내가 필요로하는 방법은 다음과 같다. 그러나 그것에 관한 문서는 없습니다. – Jeroen

+0

스크립팅 브리지를 통해 수행 할 수없는 경우 [appscript] (http://appscript.sourceforge.net/) 또는 일반 오래된 AppleScript를 사용해보십시오. – hasseg

+0

이것은 Scripting Bridge를 통해 가능합니다. 필자는 Python으로 여러 번 비슷한 작업을 수행했습니다. – wbg

10

1 단계 iTunes.h 헤더 파일 생성 : 두 번째 매개 변수에 대한

NSString* sourceMediaFile = ...; 
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"]; 
iTunesTrack * track = [iTunes add:[NSArray arrayWithObject:[NSURL fileURLWithPath:sourceMediaFile]] to:nil]; 
NSLog(@"Added %@ to track: %@",sourceMediaFile,track); 
0

, 그것은 재생 목록을 취

sdef /Applications/iTunes.app | sdp -fh --basename "iTunes" 

2 단계 미디어 파일을 추가하는 코드를은 다음과 같습니다 개체 (또는 위에서 언급 한대로). 일단 어떤 수단을 통해 iTunesPlaylist * 객체의 인스턴스를 가져 왔으면 (필요에 따라 몇 가지가 있음) 두 번째 매개 변수로 전달할 수 있습니다.