0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

QlabでPJLinkプロジェクターを制御する

Last updated at Posted at 2020-03-14

Qlab4からPJLink対応のプロジェクターを操作する
#PJlinkとは
PJLinkはプロジェクターやディスプレイをメーカーを問わず操作・管理するための統一規格です。

JBMIA PJLink

#PJLinkの仕様
詳細はPJLink仕様書を参照されたい。

プロトコル
TCP
ポート
4352

#Qlab4でPJLink扱う
Qlab4では直接TCPコマンドを送信できないため、いくつかの方法を考える。

  • scriptキューでターミナルからTCPコマンドを送信(Apple Script)
  • scriptキューでPJLinkを制御できる別のアプリをApple Scriptで操作

ターミナルからTCPコマンドを送信する

以前のMac OSではターミナルでtelnetが標準で使えたため、それを利用して制御していました。

set EscapeChr to ASCII character 29
set hideMe to false

tell application "Terminal"
	if (count of the windows) is less than 1 then
		tell window 1 to do script ""
		delay 1.0E-5
		set hideMe to true
	end if
	
	do script "telnet 192.168.0.102 4352" in window 1
	delay 1.0E-5
	do script "%1POWR 1" in window 1
	delay 0.4
	do script "" in window 1
	do script EscapeChr & "quit" in window 1
	
	if hideMe then tell window 1 to set miniaturized to true
	delay 1
	tell application "Terminal" to quit
end tell

参考:Google フォーラム [QLab] Script, Terminal and PJLink

High Sierraになってからtelnetが標準で使用できなくなったため、この方法はすでに使っていません。

##PJLinkを制御できる別のアプリを操作
MacにはApple Scriptという言語が標準で備わっています。
Apple Scriptを介することで、他のアプリケーションに対して直接操作することが可能です。
(詳細は他のサイトを参照されたい)

ここでは、『Projector Manager』というアプリケーションを使用します。

SIGMASIX - Projector Manager (Mac App Store)

スクリーンショット 2020-03-14 16.18.32.png
アプリケーション自体の使い方は、割愛します。
プロジェクターを2台設定した画面が上記の画面です。

Mac OSの「スクリプトマネージャー」というアプリを開くと、Apple Scriptに対応したアプリケーションが表示され、対応したScriptの記述が表示されます。
スクリーンショット 2020-03-14 16.09.55.png
この記法にそって、Qlab4上でスクリプトキューを作成します。
たとえば、電源をオンするキューは次のようになります

tell application "ProjectorManager"
	PowerOn 1
end tell

tell application → アプリケーションを呼び出し
PowerOn 1 → 実際にする処理(スクリプトマネージャーで調べたスクリプト)
なお、PowerOn命令のあとの[1]は、Projector Manager側で設定した1台目(前の図で言うと、192.168.0.102の機器)を指します。
end tell → 呼び出し終了

実際のQlabのキューリスト

スクリーンショット 2020-03-14 16.24.28.png

実際に現場で使うことを想定したキューリストは上のようになります。
Power onやoffはキューリストから離したほうが安全かもしれません。
私がキューを組む場合はリストには入れておいて、電源の操作が必要なとき以外はArmedのチェックを外しておきます。
それぞれのスクリプトは先程のスクリプトのPowerOnの部分を書き換えただけになります。

スクリプトの実行から実際プロジェクターの操作が完了されるまでに多少のタイムラグがあるため、
av unmuteキューと映像のスタートキューは手動にしていますが、映像の再生終了後は自動的にav muteキューをgoしています。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?