Commit Graph

166 Commits

Author SHA1 Message Date
Jehan ecbc38f9e9 plug-ins, extension: goat-exercises becomes a GIMP extension.
This is an extension containing a few demo plug-ins. This is good to
demonstrate the extension format. It will also allow to disable these
plug-ins (if at some point, one doesn't want to show these demo
plug-ins anymore).

And finally it deals with the fact that our plug-in code is stupid, as
it just tries to find the first executable with the same name (minus
extension) as the plug-in folder. This doesn't go well on Windows, where
the permission system is non-existent. So our code just ends up trying
to run the first file with a similar name in a plug-in folder. As the C
goat-exercise contains both an exe and the C source (and the system
probably returns files in alphabetic order), GIMP under Windows tries to
run the C source instead of the executable (this obviously doesn't go
well).
We could try to do more complex logics, like not aborting if the first
file run fails and try the next one in the plug-in folder. Or maybe just
rename the C file to another name. But any of these is just in the end
the proof that our plug-in discovery right now is just bogus. The
extension system is explicit, not based on randomly trying out files.
Plug-ins entry points are explicitly listed in the metadata manifest.
2020-10-09 15:30:54 +02:00
Jehan 0ec5ee4394 plug-ins: get rid of pygimp!
It's done, all Python plug-ins have been either ported to the new API +
Python 3, or they have been discarded (and moved to gimp-data-extras for
whoever wants to salvage them).
Let's get rid of the outdated pygimp directory (whose code has not been
built in the master branch for years now anyway)! Woohoo!
2020-09-21 18:17:18 +02:00
Jehan fc33489223 plug-ins: move goat-exercise to a goat-exercises/ directory.
We will fill this up with more examples of plug-ins in other languages.
Also we will improve a bit the examples to redirect people to source
code so that they understand what these plug-ins are.
2019-08-07 00:00:20 +02:00
Jehan 65fb7536e1 plug-ins: port Python plug-in palette-to-gradient to introspected API.
Localization still doesn't work, but this is normal (po-python is not
installed). I will later make the proper tests for this.

Other than this, it is a pretty simple port. It lost all particularities
and facilities of pygimp, but the fact that it now works similarly to
the C API is quite nice too.
It still uses the legacy API for plug-ins though and will have to be
ported further when the new API will be stable.

Also I still haven't figured out why we need to return the number of
returned values. With the proper annotations, an array length parameter
disappears in introspected Python (because it is useless as Python lists
know their length). But it would seem that this annotation doesn't work
the same for returned values, which is a bit sad as it creates ugly
redundancy.

It can be noted that I an going to move all Python plug-ins from
plug-ins/pygimp/plug-ins/ to plug-ins/python/. The whole pygimp/
subdirectory will actually be deleted eventually (I keep it around for
now as reference) as Python plug-in should not need to be considered
particularly from now on. They can just be considered as generic
executables.
2019-07-28 18:43:00 +02:00
Alexandre Prokoudine 79bc2dc1ef file-dds: add original source code of the DDS plug-in
This is the code from the 'gimp-2.9' branch of the plug-in,
integrated into GIMP's build system.
2019-01-02 18:33:46 +01:00
Simon Budig 7651f51116 gimpressionist: re-enable (without real changes) and kill GtkTable 2018-05-20 21:06:33 +02:00
Michael Natterer f3fbea312c plug-ins: port ifs-compose to GTK+ 3.x enough to make it build again 2018-05-20 21:06:33 +02:00
Michael Natterer b2df13749c plug-ins: disable devel-docs and a bunch of plug-ins, they don't build 2018-05-20 21:06:33 +02:00
Michael Natterer d35fecceb4 configure.ac: remove the option to disable script-fu
Forgot to do this for 2.10.0.
2018-05-18 13:06:24 +02:00
Michael Natterer 87438c885a plug-ins: merge file-rawtherapee/ into file-raw/
and use the same file-formats.h
2017-07-24 20:58:25 +02:00
Michael Natterer a653a477d1 plug-ins: rename file-darktable/ to file-raw/
It will soon host all raw loader plug-ins.
2017-07-24 20:26:18 +02:00
Ben Touchette dc9856cfe1 Bug 769820 - Cannot enter Iptc information when no metadata is available...
...and fails to write it to file when it is

