ローレンスビルスクールはPythonによるプログラミングでAVシステムの機能を強化 プログラマーの視点 David Glassman氏���

エクストロンはControlScriptを提供しています。資料がそろった、この整形されたPythonライブラリをエクストロンの機器と使用すれば、タッチパネルやスイッチャーなどの機器に容易に対応できます。

Control Concepts社シニアソフトウェアエンジニア David Glassman

伝統校の最新AVシステム

ニュージャージー州の中心に位置するローレンスビルスクールは全寮制の私立校で、200年にわたり優れた教育を提供してきました。この学校のアボットダイニングホールではエクストロンのDTP CrossPoint 108 4K IPCP SA 1台と複数台のDTPトランスミッター、レシーバーを使用してプロジェクターやディスプレイのためのローカル入出力に対応しています。システムの制御は、2台のTLP Pr 720Mタッチパネルから、DTP CrossPointに内蔵されているIPCP Proコントロールプロセッサーを通じて行われています。プログラミングはすべて、ControlScript®とエクストロンのGlobal Scripter®統合開発環境を使用して行われています。

全般的な感想

Pythonによる汎用プログラミングには経験があり自信も持っていましたが、ローレンスビルスクールのプロジェクトは、エクストロンのPythonプログラミング環境Global Scripterを使用してAVシステムのプログラミングを行う初めての経験でした。プロジェクト開始時には、システム構築に際して通常経験することのない、どんな課題が出てくるのだろうかとういう戸惑いもありました。しかし幸いなことに、新しい手順に慣れるのにごく僅かな時間を要しただけで、すべてが順調に運びました。予測外の出来事はほとんどありませんでした。

使い慣れたPythonライブラリの標準機能のほとんどが利用できることに加え、エクストロンはControlScriptを提供しています。この、ドキュメントが整備され、整形されたPythonライブラリをエクストロンの機器と使用すれば、タッチパネルやスイッチャーなどの機器に容易に対応できます。エクストロンが用意したデバイスモジュールを使用して他社の機器を制御することも可能でした。プロジェクト開始時には、必要なモジュールはほとんどそろっていました。必要な機器のモジュールが1つだけ足りませんでしたが、こちらで手間をかけることなく、エクストロンに短期間で作成してもらえ、一度でうまく動作しました。

コンフィグ方式ではなくPythonによるプログラミングを選択する理由

システムはさほど複雑ではなく、コンフィグ方式でも構築できたかもしれません。しかしながら、システムの設計には、高度なコンフィグ方式にとっても困難ないくつかの機能を含んでいました。さらに、プロジェクトの途中で設計変更があった場合、変更を加えることは困難だったでしょう。コンフィグ方式自体には利点はありますが、往々にしてより一層の柔軟性が必要な場合があります。

Python自体はとても気に入っているので、システムのプログラミングはとても快適でした。シンプルなのにとてもパワフルな言語で、やりたくてもできない、というようなことは何もありませんでした。システムのプログラミングは主にオブジェクト指向の流儀で行いました。カスタムオブジェクトをプログラム内で使用して、オブジェクトとその状態に基づいて判断を行い、アクションを実行しました。この種のプログラミングにより、とても効率的な完結したコードが作成されます。これはコンフィグ方式では不可能です。コンフィグ方式ではなくPythonを選んだもう1つの理由は、このようなシステムにおいてグローバルな変更が可能な点です。データを実際の変数やオブジェクトに格納することができるので、1箇所を変更するだけで、それをプログラム全体に適用することができ、確実に時間の節約が可能です。

成功の決め手は?

Python言語全般に習熟していたことは大きなプラスでした。その上、エクストロンのサポートは一流でした。メインコンタクトとして、エクストロンに専任のエンジニアをアサインしてもらい、最初のプロジェクトの間、問題があれば解決を手伝ってもらうことができました。これは大きなメリットでした。必要があれば電話1本でサポートしてもらえるので、自信を持って進むことができました。分からないことがあってもすぐに解決し、次の作業に集中することができました。Global Scripterを使用した、ControlScriptやPythonによるプログラミングは、全般的に素晴らしい経験でした。次のプロジェクトが楽しみです。