For plug-in writers reference, these are equivalent:
- (plug-in-emboss RUN-NONINTERACTIVE img mask-emboss 315.0 45.0 7 TRUE)
+ (gimp-drawable-merge-new-filter mask-emboss "gegl:emboss" 0 LAYER-MODE-REPLACE 1.0 "azimuth" 315.0 "elevation" 45.0 "depth" 7 "type" "emboss")
Note: the last arg, emboss, must be replaced by a string, "emboss" when
it was TRUE, "bumpmap" when FALSE.
Similarly to "gegl:gaussian-blur", the call to wrap_in_gamma_cast() was
useless because "gegl:emboss" already sets its output format to linear,
as well as its input format (through GeglOperationAreaFilter parent
class).
The files in this directory are:
- production plugins
- demo plugins
- initialization scripts for ScriptFu
Don't put test plugins in this directory, but in subdirectory test.
Production plugins:
- installed in a release.
- appear in diverse menus, not just Filters.
- should be marked for translation, and not in potfiles.skip
Demo plugins:
- installed in a release (with goat exercise plugins)
- appear in Filters>Development>Demos
- FUTURE: marked for translation, and not in potfiles.skip
Initialization scripts
- loaded by the TinyScheme interpreter
- have suffix .init or .scm
- are not plugins
FUTURE:
The initialization scripts should all have suffix .scm
(like the rest of the Scheme world.)
They should be in a separate directory
so advanced users can load library scripts.
The files script-fu-util.scm and script-fu-util-setpt.scm
are also initialization scripts but loaded differently from .init files.
FUTURE: unify loading of initialization scripts.