API References| developer.gimp.org
Debugging Plug-ins| developer.gimp.org
About This is a general discussion of aspects of plugins. Read this if you are new to GIMP and want to develop a filter or plugin. This is an overview, short on details. It explains terminology. Quickstart This table helps you choose a kind of plugin or filter to develop. This table is a brief summary and gives simplified answers. Read the rest of the document for explanations, details, exceptions, and other considerations.| GIMP Development on GIMP Developer
About This describes several techniques for debugging Scheme plugins for the GIMP app. This document is specific to debugging plugins in the Scheme language. You can also use techniques (with modifications) to debug plugins written in other languages. Overview of the techniques The techniques are: view logs of the ScriptFu system harness your plugin with “print” statements use a debugger on the plugin process harness the ScriptFu code itself The first are easier, but give less information.| GIMP Development on GIMP Developer
Internationalizing GIMP Scheme Plugins| developer.gimp.org
How to write a filter| developer.gimp.org
About This describes some changes needed to port a Scriptfu script to GIMP 3: changes in types changes in PDB signatures for multi-layer support changes in error messages changes in logging It does not document: PDB procedures whose names have changed (see pdb-calls.md) PDB procedures that have been removed (see removed_functions.md) PDB procedures that have been added other changes in signature where arguments are reordered or changed in number Changes in types of PDB signatures Calls from a...| GIMP Development on GIMP Developer
About The audience is authors of Scriptfu plugins. This tells how to edit v2 scripts so they will run in GIMP 3. It also discusses enhancements to ScriptFu and its language. ScriptFu version 3 is the ScriptFu that is part of GIMP version 3. ScriptFu is not separately versioned. Quickstart A lucky few existing scripts may work in GIMP v3 without change. Required changes Some changes are required in existing plugins:| GIMP Development on GIMP Developer
About The audience is script authors and developers of ScriptFu. For more information, see the test script script-fu/test/tests/pdb/color.scm. The tests demonstrate exactly how ScriptFu behaves. Representation in Scheme Colors are represented by lists of numerics, or string names or notation. List representation A color from GIMP is represented in ScriptFu by a list of from one to four numerics, depending on the image mode. The numerics are “components” of the color.| GIMP Development on GIMP Developer
About This is a brief list of changes, in order of importance. See other pages for more information. This is the NEWS for ScriptFu version 3. The first few changes mean some existing scripts need to be ported. GIMP PDB Programmers Data Base It changed for major release GIMP 3.0, breaking API. This affects some existing scripts. New registration functions and GUI You can register a script as a filter or an ordinary procedure.| GIMP Development on GIMP Developer
ScriptFu is a system and a language. This is an overview of the language. Ancestry The language descends from TinyScheme from Scheme from Lisp. Standards Conformance There are many dialects of Scheme. There are standards specifying language features. ScriptFu more or less conforms to the R5RS standard, with the notable exception that it lacks hygenic macros. Extra features The ScriptFu language has extra features not in any other dialect of Scheme.| GIMP Development on GIMP Developer
!!! These features are recent changes to ScriptFu version 3. There might be bugs in the current implementation. About This is a language reference for the string-like features of Script-fu’s TinyScheme language. This may differ from other Scheme languages. This feature is different in ScriptFu version 2 and the upstream TinyScheme. TinyScheme is a subset of R5RS Scheme, and ScriptFu has more than the original TinyScheme because it has been modified to support unichars and bytes.| GIMP Development on GIMP Developer
About This describes a new dialect of the ScriptFu language. ScriptFu interprets the dialect after a script calls: (script-fu-use-v3). The new dialect is more like Scheme and makes scripts shorter. The dialect only affects calls to the PDB. ScriptFu interprets the old version 2 dialect for PDB binding by default, unless a script calls script-fu-use-v3. In other words, it is optional to use the dialect. Note we say “ScriptFu version 3” to mean: all the changes in ScriptFu, the ScriptFu sys...| GIMP Development on GIMP Developer
About This describes Script-Fu, a language for scripting or writing plugins for the GIMP application. This is a reference, not a tutorial. Audience Authors of GIMP plugins that use the Script-Fu language. Disambiguation Script-Fu can refer to the language or the system that implements it. Script-Fu the system has several associated tools, notably the Script-Fu Console which is a GUI REPL to execute short scripts. Many scripts in the Script-Fu language are distributed with GIMP and implement s...| GIMP Development on GIMP Developer
Here are some debugging techniques using the Script-Fu API function (gimp-message) To get anywhere with a script I have to write many debug statements that let me know if what I think is happening is actually happening. It’s useful to keep all those debug messages in the final script to help future me, or another Script-Fu writer. However seeing all those messages can be annoying when you’re working. How can we set up a script so that you can gain more control over those helpful messages?| GIMP Development on GIMP Developer
About This is a tutorial, with working examples. The companion document “Debuggin Plugins” is a reference. It describes Gimp’s support to analyze plugins. The audience is plugin authors. We use the verb “analyze” to mean “use a tool: gdb or valgrind.” The tools wrap the program under test. Background This section describes the system in which you analyze plugins. Plugins and Gimp are separate processes Plugins are separate processes that remotely call Gimp in another process.| Resource Development on GIMP Developer
Special actions need to be taken in order for plug-ins work on the Microsoft Store version of GIMP. Specifically, they should be packaged and codesigned. This is due to security restrictions and virtualization of MSIX packages that do not recommend a direct installation at %LOCALAPPDATA%\Packages\GIMP*\LocalCache\Roaming\GIMP, for example. From start, they needs: AppxManifest.xml Assets folder and resources.pri Plug-in files in appropriate VFS folder Configuring the ‘modification package’...| Resource Development on GIMP Developer
How to create a C or C++ plugin that will work on MacOS and workarounds| developer.gimp.org
How to write a GIMP plug-in, part II| developer.gimp.org