概要
Macで処理を自動化したい。
でもシェルスクリプトで操作するのはなかなか難しい場面がある。
そこでAppleScriptを使う。
この記事では AppleScriptをまだ1回も自作したことが無い 状態向けに、初歩的なAppleScriptの作り方 から記載。
やり方(ミュージックの起動まで)
アプリケーション ⇒ ユーティリティ ⇒ スクリプトエディタ 。
編集中 ⇒ フォーマット 文字列中のタブや改行をエスケープ にチェック入れる。
(これの設定は必須ではないが、設定しておくのおススメ)
-- コメント書く時はこう!
tell application "Music"
activate
end tell
動作が想定通りなら 開くだけでスクリプトの内容が実行されるもの を作ろう。
(いわゆるバッチファイル的なもの)
この『tester_app』をダブルクリックで開くだけでAppleScriptの内容が実行される。
スクリプトエディタでkeystroke動作確認できるように設定
下記の設定は必須ではない。
でもこれをやっておくとスクリプトエディタでkeystroke(キー入力)の動作確認できるので楽。
やり方(特定プレイリストの再生と再生中の曲にフォーカス)
-- ミュージックを起動して、指定した名前のプレイリスト再生
tell application "Music"
activate
play playlist "ななひら"
end tell
-- コントロールの『現在の曲に移動』
tell application "System Events"
keystroke "l" using command down
end tell
tell application "System Events"
以下では下記をやっている。
別にやらなくてもミュージックの再生には問題はない。
でもやらないと下記のようになってしまう。
曲は再生されるが、再生している曲(プレイリスト)にフォーカスせず、 ミュージックを閉じた時の状態 のまま。
スクリプトで『現在の曲に移動』のキー入力をすることで下記のように、 再生してる曲(プレイリスト)にフォーカス される。
バージョン
macOS Monterey 12.6