AviUtlの拡張編集にSusieプラグインを導入したが、画像ファイルを読み込まない
この記事はSusie 32bit Plug-in 仕様 rev5を理解している人用の記事です。
GetPluginInfo(int infono, LPSTR buf, int buflen)の呼び出し挙動
Susieでは
起動時にinfono=0 > 2 > 3 > 4 > ...の順で、戻り値で0が返されるまで続く
about Susie..が呼び出された際に、infono=1が呼び出される
AviUtlの拡張編集では
起動時にinfono=1 > 2のみ、この順で呼び出される
画像ファイルを開く際の挙動
Susieでは
IsSupported > GetPictureInfo > GetPictureの順で呼び出される。
AviUtlの拡張編集では
起動時のGetPluginInfo,infono=2で返された拡張子に合致しているかを確認する。
合致していた場合、GetPicture > GetPicture > GetPictureの順で呼び出される。
(なぜ、こんな呼び出し方してるんだ...)
まとめ
本来のSusieプラグインAPIでは、
table:本来のinfonoと情報
infono 情報
0 00IN
1 プラグイン情報
2 *.jpg;*.jpeg
3 JPEG File(*.jpg;*.jpeg)
4 *.png
5 PNG File(*.png)
と指定するのが妥当である。
よって、多数のプラグインが、この方法で指定していると思われる。
しかし、AviUtlの拡張編集で、すべての拡張子を読ませるためには、
table:拡張編集用infonoと情報
infono 情報
0 00IN
1 プラグイン情報
2 *.jpg;*.jpeg;*.png
3 JPEG File(*.jpg;*.jpeg);PNG File(*.png)
としなければならない。
ソースが公開されているプラグインであれば、改造してあげればよい。