皆さんは動画(特にチュートリアル動画)を見ながらこういうことを思ったことはないでしょうか?
動画のシークバー操作や再生/一時停止するために、毎回ツール画面から動画プレイヤーにマウス移動するの面倒だな…
この操作、チュートリアル動画視聴時は繰り返されるので管理人はストレスでした。
そこで、TourBox+簡単なスクリプトを作って試してみたところ、快適に視聴・作業ができるようになりました。
今回は、その設定を紹介したいと思います!
概要
やることは、
TourBoxで「指定したプログラム(動画プレイヤー)の画面をアクティブ化」するPythonスクリプト を
起動して、そこから回転ダイヤルでシークバー操作する。
といった感じでシンプルです。
回転ダイヤルでシークバーを操作するのはベーシックな使い方だと思うのですが、
TourBoxのボタン操作でアクティブ画面を切り替える、というところがミソになります。
動画プレイヤーの設定
ここでは「MPC-BE」を使用して行います。
が、同じような設定が行える動画プレイヤーなら同様のことが行えると思います。
MPC-BEのダウンロード・インストール
以下から、任意のバージョンのフォルダを選択して、インストーラーのzipをダウンロードします。
※最新のもので問題ないと思います
https://sourceforge.net/projects/mpcbe/files/MPC-BE/Release%20builds/
上記のあとはzipを解凍して、インストーラーを起動。
画面に従って操作すれば、インストールできます。
ショートカットキーの設定
MPC-BEのショートカットキーの設定をします。
表示 > オプションを選択して、オプション画面を開きます。
ここは任意の設定で問題ないですが、管理人は以下のように設定しています。
デフォルトだとAlt + Right (Left) Arrow は「DVDメニュー」に割り当てられていますが、無効(キーメニューの3点ボタン > クリア)にしています。
最後に、その他メニューの「ジャンプ間隔」を設定します。先ほど設定した(↑だと小以外)ショートカットを押下した際のフレームジャンプの間隔になるので、任意の値を設定してください。
Pythonスクリプトの用意
指定したアプリケーションをアクティブにするPythonスクリプトを作成します。
初めてPythonに触れる方もおられると思いますが、以下の記事で紹介したバッチよりもより多くのことができるプログラム言語、と認識してもらえたら大丈夫です。
使用するためには、Pythonをパソコンにインストールする必要があります。
また今回はさらにライブラリ(Pythonに新しい機能を追加する、拡張パックのようなもの)もインストールします。
それぞれ、順を追って説明していきます。
Pythonのダウンロード・インストール
以下のページが分かりやすく解説してくれているので、参考にしてインストールを行ってください。
Windows版Pythonのインストール: Python環境構築ガイド – python.jp
ライブラリ「PyAutoGUI」のインストール
後述する、指定したプログラム(動画プレイヤー)の画面をアクティブ化する機能をもつライブラリ「PyAutoGUI」をインストールします。
以下の方法でコマンドプロンプトを開いてください。
Windowsキー + R で「cmd」と入力してEnter
または
Windowsキーを押して、「cmd」と検索、コマンドプロンプトをクリック
コマンドプロンプトが開いたら、以下のコマンドを入力してください。
Pythonでは「pip」というライブラリを管理するツールがあるのですが、それを最新版にするコマンドです。
※最新版にしておかないと不具合が出たりするので、この作業を行っておくことをオススメします。
py -m pip install –upgrade pip
コマンドプロンプト画面はそのまま表示させておいて、次に以下のコマンドを入力します。
今回は「PyAutoGUI」という、Pythonでウィンドウやマウス・キーボードの操作を行えるライブラリをインストールします。※これと同時にインストールされる「PyGetWindow」を使用します。
py -m pip install pyautogui
最後に、以下のコマンドを入力して、インストールされているライブラリをリストアップします。
python -m pip list
リストアップされた中に「PyGetWindow」があればOKです。
もしない場合は以下のコマンドを実行して、個別でインストールしてみてください。
py -m pip install PyGetWindow
スクリプトの作成
任意のフォルダに、右クリック > 新規作成 > テキストドキュメント で、テキストファイルを作成します。
名前はなんでもいいのですが、ひとまず「ActiveWindow」とします。
拡張子を「pyw」とします。これで、このファイルを開くとスクリプトが実行するようになります。
↑のファイルを右クリックからテキストエディタ(メモ帳など)で開いて、以下のコードを貼り付けて保存してください。
import pygetwindow as gw
def activate_window_partial(title):
all_windows = gw.getAllWindows()
for window in all_windows:
if title in window.title and not window.isActive:
window.activate()
activate_window_partial("MPC-BE")
上記スクリプトについて解説します。
これは、指定した名前をもつウィンドウをアクティブにする=ショートカットキーで操作できる状態にするスクリプトで、
「def activate_window_partial(title):」がその処理(関数といいます)で、titleの部分がアクティブにする対象のウィンドウ名です。
「activate_window_partial(“MPC-BE”)」の部分が↑の関数を実際に実行する処理で、(””)部分にウィンドウ名を指定します。ここではMPC-BEを対象にしたいので「MPC-BE」としています。
各行を説明すると、以下のようになります。
import pygetwindow as gw # PyGetWindowライブラリを読み込んで「gw」という名前で扱う
def activate_window_partial(title): # ()内の文字列をもつウィンドウをアクティブにする関数
all_windows = gw.getAllWindows() # 開いている全てのウィンドウを取得する(PyGetWindowの機能を使う)
for window in all_windows: # 開いている全てのウィンドウの数分、処理を行う
if title in window.title and not window.isActive: # もし、タイトル(title)の文字列が含まれている&ウィンドウが非アクティブなら次の行の処理を行う
window.activate() # タイトル(title)のウィンドウをアクティブ化する
activate_window_partial('MPC-BE') # ()内に入れたウィンドウ名を対象に↑の関数を実行する
TourBoxの設定
TourBoxに専用のプリセットと、その設定を行っていきます。
回転ダイヤルにシークバー移動系のショートカットを設定して、
ボタンにMPC-BEをアクティブにして一時停止/再生を
プリセットの作成とキーの設定
TourBoxコンソールの画面左上のプリセットリストで、「+」ボタンを押します。
MPC_BE(任意の名前でOKです)として、OKをクリックします。
各キーに設定を行っていきます。
最初の方で行ったMPC-BEのショートカット設定をもとに、以下のように設定しています。
マクロの設定
次にマクロの設定を行います。トップボタンの設定を開き、「マクロ」タブから「+」ボタンをクリックします。
「Start/Stop」としてOKをクリックします。
「+ACTION」をクリックして、
「開く」の項目から、「ファイルを開く」で、作成したPythonファイルを指定してOKをクリックします。
次にもう一つアクションを追加して、「遅延」を「10ms」としてOKをクリックします。
最後にもう一つアクションを追加して、「キーボード」を「SPACE」としてOKをクリックします。
※ひとつ前で遅延を入れたのは、Pythonファイルを実行したあとに処理が実行されるまで少し間があり、このSPACEが入力されるのを防ぐために入れています。環境によっては、200msなどもう少し大きい値を入れたほうがいい場合もあります。
必要な場合はこのマクロをほかのボタンにも設定して完了です。
管理人は、押しやすいところにあるボタンに設定しています。
確認
任意のツールがアクティブな状態で、TourBoxのボタンを押すことでMPC-BEがアクティブになれば成功です!
今回は再生/停止(SPACE)をマクロ化していますが、画面をアクティブ化するPythonを実行してさえいれば、シークバー移動操作(LEFTや、Ctrl+Right)もマクロとすることも可能です。
最後に
以上になります、お疲れ様でした!
ちょっとしたものではありますが、ご活用してもらえたら嬉しいです。
MPC-BEを対象に行いましたが、Youtube視聴時のショートカットを参考に設定もできると思います。
今回ご紹介したように、TourBoxのマクロでは「ファイルを開く」という操作が行えます。
pythonやバッチなどスクリプトを実行することで、マクロの基本機能で行う以上のことができるので、
TourBoxを活かせるシチュエーションは色々広がると思います!
コメント