インスタレーションなどの展示運用時にMacの自起動/システム終了のスケジューリングとCycling'74 Max7(Max/MSP)のパッチの自動立ち上げをさせるシステムについての備忘録
環境
- Mac OS 10.12
- Cycling'74 Max7(ver 7.3.4)
MacとMaxの設定
Mac
- システム環境設定>省エネルギー>バッテリー/電源アダプタ>ディスプレイをオフにするまでの時間をしない
- システム環境設定>通知から全ての通知を切る
- システム環境設定>ユーザとグループ>ログインオプションから展示運用ユーザの自動ログインをオンにする
- システム環境設定>省エネルギー>スケジュール>起動またはスリープ解除にMacの起動時間の設定をする
Max
- Check for updates automatically(自動アップデート確認機能)をOFF
- Recover Edits After Crash(クラッシュ時に編集中だったMaxパッチを復旧させる機能)をNever
-
Restore Windows on Launch(終了時に開いていたパッチを再起動時に自動で開く機能 )をOFF
起動時にMaxパッチを開き、定刻に自動終了させる
Mac起動後にMaxパッチの自動立ち上げと定刻にシステム終了をするためのアプリケーションを作成します。
スクリプトエディタを使って次のAppleScriptを記述します。
property patchPath : "/Users/UserName/Desktop/test.maxpat" as POSIX file -- Maxパッチのパス
property endTime : "17 00" -- 終了時刻
delay 60
-- Max起動
tell application "Finder" to open patchPath
delay 20
-- 終了時刻まで待機
property endTimeInSeconds : (((word 1 of endTime) as integer) * hours) + (((word 2 of endTime) as integer) * minutes)
property currentTimeInSeconds : ((hours of (current date)) * hours) + ((minutes of (current date)) * minutes)
set delayTime to (endTimeInSeconds - currentTimeInSeconds)
if delayTime ≤ 0 then
set delayTime to 1
end if
delay delayTime
-- Max終了
try
quit application "Max" without saving
on error number -128
do shell script "pkill Max"
end try
delay 20
-- システム終了
tell application "Finder" to shut down
上2行のpatchPathとendTimeはMaxパッチのパスと終了時刻を表しているので適宜変更してください。
この例ではデスクトップ内のtest.maxpatを開き、17:00にMaxを終了した後にシステム終了をするようになっています。
ファイルフォーマットをアプリケーションにして保存します。
このアプリケーションをシステム環境設定>ユーザとグループ>ログイン項目に追加すると起動時に自動でMaxパッチの立ち上げと自動システム終了をするようになります。
参考