質問はタイトルにあります :) 私は、Objective-C と Scripting Bridge で少し遊んでいます。iTunes から情報 (読み取り専用) を取得できることは知っていますが、名前を変更するなど、トラックを変更する方法がどこにもありません。この技術または別の技術で可能ですか?
どうもありがとう :)
質問はタイトルにあります :) 私は、Objective-C と Scripting Bridge で少し遊んでいます。iTunes から情報 (読み取り専用) を取得できることは知っていますが、名前を変更するなど、トラックを変更する方法がどこにもありません。この技術または別の技術で可能ですか?
どうもありがとう :)
さて、AppleScript Editor の Scripting Library から、 a がfile_track
から継承しitem
、item
が読み取り/書き込みプロパティを持っていることがわかりますname
。そのため、読み取りと同じくらい簡単に設定できるはずです。
編集:実際には、メタデータのほとんどすべての部分がtrack
(file_track
継承も)一部であり、ほとんどが読み取り/書き込みプロパティです...
Doug Adamsには、iTunes の曲からタイトルを変更できるスクリプトが 1 つあります。多分それを見てください?
Objective-C 経由での設定に関しては、おそらくこのドキュメントが役に立ちます。
ウェブサイトからの抜粋:
コード リスト 2-3 Finder アイテムのロックされたプロパティの設定
int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; FinderApplication *theFinder = [SBApplication applicationWithBundleIdentifier: @"com.apple.finder"]; SBElementArray *trashItems = [[theFinder trash] items]; if ([trashItems count] > 0) { for (FinderItem *item in trashItems) { if ([item locked]==YES) [item setLocked:NO]; // <<<-- Setting the property } } [pool drain]; return 0; }
やってみました:
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
[[iTunes currentTrack] setName:@"The New Song Title"]);