English site

Visualware Products 映像関連機器 KG products for application
Home > 映像関連機器TOP  >  映像のいい話  >  XDアプリケーション > xsiスクリプトでXDをさらに活用

XDアプリケーション
xsiスクリプトでXDをさらに活用

 

XDを使っていて、「この操作を自動化したいな。」とか「繰り返しだけどちょっとパラメータを変えたい」なんて考えたことはありませんか?

例えば3秒待ってから次の静止画を表示したいとか、何かのアクションを待ってからXD の制御をしたいといったケースです。

 

もし簡単なプログラミングでこれらを実現できたら素敵ですね。これを実現するために設計されたのがxsi スクリプト機能です。

xsi スクリプトはJavaScript ベースの記述を行うことができます。これによりfor やif, switch など多彩な制御が実現できます。また変数を定義することもできます。

 

ちょっと例を見てみましょう。

 

(例1) 3秒毎に1フレームずつ静止画を表示する

/*

* フレーム番号0を表示する

*/

XD.execute("PLAY -v 1 -s 0 0");

UTIL.sleep(3 * 1000);

 

/*

* フレーム番号1を表示する

*/

XD.execute("PLAY -v 1 -s 0 1");

UTIL.sleep(3 * 1000);

 

/*

* フレーム番号2を表示する

*/

XD.execute("PLAY -v 1 -s 0 2");

UTIL.sleep(3 * 1000);

 

「XD.execute("コマンド");」と記述すると「コマンド」がXD に送信され直ちに実行されます。「UTIL.sleep(待ち時間);」と記述すると「待ち時間」をミリ秒で指定することができます。

 

うーん。重複する記述がありますね。

forループを使って書き替えてみましょう。変数はvar宣言によって定義することができます。

 

(例2) 3秒ごとに1フレームずつ静止画を表示する

 

for (vari = 0; i < 3; i++) {

/*

*フレーム番号iを表示する

*/

XD.execute("PLAY -v  1 -s 0" + i);

UTIL.sleep(3 * 1000);

}

 

確かに少し便利です。でも少しですね。

いえいえ。ここからがxsiの本領発揮です。

 

実はxsiスクリプト…Java言語のライブラリを使うことができるんです。「え?JavaScript(*1)とJava(*2)って同じじゃないの?」と思われた方、名前がややこしいのでそう思いがちですが、このふたつは別物なんです。

 

例えば、Javascriptではファイル操作などはできません。でも、xsiスクリプトはJava言語のライブラリを使ってファイル操作することも可能です。

 

(例3) 10ビット深度のランプ画像を生成する。

KAP-10059 ()には実用的なランプ画像生成xsiスクリプトについて記載されています。

 

PPM(ASCII形式)でランプ画像生成(例1)

 

img37.jpgPPM(ASCII形式)でランプ画像生成(例2)
img38.jpgだんだん便利になってきました。こうなると色々やりたくなってきますね。
強力な画像処理機能を有するJava言語。これを活用しない手はありませんよね?

 

 

(例4) サンプルxsiスクリプト実行例

KAP-10061 ()にはXDGUIをインストールしたときに収められているサンプルxsiスクリプトの実行例が提示されています。

 

階調テストパターン

 

img39.jpg

 

チャートパターン

 

img40.jpg

 

定型的な例としては、VESAで規定されたFPDM(Flat Panel Display Measurement)

 

img41.jpg

 

まだまだあります。

ランダムボックスが移動する動画パターン

 

img42.jpg

 

そして回転映像生成

 

img43.jpg

 

もちろんスクロールも。

 

img44.jpg

 

プレゼンテーションを作ったり

 

img45.jpg

 

連番数値を描画するなど…

 

img46.jpg

 

 

アイデア次第でどんどん広がるxsiスクリプトワールド。しかもこれらの応用例はXDGUIインストール時にサンプルディレクトリにソースファイルが格納されています。

お客様の用途に合わせてこれらのスクリプトを改変してお使い頂けます。

 

例えばお客様の現場で定型化されたテストやシーケンス、画像コンテンツなどをxsiスクリプトで構成しておけば、何度でもパラメータを変えて実現することができるのです。

また、XD制御とファイルなどの操作を時透過できますので、画像の結果検証(コンペア)等を自動化することもできます。

 

従来のパターンジェネレーターやレコーダーでは成しえなかったこの機能を、ぜひ皆様にご活用頂き、XDの新たな側面を体験して頂きたいと思います。

 

xsiスクリプトのポイントを整理しましょう。

 

 

xsi は活用次第でまだまだ十分な可能性を秘めた機能です。

XD はネットワーク経由でデータ領域を見ることができますし、xsi スクリプトでXD の制御も可能。これらの特徴を生かすことで組み合わせによる相乗効果は2 倍、3 倍。弊社の開発チームも感服させられてしまう驚きの活用がまだまだあることでしょう。

何もないところからxsi スクリプトを記述するのは意外に時間がかかります。そこで活用のヒントになればと様々なサンプルxsi スクリプトを標準で提供しています。

 

現場で作業効率向上にXD が一役立てば幸いです。

 

(*1) JavaScript

ネットスケープコミュニケーションズ社で開発された主にブラウザ上で動作させることを前提としたスクリプト言語。変数は動的な型付け扱い、変数に関数を代入できるなどの特徴を持つ。開発当初はLiveScript と呼ばれていた。

 

(*2) Java

サンマイクロシステムズ社で開発された言語。1度書いたらどこでも動くをコンセプトに中間コードをJava 仮想端末上で実行する形態をとった言語。変数は静的な型付け扱い。



※ 記載内容に関しましては、こちらよりお気軽にお問い合わせ下さい。