Commit Graph

133 Commits

Author SHA1 Message Date
3fd3344f80 plug-ins: script-fu lost all support for images, layers etc.
due to the recent change to actual objects instead of IDs,
so add object support to script_fu_marshal_procedure_call().
2019-09-04 10:28:50 +02:00
1178f54522 plug-ins: port script-fu to libgimp objects 2019-08-27 18:09:50 +02:00
4cb4b3ef3a plug-ins: port all plug-ins to the new macros 2019-08-20 01:03:38 +02:00
652fd75891 Rename GIMP_TYPE_INT8_ARRAY to GIMP_TYPE_UINT8_ARRAY
and GimpParamSpecInt8Array to GimpParamSpecUInt8Array
2019-08-15 15:04:34 +02:00
103a7e4fc3 plug-ins: port script-fu to GimpPlugIn
This probably has some bugs, but worked flawlessly in my tests...
2019-08-12 20:49:08 +02:00
05baadcd1d pdb: rename the "procedural_db" PDB group to just "pdb" 2019-08-06 12:51:56 +02:00
Ell
9a2999a553 plug-ins: in script-fu, don't query PDB procedures' info on startup
script-fu used to query the information of every PDB procedure on
startup, in order to get the number of parameters for each
procedure.  This was done so that nullary procedures were defined
in such a way as to accept (and ignore) any number of arguments
(and at least one of the scripts we ship relies on this behavior).
However, this requires expensive back-and-forth communication with
the main GIMP process, which notable slowed down script-fu's
startup, and had a non-negligible impact on GIMP's startup time.

Instead, avoid querying procedure information, and implement the
special behavior for nullary procedures at call time.  We do this
by defining, in addition to the "strict" gimp-proc-db-call
procedure, a "permissive" -gimp-proc-db-call internal procedure,
and using the latter to call the predefined PDB procedures.
2018-09-26 14:41:12 -04:00
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
f2306abc0a Bug 761170: Warnings building with clang
Fix some of the warnings.
2017-07-15 21:05:56 +02:00
0a0acc9f2a plug-ins: remove the hardcoded compat enums from script-fu and pygimp
Instead, simply look them up via the type system, and register their
values like they were normal enums.
2017-01-09 16:00:10 +01:00
178794f6f1 libgimpbase: rename enum GimpHueRange's values
and add compat cruft for the old names.
2017-01-09 02:45:16 +01:00
152adbb1bd Rename GIMP_LAYER_MODE_FOO_BROKEN to GIMP_LAYER_MODE_FOO_LEGACY
"Broken" sounds like it needs fixing, but it's legacy compat stuff
that will have to stay for all eternity.
2017-01-09 01:27:20 +01:00
66060e3307 app, libgimp*, plug-ins: replace enum GimpLayerModeEffects by GimpLayerMode
with proper value names. Mark most values as _BROKEN because they use
weird alpha compositing that has to die. Move GimpLayerModeEffects to
libgimpbase, deprecate it, and set it as compat enum for GimpLayerMode.
Add the GimpLayerModeEffects values as compat constants to script-fu
and pygimp.
2017-01-08 23:00:19 +01:00
68a9835d56 Bug 756822 - Colors/Desaturate/Luminosity should operate on linear RGB
Add GIMP_DESATURATE_LUMINANCE to enum GimpDesaturateMode and rename
GIMP_DESATURATE_LUMINOSITY to GIMP_DESATURATE_LUMA.

Keep GIMP_DESATURATE_LUMINOSITY as deprecated compat value and add it
to the script-fo and pygimp compat constants.

