【Mac】radiko録音中のうっかりスリープを防止する

IT関連の話題
この記事は約8分で読めます。

先日公開した記事で、Macでradikoを録音するのであれば、「Radikoro」か「ラジ録」を使う、ということを書きました。

radikoを録音するアプリを検討した結果、「ラジ録」に行き着いた
radiko録音アプリとして、販売終了した「録るラジ2」の代わりになるものを探しました。結果、「ラジ録11」がいい感じでしたので紹介します。

記事中でもあるように、私はそのうち「ラジ録」を便利に使用しています。今のところは、販売終了になった「録るラジ」に比べて、そこそこ安定して録音できているように思います。

しかし、時折私のミスで、録音を中断させてしまうことがあるんですよね。その原因は、普段のクセで、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 - MacBookを閉じてもスリープさせないユーリティティ | ソフトアンテナ
「InsomniaX」はMacBookを閉じた際、Macがスリープするのを防ぐユーティリティです。スリープを防ぐユーティリティは多数存在しますが、大多数のアプリは蓋を閉じた際のスリープである「LidSleep」を防ぐことはできません。ヘ

「InsomniaX」を有効にした状態であれば、今回ご紹介した記事のスリープ方法を実行したのち、radiko録音を続けたまま画面を閉じることができます。ぜひ、お試しください。

 

まとめ

以上、設定したキーボードショートカットキーを押すことで、radikoを録音中かどうかを自動的に判定し、録音中のときは画面のスリープ、それ以外のときは通常のスリープを実行する方法をご紹介しました。

この方法により、より省エネで、より確実にradikoの録音ができるようになりました。本当にちょっとした自動化でしかありませんが、こうした小さいハックを積み重ねるちょっとした改善が、楽しいんですよね。

ここまでお読みいただき、ありがとうございました。この記事がお役に立てば幸いです。

コメント

タイトルとURLをコピーしました