JavaScript for Automation (Yosemite) を使用して、iTunes ビデオ ファイルの説明を更新したいと考えています。問題: 説明が古い値に戻ります (たとえば、評価が正しく保存されます)。
私が使用するコード:
var track = Application("iTunes").selection()[0]; // get first track from selection
console.log("--- original values ---");
console.log(track.rating()); // shows original value (66)
console.log(track.description()); // shows original value ("old value")
console.log("--- set new values ---");
track.rating = 75;
track.description = "new value";
console.log("--- new values ---");
console.log(track.rating()); // shows correct value (75)
console.log(track.description()); // shows correct value ("new value")
console.log("--- refresh track ---");
track.refresh(); // has the same effect as doing Cmd-I in iTunes
console.log("--- new values after refresh ---");
console.log(track.rating()); // shows correct value (75)
console.log(track.description()); // shows original value ("old value") <=== incorrect
新しい値を書き込んだ後は問題ありませんが、更新後に説明が古い値に戻ります。たとえば、評価は正しく保存されます。
refresh() を使用せず、iTunes で値を確認すると、問題ないように見えますが (説明には「新しい値」と表示されます)、そのトラックに対して Cmd-I を実行するとすぐに古い値に戻ります。 . そのため、refresh() を使用して、実際の最新の値が表示されるようにします。
助言がありますか?