JavaScript でのオートメーション化です。
スクリーンショット 2014-12-13 1.51.42
iTunes の再生と停止です。(基本
今回は、iTunesで音楽を扱うやつです。
再生
var app = Application("iTunes") app.play()
停止
var app = Application("iTunes") app.stop()
一時停止と、2秒後に再開
var app = Application("iTunes") app.pause() delay(2) app.play()
一時停止と再開はトグルを使うほうが楽
var app = Application("iTunes") app.play() app.playpause() delay(1) app.playpause() delay(1) app.playpause() delay(1) app.playpause() delay(1) app.playpause()
再生などコマンドは、どのオブジェクトでも出来る
プレイリスト、曲、ビデオなど、どのオブジェクトでも、指定した物を再生できる。
たとえば、全部の曲を再生したいときは、ライブラリという全曲が入ったプレイリストを指定する。
var app = Application("iTunes") app.playlists["ライブラリ"].play()
指定したプレイリストを再生する。
"My Top Rated" というプレイリストを選ぶ
var app = Application("iTunes") app.playlists["My Top Rated"].play()
プレイリストは、最近は初期表示で見えなくなっててツライ(なんで隠しちゃうんだろうな) スマートプレイリストとか最強なのにな。
指定したトラックを再生する
ライブラリのすべての曲から、タイトルを指定して、再生する。
var app = Application("iTunes") app.playlists["ライブラリ"].tracks["ねこみみスイッチ"].play()
リピート再生、シャフル再生
プレイリストで、リピートとか、シャッフル再生。
コレが出来ずに苦しんだ。 iTunes 11 以降はプレイリスト単位でのシャッフル指定が除外されてて(便利なのに!)iTunes全体でシャッフル指定するようになっていた。しかし、その設定が、Automation にリストアップされていない。
だったら、もう、スクリプトでリピートすればいいじゃんね
というわけで、指定した曲を延々と繰り返す、
リピート再生
var track = app.playlists["ライブラリ"].tracks["ねこみみスイッチ"] var time = track.duration() while( true ){ track.play() delay(track.duration()) }
JavaScript だからさくっと書けるね。
SystemEvent UIから、取得して、トグルをしようと思ったけど、今回のテーマから外れるのでパス(来週書きます)
シャッフル再生
do { num = Math.floor( Math.random() * ( app.playlists["ライブラリ"].tracks.length - 1 ) ) + 1 track = app.playlists["ライブラリ"].tracks[num] delay(track.duration()) } while( true )
シャッフル再生も無理やり作れそうですね。
現在の再生秒数を出す。
var app = Application("iTunes") app.play() app. playerPosition()
現在の再生している音楽を出す。
var app = Application("iTunes") app.play() app.currentTrack().name()
とりあえず今日はここまで。
今日は再生、停止などの例を通して、itunesを操作しました。
iTunesのような、イメージしやすいアプリで、スクリプトを作って、基本構文を確認・練習して考え方に慣れていければ、学習サイクルがいいと思います。