2017-01-13 4 views
3

AppleScriptを使用して現在のiTunesのメディアの場所やその他のiTunesのオプションを見つけることはできますか?Script内でiTunes Applescript Dictionaryエディタですが、確かにそれを行う方法があります。AppleScriptを使用して現在のiTunesのメディアの場所とその他のiTunesのオプションを見つけることはできますか

私は過去に、何かがcom.itunes.plistに保存されていることを読んだが、新しいライブラリを作成したときに平文とplistファイルは変更されなかったので、まだ使用されていないか、最新の。

+0

あなたが再生している曲にファイルを明らかにしますか、またはあなたは別の方法でフォルダの場所を使用するようにしたいですか? –

+0

@oa現在再生中の曲とは関係ありません(もしあれば)現在のメディアフォルダの場所を知りたい、つまりiTunesに新しい曲を追加し、iTunesでコピーする場所にメディアファイルをコピーするように設定していますのファイルに。 –

+0

「他のiTunesオプション」とは何ですか? –

答えて

0

メディアの場所は、グローバルiTunes環境設定ファイルに保存されません。複数のライブラリを持つことができ、各ライブラリで独自のメディアロケーションが定義されているため、実際にはライブラリの設定に保存されます。デフォルトライブラリは~/Music/iTunes/iTunes Library.itlにあります。私はこのファイルの種類がわからない。これは、plist/xmlファイルでも、sqliteファイルでもないようです。これは単なるバイナリファイルのようです。

同じフォルダの中に、iTunes Music Library.xmlがあります(このファイルの一部がテストされていないため、この説明の残りの部分はYMMVです)。短縮形の例を次に示します。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Major Version</key><integer>1</integer> 
    <key>Minor Version</key><integer>1</integer> 
    <key>Application Version</key><string>12.3.3.17</string> 
    <key>Date</key><date>2016-04-14T19:35:27Z</date> 
    <key>Features</key><integer>5</integer> 
    <key>Show Content Ratings</key><true/> 
    <key>Library Persistent ID</key><string>1AEAB6C2057C2167</string> 
    <key>Tracks</key> 
    <dict> 
    </dict> 
    <key>Playlists</key> 
    <array> 
    </array> 
    <key>Music Folder</key><string>file:///Users/<username>/Music/iTunes/iTunes%20Media/</string> 
</dict> 
</plist> 

キーMusic Folderに注意してください。これは、ライブラリのメディアの場所を見つけるために探している設定です。また、プレイリストとトラック情報のリストなど、いくつかのライブラリ設定があります。

+0

残念なことに、iTunes Music Library.xmlはユーザーの好みに応じてオプションになりました 'iTunes LIbrary Xmlを他のアプリケーションと共有する'デフォルトはfalseですが、とにかく私はそれが実際にこのファイルに格納されていたことに気付きませんでした。だからitlファイルに格納しなければならないが、それをデコードする方法はないようだ。 –

+0

@PaulTaylor [Google回答](http://stackoverflow.com/a/2888005/2348587)によれば、[google code](http://code.google.com/p/titl/)にはJavaプロジェクトがあります。 .itlファイルを読む。完全に開発されておらず、多くの余分な依存関係が追加されるようですが、必要なファイルパスを取得するために利用できる唯一のオプションのようです。 –

+0

私はそれを試してみましたが、それは私のために働いていませんでした:( –

1

はい、@PaulTaylor、AppleScriptで提供されているiTunesライブラリフレームワークを使用して、AppleScriptで現在のユーザーのメディアフォルダの場所を取得できます。

iTunesLibrary at Appleのドキュメント)ここでそれを行うに取り組んでのAppleScriptです:

use AppleScript version "2.4" -- Yosemite (10.10) or later 

use framework "iTunesLibrary" 

set lib to current application's ITLibrary's libraryWithAPIVersion:"1.0" |error|:(missing value) 

set mediaFolderPath to POSIX path of (lib's mediaFolderLocation as alias) 

--> "/Volumes/LaCie 6/iTunes Library/" 
+0

興味深いことに、これはまた、実際にiTunesを起動せずにiTunesライブラリに入っているものを見つけるためにも使うことができます。 'アプリケーションに「iTunes」と言うと、もっと速く、またWindows用にも使えるのだろうか? –

関連する問題