Completely redo metadata editor and viewer code, adds support for
Xmp.xmpMM.History and more.
2017-07-07 18:11:39 +02:00
Jehan 4772948087 plug-ins: do some basic tweaking on file-rawtherapee.
Fix a few compilation warnings, clean what needs to be, apply coding
style fixes, add a Makefile…
2017-06-27 21:31:10 +02:00
Benoit Touchette c1021a3e3a Bug 769651 - Add webp file format support to gimp master
Patch to add webp file format support. Includes supports for
loading/saving, icc profiles, exif, and xmp data.
Co-authored with Nathan Osman.
2016-08-09 21:21:52 +02:00
Hartmut Kuhse 93d1161950 plug-ins: remove obsolete win-snap, because its functionality is in plug-ins/screenshot 2016-05-28 11:38:02 +02:00
Tobias Ellinghaus fc0f42def4 plug-ins: add new plug-in file-darktable
Which loads raw files by having them developed in darktable.
Also disable NEF support in file-gegl.
2016-04-19 00:21:15 +01:00
Michael Natterer 8bb48ac5de Bug 555525 - 64 Bit Build on Mac OS X Leopard fails...
...because of TWAIN interface

Remove all Mac TWAIN stuff, we will get proper OS X scanner support
pretty soon.
2016-04-18 00:05:41 +01:00
Michael Natterer d164850484 plug-ins: add an (empty) Win32 backend to screenshot
and buld it unconditionally. Somebody please move the code from
win-snap to the new file.
2016-04-02 15:02:00 +02:00
Michael Natterer 48046d258a configure.ac, plug-ins: make libtiff a hard dependency
so file-tiff-load and file-tiff-save are always built. Also move them
to their own folder plug-ins/file-tiff/ because they will soon share
some common GIO code.
2015-12-02 12:33:31 +01:00
Michael Natterer e1c4314a8e Bug 757687 - Screenshot functionality broken under Wayland
Move the screenshot plug-in to its own directory, it's about to be
split up into multiple files.
2015-11-07 15:52:44 +01:00
Michael Natterer a4a0ec9598 plug-ins, pdb: remove the maze plug-in and add a PDB compat proc 2015-09-04 00:34:38 +02:00
Michael Natterer 498ccd33ee plug-ins: move file-compressor to plug-ins/common/, it's only one .c file 2014-08-14 01:35:06 +02:00
Michael Natterer 57e6b22b9d app, plug-ins: remove file-uri completely
and enable the new file-remote code in app unconditionally.
2014-07-23 21:37:13 +02:00
Michael Natterer 4fbff306e6 plug-ins: remove the libcurl and wget file-uri backends
and build file-uri unconditionally, always using GIO. Use more GFiles
instead of URIs in the plug-in in preparation of moving its
functionality to the core.
2014-07-10 20:50:35 +02:00
Michael Natterer 7438d5bd04 plug-ins: remove the color-rotate plug-in 2014-05-30 01:37:39 +02:00
Michael Natterer 4617de6b09 configure, plug-ins: away with all conditional stuff for libbzip2 and liblzma 2014-02-16 16:43:37 +01:00
Michael Natterer 17cadd3c38 configure, plug-ins: really make libz a hard dependency
Don't check for it as if it were optional, and error out further down
in configure.ac. Instead error out immediately and remove all other
checks and Makefile hacks.
2014-02-16 16:24:34 +01:00
Michael Natterer 771293d402 configure, plug-ins: make libjpeg a hard dependency 2013-11-02 22:33:19 +01:00
Michael Natterer a76460f497 configure, plug-ins: make libpng a hard dependency 2013-11-02 17:11:21 +01:00
Hartmut Kuhse 21bed1e2fb Completely rewrite metadata handling using gexiv2
Based on original patches from Hartmut Kuhse and modified
by Michael Natterer. Changes include:

- remove libexif dependency and add a hard dependency on gexiv2
- typedef GExiv2Metadata to GimpMetadata to avoid having to
  include gexiv2 globally
- add basic GimpMetadata handling functions to libgimpbase
- add image and image file specific metadata functions to libgimp,
  including the exif orientation image rotate dialog
- port plug-ins to use the new APIs
- port file-tiff-save's UI to GtkBuilder
- add new plug-in "metadata" to view the image's metadata
- keep metadata around as GimpImage member in the core
- update the image's metadata on image size, resolution and precision
  changes
