TextAlive App API と Template API の比較

TextAlive App API の基本的な考え方

TextAlive App API は、音楽に合わせてタイミングよく歌詞が動く Web アプリケーションの開発を支援するしくみ(フレームワーク)です。 2020/9/18 に TextAlive の開発者向け新機能としてリリースされました。

プログラマは、自分の使い慣れた開発環境で、使いたいライブラリの制約を受けることなく、 TextAlive の機能の一部を使って Web アプリケーションを自由に開発できます。

従来の TextAlive との違い: より自由なプログラミング体験へ

テンプレート(TextAlive Template API)

TextAlive では、従来から「テンプレート」と呼ばれる歌詞やグラフィックの演出プログラムを JavaScript で記述して、他の人に使ってもらうことができます。

通常の動画制作ソフトウェアと異なり、 TextAlive はテンプレートの開発環境を内包した制作支援環境です。これにより、プログラマが動画制作と演出プログラムの開発をスムーズに行き来できるだけでなく、プログラマが動画制作者向けに新しいテンプレートを公開し、動画制作者の演出力を強化することが可能となっています。 TextAlive のテンプレートに関しては、 @ui から始まるコメント文で動画制作者向けにパラメタ調整用ユーザインタフェースを提供できるなど、プログラマと動画制作者の緊密な連携が可能となるさまざまな工夫が実装されています。

一方で、テンプレートはあくまで TextAlive のマネージドな環境でのみ動作する特殊な JavaScript コードであり、TextAlive の Web サイト外での動作は通常、想定されていません。また、TextAlive では CreateJS (EaselJS) というキャンバス描画ライブラリを活用しており、このライブラリの API を超えた表現を実装することは不可能でした。

TextAlive App API

これまでに述べたとおり、従来の TextAlive において プログラマと動画制作者の連携を支援する ことと プログラマの表現力に制約をかけない ことは、両立が難しい課題でした。

TextAlive App API は、以下の工夫により、これらの両立を目指します。

  1. TextAlive の中にプログラマ(ユーザ)のコードを埋め込むのではなく、 TextAlive の各種機能をライブラリ(API)として提供 し、ユーザのコードの中から呼び出せるようにする
  2. 開発されたアプリケーション(TextAlive App)と TextAlive ホスト間の通信プロトコルを定め、プログラマのコードの ライフサイクルを従来どおり TextAlive で管理 する

なお、2 点目に関しては TextAlive App がホスト上で実行されているかスタンドアローンで実行されているか判別する API が用意されています。これにより、スタンドアローンの場合のみ再生コントロールを表示するといったようなコーディングが可能です。