Cycling '74 Max 8でPJLink制御を行うで書いた記事の続編で、これを応用し複数台コントロールを行った話です。
少しづつ、Maxでのプログラムに慣れてきましたので、色々と応用が利くようになりました。
まず、最近取り組んでいる事の一つに、Maxコンソールのログモニタ化があります。その為に、西暦と日付と時間がprintされる様にタイムスタンプを出力できるパッチを作りました。
タイムスタンプパッチ
printと組み合わせる事により、Maxコンソールに時間が残る
これがまた便利で、コマンドの受信や送信インターバルが分かるようになりました。
ここからが本題です。
まず、PJLinkの送受信コマンドを外部パッチ化します。
PJLinkコントロールの外部パッチ
PJLinkコントロールの外部パッチのインレットはオン、オフ、状態取得、IPアドレスとパスワード、アウトレットは起動中、オン、冷却中、オフです。ここで作成したパッチをさらに参照します。
PJLinkによる複数台コントロールテスト
外部パッチ化して情報を少なくすると、上記の様に単純な構成になります。これを複数増やします。
複数増やした状態
ここで疑問だったのがセッション数です。
cortexproductionsさんのMXJ-PjlinkConnectを使用しているので、これがマルチセッションとして成立するのか不明でした。が、心配を杞憂に、なんなく14台の個別制御が可能でした。凄い!!!
MXJ-PjlinkConnectの直リンク
PJLink Connect
PJlink Control mxj java code by Marc Lautier
テキストボタンの2重化でモーメンタリスイッチと内部照光をパッチで表現する
上記の状態でも操作が複雑に感じますので、ボタンを押したらオン・オフ、電源がオンしたらボタンが光る、電源がオフしたらボタンが消える、起動中や冷却中はボタンが点滅する、これだけの単純動作にします。設定は簡単で、テキストボタンを2重化し、ボタン照光動作担当はクリック禁止に、その上に背景をアルファにしたものを乗せます。実際のbang担当は上位レイヤの文字が行います。実際の内部照光式モーメンタリスイッチと同じ動作を再現をしているわけですね。
パッチ後に重ね、グループ化をしておきましょう。そうする事で1つのオブジェクトとして扱う事が可能です。
単純な操作に落とし込む
これらを複数台分用意し、完成
このボタンのみを集約し、細かい動作はサブパッチで別タブ表示にし制御は完成です。
後は、このボタンを会場見取り図や図面に落とし込めばイベントなどでの複数台プロジェクタ制御アプリとして機能します。Maxですのでこのコントロール画面を.exe書き出しし、現場のパソコンに置いてくる、オペレータに渡す、などの事も可能です。(.exeファイルの単品販売は不可です)
一度ここまで作ってしまえば、後は応用が利きますので、いかなるケースにも短時間で対応が可能かと思います。
本記事がどなたかの参考になれば幸いです。