Changes are mostly to the dir structures and build system for ScriptFu.
Some changes to the outer plugin source to call the library.
Why: so that other executables (future gimp-scheme-interpreter,
or a future separated script-fu-server) can exist in separate directories,
and share the library in memory (when built shared.)
Whether the library is built shared and installed on its own
(versus static and not installed)
is a compile time option (both automake LibTool and meson abstract it away)
The default is shared and installed, say as libgimp-scriptfu-3.0.so.
Installed alongside other shared libraries (e.g. wherever libgimp is installed)
to simplify packaging.
A preliminary refactoring which helps enable MR gimp!647
Hence avoiding the stderr messages. These are going to be localized with
centrally installed catalogs "gimp*-std-plugins", "gimp*-script-fu" and
"gimp*-python".
We now handle core plug-in localizations differently and in particular,
with kind of a reverse logic:
- We don't consider "gimp*-std-plugins" to be the default catalog
anymore. It made sense in the old world where we would consider the
core plug-ins to be the most important and numerous ones. But we want
to push a world where people are even more encouraged to develop their
own plug-ins. These won't use the standard catalog anymore (because
there are nearly no reasons that the strings are the same, it's only a
confusing logic). So let's explicitly set the standard catalogs with
DEFINE_STD_SET_I18N macro (which maps to a different catalog for
script-fu plug-ins).
- Doing something similar for Python plug-ins which have again their own
catalog.
- Getting rid of the INIT_I18N macro since now all the locale domain
binding is done automatically by libgimp when using the set_i18n()
method infrastructure.
… plug-in code.
In particular, we should not hardcode this in core code anymore. The
behavior is otherwise exactly the same, except that we made the core
code generic as it should be.
The CLI options now know which procedures are batch procedures or not.
First it means that it won't just randomly try any procedure name one
may pass and will properly output an error if you pass a non-existing
interpreter procedure.
Secondly, there is no default interpreter anymore (unless only one
interpreter exists). If you don't set an interpreter procedure with
--batch-interpreter or if you pass a wrong one, it will output the list
of available batch procedure, thus helping you understanding how to use
the --batch option.
Just "Console" is enough in the context of menus with submenu hierarchy,
but when accessing directly the feature (with Action Search for
instance), a more accurate name is nicer. It avoids to have to check
what is what in the tooltip text.
Add an "ip" parameter as *first* argument to the
plug-in-script-fu-server procedure. This is an incompatible change
with the intent to make any old-style calls to the procedure
fail. Also reorder the GUI to have the IP in the first line.
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-09-11 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/scheme-wrapper.[ch]: reordered and renamed
functions to be consistent. Got rid of file-global "register_scripts"
variable. Pass more "scheme *sc" pointers around to reduce usage
or the global variable.
* plug-ins/script-fu/script-fu-eval.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/script-fu/script-fu.c: changed accordingly.
svn path=/trunk/; revision=26928
2008-04-09 Sven Neumann <sven@gimp.org>
* plug-ins/win-snap/winsnap.c
* plug-ins/common/screenshot.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/scripts/*.scm: register in new menu
locations.
svn path=/trunk/; revision=25442
2008-04-09 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scripts/Makefile.am
* plug-ins/script-fu/scripts/sphere.scm: removed Sphere
script. It's a nice simple example but it has no real value.
* plug-ins/script-fu/script-fu.c (script_fu_extension_init):
removed "<Toolbox>/Xtns/Misc".
svn path=/trunk/; revision=25424
2008-04-09 Sven Neumann <sven@gimp.org>
* menus/image-menu.xml.in: moved Languages to the bottom. Removed
separator from the Filters list as there was really no rule as to
what goes above and what goes below.
* app/actions/plug-in-actions.c: added Filters->Decor submenu.
* plug-ins/script-fu/script-fu.c (script_fu_extension_init):
removed registration of redundant menu branches.
svn path=/trunk/; revision=25422
2008-03-21 Michael Natterer <mitch@gimp.org>
Remove the toolbox menu:
* configure.in: remove --enable-toolbox-menu option.
* menus/Makefile.am
* menus/toolbox-menu.xml.in: removed.
* menus/image-menu.xml.in: add the debug menu here.
* menus/menus.xsl: remove transformations depending on whether
there is a toolbox menu or not.
* app/menus/Makefile.am
* app/menus/toolbox-menu.[ch]: removed.
* app/menus/menus.c: remove the toolbox menu but keep the
<Toolbox> UI manager around so we can configure its actions
separate from normal docks.
* app/actions/image-actions.c (image_actions): remove the action
for the toolbox menubar.
* app/widgets/gimptoolbox.c: remove all menu code.
* app/plug-in/plug-in-menu-path.c: map plug-in registered toolbox
menu items to their new location in the image menu
unconditionally.
* plug-ins/common/screenshot.c
* plug-ins/common/uniteditor.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/scripts/web-browser.scm
* plug-ins/twain/twain.c
* plug-ins/winsnap/winsnap.c: remove menu registrations under
<Toolbox>/File and change <Toolbox>/Help to <Image>/Help. Leave
<Toolbox>/Xtns untouched until its final location and name are
decided.
svn path=/trunk/; revision=25156
2007-09-27 Kevin Cozens <kcozens@cvs.gnome.org>
Create SF-RUN-MODE constant for use in Script-Fu. Fixes bug #479893.
* plug-ins/script-fu/scheme-wrapper.c
* plug-ins/script-fu/scheme-wrapper.h: Added set_run_mode_constant()
which creates a new constant called SF-RUN-MODE. This constant can
be used by Script-Fu scripts when calling a plug-in that needs to
know the current run mode.
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/script-fu-server.c: Added calls to create the
new SF-RUN-MODE constant.
* plug-ins/script-fu/scripts/difference-clouds.scm: Pass SF-RUN-MODE
to the solid noise plug-in instead of always using RUN-INTERACTIVE.
svn path=/trunk/; revision=23674
2007-08-30 Simon Budig <simon@gimp.org>
* plug-ins/script-fu/tinyscheme/scheme.[ch]
* plug-ins/script-fu/tinyscheme/scheme-private.h: small changes
to tinyscheme - mostly removing workarounds for message output.
* plug-ins/script-fu/scheme-wrapper.[ch]: try to channel the
output through a central function, have various output functions
to handle the messages. Remove some hacks.
* plug-ins/script-fu/script-fu-text-console.c
* plug-ins/script-fu/script-fu-scripts.[ch]
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/script-fu-server.c
* plug-ins/script-fu/script-fu-console.[ch]: use the new
infrastructure. Remove more hacks.
* plug-ins/script-fu/servertest.py: small script to test the
communication with the script-fu-server.
svn path=/trunk/; revision=23400
2007-05-25 Kevin Cozens <kcozens@cvs.gnome.org>
* plug-ins/script-fu/script-fu-text-console.c
* plug-ins/script-fu/script-fu.c
* plug-ins/script-fu/scheme-wrapper.c
* plug-ins/script-fu/scheme-wrapper.h: Applied slightly modified
patch from Eric Lamarque that makes use of TinyScheme's interactive
mode for the text console in Script-Fu. Fixes bug #440674.
svn path=/trunk/; revision=22622
2007-03-16 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu.c: remove N_() from calls to
gimp_plugin_menu_register().
svn path=/trunk/; revision=22133
2006-10-19 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/scheme-wrapper.[ch]: search script-fu.init in
the scripts search path instead of looking for it in a hardcoded
directory.
* plug-ins/script-fu/script-fu-scripts.[ch]
* plug-ins/script-fu/script-fu.c: changes needed for above change.
2006-10-15 Kevin Cozens <kcozens@cvs.gnome.org>
With this commit we finally say goodbye to SIOD. This large set of
changes updates the Script-Fu plug-in to use the TinyScheme Scheme
interpreter. These changes originated with changes originally made
to Script-Fu which created Tiny-Fu (aka. the gimp-tiny-fu module).
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-console.c
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-scripts.h
* plug-ins/script-fu/script-fu-server.c
* plug-ins/script-fu/script-fu-text-console.c
* plug-ins/script-fu/script-fu.c: Updated with the changes made to
these files as part of the work on the Tiny-Fu project.
* plug-ins/script-fu/scheme-wrapper.c
* plug-ins/script-fu/scheme-wrapper.h: Renamed from siod-wrapper.[ch]
and updated based on differences to ts-wrapper.[ch] from gimp-tiny-fu.
* plug-ins/script-fu/ftx/*
* plug-ins/script-fu/re/*
* plug-ins/script-fu/tinyscheme/*
* plug-ins/script-fu/scripts/script-fu.init
* plug-ins/script-fu/scripts/script-fu-compat.init
* plug-ins/script-fu/scripts/contactsheet.scm
* plug-ins/script-fu/scripts/script-fu-set-cmap.scm
* plug-ins/script-fu/scripts/script-fu-util-setpt.scm
* plug-ins/script-fu/scripts/ts-helloworld.scm: Added all of these
files and directories from Tiny-Fu. Updated the Makefile.am files
of ftx, re, and tinyscheme now they are in the GIMP source tree.
* plug-ins/script-fu/scripts/*.scm: All scripts have been updated as
needed to ensure they will work with the TinyScheme interpreter. Most
of the files have been reformatted making it easier to see the syntax
of Scheme and making them easier to read.
* plug-ins/script-fu/scripts/Makefile.am: Updated script file lists.
* plug-ins/script-fu/siod-wrapper.c
* plug-ins/script-fu/siod-wrapper.h
* plug-ins/script-fu/siod/*: Removed obsolete files.
* configure.in: Updated list of files in AC_CONFIG_FILES. Changed
--disable-script-fu to --without-script-fu which it should have
been when originally added.
* INSTALL: Updated to show change to --without-script-fu.
2006-06-27 Sven Neumann <sven@gimp.org>
* plug-ins/FractalExplorer/FractalExplorer.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/depthmerge.c
* plug-ins/common/illusion.c
* plug-ins/script-fu/script-fu.c some more canonical procedure
names that we missed earlier.
2006-06-06 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu-interface.[ch]
* plug-ins/script-fu/script-fu.c (script_fu_refresh_proc):
applied
a modified patch from Kevin Cozens. Fixes bug #330981.
2006-05-18 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu.c (script_fu_run): reverted one
aspect of the last change and always load the scripts again.
2006-05-16 Sven Neumann <sven@gimp.org>
* plug-ins/script-fu/script-fu.c: removed empty quit() method.
Only load scripts when extension-script-fu is started.
* plug-ins/script-fu/script-fu-scripts.c: minor cleanup.
2005-09-26 Michael Natterer <mitch@gimp.org>
Allow plug-ins to register menu entries in the <Brushes>,
<Gradients>, <Palettes>, <Patterns> and <Fonts> menus:
* app/actions/actions.c (action_data_get_gimp): return a Gimp
also if "data" is a GimpContainerView or GimpContainerEditor.
* app/gui/gui-vtable.c (gui_menus_add_proc)
* app/plug-in/plug-in-params.c (plug_in_proc_args_check): support
the new plug-in menu locations.
* app/menus/menus.c (menus_init): add the "plug-in" action group
to the resp. UI managers.
* menus/brushes-menu.xml
* menus/buffers-menu.xml
* menus/fonts-menu.xml
* menus/gradients-menu.xml
* menus/palettes-menu.xml
* menus/patterns-menu.xml: added separators at the end of the menus.
* plug-ins/script-fu/scripts/font-map.scm: -> <Fonts>
* plug-ins/script-fu/scripts/gradient-example.scm: -> <Gradients>
* plug-ins/script-fu/scripts/mkbrush.scm: -> <Brushes>
* plug-ins/script-fu/script-fu.c (script_fu_extension_init): don't
register the "Make Brush" menu branch.
2005-09-26 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/scripts/carve-it.scm
* plug-ins/script-fu/scripts/chrome-it.scm: renamed to "Stencil Carve"
and "Stencil Chrome" and moved to Filters/Decor.
* plug-ins/script-fu/script-fu.c: don't register menu branches
"Filters/Selection" and "Filters/Decor/Stencil Ops".
2005-08-03 Michael Natterer <mitch@gimp.org>
* libgimp/gimpprocbrowserdialog.[ch]: removed all parameters from
gimp_proc_browser_dialog_new() and removed the "scheme_names"
stuff.
* plug-ins/dbbrowser/procedure-browser.c
* plug-ins/pygimp/procbrowser.c
* plug-ins/script-fu/script-fu-console.c: changed accordingly.
* plug-ins/script-fu/script-fu-interface.c
* plug-ins/script-fu/script-fu-scripts.c
* plug-ins/script-fu/script-fu-types.h
* plug-ins/script-fu/siod-wrapper.c: removed all sorts of
conversions between '-' and '_' for procedure names.
* plug-ins/script-fu/script-fu.c: use canonical names for
script-fu's procedures.
2005-03-26 Michael Natterer <mitch@gimp.org>
* plug-ins/script-fu/script-fu-scripts.c (script_fu_find_scripts):
removed menu branch registering here (this function is called on
each refresh).
* plug-ins/script-fu/script-fu.c (script_fu_extension_init):
renamed from script_fu_auxillary_init(), this function is only
called once when the extension starts up. Register the menu
branches here.