TVML - TVprogram Making Language
TVMLプレイヤーII
TVMLプレイヤーミニ
TVMLとは何か?
TVMLの言語仕様
TVMLの使用例
TVMLの外部制御モード
キャラクター作成講座
TVML番組制作の解説書
そのほかのトピックス
ダウンロード
TV4U (TV for you)
English
TVMLの外部制御モード

TVML PlayerII には、スクリプトを入力し番組として再生するという使い方のほかに、TVML Player II を用いたアプリケーション開発が出来るよう、TVML Player II を外部から制御するための外部制御ライブラリTvIFを提供しています。TvIFを使用することにより、TVML Player II を用いたさまざまなインタラクティブアプリケーションを開発することができます。


例えば...

視聴者参加クイズ番組
ユーザーがクイズの回答者に!
マルチストーリーのドラマ
ユーザーがドラマのストーリーを変える!
CGエージェント
TVの中のCGエージェントと対話!
TVスタジオシミュレータ
カメラマンになって番組を作り上げる!

ほかにもあなたのアイディア次第でさまざまなアプリケーションを作ることが可能です。また、大学など研究機関においてもTVMLをプラットフォームとした研究が盛んになりつつあります。

TvIFとはどんなものか
TVMLプレイヤーは完全インタープリター動作なので、1行のスクリプトを読み込むと、即座にこれを構文解析し、即座に実行します。したがって、TVMLプレイヤーを起動しっぱなしにしておき、外部のアプリケーションからTVMLプレイヤーに対して非同期にスクリプトを送信すると、TVMLプレイヤーは即座にそれを実行し、終わったら次を待つ、という動作を行います。これを使うと、次の図に示すように、ユーザーとインタラクションを行うアプリケーションを別に作っておき、このプログラムからTVMLへスクリプトやコマンドを送り、かわりにステータスを受け取ることで、TVMLを使ったインタラクティブなアプリケーションを開発することができます。

TvIFはマイクロソフト社のVisual C++のライブラリとして提供され、これをユーザーのプログラムにリンクして使用することで、TVMLプレイヤーのフルコントロールを実現します。また、プレイヤーとユーザーアプリケーションの間の通信はシェアードメモリを用いているので非常に高速です。主な機能は以下の通りです。

制 御 ステータス
  • 1行以上のTVMLスクリプトを送信し、再生する
  • プレイヤーのGUIの機能すべて(再生、停止、ポーズ、台本読み込みなど)を外部制御できる
  • プレイヤーの起動、終了、ウィンドウ配置などを外部制御できる
  • ひとつのプレイヤーに対して複数のアプリケーションから制御できる
  • プレイヤーの動作状態(イベント処理状況など)をステータスとしてリアルタイムで取得できる
  • TVML再生ウィンドウ内のマウスポインタの座標、ボタン情報をリアルタイムで取得できる
外部制御開発キット(Dkit)およびサンプルプログラム

■TVML Player II 用TvIF

TVML Player IIより、外部制御ライブラリをTvIFという名前に変更しました。機能的には、旧バージョンのCオプションとほぼ同様になりますが、動作環境がVisual C++ .NETに変更になっています。

■TVML Player II 用外部制御ライブラリ

ライブラリおよびサンプルプログラムはTVML Player II と同様、ダウンロードページからダウンロードすることができます。

 

動作環境

  • WindowsXP Professional
  • Microsoft Visual C++ .NET 2003

使用方法

  • ダウンロードページからDkit(Zip形式で圧縮されています)をダウンロードします。
  • ダウンロードしたファイルを解凍します。
  • 解凍したフォルダ内にあるreadme.txtを参照の上使用してください。

サンプルプログラム
   Dkitの中には以下に示すようなサンプルプログラムが入っています。

  • bobclock
    TVMLスクリプト割り込み処理を実装し、2つの割り込みを使用してBOBに時報を喋らせます。
  • bobtalk
    外部アプリケーションから入力したテキストをBOBに喋らせます。
  • camera_change1
    割り込みスクリプトで複数のカメラを切り替えるサンプルプログラムです。
  • camera_change2
    camera_change1とは異なる方法でカメラスイッチングを行うサンプルプログラムです。
  • TVchannel1
    テキストファイルに列挙されたTVMLスクリプトを次々と連続再生します。 この際、矢印キーで、番組のスキップ、スキップバックが行えます。
  • TVchannel2
    TVchannel1と同様の動作を異なった方法で実現しています。
  • csharpsample
    C#によるサンプルプログラムです。C#によるアプリケーションからPlayerIIを起動して、スクリプトのセット、再生、停止などを行います。(要Visual C#.Net 2003)

詳しい情報は以下のマニュアル(PDF)を参照してください(下記のマニュアルはダウンロードしたDkit内のdocumentフォルダにも入っています)。