Change GimpOperationDesaturate to process GIMP_DESATURATE_LUMINANCE
with linear "RGBA float".
2015-10-22 19:50:56 +02:00
d03b33f1d9 Bug 739457 - Some errors not detected for GIMP_PDB_COLOR arguments
Check that all 3 array elements are numbers-
2014-11-30 18:32:15 +01:00
48e6199a4f script-fu: port script loading to GFileEnumerator 2014-08-03 21:49:20 +02:00
425748dab0 libgimpbase, *: rename GimpFillType values: GIMP_FOO_FILL -> GIMP_FILL_FOO
Change all users accordingly and add compat enum values and compat
constants to script-fu and pygimp.
2014-06-03 01:11:32 +02:00
6aaa645e04 libgimp, script-fu: remove GIMP 1.2 (sic) compat defines
which we wanted to remove in the "next development cycle" after 2.0,
which would have been in 2.1.x.
2014-05-19 03:08:18 +02:00
386fb4080b script-fu: fix FOO-BUCKET-FILL compat enum value constants 2014-05-19 01:31:07 +02:00
a4223766f2 all,libgimp*: move GimpConvolveType and GimpInkBlobType to libgimpbase
and make GimpConvolveType's values sane.
2014-04-29 22:44:58 +02:00
22c222291d libgimpbase,*: clean up enum values in gimpbaseenums.h
GIMP_ADD_foo_MASK -> GIMP_ADD_MASK_foo
GIMP_foo_MODE -> GIMP_BLEND_foo
GIMP_foo_CLONE -> GIMP_CLONE_foo
GIMP_foo -> GIMP_DODGE_BURN_TYPE_foo
GIMP_foo -> GIMP_TRANSFER_foo

Add compat values for the old names and compat code to script-fu
and pygimp.
2014-04-29 20:58:30 +02:00
6b0d1038cc Bug 692641 - Various spelling fixes 2013-01-27 18:59:02 +01:00
c77fc779db libgimp, plug-ins: use g_strfreev() to free PDB string arrays 2012-11-27 21:16:26 +01:00
8e5beb6d83 Bug 575830 - script-fu-refresh crashes Script-Fu when called from a script
Did the most stupid fix of simply not calling the procedure if it is
"script-fu-refresh-scripts". This is really not a use case that
warrants complicating lots of code.
2012-10-07 17:04:54 +02:00
2a30a2bb74 Bug 684698 - Preferences-Folders: only 15 folder items accepted
Raise "max_paths" from 16 to 256 in all calls to gimp_path_parse().
2012-09-26 23:29:51 +02:00
b06bc63630 Corrected TinyScheme version number shown in Script-Fu console. 2011-12-09 14:11:44 -05:00
262cc1c946 Bug 664316 - Searchpath separator required
Add constant SEARCHPATH-SEPARATOR (= G_SEARCHPATH_SEPARATOR_S).
2011-11-18 09:40:15 +01:00
b0d8ba5ffd Additional fixes for handling UTF-8 coded strings (Bugs 572865 & 628893)
plug-ins/script-fu/scheme-wrapper.c:
- Fixed set and get of UTF-8 coded strings for parasites.

plug-ins/script-fu/tinyscheme/scheme.c:
- Additional fix to string-append and fixed substring. The mk_empty_string
  routine is not the way to allocate space for UTF-8 coded strings.
- Added some comments.
2010-09-20 23:20:45 -04:00
2d6f808ff8 pdb: add a new PDB group "item" and move lots of functions to it
The item groups has all the duplicated functionality from drawable
and vectors (name, visible, linked etc).

Hijack the unused GIMP_PDB_REGION and turn it into GIMP_PDB_ITEM;
change all protocol aware files accordingly and bump the protocol
version number. Change script-fu to handle the new type.
2010-07-09 09:34:44 +02:00
28e7c3f612 Applied changes from CVS version 1.9 of official version of TinyScheme.
Fix for nasty gc bug. This change shifts the burden of protecting newly
allocated cells in foreign functions from the foreign functions to the
TinyScheme interpreter.
2009-08-07 15:14:45 -04:00
b559354af1 plug-ins: Make sure to flush output in ts_stdout_output_func() 2009-05-28 21:07:07 +02:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
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
2009-01-17 22:28:01 +00:00
d43a0fbf19 Bug 558454 – Plugin Map Color Range disapears from GIMP
2008-11-19  Sven Neumann  <sven@gimp.org>

	Bug 558454 – Plugin Map Color Range disapears from GIMP

	* plug-ins/script-fu/scripts/Makefile.am

	* plug-ins/script-fu/scripts/plug-in-compat.init: new file
	providing compatibility with plug-ins from older GIMP
	versions. Contains a reimplementation of plug-in-color-map based
	on ideas and code from Eric Lamarque.

	* plug-ins/script-fu/scheme-wrapper.c (tinyscheme_init): load 
the
	plug-in-compat.init file.


svn path=/trunk/; revision=27683
2008-11-19 08:17:28 +00:00
d80d1fabe9 move variables to local scopes, fix some whitespace and indentation, some
2008-09-19  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/scheme-wrapper.c: move variables to local
	scopes, fix some whitespace and indentation, some misc. cleanup,
	remove comments about array calling conventions that had lots of
	copy and paste errors.


svn path=/trunk/; revision=27014
2008-09-19 12:15:26 +00:00
a44896eeed increased size of the stack-allocated error string.
2008-09-19  Sven Neumann  <sven@gimp.org>

	* plug-ins/script-fu/scheme-wrapper.c
	(script_fu_marshal_procedure_call): increased size of the
	stack-allocated error string.


svn path=/trunk/; revision=27011
2008-09-19 09:47:10 +00:00
c76db26367 reordered and renamed functions to be consistent. Got rid of file-global
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-09-11 18:00:18 +00:00
5c6132b8cb namespace, copyright headers, indentation, formatting, everything...
2008-09-11  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/script-fu-regex.[ch]: namespace, copyright
	headers, indentation, formatting, everything...

	* plug-ins/script-fu/scheme-wrapper.c: changed accordingly. Some
	formatting cleanup here too.


svn path=/trunk/; revision=26925
2008-09-11 13:33:58 +00:00
bace080590 plug-ins/script-fu/Makefile.am removed....
2008-09-11  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/Makefile.am
	* plug-ins/script-fu/re/*: removed....

	* plug-ins/script-fu/script-fu-regex.[ch]: and replaced with a
	few-liner using GRegex. Seems to have some issues that need to be
	sorted out.

	* plug-ins/script-fu/scheme-wrapper.c: changed accordingly.


svn path=/trunk/; revision=26921
2008-09-10 23:10:15 +00:00
0765087a8f Change Script-Fu error handling to properly use the new error message
2008-09-10  Michael Natterer  <mitch@gimp.org>

	Change Script-Fu error handling to properly use the new error
	message passing in PDB return values:

	* plug-ins/script-fu/script-fu-scripts.[ch]: remove function
	script_fu_error_msg().

	* plug-ins/script-fu/script-fu-interface.c (script_fu_ok): output
	errors of interactive script-fu dialogs directly here with
	g_message().

	* plug-ins/script-fu/script-fu-scripts.c (script_fu_run_command):
	add GError and return the error message instead of displaying it.

	(script_fu_load_script): show the returned error here (and make it
	more specific than the former script_fu_error_msg() did).

	(script_fu_script_proc): return error messages via the procedure's
	return values.

	* plug-ins/script-fu/scheme-wrapper.c
	(script_fu_marshal_procedure_call): if an error message was
	returned from the PDB call, pass it to foreign_error() so it ends
	up where it should (consle, text console or error string).

	* plug-ins/script-fu/script-fu-console.c
	* plug-ins/script-fu/script-fu-text-console.c: set the error
	handler to PLUGIN while interpreting scheme, we handle errors
	from calling back into the PDB ourselves now.


svn path=/trunk/; revision=26920
2008-09-10 20:33:50 +00:00
faf7eaa244 remove debug arrays to map the values of registered enums to strings. Look
2008-09-09  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/scheme-wrapper.c
	(script_fu_marshal_procedure_call): remove debug arrays to map the
	values of registered enums to strings. Look up the strings
	registered with the type system instead.


svn path=/trunk/; revision=26911
2008-09-09 14:40:52 +00:00
11b6b0742b fix formatting of prototypes.
2008-09-09  Michael Natterer  <mitch@gimp.org>

	* plug-ins/script-fu/scheme-wrapper.c: fix formatting of prototypes.

	(script_fu_marshal_procedure_call): move variables to local scopes
	where possible. Make this function a bit readable by indenting the
	debug code in DEBUG_MARSHAL normally.


svn path=/trunk/; revision=26910
2008-09-09 14:22:44 +00:00
81131c0bb4 Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB colors as
2008-07-14  Sven Neumann  <sven@gimp.org>

	Add new PDB data type PDB_COLORARRAY for using arrays of GimpRGB
	colors as argument or return value.

	* libgimpbase/gimpbaseenums.[ch] (enum GimpPDBArgType): replaced
	the unused GIMP_PDB_BOUNDARY with GIMP_PDB_COLORARRAY.

	* libgimpbase/gimpprotocol.h: increased GIMP_PROTOCOL_VERSION.
	(struct _GPParam): added d_colorarray entry to the union.

	* libgimpbase/gimpprotocol.c
	* libgimp/gimp.[ch]
	* app/pdb/gimp-pdb-compat.c
	* app/plug-in/plug-in-params.c
	* app/plug-in/gimpplugin-message.c
	* tools/pdbgen/pdb.pl: deal with the new data type.

	* tools/pdbgen/enums.pl: regenerated.

	* plug-ins/pygimp/pygimp-pdb.c
	* plug-ins/script-fu/scheme-wrapper.c: handle the new data type.


svn path=/trunk/; revision=26189
2008-07-14 14:09:16 +00:00
7d42178b82 Add comment regarding the safe-foreign issue.
2007-10-21  Simon Budig  <simon@gimp.org>

        * plg-ins/script-fu/scheme-wrapper.c: Add comment regarding
	  the safe-foreign issue.


svn path=/trunk/; revision=23898
2007-10-21 20:47:26 +00:00
eaaf936670 Reverted changes in handling of string arrays to stay backwards compatible
2007-10-21  Kevin Cozens  <kcozens@cvs.gnome.org>

        * plug-ins/script-fu/scheme-wrapper.c: Reverted changes in handling
        of string arrays to stay backwards compatible (see bug #317634).

        * plug-ins/script-fu/scripts/font-map.scm: Updated based on change
        in handling of string arrays listed above.

svn path=/trunk/; revision=23897
2007-10-21 20:39:01 +00:00
4d77d9a2d1 plugged memory leaks.
2007-09-28  Sven Neumann  <sven@gimp.org>

	* plug-ins/script-fu/scheme-wrapper.c: plugged memory leaks.

	* libgimpbase/gimpprotocol.c (gp_params_destroy): formatting.

svn path=/trunk/; revision=23683
2007-09-28 14:20:35 +00:00
0cb80bdcd8 Create SF-RUN-MODE constant for use in Script-Fu. Fixes bug #479893.
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-09-27 19:54:28 +00:00
b774625eee unified error messages, removed trailing newlines.
2007-09-27  Sven Neumann  <sven@gimp.org>

	* plug-ins/script-fu/scheme-wrapper.c: unified error
	messages, removed trailing newlines.

svn path=/trunk/; revision=23666
2007-09-27 10:27:46 +00:00
8d42d089ca plug-ins/script-fu/tinyscheme/scheme.[ch] make it possible for foreign
2007-08-31  Simon Budig  <simon@gimp.org>

	* plug-ins/script-fu/tinyscheme/scheme.[ch]
	* plug-ins/script-fu/tinyscheme/scheme-private.h: make it possible
	for foreign functions to return an error.

	* plug-ins/script-fu/script-fu-scripts.c
	* plug-ins/script-fu/scheme-wrapper.c: Make use of this.
	Fixes bug #472026.


svn path=/trunk/; revision=23432
2007-08-31 19:35:26 +00:00
a333d6c660 plug-ins/script-fu/scheme-wrapper.c
2007-08-30  Simon Budig  <simon@gimp.org>

	* plug-ins/script-fu/scheme-wrapper.c
	* plug-ins/script-fu/tinyscheme/scheme.[ch]
	* plug-ins/script-fu/scheme-wrapper.h: Shuffeled some
	code around to have scheme.c not include scheme-wrapper.h.


svn path=/trunk/; revision=23411
2007-08-30 12:52:42 +00:00
0928a32a21 plug-ins/script-fu/tinyscheme/scheme.[ch] small changes to tinyscheme -
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-08-30 00:21:20 +00:00