10.7. Script-Fuサブメニュー

Script-Fu サブメニューには Script-Fu コンソールをはじめ Script-Fu 関連のコマンドが入っています。 Script-FuGIMP のコマンドを自動的に実行させるスクリプトを書くための言語の一種です。

10.7.1. Activating the Submenu

You can access this command from the main menu through FiltersDevelopmentScript-Fu.

10.7.2. Script-Fu コンソール

Script-Fu コンソールは Scheme 言語のコマンドを対話的に試すのに使えます。

The console consists of a large scrollable main window for output and a text box at the bottom to enter Scheme commands. When you type a Scheme statement and then press the Enter key, the command and its return value will be displayed in the main window.

図16.234 Script-Fu コンソール

Script-Fu コンソール

Scheme の詳しい案内や 「Script-Fu 作成演習」 での Script-Fu コンソール の使い方の例もご覧ください。

Script-Fu コンソールのボタン

参照...

The Browse button is next to the Scheme commands text box. When clicked, the procedure browser window opens with an additional Apply button.

Select a PDB procedure from the list and press the Apply button. The selected procedure and its parameter names will be pasted into the text box of the Script Console.

Now you just have to replace the parameter names after the procedure name with actual values. Then you can call the procedure by pressing Enter.

閉じる

閉じる ボタンをクリックすると Script-Fu コンソールを閉じます。

クリア

When you click on this button, the content of the main window will be removed. Note that you can't get back the removed content using the Save command.

保存

保存 コマンドは主ウィンドウ、 つまり Script-Fu の出力表示の内容をそっくりそのまま (エコーバック行の>記号も含め) テキスト形式のファイルとして保存します。 ボタンをクリックするとファイルブラウザーが開かれますので保管場所とファイル名を指定してください。

10.7.3. サーバースタート...

サーバースタート... コマンドはサーバープログラムを起動します。 起動時に指定したポートを介してサーバーに Script-Fu 命令 (Scheme 言語のコード) を送ると解釈され実行されます。

図16.235 Script-Fu サーバーオプション

Script-Fu サーバーオプション

Listen on IP

The IP address the Script-Fu server will listen on. This is usually 127.0.0.1 (also known as localhost). Only change this if you know what you are doing.

サーバーポート

この番号のポートを介し Script-Fu サーバーが送受信します。 サーバーは複数起動させることも可能ですが、 もちろん互いに異なるポート番号を指定しなければなりません。

サーバーログファイル

必須ではありませんがここでファイル名を指定するとサーバーが発する不正や事故のメッセージがそのファイルに書き込まれます。 ファイル名を指定しない場合はメッセージが標準出力に送られます。

Script-Fu サーバーのプロトコル

Script-Fu サーバーと交信するためのプロトコルはとても単純です。

  • サーバーに送るメッセージ (Script-Fu 命令文) にはいずれもその文字列の長さ L を含むつぎのような 3 バイトを頭に付加します。

    表16.1 コマンドのヘッダー部の形式

    バイト順 内容 意味
    0 0x47 マジックバイト ('G')
    1 L div 256 L の高位バイト
    2 L mod 256 L の低位バイト

  • サーバーが返すメッセージ (返し値もしくはエラーメッセージ) にはいずれもその文字列の長さ L を含むつぎのような 4 バイトが付加されています。

    表16.2 返し値のヘッダー部の形式

    バイト順 内容 意味
    0 0x47 マジックバイト ('G')
    1 エラー判別 0 は成功。 1 は事故。
    2 L div 256 L の高位バイト
    3 L mod 256 L の低位バイト

[ヒント] ヒント

面倒くさそうですか? それなら GIMP のソースコードに含まれている servertest.py という名前の Python スクリプトはいかがでしょう。 これは Script-Fu サーバーと交信できる単純なコマンドライン端末用プログラムです。