先日公開した記事で、Macでradikoを録音するのであれば、「Radikoro」か「ラジ録」を使う、ということを書きました。
記事中でもあるように、私はそのうち「ラジ録」を便利に使用しています。今のところは、販売終了になった「録るラジ」に比べて、そこそこ安定して録音できているように思います。
しかし、時折私のミスで、録音を中断させてしまうことがあるんですよね。その原因は、普段のクセで、Macをうっかりスリープさせてしまうからです。「ラジ録」だろうと「Radikoro」だろうと、基本的にMacのスリープ中にアプリを動作させることはできません。録音中にスリープをさせてしまうと、その時点で録音が停止してしまうのです。
そのため、録音中は通常のスリープではなく、画面のみをスリープさせるようにしないといけません。
しかし、いちいち頭で「今は録音中かどうか」を考えてスリープを切り替えるよりは、自動で録音中かどうかを判断して対応してもらいたいところです。そうすれば、何も考えずボーッとしていても、うっかりスリープによる録音失敗を無くすことができますね。
そこで今回は、あるショートカットキーを押すことで、radikoを録音中かどうかを自動的に判定し、録音中のときは画面のスリープ、それ以外のときは通常のスリープを実行する方法をご紹介します。普段スリープをするときは、このショートカットキーを使えばよいわけですね。
私の環境は「ラジ録」での録音ですが、「Radikoro」でも使えると思います。
Automatorを使って、スリープ判定プログラムを登録する
Automatorとは
今回使うAutomatorというアプリは、Macに標準でついてくるアプリです。これにより、キーボードのショートカットキーで、スリープ判定ができるようになります。
本来Automatorは、何かを自動化させて効率化・簡略化を図るためのアプリですが、それ以外にも、特定のアプリやファイルを実行するためのショートカットキーを設定することができる「サービス」を作成できます。
Windowsだと、キーボードショートカットキーへの割り当ては、比較的簡単に設定できますが、Macの場合は、(基本的には)Automatorを使わないといけません。
Automatorの起動とサービスの作成
というわけで、まずはAutomatorを起動しましょう。LaunchpadやSpotlightで「Automator」と検索するのが早いと思います。
若干ぽっちゃり体型のまるまるしたロボットアイコンのアプリが、Automatorです。どうでもいいですが、このロボットくんが持っているバズーカのようなものは、何を表しているのでしょう。
さて、そんなロボットくんをクリックしてAutomator起動すると、ファイルを開く画面が表示されます。ここでは、「新規書類」をクリックします。
「書類の種類を選択してください」というダイアログが表示されますので、「サービス」を選択します。キーボードショートカットキーを設定するには、ここで「サービス」を選んでおく必要があります。
プログラム画面が表示されました。ここで、事前に必要な設定を行っておきましょう。
「”サービス”は、次の選択項目を受け取る」は「入力なし」を、「検索対象」は「すべてのアプリケーション」を選んでおきます。
次に、左のライブラリから、「ユーティリティ」を選んで、「AppleScript を実行」をダブルクリックします。
「AppleScriptを実行」パネルがプログラム画面に表示されます。
ここに、スリープ判定を行うスクリプトを記載しますので、もともとテキストエリア内に入っている文字をすべて(on runから、end runまで)削除します。
ここに、録音判定するスクリプトを貼り付けることになります。
録音判定するためのAppleScript
上記の削除したテキストエリア内に、以下のスクリプトを貼り付けます。
if (do shell script "ps aux | grep rtmpdump | grep -v grep | wc -l") = " 0" then
tell application "System Events" to sleep
else
display dialog "録音中なので、3秒後にディスプレイのみスリープします。" buttons "キャンセル" default button "キャンセル" giving up after 3
do shell script "pmset displaysleepnow"
end if
このスクリプトは、radikoを録音しているかどうかを判定し、録音中でなければシステムをスリープ、そうでなければ以下のダイアログを表示して画面のみをスリープさせるものです。
3秒以内に「キャンセル」ボタンが押されなければ、自動的に画面のみスリープとなります。
上記スクリプトを貼り付けた状態で、三角の再生ボタンを押してみると、上記のように動作するかと思いますので、お試しください。なお、定番の注意事項となってしまいますが、上記スクリプトの使用は、自己責任でお願いします。
作成したサービスを保存
録音中と、それ以外の場面それぞれで期待する動作となりましたでしょうか。動作が確認できたところで、このサービスを保存しておきましょう。
「ファイル」→「保存」をクリックして、任意の名前を入れます。後から変更もできますが、一手間かかるので、この段階でちゃんとした名前をつけておきましょう。私は「録音判定してスリープ」という名前をつけました。
作成したサービスにショートカットを割り当てる
次に、保存したサービスにショートカットを割り当てます。
Macの環境設定を開き、「キーボード」→「ショートカット」を選択します。この画面では、Macで操作できるキーボードショートカットキーを自由にカスタマイズすることができます。この辺は、WIndowsよりも柔軟で好みです。
先ほどAutomatorで作成した、スリープ判定用のサービスに対してキーボードショートカットキーを設定したいので、「サービス」を選択します。
先ほど作成した「録音判定してスリープ」というサービスがあるかと思います。チェックを入れて、「ショートカット追加」をクリックし、設定したいキーボードのショートカットキーを入力します。
私は「option+command+F15」に設定していますが、好きに設定すれば構いません。
注意点として、システムにもともと割り当てられているキー操作だと、そちらが優先されて、うまく機能しないことがあります。例えば、「command+C」はコピーのショートカットとしてシステムにもともと割り当てられているキー操作ですので、このショートカットを他の機能に割り当てることはできないようです。
……正確にいうと、割り当て自体はできるものの、ショートカットキーが有効になりません。それなら設定時にエラーを出してくれればいいのに、とは思いますが、それを言っても仕方がないので、うまく機能しない場合は、そのほかのショートカットキーを割り当てるようにしてください。
これで、設定したキーボードショートカットキーを押すことで、自動でスリープ判定してくれます。これなら、録音中かどうかを気にせず、うっかりスリープを防止できますね!
MacBookなどを使っている場合は注意
MacBookやMacBook Pro等のノートブック型マシンを使っている場合は、画面をパタンと閉じてスリープさせる方が多いと思います。しかし、この場合は注意が必要です。ここでご紹介した方法は、本体の画面を閉じてスリープする場合には使えません。画面を閉じてしまうと、システムにより強制的にスリープされてしまうからです。
対処方法としては、以下の2つが考えられます。
- 基本的に画面は閉じない
- 画面を閉じてもスリープしないアプリを導入する
個人的なオススメは、最初の「基本的に画面は閉じない」というやり方です。余計なアプリを入れずに済みますし、画面を開いた状態の方が、閉じた状態と比べてMacBookの排熱効率が良い、という都合もあります。
ただ、ホコリがたまるのがイヤ、などの理由で、液晶は閉じておきたい、という方もいらっしゃるでしょう。その場合は、液晶を閉じてもスリープしないアプリである、「InsomniaX」を導入するという手もあります。
「InsomniaX」を有効にした状態であれば、今回ご紹介した記事のスリープ方法を実行したのち、radiko録音を続けたまま画面を閉じることができます。ぜひ、お試しください。
まとめ
以上、設定したキーボードショートカットキーを押すことで、radikoを録音中かどうかを自動的に判定し、録音中のときは画面のスリープ、それ以外のときは通常のスリープを実行する方法をご紹介しました。
この方法により、より省エネで、より確実にradikoの録音ができるようになりました。本当にちょっとした自動化でしかありませんが、こうした小さいハックを積み重ねるちょっとした改善が、楽しいんですよね。
ここまでお読みいただき、ありがとうございました。この記事がお役に立てば幸いです。
コメント