gegl ops CVS
This discussion is connected to the gegl-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
gegl ops CVS | Cody Russell | 05 Aug 04:22 |
gegl ops CVS | Florent Monnier | 05 Aug 12:33 |
gegl ops CVS | Cody Russell | 05 Aug 17:46 |
gegl ops CVS | Sven Neumann | 08 Aug 10:25 |
gegl ops CVS | Øyvind Kolås | 08 Aug 11:35 |
gegl ops CVS | Sven Neumann | 08 Aug 12:15 |
gegl ops CVS | Øyvind Kolås | 08 Aug 14:28 |
gegl ops CVS | Øyvind Kolås | 09 Aug 10:01 |
gegl ops CVS | Øyvind Kolås | 09 Aug 10:09 |
gegl ops CVS | Cody Russell | 09 Aug 20:40 |
gegl ops CVS | Joao S. O. Bueno Calligaris | 12 Aug 17:56 |
gegl ops CVS | Øyvind Kolås | 12 Aug 18:46 |
gegl ops CVS
Hi guys,
I was talking to pipping tonight because I made a gegl op for outputting into a GdkPixbuf and wanted to import it into cvs. He mentioned that we should import gegl-operations into its own module in cvs and it needs to be organized in a meaningful way, so I volunteered to post on the list and get some discussion on this going.
The module could be organized into different subdirectories:
gegl-operations/
input/
output/
filters/
Or something like that. Any thoughts?
/ Cody
gegl ops CVS
I was talking to pipping tonight because I made a gegl op for outputting into a GdkPixbuf and wanted to import it into cvs.
Hi,
will it be possible to compile gegl in an independent way from any graphic
lib?
./configure --without-gtk
gegl ops CVS
On Sat, 2006-08-05 at 12:33 +0200, Florent Monnier wrote:
I was talking to pipping tonight because I made a gegl op for outputting into a GdkPixbuf and wanted to import it into cvs.
Hi,
will it be possible to compile gegl in an independent way from any graphic lib?./configure --without-gtk
gegl itself doesn't depend on GTK or anything else right now. pippin wants to put the ops into a separate cvs module, gegl-operations. I volunteered to make the autoconf-fu to get it setup and the way I'm making it is to detect your system's features and build the ops that are relevant (e.g., if it detects gdk-pixbuf-2.0 then it will build the pixbuf output op, otherwise it just won't build it and will maybe warn you that it's not being built). I can add --disable-foo options as well though.
There was also a short discussion on the future of gegl, the program. I was of the opinion that it should remain a command-line only utility and we should make a separate gegl-gtk GUI program. As opposed to making gegl (the program here, not the library) use GTK.
/ Cody
gegl ops CVS
Hi,
On Fri, 2006-08-04 at 21:22 -0500, Cody Russell wrote:
I was talking to pipping tonight because I made a gegl op for outputting into a GdkPixbuf and wanted to import it into cvs. He mentioned that we should import gegl-operations into its own module in cvs and it needs to be organized in a meaningful way, so I volunteered to post on the list and get some discussion on this going.
The module could be organized into different subdirectories: gegl-operations/
input/
output/
filters/
Does it really make sense to have a separate CVS module for this? After all the two modules will have to be in sync anyway so it would probably be easier to keep the operators in the gegl CVS module. We could still release two distinct tarballs from this source if that is desired.
Sven
gegl ops CVS
On 8/8/06, Sven Neumann wrote:
Does it really make sense to have a separate CVS module for this? After all the two modules will have to be in sync anyway so it would probably be easier to keep the operators in the gegl CVS module. We could still release two distinct tarballs from this source if that is desired.
The core set of operations should live in the source of the GEGL library itself, these are operations that have no additional dependencies, and are considered necessary to make minimal use of GEGL (porter-duff compositing operators, math operators, gaussian blur).
The ones that have to be external to GEGL in my opinion is operations that have external dependencies (specialized file loaders), wrappings around other image processing libraries and other things that traditionally would be "filter plug-ins" in the legacy GIMP world.
/Øyvind K.
gegl ops CVS
Hi,
On Tue, 2006-08-08 at 11:35 +0200, Øyvind Kolås wrote:
The core set of operations should live in the source of the GEGL library itself, these are operations that have no additional dependencies, and are considered necessary to make minimal use of GEGL (porter-duff compositing operators, math operators, gaussian blur).
The ones that have to be external to GEGL in my opinion is operations that have external dependencies (specialized file loaders), wrappings around other image processing libraries and other things that traditionally would be "filter plug-ins" in the legacy GIMP world.
I understand that and I didn't suggest to make them part of the core gegl library. I only suggested that they are kept in the gegl CVS module just like we keep a large set of GIMP plug-ins in the gimp CVS module. But I don't have a strong opinion on this, so if you think that a separate module makes sense, then go for it.
Sven
gegl ops CVS
On 8/5/06, Cody Russell wrote:
Hi guys,
I was talking to pipping tonight because I made a gegl op for outputting into a GdkPixbuf and wanted to import it into cvs. He mentioned that we should import gegl-operations into its own module in cvs and it needs to be organized in a meaningful way, so I volunteered to post on the list and get some discussion on this going.
The module could be organized into different subdirectories: gegl-operations/
input/
output/
filters/
What currently is in the gegl-operations tarball is the following:
affine : affine operations (these should probably be moved into the core)
file_io : jpg load, png load/save, dcraw wrapper, imagemagick
wrapper (inputs or outputs)
generated : math ops and porter duff compositing operators (all
composers, might be moved to the core, might eventually be implemented
using GIL)
local : a place for "local" tests to be added, currently contains an invert op
misc: text(cairo), threshold, contrast stretching, sdl display, gtk+
display, boxblur, perlin noise.
I think keeping file_io seperate from other things, might be a better
mapping than
grouping them based on the superclass they derive from
(input/output/filter/composer).
/Øyvind K.
gegl ops CVS
On 8/8/06, Øyvind Kolås wrote:
I am currently experimenting with adding a lot of the operations to the GEGL module itself in the already existing operations directory, I've taken most of the structure for this sketch from the current menu structure of GIMP. A "D" indicates an op with external dependencies, the rest do not drag additional dependencies. Any comments?
/Øyvind K.
gegl/
operations/
artistic/
blur/
box-blur.c
gaussian-blur.c
color/
brightness-contrast.c
invert.c
stretch-contrast.c
threshold.c
core/
clone.c
crop.c
nop.c
shift.c
distort/
edge-detect/
file-io/
jpg-load.c D
load.c
magick-load.c
png-load.c D
png-save.c D
raw-load.c
generated/
math.rb
porter-duff.rb
generic/
map/
misc/
display.c D
noise/
render/
noise.c
perlin/
text.c D
transform/
affine.c
affine.h
chant.h
linear.c
linear.h
Makefile
matrix.c
matrix.h
module.c
module.h
nearest.c
nearest.h
rotate.c
scale.c
shear.c
translate.c
transparency/
opacity.c
gegl ops CVS
On 8/9/06, Øyvind Kolås wrote:
On 8/8/06, Øyvind Kolås wrote:
I am currently experimenting with adding a lot of the operations to the GEGL module itself in the already existing operations directory,
I'm not confident that this is the correct approach long term, but it will at least be better than the current method of keepin a seperate tarball.
/Øyvind K.
gegl ops CVS
If you really want to keep the ops separate based upon external deps vs none, what about making a subdir called like 'ext' for any given directory of ops.
e.g.:
file_io/
ext/
jpg-load
png-load
png-save
pixbuf
load
raw-load
magick (shouldn't this have had a D by it?)
/ Cody
On 8/9/06, Øyvind Kolås wrote:
On 8/9/06, Øyvind Kolås wrote:
On 8/8/06, Øyvind Kolås wrote:
I am currently experimenting with adding a lot of the operations to the GEGL module itself in the already existing operations directory,
I'm not confident that this is the correct approach long term, but it will at least be better than the current method of keepin a seperate tarball.
/Øyvind K.
--
«The future is already here. It's just not very evenly distributed» -- William Gibson http://pippin.gimp.org/ http://ffii.org/
gegl ops CVS
Hi Pippin!
I am in a no-time-for-personal-projects rush now... :-(
But since you are at this of compositing modes, maybe you ? like to sniff my age old idea of programable blending modes.
It is stored as a GEGL feature request somewhere on bugzilla, along with code that used to work in an old gimp 1.3 that would take a stack of bytecode operators and with that make any custom 1:1 pixel blending in either RGB or HSV and there where even some provisions for CMYK
I think the idea of such a bytecode could be interesting. It can be too slow for some modes that cannot be cached for any usefull real time stuff - but maybe not.
When I get some time back I will try to dig further into that!
Regards,
JS ->
On Wednesday 09 August 2006 05:01 am, Øyvind Kolås wrote:
On 8/8/06, Øyvind Kolås wrote:
I am currently experimenting with adding a lot of the operations to the GEGL module itself in the already existing operations directory, I've taken most of the structure for this sketch from the current menu structure of GIMP. A "D" indicates an op with external dependencies, the rest do not drag additional dependencies. Any comments?
/Øyvind K.
gegl/ operations/
artistic/
blur/
box-blur.c
gaussian-blur.c
color/
brightness-contrast.c
invert.c
stretch-contrast.c
threshold.c
core/
clone.c
crop.c
nop.c
shift.c
distort/
edge-detect/
file-io/
jpg-load.c D
load.c
magick-load.c
png-load.c D
png-save.c D
raw-load.c
generated/
math.rb
porter-duff.rb
generic/
map/
misc/
display.c D
noise/
render/
noise.c
perlin/
text.c D
transform/
affine.c
affine.h
chant.h
linear.c
linear.h
Makefile
matrix.c
matrix.h
module.c
module.h
nearest.c
nearest.h
rotate.c
scale.c
shear.c
translate.c
transparency/
opacity.c
gegl ops CVS
On 8/12/06, Joao S. O. Bueno Calligaris wrote:
Hi Pippin!
stack of bytecode operators and with that make any custom 1:1 pixel blending in either RGB or HSV and there where even some provisions for CMYK
I see no reason to restrict such an approach to point operations, any form of operations should be expressible in this manner. One approach would be something similar to the lua plug-in I wrote for GIMP [1]. Another, probably better approach, would be to resurrect GIL and allow it to be used on the fly.
I'm not sure such an operation has real merit though, most probably I'd be very cautious of incorporating it into the base set of operations unless it was part of an effort to resurrect GIL for precompiled, and JIT'ed point and area operations.
/Øyvind K.