整理するために、.applescript ファイルを別のファイルに分けようとしています。
私は JS AppleScript ファイルTest.applescript
を実行しようとする JS AppleScript ファイルを呼び出していますGroup Tracks Dependency.applescript
。私がやりたいことは、パラメーターを依存関係スクリプトに渡し、そこから戻り値を取得することです。(iTunes トラックの配列の配列を作成します)。
Test.applescript
(function() {
var app = Application('iTunes');
app.includeStandardAdditions = true;
app.doShellScript('Group Tracks Dependency.applescript');
return "Done";
})();
// For quick logging
function log(obj) {
this.console.log(obj);
}
グループ トラック Dependency.applescript
(function(selection) {
return getGroupsOfTracks(selection);
function getGroupsOfTracks(originalTracksArray) {
if (originalTracksArray == null || originalTracksArray.length == 0)
return null;
var tracks = originalTracksArray.slice();
var groups = [];
while (true) {
var group = [];
group.push(tracks[0]);
tracks = tracks.slice(1);
while (true) {
if (!tracks[0]) break;
if (tracks[0].album() != group[0].album())
break;
if (tracks[0].artist() != group[0].artist())
break;
if (tracks[0].discNumber() != group[0].discNumber())
break;
group.push(tracks[0]);
tracks = tracks.slice(1);
}
groups.push(group);
if (!tracks[0]) break;
}
return groups;
}
})();
Test スクリプトを実行しようとすると、次のエラーが表示されます (5 行目がそのapp.doShellScript
行です)。
Error on line 5: Error: A privilege violation occurred.
これを回避する方法はありますか?また、将来的には他の人がこれらのスクリプトをダウンロードして、独自の iTunes ライブラリで実行できるようにしたいと考えています (現在のところ、ユーザー フレンドリーではありません)。
これを回避する方法がない場合、別の JS AppleScript ファイルをインポートすることはできますか?