AviSynthのぺーじ/OOP記述法

これは、かつて「にーやんのAviSynthのぺーじ」として公開されていたものを転載したものです。内容は古く、間違いも含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のヘルプや AviSynth 公式サイトを参考にすることをおすすめします。AviSynth WikiAviSynth入門なども活用してください。

お詫び

 まず最初にお詫びから・・・。

 今回もクイズの答えはやりません!(笑)

 いや、別に教えたくないわけじゃないんですよ。行き当たりばったりで書いてるので、しかたなく(?)こうなってしまうんです。一応、おおまかな流れと2,3ページ先くらいまでの内容は考えながらやっているんですけどね。

 予定では次の次でやります・・・ん〜まあ、あまりあてにはならない予告ですが(笑)

 で、今回は何をやるかといいますと、前回までに紹介しきれなかったスクリプトの記述法について紹介しておきたいと思います。

OOP記述法

 一つ目はOOP記述法です。

 じつはこれ、クイズの問題の中に出てしまっていたんです。だから解説しないわけにはいかなくなってしまったというわけでして・・・。

 といっても、とくに難しくはありません。

colorbars_flip1.png

 まず、こちらを思い出してください。

 320x240のカラーバーを反転させるスクリプトでした(命名:反転カラーバー)。

 もういいかげん見飽きてきましたね(笑)

 では、このスクリプトが次のように書き換えられることは覚えていますでしょうか。

colorbars_flip3.png

 1行目で生成したカラーバーは、最後に処理したクリップという意味の変数lastに置き換えられます。

 そして2行目では、このlast(つまりカラーバー)をFlipVerticalの変数として指定しているのでした。

 これはFlipVerticalの書式通りの記述法になっています。

フィルタ(クリップ[, その他の引数])

 クリップはclip型の引数です。データ型について忘れてしまった人は戻って確認しておいてください。

 そしてclip型の引数(クリップ)は、次のようにカッコから出すことができます。

クリップ.フィルタ([その他の引数])

 これがOOP記述法です。

 「なぁ〜んだ」って感じですね。

colorbars_flip5.png

 ちなみにさきほどのスクリプトをOOP記述法で書いてみるとこうなります。

colorbars_flip6.png

 あるいはこんな風に書くこともできます。

 「ColorBars(320,240)」で320x240サイズのカラーバーというビデオクリップを表しますので、こういう書き方もできるのです。

 これが以前ちょっとだけふれた「改行せずに複数のフィルタを記述する方法」です。

 さて、今回はこれでおしまいです。

 次回はもう一つの記述法、演算子を使った記述法について解説したいと思います。

 あ、もちろん予定は未定ですけどね(笑)

(追記)改行せずに複数のフィルタを記述する方法 2

last = ColorBars() last = FlipVertical(last) return last

 このようにフィルタとフィルタの間に半角スペースかタブキーによる区切りをはさむことにより、改行することなく複数のフィルタや変数やreturn文などを記述することが可能です。また、カッコ( ) )で終わっている場合は、半角スペースやタブ区切りも必要ありません。

(ネタ元)Avisynthを絶賛ιょぅょ PART15の361さん

最終更新日 2004年1月5日

最終更新日時: 2014-03-12 (水) 23:36:37 (1990d)