iTunesにスリープタイマーを
先日マイミクのpetite-tomoさんがブログでiTunesにスリープタイマー機能を付けて欲しいという記事を書かれていました。
スリープタイマー機能というのは設定時間後にマックを自動的にスリープさせる機能が欲しいということでマックには指定時間にスリープまたはシャットダウンする省エネルギーのスケジュール機能はあります。しかし、一定時間後にということになるとそのたびに時間の設定をしないといけません。
その記事に上記のスケジュール機能の事をコメントしながらAppleScriptで簡単にできるかもと思います。
実はOS 9の頃に良く使ったのですが、OS-XになってからAppleScriptで何か作ると言うこともなかったので色々調べつつ作ってみました。
問題は一定時間後ということですが、考えてみると時刻計算で終了時刻を計算しなくてもUNIXのコマンドのSleepを使って一定時間後にファインダーにSleepを指示するAppleScriptを書けばいいと言うことに気がつきました。その線で検索してみるとAppleScriptからシェルコマンドを実行する方法もありました。
そこで書いてみたのが以下のスクリプトです。
do shell script "Sleep 30"
tell application "Finder"
sleep
end tell
スクリプト編集を起動して上記のスクリプトを入力して実行すると30秒後にマックはスリープします。
1行目の30の単位は秒です。30分後にしたいなら1800にします。
3行目の"sleep"を"shutdown"にするとシャットダウンします。
後はスクリプト編集の保存時にアプリケーションとして保存します。
思いっきり手抜きですが、30分、1時間、1時間半といった感じで自分が使いそうな時間のプログラムをいくつか作っておいて必要に応じて起動して使いわければ簡単です。
なお、一度起動すると途中で止めるには強制終了するしかありません(笑)。
この程度ですがお役に立てれば。
30分用:「SleepLater30Min.app.sit」をダウンロード
60分用:「SleepLater60min.app.sit」をダウンロード
90分用:「SleepLater90min.app.sit」をダウンロード
| 固定リンク
この記事へのコメントは終了しました。
コメント
do shell scriptしなくても、AppleScriptにはdelayコマンドがあります。
あるいは
display dialog "スリープ待機中" buttons {"キャンセル"} giving up after 30
だと、キャンセルもできます(これでカウントダウンが表示されればもっといいんですけど)。
投稿: ユ | 2007.12.26 12:30
>ユ さん
ありがとうございます。
思いつきで書いたんですが、何年かぶりのスクリプトだったのでOS Xでのスクリプトは浦島状態でコマンド類もすっかり忘れてました。
これを書いた時のことはすっかり忘れてますが、delayに関しては旧OS時代にいろいろトラぶった記憶があって避けたような気もします。
Dialogを使う方法はスマートでいいですね。
OS Xになってからユーザーインターフェイス関係なんかもかなり強化されているようなので遊びがいがありますね。
投稿: osanpo | 2007.12.26 22:02
はじめまして。
頭使えば、なんとかなるものなのですね。
私も、ストアの連続試聴がしたかったので、
参考にさせていただきました。
repeat
tell application "iTunes"
play
delay 32
-- display dialog "連続試聴中" buttons {"キャンセル"} giving up after 32
next track
end tell
end repeat
この場合、32秒ごとにアラートでるより、
delay
の方がよさそうですね。
あ、連続再生が止まらない。
頭の使い方が足りないみたいです。。。。
とほほ。
投稿: つしま。。 | 2009.06.19 11:14
>つしま。。さん
返事が遅れてすみません。
ハンドル名が私の住んでいる町の名前と同じですね。
上記スクリプトでやりたいことはリスト内の局を32秒ずつ再生したいと言うことですね。
確かにいちいちダイアログが出ていては意味ないですね。ただ、何らかの終了条件を入れておかないとループから抜けなくなりますので曲数などの制限をつけないといけませんね。
投稿: osanpo | 2009.07.09 21:53