一ヶ月で4回もバージョンアップするとは・・・。まあこれで本当にしばらく無いとは思いますが・・・。
なぜか画像の読み込みに対応
一応「Layer」とついているので画像の読み込みに対応してみました。画像ファイルも読み込んで「動画+画像+音声」をすべてレイヤー上にして同時再生する、というミキシングができます。もちろんできてもそのタイミングだけなので人に見せるくらいしか意味がないですが、自分で楽しむ分にはおもしろいと思います。
なお、画像の形式がbmpとpngだけ、しかも特定の形式が非対応になっているのが悲しいところです。付属しているテキストには書いていませんが、jpgに対応していない理由も合わせると、「これがADVシステムのライブラリから作り出したものだから」という回答になるところがまた微妙です。つまるところ、ADVシステムでマスクとして読み込むべき形式はAlphaサーフェイスと見なされるため画像として描画できないですし、ADVシステムでjpgを使うことがかなり珍しい(というかない)ため、現在jpgのライブラリの連結を止めているためjpgが読み込めない、という理屈だったりします。jpgのライブラリを連結すれば(読み込みルーチンはすでにあるので)読み込めるようになるというのがまた何とも。
ちなみに、pngを読み込めるようにした段階でlibpngが古かったので更新をかけたり、pngがパレット形式の時ロードがうまくいかないという現象なども一緒に修正しました。ADVシステム中ではpngがパレット形式である、なんて想定していなかったのでルーチンがまずかったということに今更ながらに気がついて修正しました・・・。
動画+背景画像をレイヤー合成しながら動画再生か・・・
これができるのですが、自分でも使い道がわからなくなってきました。複数動画をレイヤーで重ねる+複数の音声ラインを重ねて再生なら使い道は十分にあるのですが、さすがにこれは・・。デバッグで試してはいるのですが、さて、使い道は?という感じです。使いたい人はいろいろと試してみるといいと思います。
ついでに細かい修正も
同時再生時の同期処理部分を微妙に修正したり、タイマの間隔を修正したり・・・。CPUのコア数やマシンの負荷状況にもよりますが、さらに同時再生がしやすくなったと思います。あとはさらにコアがあるマシンでとんでもない数の動画を同時に再生して・・・とかというテストをやってみたいかもしれません。
後、画像がレイヤー状態で読み込めるようになったのなら回転とか考えたい人も出てくるのでしょうかね。どうせレイヤーと言っても内部は3D処理なのでそちら系ならば(GUIを変えるのが面倒なだけで)設定を作るのは難しくはないのですが、あまりいい案ではないような気もします。