gimp-2.4に対応していなかった
cut-framesを、やっとこさ修正し始めた。Script-FUもSchemeもすっかり忘れてしまってる。
今まで、ずっと知らなかったのだが、gimp-2.4になって、Script-FUの仕様が大幅に変わっていた。
Script-FU in gimp-2.4
晴れときどきGIMPの日本語訳
これは、かなり困る。script-fu-compat.initというファイルがgimpの起動時に読まれるようで、ある程度は、古いスクリプトも使えるようになっているようだが、cut-framesは、それだけでは全然駄目。きっと、trace-framesなども駄目。
cut-framesの中で、修正する必要のある書き方は、今まで分かっている中では次のようなものがある。
- 配列aの大きさは、(length a) でなく、(vector-length a)
- (let ...)の中で宣言し忘れている変数を使ってた。
- 真理値の真は、t でなく、#t
- 真理値の偽は、nil でなく、#f (nilは真として扱われる) 5/26追加
- (floor 3.2), (round 3.2)などは、integerにならないので、integerを引数にする関数に渡せない。(inexact->exact (floor 3.2)) の様に書く必要があるみたい
cut-framesで使っているgimpの関数も、かなりのものが古くなって、他の関数を使え、となっているが、それは当面は後回し。
参考までに、以前書いた
Script-FUのデバッグのやり方。自分で書いたくせに、大いに参考になる。