- obsolete the old metadata parasites
- migrate the old parasites to new GimpMetadata object on XCF load
2013-10-27 01:02:17 +02:00
Mukund Sivaraman 8d89efaff5 file-exr: Add initial implementation (loader)
This is a basic implementation of an OpenEXR loader. This
"infrastructure" is required for any further work. It consists of:

* The build system changes.

* A C wrapper around the OpenEXR library, which is necessary as it's not
  possible to intermix GIMP's code with C++ code.

* A basic image loader. Chroma is not supported currently, and some
  other weird files like multi-view files are unsupported. These can be
  added when necessary. There is no UI, but it should be straightforward
  to add new features like this on top of this work.
2013-05-04 13:02:54 +05:30
Michael Natterer 9932e05c9b plug-ins: remove file-xjt
It will never hold high bit depths using JPEG compression, and nobody
is going to port it to layer groups and whatever either.  Wolfgang
says it's obsolete, whoever needs to convert old files can use 2.8.
2012-11-21 00:12:36 +01:00
Michael Natterer ed94e55be9 plig-ins: build file-compressor only if all compressions libs are there 2012-09-02 22:25:04 +02:00
Mukund Sivaraman 5db85ad9e1 file-compressor: Move to own directory under plug-ins/ 2012-01-11 20:27:18 +05:30
Michael Natterer 056e09a6cb Remove the makefile.msc build system, it is unmaintained since 2008 2011-12-16 15:53:56 +01:00
Mukund Sivaraman e6edc7d833 build: Rename BUILD_METADATA conditional to HAVE_LIBEXIF 2011-09-18 06:50:43 +05:30
Mukund Sivaraman 42f67f4d96 Rename WebKit's AM_CONDITIONAL
This is so that WebKit can be used elsewhere in GIMP.
2010-10-17 00:29:04 +05:30
Michael Natterer d2406fd4c3 plug-ins: move the UI file to datadir/ui/plug-ins/plug-in-file-png.ui 2010-01-12 22:02:51 +01:00
Martin Nordholts 0abf5cc4f0 Use Glade + GtkBuilder for file-png.c save_dialog()
To give us experience with Glade + GtkBuilder, use it for the save
dialog in the PNG plug-in. The layout is as good as
identical. Mnemonics still works and strings are still translated.
2010-01-08 21:16:10 +01:00
Roman Joost 90a7d5792d Disabled the build of the metadata plugin if libexif is disabled.
Relates to Bug 587172 - Merge Exif data with XMP model.
2009-07-12 19:26:13 +03:00
Sven Neumann 86f8a07f8f Bug 555697 – build fails if configured with --without-libjpeg
2008-10-09  Sven Neumann  <sven@gimp.org>

	Bug 555697 – build fails if configured with --without-libjpeg
	
	* plug-ins/Makefile.am: applied patch from Simon Zilliken that
	disables the build of the PSD plug-in if JPEG support is 
disabled.


