AviUtl総合スレッド46at SOFTWARE
AviUtl総合スレッド46 - 暇つぶし2ch133:名無しさん@お腹いっぱい。
08/06/11 09:32:40 xjj7eA420
>>128
func_update()が呼ばれたときのコールスタック
get_ycp_filtering_cache()で取得しようとしているフレーム番号
この2つに注意して、もういちど挙動を見てみなよ。

2回連続で呼ばれるfunc_updateは、
あなたの作ってるフィルタに向けてのものではなく、
他のフィルタに向けてのものだと思う。

たとえば次のような感じになっていると思う。
49フレーム目はプロファイル1、50フレーム目はプロファイル2

AviUtl → あなたのfunc_proc(49フレーム目)をcall
AviUtlのget_ycp_filtering_cache(50フレーム目) ← あなたのfunc_proc内からcall
AviUtl → 全フィルタのfunc_update(プロファイル2)をcall
AviUtl → 上流のフィルタのfunc_proc(50フレーム目)をcall & return
AviUtl → 全フィルタのfunc_update(プロファイル1)をcall
AviUtlのget_ycp_filtering_cache(50フレーム目) → あなたのfunc_procへreturn

この挙動が気に入らない場合の対処としては、
func_proc()内にいるときにはfunc_updateが来ても無視する
あるいは、
get_ycp_filtering_cache()を呼んで帰ってくるまではfunc_updateが来ても無視する
ように、適当にフラグをセット・参照すればいい。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch