RSS/Atom feed Twitter
Site is read-only, email is disabled

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.

12 of 12 messages available
Toggle history

Please log in to manage your subscriptions.

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
Cody Russell
2006-08-05 04:22:51 UTC (over 17 years ago)

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

Florent Monnier
2006-08-05 12:33:11 UTC (over 17 years ago)

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

Cody Russell
2006-08-05 17:46:10 UTC (over 17 years ago)

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

Sven Neumann
2006-08-08 10:25:06 UTC (over 17 years ago)

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

Øyvind Kolås
2006-08-08 11:35:17 UTC (over 17 years ago)

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.

Sven Neumann
2006-08-08 12:15:28 UTC (over 17 years ago)

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

Øyvind Kolås
2006-08-08 14:28:02 UTC (over 17 years ago)

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.

Øyvind Kolås
2006-08-09 10:01:46 UTC (over 17 years ago)

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

Øyvind Kolås
2006-08-09 10:09:51 UTC (over 17 years ago)

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.

Cody Russell
2006-08-09 20:40:23 UTC (over 17 years ago)

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/

Joao S. O. Bueno Calligaris
2006-08-12 17:56:13 UTC (over 17 years ago)

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

Øyvind Kolås
2006-08-12 18:46:42 UTC (over 17 years ago)

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.

1: http://pippin.gimp.org/plug-ins/gluas/