svn path=/trunk/; revision=27196
2008-10-09 16:35:02 +00:00
Michael Natterer 3d75c95f95 plug-ins/bmp/* plug-ins/faxg3/* plug-ins/fits/* plug-ins/fli/*
2008-08-11  Michael Natterer  <mitch@gimp.org>

	* plug-ins/bmp/*
	* plug-ins/faxg3/*
	* plug-ins/fits/*
	* plug-ins/fli/*
	* plug-ins/ico/*
	* plug-ins/jpeg/*
	* plug-ins/psd/*
	* plug-ins/sgi/*
	* plug-ins/uri/*
	* plug-ins/xjt/*: removed these...

	* plug-ins/file-bmp/*
	* plug-ins/file-faxg3/*
	* plug-ins/file-fits/*
	* plug-ins/file-fli/*
	* plug-ins/file-ico/*
	* plug-ins/file-jpeg/*
	* plug-ins/file-psd/*
	* plug-ins/file-sgi/*
	* plug-ins/file-uri/*
	* plug-ins/file-xjt/*: and moved them here. Changed executable
	names to "file-foo".

	* plug-ins/Makefile.am: changed accordingly.

	* plug-ins/common/*: rename all file plug-ins to file-foo.c. Get
	rid of the names "poppler" and "postscript" and call them
	"file-pdf" and "file-ps" because the conflict with standard
	autofoo targets is gone.

	* plug-ins/common/plugin-defs.pl: changed accordingly.

	* plug-ins/common/mkgen.pl: make sure cflags variables are named
	"PLUG_IN_NAME_CFLAGS" and not "PLUG-IN-NAME_CFLAGS"

	* plug-ins/common/Makefile.am: regenerated.

	* configure.in: change folders and variable names to match above
	changes.


svn path=/trunk/; revision=26494
2008-08-11 10:06:13 +00:00
Michael Natterer 9e87fa3acb The icon plugin should simply be "ico" just as the other file plug-ins.
2008-03-24  Michael Natterer  <mitch@gimp.org>

	The icon plugin should simply be "ico" just as the other file
	plug-ins.

	* plug-ins/win-icon -> ico

	* configure.in
	* plug-ins/Makefile.am: changed accordingly.


svn path=/trunk/; revision=25200
2008-03-24 20:13:28 +00:00
Michael Natterer 9690d53090 There is no colormap involved in this plug-in, rename it again...
2008-03-24  Michael Natterer  <mitch@gimp.org>

	There is no colormap involved in this plug-in, rename it again...

	* plug-ins/colormap-rotate -> color-rotate.

	* configure.in
	* plug-ins/Makefile.am: changed accordingly.


svn path=/trunk/; revision=25198
2008-03-24 18:38:15 +00:00
Michael Natterer 8876b879d3 Renamed folders in plug-ins/. Unfortunately it's impossible to rename the
2008-03-24  Michael Natterer  <mitch@gimp.org>

	Renamed folders in plug-ins/. Unfortunately it's impossible to
	rename the files inside at the same time, so this is just
	part one...

	* plug-ins/FractalExplorer -> fractal-explorer
	* plug-ins/Lighting -> lighting
	* plug-ins/MapObject -> map-object
	* plug-ins/gflare -> gradient-flare
	* plug-ins/gfli -> fli
	* plug-ins/helpbrowser -> help-browser
	* plug-ins/ifscompose -> ifs-compose
	* plug-ins/rcm -> colormap-rotate
	* plug-ins/sel2path -> selection-to-path
	* plug-ins/winicon -> win-icon
	* plug-ins/winsnap -> win-snap

	* configure.in
	* plug-ins/Makefile.am: changed accordingly.


svn path=/trunk/; revision=25194
2008-03-24 16:36:03 +00:00
Sven Neumann 05ea134310 configure.in fixed --without-jpeg configure option (bug #507572).
2008-01-06  Sven Neumann  <sven@gimp.org>

	* configure.in
	* plug-ins/Makefile.am: fixed --without-jpeg configure option
	(bug #507572).


svn path=/trunk/; revision=24548
2008-01-06 12:09:38 +00:00
Sven Neumann 4e8df6af94 configure.in plug-ins/Makefile.am added new PSD load plug-in written by
2007-12-20  Sven Neumann  <sven@gimp.org>

	* configure.in
	* plug-ins/Makefile.am
	* plug-ins/psd: added new PSD load plug-in written by John Marshall.
	This plug-in adds a couple of features. See bug #448181 for details.

	* plug-ins/common/Makefile.am
	* plug-ins/common/plugin-defs.pl
	* plug-ins/common/psd-load.c: removed old psd-load plug-in.

svn path=/trunk/; revision=24408
2007-12-20 11:12:05 +00:00
Mukund Sivaraman 5a2827330d dropped the required libcurl version to 7.15.1 made uri build on win32 if
2006-12-02  Mukund Sivaraman  <muks@mukund.org>

	* configure.in: dropped the required libcurl version to 7.15.1
	* plug-ins/Makefile.am: made uri build on win32 if libcurl is
	detected
2006-12-02 05:00:38 +00:00
Sven Neumann 82bb56042c plug-ins/winicon/Makefile.am plug-ins/winicon/icodialog.c
2006-10-16  Sven Neumann  <sven@gimp.org>

	* plug-ins/winicon/Makefile.am
	* plug-ins/winicon/icodialog.c
	* plug-ins/winicon/icoload.c
	* plug-ins/winicon/icosave.c
	* plug-ins/winicon/main.h: applied patch from Aurimas Juška that
	adds support for the loading and saving Vista 256x256 PNG
	Compressed Icons (bug #352899).

	* configure.in
	* plug-ins/Makefile.am: don't build the winicon plug-in if PNG
	support has been explicitely disabled.
2006-10-16 13:37:34 +00:00
William Skaggs e32ef594e6 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* configure.in
	* plug-ins/Makefile.am
	* plug-ins/common/png.c: revert changes accidentally
	committed in previous commit.
2006-08-22 17:40:04 +00:00