2008年11月24日

ConditionalReader で文字列を返す方法



ConditionalReader - Avisynth


ConditionalReader で文字列を返す方法が上記の AviSynth オフィシャルサイト内のページに追記されています。


ConditionalReader では、int/float/bool のいずれかの型しか扱うことができないため、そのままでは string 型の値を返すことができません。


上記のページで紹介されている方法では、以下のような手順を踏むことで文字列を返しています:


1.string 型の変数をあらかじめ用意する(例では別のファイル(strings.txt )に分けられているがメインの AVS に記述してもよい)。この時、変数の名前を「接頭辞文字列+整数」という風にする(例では「n + 整数」):



n0=""
n1="Intro"
n2="Main"
n3="Credits"


2.ConditionalReader に渡すファイル(range_string.txt)では int 型の値を返す(1, 2, 3, etc.)


3.ConditionalReader からは int 型の値が戻されるので、string を使って文字列に変換して、Eval で 1 で指定した接頭辞(n)と組み合わせて変数名を生成する:



import("strings.txt")
ScriptClip("""subtitle(Eval("n"+string(mystringindex)))""")
ConditionalReader("range_string.txt", "mystringindex")


詳しくは、上記の ConditionalReader のページ、および、下記の関連リンクを参照してください。


関連リンク






【Tipsの最新記事】
posted by niiyan at 23:12 | Comment(0) | Tips | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。