GIMP3 の Python プログラムを書くときに、プログラムが正しく登録され、メニューに現れるようにならないと、その後のデバッグが非常に困難になり、手も足も出なくなります。 どこかが間違っているが、どこが間違っているかさっぱり分からないという事態を避けるために、プログラムが正しく登録できるテンプレートファイルを公開します。このテンプレートファイルを適宜に変更して、プログラムを作成すれば、メニューに全く現れないという事態を多少なりとも避けられるかと思いますので、ご活用ください。プラグインを作成する際は、このテンプレートをアレンジして、まずメニューに登録できているのを確認してから、具体的にコードを書き始めることを強くおすすめします。 なお、このファイルはプログラム / ファイル名が register_frame になっており、実際に正しくは知らせるためには、GIMP ユーザ設定ディレクトリ
先日、GIPM3 のプログラミングでは PDB プロシジャーの直接呼び出しが廃止されたということについて書きましたが、それに加えて、GIMP 固有オブジェクトにおけて直接アクセスできるデータメンバーの大半が殲滅状態です。これは gimp-fu 廃止の影響なのか、それとも Gtk2 から Gtk3 に移行した影響なのかは分かりません。 ちなみに、GIMP 2.10 では以下のようなデータメンバーへの直接アクセスが利用可能でした。 https://www.gimp.org/docs/python/gimp-objects.html 例えば、image オブジェクトの場合、2.10では... image.active_channel image.active_layer image.base_type image.channels image.cmap image.filename image.
GIMP3 用の Python プラグインスクリプトプログラミングにおいてデバッグする方法をまとめてみます。いくつか重要なポイントがありますので、それごとにまとめてみます。 1. メニューにちゃんと登録させる まず Python プラグインが、メニューにちゃんと登録され、表示されないと、エラーがあることはわかってもどこにエラーがあるのかわかりません。この状態だと手も足も出ない状態です。作成したプラグインがメニューに現れない理由としては次の6つの理由が考えられます。 1) プラグインをおいている場所が間違っている 基本的に、ユーザのホームディレクトリの配下にある GIMP 設定ディレクトリにプラグインを入れます。位置は下記の通り。 Linux ~/.config/GIMP/3.0/plug-ins/ Windows c:\users\%USERNAME%\AppData\Roaming\GI
何とか、ある程度 GIMP3 用プラグインを Python で書けるようになりましたが、まだよく分かっていないのが ダイアログなどの UI (GUI) をどの様に作ったら良いのかということです。 一応、Gimp Developers サイトには、C で UI を書く方法は載っているのですが、Python で書く方法のインストラクションは見当たらず... GIMP Developer - C plug-ins - GUI GIMP Developer - C plug-ins - Complex GUI Python に関する GUI 作成チュートリアルはありません。上の記事には、読んで参考になる記述はあるものの、これから Python のコードを推測しろというのもちょっときついものがあります。Chat-GPT などに投げれば書き換えをしてくれそうではありますが... ただ、自分が消化不足の
本稿で解説するのは、Ubuntu などの Linux システムにおいて、Flatpak を使って GIMP 2.10 と 3.0 を共存させるインストールを行う方法です。 先日、長い間待望されてきた GIMP 3.0 が正式リリースされました。しかしながらユーザが開発してきたプラグイン類の多くはまだ 3.0 に対応していません。特に Python-fu の仕様が大幅に変わってしまったため、Python で書かれたプラグインの作者はプラグインの書き換えに難渋すると思います (私もその一人です)。2.10 時代は Python 上の gimp-fu というライブラリを使うと UI のために複雑なコードを書かなくてもプラグインが書けました。おそらく Python スクリプトの 99% は gimp-fu に依存していたと思います。しかし、3.0 では、基本的に、C で書くのと同様な方式で書くよう
GIMP 3.0 がリリースされ (てしまい) ました。というわけで拙作の GIMP Python プラグインも 3.0 対応を急がなければなりません... しかし前にも記したように gimpfu という ユーザーが比較的かんたんにプログラムを開発させるサポートをしてくれる Python 用ライブラリが廃止されたため、大幅なプログラム変更を余儀なくされており、新たなプログラミング方法を学ばなければなりませんが、悪戦苦闘中です。 因みに、以前報告したように、gimp-fu を 3.0 向けに移植する試みもありましたが、開発チームからプロジェクトに含めることを拒絶され頓挫してしまいました。 同じ Python なんだからそんなに大変なの、と思われるかもしれませんが、私の実感ではプログラミングで言語の要素が占める割合は 1/3 か 1/4 ぐらいで、残りは、API をどう使っていくかの問題になる
前回GIMP2.99.4をダウンロードをした、という話を書きました。Ver. 3.00に向けた開発バージョンです。既存のプラグインがどれぐらい動くかというのを確認しようとダウンロードしたのですが、2.10対応のプラグインは全滅です。 Python3ベースになる、ということとGTK3ベースになる、また廃止予定とされていたprocedureは使えない、ということは分かっていましたが、どうやら仕様変更はそれにとどまらないようです。リリースノートを見ると、プラグインはクラスとして宣言しなければならないと書いています。 GIMP2.99にサンプルプログラムとしてgoat-exercise-py3というのが付属していますが、既存のプラグインと全く違います。 頭の方に以下のようなコードがあります。 class Goat (Gimp.PlugIn): ## GimpPlugIn virtual metho
以前、GIMP Version 3 で大幅にPythonの仕様が変わると書きました。 yasuo-ssi.hatenablog.com 現在の GIMP.org の立場では、既存のPython-fuスクリプトの仕様をサポートする考えはないようです。現状のPythonスクリプトは、gimpfu というPython用のGimp対応ライブラリを呼び出して動かしています。これによりユーザインターフェースなどのプログラミングがかなり簡単になっています。しかし、GIMP.orgでは、GimpFuをGimp Ver. 3でも維持する考えはないということです。このためVer. 3 に向けて、Pythonで書かれたプラグインやスクリプトは大幅な書換を迫られています。 その一方で、現在サードパーティで、既存のPythonスクリプトをあまり書き換えることなくGIMP Ver. 3 で走らせる、GimpFu Ve
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く