Re: [Gimp-developer] Paint core beyond 2.6

2008-06-08 Thread David Gowers
Hi Alexia,
On Sun, Jun 8, 2008 at 6:18 PM, Alexia Death [EMAIL PROTECTED] wrote:
   * be able to deliver constant distance and constant rate events

 You mean events at a constant distance spacing or a constant time spacing?
 I mean both. The dream is that paincore would only need to worry about
Yes, that's what I meant, sorry.

 painting a stamp at a given event, the where? part is all handled by paint
 core. The distance in this case is the stamp spacing.

 Is there any other way that the 'Use color from gradient' or 'Fade'
 options could be replicated?

 Replicated? It's paint cores job to provide these two features and any other
 numerically controlled options and possibly expose their control values for
What you describe is redundant if you expose those separately... since
they currently effect either color or opacity according to distance
from start of stroke. That's why I said replicate.

I think you could improve this idea a lot by making some mockups,
where you can easily spot and eliminate unnecessary redundancies.
(I'm certain that there are quite a few neither of us has noticed.)

 Theres a check grid now in SVN. In my vision in tool pane each option that
 supports it has a checkbox to turn dynamics on and off and a button to curves
 about that specific parameter. Additionally there are sliders for scaling the
 dynamics as a whole for quick adjustment. If you load a tool the changes made
This sounds pretty good! I'd like to suggest the use of bottom-scaling
as well as top-scaling here:
that is, allow the quick adjustment to either scale down like 0..1
becomes 0..0.5 (scale == 0.5) or scale down like 0..1 becomes 0.5..1.0
(scale - 0.5). I can certainly vouch that I've wanted this a lot of
times for Size -- the minimum size ends up far too small sometimes.

 are forgotten. They are just adjustments to the current ie paintbrush, where
 as changes in curves create and unsaved tool that can be marked that way so
 the user knows that they need to save it either as a new tool or overwriting
 the parent.

Yes, mockup sounds like it would help. I think what you describe above
doesn't yet warrant the description of creating new user-tools. Mainly
because it does not support some things that are important at a
tool-level: Hard Edge, Clone-like behaviour.
Consider talking to peter specifically about this -- he has the 'Dabs
of paint' idea, which IMO is more correct than associating settings
with either a brush or a tool; In the same way that acrylic paint on a
brush has quite different physics than watercolor paint on the same
brush. What you are talking about might be called something more like
a tool-tip (yes, unfortunate but accurate; how about pen-tip?
paint-tip?)
IMO a good distinction is like:
* tool : what you are doing and how you are doing it
* tip :  the precise effect that occurs when painting
* brush:  the area and amount in which it is applied.
* paint : all of the actual pixels that end up being applied.

HTH,
David
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Paint core beyond 2.6

2008-06-07 Thread David Gowers
Hi Alexia,

On Sun, Jun 8, 2008 at 5:52 AM, Alexia Death [EMAIL PROTECTED] wrote:
 This is a planning idea for new PaintCore for GIMP 2.8 or beyond.
[...]
  * support a dynamic selection of arbitrary purely calculated axis
 (random, iterator, sin, cos, sawtooth, box);
A 'Dynamic selection'? what does this mean? Just that you are free to
choose one of these?

* If you treat random, etc as axis, you need to provide a method of
scaling them, or can you guarantee that they all range 0 .. 1.0 ?

I think sin and cos could be implemented as a subcase of 'custom': a
custom curve input.

  * be able to deliver constant distance and constant rate events
You mean events at a constant distance spacing or a constant time spacing?
According to what you wrote above, a 'distance' axis might be good. Is
there any other way that the 'Use color from gradient' or 'Fade'
options could be replicated?
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] community website

2008-05-25 Thread David Gowers
Hi Frank,

On Mon, May 26, 2008 at 8:21 AM, Frank Karlitschek
[EMAIL PROTECTED] wrote:
 Hi guys,

 I'm running openDesktop.org, KDE-Look.org, GNOME-Look.org and other websites
 for Free software.

 As a long time GIMP user I noticed that there is no real community site where
 GIMP users and developers can share Brushes, Images, Fonts and Tips and
 Tricks.
Did you check out places like www.gimptalk.com? I think it is a big
enough forum that having a link to it could be good.
also gimp-brainstorm.blogspot.com,  since you have a brainstorm section.


 So I created www.gimpstuff.org . It is part of the openDesktop.org network. So
 if you have an account on GNOME-Look.org on any other website you can login.
I'm impressed! It's quite comprehensive.

I'm about to submit my dithering/halftoning patterns there. I've been
looking for such a site for a while, since I have some considerable
amount of resources to contribute.


 I hope this is helpfull for you and the GIMP users.

 What do you think?

 I you have ideas or suggestions how to improve the site please send me a mail.


 Cheers
 Frank


 P.S. GIMP rocks.  :-)



 --
 Frank Karlitschek
 [EMAIL PROTECTED]
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] community website

2008-05-25 Thread David Gowers
On Mon, May 26, 2008 at 11:51 AM, David Gowers [EMAIL PROTECTED] wrote:
 Hi Frank,

 On Mon, May 26, 2008 at 8:21 AM, Frank Karlitschek
 [EMAIL PROTECTED] wrote:
 Hi guys,

 I'm running openDesktop.org, KDE-Look.org, GNOME-Look.org and other websites
 for Free software.

 As a long time GIMP user I noticed that there is no real community site where
 GIMP users and developers can share Brushes, Images, Fonts and Tips and
 Tricks.
 Did you check out places like www.gimptalk.com? I think it is a big
 enough forum that having a link to it could be good.
 also gimp-brainstorm.blogspot.com,  since you have a brainstorm section.


 So I created www.gimpstuff.org . It is part of the openDesktop.org network. 
 So
 if you have an account on GNOME-Look.org on any other website you can login.
 I'm impressed! It's quite comprehensive.

 I'm about to submit my dithering/halftoning patterns there. I've been

However, I could not do so. I filled out all the bold fields, selected
'upload', browsed to my 6k zip of patterns, provided two screenshots,
and
checked the copyright checkbox, clicked the 'Save' button and got this message

'Upload not successful! Missing required data or file too big?'

Must I upload each pattern as a separate .pat file?
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] An idea for resource management

2008-05-22 Thread David Gowers
It would be worthwhile to consider this kind of thing  for gradients
and palettes, too -- personally I find I often simply want a scratch
area; and being required to create a new palette first is a bit
troublesome, especially since I usually don't want it to be saved. I
could write a plugin that clears a specific palette and then switches
to it, that would be good, actual infrastructure in GIMP for
scratching around would be better.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] Edit-Copy bug/misbehaviour

2008-05-04 Thread David Gowers
Hello,
I'm not yet sure I should file this as a bug, since I find myself
confused about it.
You may need 2.5 or SVN to reproduce this?

Do the following in order to reproduce it:
1. Open an image
2. Make sure that nothing is selected, by using 'Select-None'
3. Edit-Copy
4. Notice how the Clipboard Brush goes blank, rather than changing to
the copied data or a cropping of the copied data (since 512x512 is the
limit of clipboard brush)
5. Check that the image data copied okay, with Edit-Paste as-New image
6. Go back to the first image
7. Select-All
8. Edit-Copy
9. Notice that now the clipboard brush correctly contains the copied pixel data.

It is my understanding that usually, having nothing selected is
treated the same as having everything selected.
I guess that this behaviour is probably a bug, and likely just a
simple mistake, readily fixed (I don't have easy access to a SVN
checkout currently, So I cannot verify this)
If not, I hope someone will inform me so that I can file a bug :)

--
David
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] A simple (?) question...

2008-04-10 Thread David Gowers
Hi Torsten,

On Thu, Apr 10, 2008 at 6:50 PM, Torsten Neuer [EMAIL PROTECTED] wrote:
 Hi Sven,


   On Wed, 2008-04-09 at 09:27 +0930, David Gowers wrote:
What you are talking about is a hash function. There is a string
hasher in GLib that should do what you want.
  
   The string hash function in GLib is not suitable for this job. Torsten
   doesn't want to hash a string, he is asking for a checksum over image
   data.

  Yes, I discovered that myself, since the string hasher would have 
 difficulties
  with handling the binary data of the drawable passed on to the plugin.
Oh.
I had assumed that the glib string hasher worked similarly to the
Python string hasher, meaning that binary data was perfectly okay.

My mistake.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] A simple (?) question...

2008-04-08 Thread David Gowers
Hi Torsten,
On Wed, Apr 9, 2008 at 4:35 AM, Torsten Neuer [EMAIL PROTECTED] wrote:
 Hello everybody,

  I am currently updating an older plugin (one that is not in the distribution
  nor in the registry anymore) in order to bring it back to life (and, well,
  maybe learn something about Gimp programming as well).

  The plugin although it worked quite well, seemed never to have been finished.

  Now, there is a random function in this plugin, which according to
  documentation, would require a random number seed that is unique for every
  image that is going to be processed, i.e. the result of the random function
  should be identical for any identical image.  This, however, has not been
  implemented as such in the old files.

  Now my idea was to use some sort or CRC on the drawable to get a seed for the
  random number generator, that would match these requirements.

  Since I haven't been able to find a function within the libraries that I 
 could
  use as a starting point (and of course I do not want to re-invent the wheel),
  my question is, if there is such a function that would provide an identical
  value for any identical image - or would I have to write a kind of pre-filter
  in order to generate that value ?

What you are talking about is a hash function. There is a string
hasher in GLib that should do what you want.
However, be aware,
the criteria 'a random number seed that is unique for every image that
is going to be processed,' cannot be fulfilled in an absolute way.
With a hash value of 32bits, that's  4 billion possible hashes.
Practically speaking, you are unlikely to encounter a hash collision*
unless the amount of images in the set you're processing gets very
large, you should be aware that it is always possible though.

* when two different data produce the same hash value.



  Thank you very much for listening,

   Torsten

 ___
  Gimp-developer mailing list
  Gimp-developer@lists.XCF.Berkeley.EDU
  https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Activating actions through the PDB

2008-04-02 Thread David Gowers
Hi Sven,

On Wed, Apr 2, 2008 at 4:57 PM, Sven Neumann [EMAIL PROTECTED] wrote:
 Hi,


  On Wed, 2008-04-02 at 14:21 +1030, David Gowers wrote:

   This second class is really all I can see traditional plugins needing
   to do after GEGLification is complete and stable. Ie. the first class
   of plugins wouldn't need to use the PDB at all, probably.
   Do you agree with this idea?

  Absolutely not. The GEGL API is not sufficient for this class of
  plug-ins as plug-ins will still need access to GIMP objects such as
  layers and masks and whatever else. There are associated GEGL nodes for
  these objects, but that is by no means sufficient.

Oh.. of course. Sorry, I was thinking about things like gradient-map,
normalize, and tile. More complex things like warp, gimpressionist, or
sample colorize didn't occur to me..



   In that case, it makes sense that a plug-in would mainly provide
   actions. It is also useful to be able to trigger other actions, since
   many things aren't accessible through the PDB yet, only as actions.
   (for example, I would like to make a plugin that creates an additional
   display, zooms it to 200% and then shrink wraps it, so I have a
   'working area' and a 'real size' view.)

  This is intentional. The PDB doesn't provide access to the GIMP user
  interface. Scripts and plug-ins are supposed to in non-interactive mode
  as well. What you are asking for is completely outside the realm of the
  PDB and it is not going to be added there, ever. If we really want to
  expose such user interface functionality to scripts, then we will need a
  different scripting API for it.


  Sven

Okay. The kind of plug-ins I'm talking about are also too lightweight
for the current framework -- it's best if they run quickly -- and my
current workaround can run them quickly (20 times / second for the
average one). Truthfully UI manipulation doesn't fit in that area,
almost everything is either about a quick manipulation on the image
(vector-smooth a binary selection, colorize a greyscale, 'apply' a
layer) or a quick change to the context (interpolate colors, colorize
a brush, sieve a brush). I really think there is a place for this type
of simple 'macro' host. Hopefully I can get it into releasable state
soon. I'll just have to hack around the rest.)

Thanks for your time.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] Activating actions through the PDB

2008-04-01 Thread David Gowers
I've been talking to a few people about the future of GIMP plugins,
and worked out that in terms of current plugins, there will end up
being two types:
Those that are related to GEGL (implementing GEGL operations,
modifying graphs, applying graphs) and those that are not (convenience
plugins that don't modify the image state directly, such as my plugin
to set FG to the average of FG+BG, plugins to generate resources like
brushes patterns palettes or gradients, plugins to analyze the image,
etc..)

This second class is really all I can see traditional plugins needing
to do after GEGLification is complete and stable. Ie. the first class
of plugins wouldn't need to use the PDB at all, probably.
Do you agree with this idea?
In that case, it makes sense that a plug-in would mainly provide
actions. It is also useful to be able to trigger other actions, since
many things aren't accessible through the PDB yet, only as actions.
(for example, I would like to make a plugin that creates an additional
display, zooms it to 200% and then shrink wraps it, so I have a
'working area' and a 'real size' view.)

Currently, I have to use xdotool to fake the input events required to
select the appropriate menu items, in order to implement my 'two
displays' action described above.
What would work a lot better, is something like the following:

display = pdb.gimp_display_new (image)
pdb.gimp_action_run ('view-zoom-2-1', display, 0)
pdb.gimp_action_run ('view-shrink-wrap', display, 0)

What do you people think of this? Is it worth pursuing, or would PDB
functions for every action be easier achieved? I'm certainly prepared
to work on either.


(incidentally, it may be relevant to this that I have made an
extension 'GPixMint' which hosts quick actions like these so they can
run a lot faster than the typical 'run an entire executable each time
the function is called' plugin, and plenty of actions for it)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Question about how Gimp displays multiple layers

2008-03-31 Thread David Gowers
Hello. I cannot address the issue of widgets. Anyway GIMP does not use
widgets to display individual layers, only the final composition,
app/display holds the code IIRC(quite a bit of code -- someone else
might be able to narrow it down further.).
The image is composited and THEN displayed (in one widget). With this
sort of display there really is no reason to try to be clever by doing
things as confusing as you described. You just need to do the
composition (GDK will help you with that) and display the relevant
area of it in an expose handler for your display widget.

In short, this reminds me of when I used to make more work for myself
by being clever about finding ways to reduce the work I needed to do.
Do things the plain way first, try to be clever later if it doesn't
work well enough, OK?

On Mon, Mar 31, 2008 at 10:23 PM, Gregory Hosler [EMAIL PROTECTED] wrote:
 -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA1

  Hi all,

  I'm working on a gtk application, and I have a need to display a composite 
 image. i.e. a
  base image, with a 2nd (much smaller) image overlaying a part of the bigger 
 1st image.
  Periodically I may need to move the smaller image to a different location 
 within the
  bigger image.

  My first attempt was to use the GtkFixed widget, and put both images into 
 the GtkFixed
  container. The problem I faced is that GtkFixed will always layer the larger 
 image on top
  of the smaller image (at least this is my observation, and I cannot figure 
 out how to
  control the layering order for GtkFixed).

  In [minimal] playing around with Gimp, I am aware that Gimp has the ability 
 to create a
  composite image, out of multiple layers. I'm kinda curious as to the 
 algorithms (pointers
  to within the code welcome), and whether there are widgets that are more 
 suited to this,
  rather than the GtkFixed (that I could not get to work for me).

  I do not mind loading a pixbuf, and then replacing a designated section of 
 it with the
  smaller image's pixbuf, if that is what it takes... I cannot figure out from 
 the gtk
  pixbuf devhelp pages how I might achieve this though.

  Any thoughts/comments are most welcome.

  Thanks, and best rgds,

  - -Greg

  - --
  +-+

  Please also check the log file at /dev/null for additional information.
 (from /var/log/Xorg.setup.log)

  | Greg Hosler   [EMAIL PROTECTED]|
  +-+
  -BEGIN PGP SIGNATURE-
  Version: GnuPG v1.4.7 (GNU/Linux)

  iD8DBQFH8NCq404fl/0CV/QRAnelAJ42K0vVFIy/4g6u1CCQGTdu+v2buwCbBpIZ
  8xUITPrCcFIJqPbMpCu98Ew=
  =lmCC
  -END PGP SIGNATURE-
  ___
  Gimp-developer mailing list
  Gimp-developer@lists.XCF.Berkeley.EDU
  https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] shared layer mask or layer mask reference to previous

2008-03-31 Thread David Gowers
Hi,

It won't happen unless someone puts in the work. GIMP development is
entirely voluntary, so if you want this,
submit a patch to make the necessary changes. Otherwise, you leave it
to chance whether this ever gets implemented. Posting feature requests
here tends to annoy the developers. It is a good place to discuss the
details of a feature you'd like to implement, though.
Only saying 'we need this' will not encourage anyone to work on
implementing it; volunteer coders code because it's fun or personally
rewarding, not because something is wanted by someone else that they
do not know.

On Mon, Mar 31, 2008 at 10:17 PM, Miroslav Talasek
[EMAIL PROTECTED] wrote:
 I and my many friends need this feature. We want that layer mask can be as
  reference to previous layer as photoshop. I have several layers but i
  wont olny
  one mask for some of layer. Simply shared layer mask as photoshop

  thanks

  --
  MSc. Miroslav Talasek
  Developer, Team leader
  Seznam.cz, a.s.
  Prague
  Czech Republic

  tel.:+420 234 694 722
  fax: +420 234 694 115
  gsm: +420 608 934 724
  jabber: [EMAIL PROTECTED]
  work-email: [EMAIL PROTECTED]
  email: [EMAIL PROTECTED]

  ___
  Gimp-developer mailing list
  Gimp-developer@lists.XCF.Berkeley.EDU
  https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] 'no image' window: progress...

2008-03-30 Thread David Gowers
On Sun, Mar 30, 2008 at 11:14 PM, Sven Neumann [EMAIL PROTECTED] wrote:
 Hi,

  the Open dialog is a poor replacement for a file manager. If you only
  use it as a drag source, then why not just use your file manager
  instead?

...
My file manager is Midnight Commander :) I've just tried Rox-Filer,
and it looks good, I'll try it.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] 'no image' window: progress...

2008-03-29 Thread David Gowers
Hi all,

On Sun, Mar 30, 2008 at 5:33 AM, Kevin Cozens [EMAIL PROTECTED] wrote:
 jbaker wrote:
 o What would really be nice and make the dropzone a lot more
   usable... if there is was a file browser built into it...
   split the niw vertically, put a file browser on one side,
   and dropzone and whatever else on the other side...

  I don't understand why you would want to do that? If you need a file browser,
  use the File-Open menu item

..
The 'Open' window can remain up as you DnD items from it to the
toolbox. Rather important to know for this jbaker's use case, and I
didn't find it obvious (the 'Open' button is obvious, and in fact
deterred me from investigating DnD because it lead me to assume that
that was the dialog's main functionality and it had no DnD. Does GIMP
suggest to DnD in a tooltip? If it can, I think it should.)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] ‘no image’ window: progre ss...

2008-03-28 Thread David Gowers
On Fri, Mar 28, 2008 at 5:27 PM, Michael Grosberg
[EMAIL PROTECTED] wrote:


To give my $0.02, I think Gimp should simply emulate what is out
there,
namely the behavior of established applications such as Open Office
and
gedit.
  
   I am really struggling to say something nice here... ah:
  
   The perfect family car was invented ages ago: the volkwagen beetle.
  
   That did not stop designer from creating totally different cars for
   different needs. And customers from actually buying better cars.
  
  No reason to design a joystick-steered three wheeled car just to be
  different! Predictability of the UI is a very powerful tool and should
  not be dismissed. Applications don't work in a vacuum: they are used
  along with other applications, and asking users to switch mental gears
  when they switch from one app to another for no reason is not a good
  thing. The developers of those apps have struggled long with exactly the
  same problems Gimp is trying to solve and have come up with good
  solutions.

  Case in point: in your specification you state that the application will
  quit if:
  Close in the File menu is invoked and the no image' window is shown
  While usually in such cases the close command is grayed out and only the
  quit command is available. What good reason do you have to change that?
I agree this is difficult. I believe the intent here is to make gimp
more symmetrical, so you can close images, and then you close the
final image (the no-image-window)


  The idea of a window with no document in it is already established. You
  yourself said no gimmicks and yet in the design there's a cute looking
  wilber in the window's background, which is nice but really, you think
  without it users won't know what this window is? give users some credit!
  it's a gimmick and by your own rules should be removed.

I must disagree. It is not a gimmick, because without it, it is
difficult to rapidly identify where to drop. If your window has a
title bar (keep in mind that not all window manager's show a titlebar
attached to the window -- eg the WM I use shows the title of the
window that is currently focused only, at the top of the screen.), the
icon that identifies it as a gimp window is small, and may be obscured
by other windows. Since this window is a DnD target and the user may
want to do multiple drops quickly, it must be identifiable to the user
in  the greatest number of situations. Standard icon+text titlebars do
not provide this.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] GIMP to adopt this scripts

2008-03-18 Thread David Gowers
Wow, didn't notice I was repeating Alexia. Sorry, Alexia :)
Although that makes me think -- something like python's easy_install
would be terribly handy for resources..
If you're not familiar with it, basic usage is : 'easy_install foo'
installs the latest version of foo.
This would require a centralized repository (the resources needn't be
stored there, metadata would need to be.)
Would be a nice backend for a DnD app.

Also,..
On Wed, Mar 19, 2008 at 7:43 AM, David G. [EMAIL PROTECTED] wrote:
  Sorry but I don't agree with that. I think GIMP should be more of a 'out of
  a box' term than just worrying about sizes and things that could be taken
?? worrying about sizes ??
Oh, you mean distribution size. This is undoubtedly an issue, it is
less of a concern than simple cumbersomeness: the amount of files in
the GIMP distribution is too much already.. for a sample, look at the
plug-ins/common directory in a GIMP source tree.
Approximately, each C file produces a plugin, there are a lot of
plugins there.. (120+ IIRC); similarly I think we have too many
gradients by default, too many palettes, and too many patterns. This
is partly because there isn't a 'filtered/tagged' view, so that we
only need to consider relevant resources. Also, GIMP developers are
required to manage this multiplicity of resources, which becomes
harder the more resources there are in the distribution.

(there is infrastructure for tagging, and no UI or I/O for tagging,
IIRC. I think it might take quite a bit of work to get the tagging UI
right.)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] installing patterns

2008-03-17 Thread David Gowers
Hi Andrei,

Do you use GIMP 1.2 at all? If not, delete that second directory! it
is irrelevant and is obviously the cause of your confusion.
IIRC nothing changed about pattern fileformat between 1.x and 2.x, so
you should be able to copy them across, yes :)

Cheers,
David


On Tue, Mar 18, 2008 at 1:10 PM, Andrei Simion [EMAIL PROTECTED] wrote:
 Hi,

  I'd like to install some patterns in the Gimp version 2.0, the server
  version.

  The manual says that the patterns should go in system patterns dir. This
  is one of the two locations.

  Is this the location:

  /usr/share/gimp/2.0/

  If yes, then I can copy some old patterns from ver 1.2 and use them,
  right. In ver 1.2 they should be installed here:
  /usr/share/gimp/1.2/

  Thanks,
  Andrei
  ___
  Gimp-developer mailing list
  Gimp-developer@lists.XCF.Berkeley.EDU
  https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Rotation for brushes

2008-03-16 Thread David Gowers
Hi,

On Mon, Mar 17, 2008 at 9:07 AM, Bill Skaggs [EMAIL PROTECTED] wrote:
 David G. [EMAIL PROTECTED] wrote:
  
Add a option to rotate brushes to compliment the scaling.
I don't know if this has been requested but it would be very
   helpful than creating a layer + using the rotation tool.
  

  Wouldn't be all that hard to do.  How often do you think this
  would be used?  What kind of brushes would you want to
  use it for?
Myself, I would use it for nearly every non-symmetrical brush (and
wish for the ability to v- or h-flip it, too), particularly when I'd
just copied something and was using the clipboard brush. Every brush
that is remotely 'directional' needs this
(or, possibly the option to rotate the brush to match the movement
direction -- that would work fairly well much of the time.)

Making aspect ratio controls independent of brush type also makes
sense to me.  hardness' also makes sense independent of brush type
(hardness specifying the middle point of a curve, 0 would be a linear
curve, .5 would be a gamma-ish curve where  a majority of midpoint
values become much more opaque, -.5 would be a gamma-ish curve where a
majority os midpoint values become  much less opaque.

I may be getting a little OT, I believe that those controls do not
belong in the VBR brush editor.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Rotation for brushes

2008-03-16 Thread David Gowers
On Mon, Mar 17, 2008 at 10:45 AM, Bill Skaggs [EMAIL PROTECTED] wrote:
 David Gowers wrote:

Myself, I would use it for nearly every non-symmetrical brush (and
wish for the ability to v- or h-flip it, too), particularly when I'd
just copied something and was using the clipboard brush.
   Every brush that is remotely 'directional' needs this
(or, possibly the option to rotate the brush to match the movement 
 direction -- that would work fairly well much of the time.)

  If the major usage case is to rotate to match the direction of
  movement, it would make more sense to support that directly,
  since it would be a p.i.t.a. for users to have to go into the options
  to set a direction for each stroke.

I was envisaging it being settable via the keyboard. You can currently
set VBR angle by keyboard shortcuts.

In any case, you seem to have missed that the directional rotation
requires a 'normative' rotation value -- since many brushes, while
asymmetrical, have no obvious 'direction', we might want to allow a
default rotation to be set per brush..
It *would* be necessary to allow normative rotation to be modified, in
order for directional rotation to consistently remain sensible to the
user.



  This shouldn't be too hard in principle:  it is already supported
  as a mode for image pipe brushes.  In practice it hasn't worked
  all that well, because it's not so easy to cleanly estimate the
  direction of motion -- especially at turning points or the start
  of a stroke -- so it has been hard to avoid getting anomalies
  every so often.  The new motion-smoothing code that Alexia
I think that we need some trickery to happen -- for example, the right
thing for the start of a stroke is probably to match the angle for the
first event to the angle of the following event, so we would need to
draw the first dab, and then redraw it if the user continues the
stroke.

  recently contributed might actually make this work better --
  this should be investigated.
Because it's inertia-based, it does..  as long as there is *some*
smoothing happening, angle is much more coherent.
(note: I'm currently using 2.4.2, rather than SVN trunk, sadly.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Rotation for brushes

2008-03-16 Thread David Gowers
On Mon, Mar 17, 2008 at 10:59 AM, Bill Skaggs [EMAIL PROTECTED] wrote:
 David G. [EMAIL PROTECTED] wrote:


   I proposed this because it will actually boost the simplicity
   of managing brushes to adapt in effects and splashes, instead
   of doing the layer and rotation technique.  ...

  I gather from this that you would like to be able to pick
  an arbitrary rotation, and that simply rotating in the
  direction of motion wouldn't fit your needs.

There are indeed many brushes which would work best with a specific
angle control -- they are mainly 'edge-effect' brushes. Anyway, I've
already stated my belief that if you have directional rotation, a
normative rotation angle control is necessary.




Maybe in the eyes of a developer this might be considered 'bloat'.

  It isn't a question of bloat, it's a question of keeping the user
  interface as simple as possible while providing the capabilities
  that are wanted.  Adding an option that doesn't get used is
  not harmless:  it makes it harder to find the things that are
  important.  As an artist, you wouldn't want to have the

I believe that we can reduce the number of
screen-real-estate-occupying options anyway, and
use an interface like the ink tool nib adjuster to simultaneously set
brush normative rotation and aspect ratio.
Also possibly scale -- being able to use the scroll wheel on the nib
adjuster to change brush scale makes sense to me, skew -- ctrl+drag to
skew, flip -- shift-click near a border to flip on that axis, and
aspect -- shift-drag.

(to be congruent with the rest of the GIMP, it would probably be
better to put skew on shift and aspect+flip on control, since shift
typically adds and control typically constrains.)

As far as the backend goes, I would expect values for skew, rotate,
aspect, flip, scale to  be independently stored and modifyable by
keyboard shortcut*, and mostly combined** into one transform matrix
after a value changes.

*by which I mean that they can be shortcutted, not that they are by default.
** looking at the brush code, differently scaled versions of the brush
are cached. If directional rotation was implemented, we'd want to
cache rotations as well, I expect. So the transform might work better
in two steps.


An example of this kind of interface in a raster paint program is in
Pixia (Windows).

  controls you need buried amongst 20 useless buttons and
  sliders, would you?  That's why everything like this needs
  discussion and careful consideration.



   -- Bill
  ___
  Gimp-developer mailing list
  Gimp-developer@lists.XCF.Berkeley.EDU
  https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] no-image-open redux [start time]

2008-03-15 Thread David Gowers
Hi,

I'd like to point out that startup speed is also dependent on what
resources you have installed. With lots of brushes or patterns,
startup time can be significantly inflated ( I have a set of 900
brushes that inflate startup times from 6sec - 35sec).
So you should make sure that you test with only default resources, or
else specify what extra resources you have installed.

On Sat, Mar 15, 2008 at 1:17 PM, Liam R E Quin [EMAIL PROTECTED] wrote:
 On Mon, 2008-03-10 at 18:43 +0300, Alexandre Prokoudine wrote:
   On Sat, Mar 8, 2008 at 4:14 PM, Sven Neumann wrote:
 Starting GIMP takes about three to five seconds.
  
   It takes ~7 sec on my 4 years old laptop

  25 seconds on my Dell Latitude d600, the first time, and closer to 7
  seconds if I quit and start again immediately.

  About 10 seconds on my desktop.

  Both run Linux.

  For my part I really *like* the tips.  Although I would like them
  more if they linked to tutorials and documentation either on the GIMP
  Website or locally (read more...).

  Liam

  --
  Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
  Pictures from old books: http://fromoldbooks.org/
  Ankh: irc.sorcery.net irc.gnome.org www.advogato.org

  ___
  Gimp-developer mailing list
  Gimp-developer@lists.XCF.Berkeley.EDU
  https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Brushes/input controllers changes idea

2008-03-12 Thread David Gowers
On Wed, Mar 12, 2008 at 9:21 AM, Alexia Death [EMAIL PROTECTED] wrote:
 On Tuesday 11 March 2008 21:46:41 Joern P. Meier wrote:
   I have been looking at the GIMP code recently to look for
   possibilities of implementing some features that could make GIMP more
   useful for artists that create paintings from scratch (which includes me
   ;)).
  Yay! Another art buff interested in brushes.


   A more powerful and flexible brush engine would be near the top of
   the list.
  So true.


   This would likely also cover the SVG brushes (very appealing idea) and
   adjustable input curves proposals.
  And dynamics,,, That's important too IMHO. Ability to bind any brush property
  to one or more motion dynamics, primary or derived (speed, tilt,pressure,
  angular speed, etc...) .

Angular speed? Do you mean 'turning speed', otherwise known as torque?



   Maybe someone with more insight into the code could give an outline of
   how it currently works?
   I am willing to invest some time studying the
   code myself, but unfortunately it is very scarcely documented and so I
   am not sure how the various components interact.
  Gimp is large code wise. I opted for trying to understand the bits I'm 
 working
  on and not the whole thing at once ;)

  I have been hacking in the event side of things since early this year and I'm
  slowly starting to get a clue how things relate to each other. Perhaps best
  for you to learn is to trace events stating from display shell callbacks to
  the drawing code in various tools to get the overview you need?

  As I understand it now paint core handles most of painting related stuff,
  different brush types are dervates of GimpBrush that overload the functions
  in witch thy differ. Making a new brush type should not be that difficult,
  but integrating it to UI... That part is a mystery to me.

The UI is a mystery because no one has worked it out yet.
The current design, with two places to control brush behaviour
(brushes dialog, and brush editor)
is clearly unsatisfactory. The design seen in mypaint is capable, and
it uses up far too much space.
Personally, I envision a GUI like

[target selector]
  list  |   this
   of  | source's
sources   | parameters
[add] [remove]

(keeping in mind that it would be very helpful for the dialog to be
small enough to be a dockable.

for example, the first item in Brian's first mockup would show like this

[Opacity]
Pressure % | CURVE
   | HERE

The second would show up like
[Size]
Pressure -+ | CURVE
| HERE [1]

and the last would show up like

[Angle]
Direction =| CURVE
 | HERE [1]

Doubleclicking on an item in the list of sources ought to allow it to
be changed to another kind (different source, or different kind of
modification).
There should be a quick way to set a single constant value for the
curve. shift+click?
There should also be a quick way to enable or disable a particular adjustment

Such a dockable should include targets such as

size
opacity
hardness
color from FG/BG (need way to specify opacity for color mix)
color from gradient (see above)
dissolve (yes, this sets a percentage of the pixels to transparent,
just like dissolve does. I used this once in Pixia and found it a very
useful fundamental adjustment)
jitter (replacing the jitter options from paint tool options)
rate/exposure  (note: ignored for tools that have neither)
airbrush pressure (note: airbrush normally inverts the size
adjustment. how to account for this?)
torque (as suggested by you, Alexia. Well, torque is the technically
correct term, however none of the candidates, including 'torque', are
very meaningful to a casual inspection.. the final name might be
something different again.)

and sources such as
time (need some way to set length) -- this would allow you to do
'fade' in a more flexible way.
speed
tilt (note: this is a hardware-provided value, from eg. Wacom Intuos tablets)
angle
pressure


This still leaves the matter of VBR editing and later, SVG brush
editing. I think we could put them in an expander underneath the main
part, in recognition of the fact that they are going to be accessed
less often. We also need to ensure that only the things that really
are specific to individual brush types go there. eg aspect ratio,
rotation, hardness are things that make sense in context of any brush,
not only VBRs or SVG.

Oh yes, the UI separation of brush types.. IIRC it's more or less a
hack (VBRs are the only editable type, and editing a brush brings up a
VBR editor)

When I get my system fully working again, I plan to prototype various
UI possibilities in this area using PyGTK, and post the
source+screenshots. A UI spec would be helpful, and probably not very
possible until there is some UI to try.

   Also it would be nice to know if there are already more concrete plans
   for this (GEGL stuff?), or even if someone is already working on it.
  Somebody is working on some gegl 

Re: [Gimp-developer] gimp_patterns_get_list

2008-03-11 Thread David Gowers
On Tue, Mar 11, 2008 at 2:04 PM, Andrei Simion [EMAIL PROTECTED] wrote:
 Hi,

  I have the following problem: when calling gimp_patterns_get_list on the
  Gimp server, version 2.2 I got an error:

  not enough arguments for function 'gimp_patterns_get_list'

  The function works on the Gimp server, version 1.2.

  I checked here: http://hans.breuer.org/gimp/pdb/alphabetic.html and it
  appears I can call it with no parameters.

  Can somebody point to the list of functions that can be used on Gimp 2.2?
Yes. Use the pdb browser plugin found under /Xtns in the toolbox.


  Thanks,
  Andrei
  ___
  Gimp-developer mailing list
  Gimp-developer@lists.XCF.Berkeley.EDU
  https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] transparent transformation preview

2008-02-29 Thread David Gowers
Hi Patrice,

On Sat, Mar 1, 2008 at 12:39 PM, Patrice Poly [EMAIL PROTECTED] wrote:
 Hello

  I have searched a lot about this, and couldn't find anything apart a few 
 lines
  in an old summer of code page, and in this old webpage :
  http://www.re.org/tom/computer/gimp/index.html#preview
  unfortunately this patch only applies to 2.3

  this is why I allow myself to post here as a feature wish, even though I am
  absolutely not a coder.

  I am using GIMP every single day for my 3D texturing work, and i have to 
 blend
  together parts of photographies in an interactive way.
  Parts need to be lined accurately so that you don't create blur in the
  blending areas.
  ( someone told me Hugin does it perfectly, but at a first glance, it seems to
  involve complex settings and a lot of click work before it computes a
  solution, when you just need to move things on the fly and see how it goes .
  Hugin seems to be more suitable for assembling large images together than a
  lot of little parts )

  As GIMP is now, you need to move/scale/rotate/shear/perspective a selection 
 or
  a layer, apply transformation, check if it lines good, undo, transform again,
  check, etc, because the preview always turn to totally opaque , whatever the
  layer opacity is.

  Having a little slider to set the preview mode/transparency would be a real
  enhancement for this kind of workflow.
  Another clean solution would be that the preview simply follows the active
  layer mode/opacity .

In order to have a genuinely clean solution, I believe that GEGL needs
to be integrated for layer compositing. Because
the main issue here is that, when you overlay an preview of N opacity
over a layer of N opacity, the appearance is that of
 N opacity -- ie. such a preview is still not accurate. It's the same effect 
 that occurs when you draw a dab of paint at 50% opacity and then draw another 
 over the top -- the result is more than 50% opaque.
What needs to happen is, the preview is composited onto the layer with
100% opacity, before that layer is composited onto the one below. This
is rather tricky and without a graph-based image display, it is
difficult to do in a non-kludgey way.

  I have read about Iwarp as a tool, that combined with a transparent transform
  preview would turn GIMP into a fantastic texturing tool.


  I have no clue how difficult it can be to code this, but I hope the 
 developers
  of GIMP can find an interest in this.


  With all my thanks for all the work done,

  regards

  patrice poly
  ___
  Gimp-developer mailing list
  Gimp-developer@lists.XCF.Berkeley.EDU
  https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] Fwd: improved drawing modes

2008-02-25 Thread David Gowers
Forwarding further explanation from Radoslav.

-- Forwarded message --
From: Radoslav Schudich [EMAIL PROTECTED]
Date: Mon, Feb 25, 2008 at 6:47 PM
Subject: Re: [Gimp-developer] improved drawing modes
To: David Gowers [EMAIL PROTECTED]


the paint mode is displayed in the toolbox dialog. When user switches the
 paint mode, he mostly does not be informed of this event. Yes, the
 shortcuts were the same for some modes using f.e. F2-behind,
 pressing F2 again switched to replace and so on.
 The mode negative switched the colors using the current brush, it is
 simple and gives the invert function a more flexible usage.

 pitty, U cannot try the TV Paint on Tux.
 Et least, could there be an effort to make at least one more drawing mode
 - the erasing mode?
 thnx

 ssuuddoo
 Greetings from Slovakia
 :D

 thank you again for help and the effort
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] Fwd: improved drawing modes

2008-02-23 Thread David Gowers
forwarding mistakenly privately sent message.


-- Forwarded message --
From: David Gowers [EMAIL PROTECTED]
Date: Sat, Feb 23, 2008 at 9:44 PM
Subject: Re: [Gimp-developer] improved drawing modes
To: Radoslav Schudich [EMAIL PROTECTED]


I cannot try TVPaint; It is not for Linux. I know it can be run under
 WINE, that is something too involved for me to do currently.

 I think what you mean by 'NEGATIVE', though, is the idea of pairing
 paint modes together, and then being able to switch between them by
 pressing the same key.

 Like, if you wanted to select 'Replace' and the current paint mode was
 'Behind' you would press F2 once.
 If the current paint mode was neither 'Replace' nor 'Behind', then
 pressing F2 would select behind.

 I am uncertain about the value of that idea*. However I think the
 other possibility, that you just have another item on the menu, named
 'Opposite' or 'Negative', that is always adjacent to the current mode,
 so you can quickly select the opposite paint mode, is a good (and more
 predictable) idea.

 * that idea would be fine, if the statusbar would notify users when
 things such as drawing mode were changed. With GIMP as it currently
 is, the scheme described would give no feedback to the user about the
 change of paint mode.

 On Sat, Feb 23, 2008 at 9:25 PM, Radoslav Schudich


[EMAIL PROTECTED] wrote:
  agree. I think, there is some mode that erases but just one color, so on
   more cases
   I cannot use it properly.
   The negative think is more a decorative part.
 
   for example the comparation of the drawing modes:
   TV Paint:   (the  *  have those, I have used mostly)
   F1 color *
   F1 stamp *
   F2 replace *
   F2 behind *
   F3 erase *
   F3 pantograph *
   F4 merge
   F4 impress
   F5 shade *
   F5 light *
   F6 colorize *
   F6 tint *
   F7 grain
   F8 smooth
   F8 blur *
   F9 smear
   F9shift
   (there are plenty more in the new version, but now I do not remember them)
 
   GIMP ( I have GIMP in slovak, so I just translate them to EN)
   Normal
   Dissolve
   Behind
   Erase color
   ---
   Multiply
   Devide
   Picture
   Overlap
   ___
   Lighten
   Darken
   Sharp light
   Soft light
   Grain Extraction
   Grain Merge
   
   Difference
   Sum
   ...??
   Only darken
   Only lighten
   Tint
   Brightness
 
 
from this information we can clearly see, that gimp uses a lot of drawing
   modes,
   but in my activities I mostly do not use them. Partly its my fault because
   I do not know them all, but the drawing modes in the other program
   were easier to use for me. If not others.
 
   I recommend trying the TV Paint program for better view on this issue.
   it is free for try. :D
 
   ssuuddoo
 
 
 
 
 
 
 
   On Fri, 22 Feb 2008 12:54:06 +0100, David Gowers [EMAIL PROTECTED] wrote:
 
Hi,
   
I admit that if Erase were a paint mode, I would use it much more. The
eraser tool, I generally find does not happen to have brush settings
convenient to my current task, and so i find it cumbersome. So, I
think that erase as a paint mode is a good idea.
I do not understand this 'Negative' paint mode, Radoslav, and I think
you need to explain it.
   
Now that we are speaking of paint modes, I know that I would
personally find very useful one that recolors FG colored pixels to BG
color.
   
On Fri, Feb 22, 2008 at 9:35 PM, Radoslav Schudich
[EMAIL PROTECTED] wrote:
Hi, I know, it sounds like a waste, but trust me, it isnt. I firstly
didnt
 even
 know what are those drawing modes for, but soon it fastened my work.
 I suppose they should have a shortcut key too.
   
 For example: You draw or edit an image with a simple brush, when you
want
 to
 erase some stuff, you switch to the eraser, but this one has different
 brush size,
 shape, opacity than the first tool. Using different modes like erase
and
 plenty more
 are efficent. (I admit, some of them I never used - solarise, and other
 modes,
 I do not use to use).
   
 Maybe I am explaining it wrong, but You can try it for your own.
   
 The program I used to work with is named TV Paint Animation,
 for someone it can be an unknown program, but believe me,
 it is very strong and when comparing prices you can see:
   
 PaintShopPro   105 €
 Photoshop   264-441 €
 TV Paint Anim. Pro/Std.   950 €  / 475 €
 GIMPfree OpenSource  :)
   
 that TVPA is not just a shit-program, but has features that really make
 work with
 images draw/edit more efficient.
   
 let me know what do U think
   
 ssuuddoo
   
   
 On Fri, 22 Feb 2008 10:49:48 +0100, Raphaël Quinet [EMAIL PROTECTED]
 wrote:
   
   
   
  On Fri, 22 Feb 2008 10:17:26 +0100, Radoslav Schudich
  [EMAIL PROTECTED] wrote:
  the available drawing modes should have these options too

Re: [Gimp-developer] improved drawing modes

2008-02-22 Thread David Gowers
Hi,

I admit that if Erase were a paint mode, I would use it much more. The
eraser tool, I generally find does not happen to have brush settings
convenient to my current task, and so i find it cumbersome. So, I
think that erase as a paint mode is a good idea.
I do not understand this 'Negative' paint mode, Radoslav, and I think
you need to explain it.

Now that we are speaking of paint modes, I know that I would
personally find very useful one that recolors FG colored pixels to BG
color.

On Fri, Feb 22, 2008 at 9:35 PM, Radoslav Schudich
[EMAIL PROTECTED] wrote:
 Hi, I know, it sounds like a waste, but trust me, it isnt. I firstly didnt
  even
  know what are those drawing modes for, but soon it fastened my work.
  I suppose they should have a shortcut key too.

  For example: You draw or edit an image with a simple brush, when you want
  to
  erase some stuff, you switch to the eraser, but this one has different
  brush size,
  shape, opacity than the first tool. Using different modes like erase and
  plenty more
  are efficent. (I admit, some of them I never used - solarise, and other
  modes,
  I do not use to use).

  Maybe I am explaining it wrong, but You can try it for your own.

  The program I used to work with is named TV Paint Animation,
  for someone it can be an unknown program, but believe me,
  it is very strong and when comparing prices you can see:

  PaintShopPro   105 €
  Photoshop   264-441 €
  TV Paint Anim. Pro/Std.   950 €  / 475 €
  GIMPfree OpenSource  :)

  that TVPA is not just a shit-program, but has features that really make
  work with
  images draw/edit more efficient.

  let me know what do U think

  ssuuddoo


  On Fri, 22 Feb 2008 10:49:48 +0100, Raphaël Quinet [EMAIL PROTECTED]
  wrote:



   On Fri, 22 Feb 2008 10:17:26 +0100, Radoslav Schudich
   [EMAIL PROTECTED] wrote:
   the available drawing modes should have these options too
   (there are plenty (21) drawing modes, but I definitly miss these:
  
   ERASE  (to be able to erase the drawing (not just one color) with any
   drawing
   NEGATIVE
  
   -it makes the drawing/editing easier, because when you want to erase
   something, you do not need to change your tool 2 eraser, but can choose
   to
   erase the painting with the brush you currently have.
  
   Could you explain why it would be easier to do this with additional
   drawing modes instead of using the existing shortcuts to switch to the
   eraser and then switch back to your previous drawing tool?
  
   If you use the existing shortcuts for the tools or if you define new
   ones, then you only need to press the key for the eraser, erase what
   you want, and then press the key for the other paint tool to continue
   drawing.  You can do that without having to move the mouse to the tool
   options and change the paint mode, which is more cumbersome in my
   opinion.
  
   Also, for those who use a drawing tablet, it is much easier to switch
   tools than to play with drawing modes.
  
   -Raphaël
   ___
   Gimp-developer mailing list
   Gimp-developer@lists.XCF.Berkeley.EDU
   https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] no image open spec...

2008-02-21 Thread David Gowers
On Thu, Feb 21, 2008 at 10:12 PM, Michael Natterer [EMAIL PROTECTED] wrote:
 On Wed, 2008-02-20 at 11:34 +1030, David Gowers wrote:

  There is no guarantee that there will be any taskbar at all. On linux,
   there are plenty of WM's that either provide a taskbar that is not
   suitable to implement your described behaviour, or no taskbar at all (
   i use one of these myself, DWM (http://www.suckless.org/wiki/dwm)).
   IMO taskbars are a kludge, and it is a mistake for an application to
   *depend* on them for basic usability.

  To quote from that Window Manager's web page:

  Because dwm is customized through editing its source code, it's
  pointless to
   make binary packages of it. This keeps its userbase small and elitist.
   No novices asking stupid questions.

  I think you just disqualified yourself to say anything about
  usability here.
That's a straw man. There are many tiling WM's, and only two of them
are written by Anselm Garbe. It's quite common for tiling WMs (eg.
dwm, Ion, wmii, ratpoison,  stumpwm) to not have taskbars, because
they are simply unnecessary when you can see the current windows at a
glance. Mainstream WM's are a window management nightmare -- by which
I mean the user is constantly being called on to manage windows, to
make decisions that could in most instances be made well by the
computer, and the need for a task bar in such WM's just reflects this
basic demand for micromanagement imposed by an overconfigurable
concept of window management. It's not bad that the user can configure
their WM, or even their windows -- they should only rarely be called
on to configure their windows, since it's perfectly possible to treat
the majority of windows in a way that Just Works.

In short -- taskbars save you some of the time that your WM otherwise
calls upon you to waste.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] change layout of mode menus?

2008-02-19 Thread David Gowers
On Feb 20, 2008 5:24 AM, Sven Neumann [EMAIL PROTECTED] wrote:
 Hi,

 On Tue, 2008-02-19 at 12:35 +0100, Daniel Hornung wrote:

   Well, perhaps not deprecated in the don't use this API sense. Their
   use is discouraged. And not by the GTK+ developers but by usability
   experts. Tearoff menus might sometimes be useful for the power-user but
   for almost all users and almost all use cases they are unnecessary
   clutter and make the menu more difficult to use.
 
  I have to object here, since I have never seen any user unintentionally use
  tearoff menus.

 That is not the point. The point is that almost all of the time you
 don't need the tear-off functionality. But it's there, and it is slowing
 you down because you have to move the mouse a little further and your
 eye has to skip the extra visual clutter that it adds.

  On the other hand I find them very useful, especially with
  window manager features like window shading and unshade on mouse-over, I use
  them in my everyday work, not only in GIMP but also in e.g. xmgrace.
  Benefits I see are easy access to hidden parts of menus that are not used
  often enough (on the long term average) to deserve a key shortcut (I might
  need that special sub menu quite a few times only on this very special 
  image)
  or for trying out several entries, as was discussed enough earlier in this
  thread.

 Exactly. This is why GIMP still has them enabled by default. Note that I
 didn't suggest to turn them off. With our deep menu hierarchy, tear-off
 menus are definitely very useful.

 Long term it would be nice if we could get rid of our insane menu
 hierarchies and at that point we should also consider to disable
 tear-off menus.

I think something that would help here is if we could bind keys to
menus. For example, the GIMP-GAP 'video' menu -- it would be more
practical to access this way. And in general, it would be pretty
effective for common tasks, if we could also do things like
defining a custom menu that includes

sel gauss blur
selection to path
path to selection
fill selection with FG

and then bind it to '2', so commonly done tasks were quicker to do and
required less thought. In my experience, it would be useful to be able
to define menus per:

gimp -- ie tasks that are done a lot independent of what the current image is
image -- common tasks for this specific ...image
drawable -- ... drawable
path -- ... path

I'll have a go at making a mockup. My basic idea for this simple sort
of menu editing is DnD based: open the 'gimp' custom menu, creating it
if it doesn't exist, then leave it open in a window like a tearoff,
and DnD menu items into it to add them, out of it to remove them, and
move them in the normal DnD way.

As a whole, I believe this would allow us to leave a lot more out of
the default menus, and have the removed items instead in something
like an actions treeview dockable (using a treeview would  hopefully
allow easy DnD of submenus)




 Sven


 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] no image open spec...

2008-02-19 Thread David Gowers
On Feb 20, 2008 11:07 AM,  [EMAIL PROTECTED] wrote:

  peter sikking [EMAIL PROTECTED] said on Feb 19, 2008 13:46 -0500 (in
 part):


  You missed one of the mails in this thread then. If we use this window
  as a DND target, where should our users drop images when it is not
  there?

  I think the remaining question is: when GIMP is not the foreground
 application (toolbox and inspectors hidden, as they should) where
 can users d+d files apart from on the taskbar icon?
  I have Windows only experience (not Linux or Mac) so maybe I'm missing
 something here ...

  In Windows D'n'D, for a non-visible application works everywhere as drag
 to taskbar button which brings that application to foreground. User (still
 w/o releasing mouse button) then drags to to window which has just been
 brought to foreground and releases.

  This works now with current Gimp whether there is an image open or not so
 long as the first bring to foreground is done to the Gimp toolbox window.

  So wrt. remaining question: where can users d+d files apart from on the
 taskbar icon? . Why is there any need for anything else? That's how Windows
 user expect ALL applications to behave.
  Regards ... Alec -- buralex-gmail

There is no guarantee that there will be any taskbar at all. On linux,
there are plenty of WM's that either provide a taskbar that is not
suitable to implement your described behaviour, or no taskbar at all (
i use one of these myself, DWM (http://www.suckless.org/wiki/dwm)).
IMO taskbars are a kludge, and it is a mistake for an application to
*depend* on them for basic usability.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] change layout of mode menus?

2008-02-16 Thread David Gowers
On Feb 17, 2008 5:46 AM, Sven Neumann [EMAIL PROTECTED] wrote:
 Hi,

 On Sat, 2008-02-16 at 10:47 -0800, Bill Skaggs wrote:

  Well, it would be very easy to make the layer mode menu
  support a tearoff.  It can literally be done by adding two
  lines of C code.  (I just tested.)

 There are very good reasons why tear-off menus are deprecated. They
 don't solve usability issues but introduce them. Please let us not even
 consider such ugly workarounds.

I agree that tear-off menus are ugly -- I think the sensible thing to
do is tear-off toolbars. For this, of course it helps if every menu
item has an icon assigned. I think that if tear-off behaviour was
changed like this then it would encourage icon coverage, and
particularly, encourage users to contribute icons. If we can then
rearrange this toolbar and hide items from it*, that would be ideal
for the modes menu. Is there a toolbar equivalent of separators?

* for example, I never use Hard Light, Soft Light, or Overlay; and
scarcely use Screen. I use Normal, Grain Merge, Grain Extract, Darken
Only, Lighten Only most, so I'd like them first on the toolbar.
Similarly for the Select menu, I prefer my own potrace-based 'to path'
command and find GIMP's sel2path plugin rather annoyingly inaccurate,
and I also prefer my 'exact grow','exact shrink' commands to the GIMP
grow/shrink commands.


hmm.
Maybe a popup toolbar would be best for common usage. So you could
easily scroll it back and forth while it's just occupying only 1
button space, and get a visual menu with tooltips by activating it.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] no image open spec...

2008-02-08 Thread David Gowers
Hi Tobias,

I like the simple, functional design of this. Do you know, has what
the toolbox would become, already been resolved? I notice this does
not seem to concern people presently.

On Feb 8, 2008 9:01 AM, Tobias Jakobs [EMAIL PROTECTED] wrote:

 Am Dienstag, den 05.02.2008, 11:26 +0100 schrieb peter sikking:
  GIMPsters,
 
  Let me state that I wrote my first email in this thread because (yes)
  I am struggling what to put there. It is easy for me to make the
  list of gimmicks that not should go in there. Every on of those
  sucks so much... But what is left? The window needs to be there,
  already outlined above the functions it does. So instead of just
  plain bgcolor, let's do something a bit more stylish, without
  drawing any attention to it.
 
 I thought about it and I created this mock-up:
 http://hagemaenner.de/stuff/gimp/PlanB/6.png

 The idea is to use a simple radial gradient from the upper left corner
 to the lower right. (This should be switched for RTL languages.)

 The gradient colours are calculated from the selected forecolour from
 the GTK theme. This way it fits nicely into every desktop environment.

 In the center of the area I've added a simpel text Drop Images here to
 open them. (Perhaps a native speaker should change the wording.)
 This is NOT the Tip of the Day and should NOT change.
 The colour of the text is the brightest colour from the gradient. This
 will give us a nice contrast and it will fit to the theme colours.

   the slider is a dead serious key in the whole experience. to
   seamlessly
   track the mood of users over a a working day (or a hobby night) is
   worth gold in user interaction.
  
   Would you please care to explain this?
 
  I am going to let the slider rest until the window content is sorted
  out.
  Then redesign the whole package so it all fits together...
 
 I don't get you slider idea. But if you think about a small timewaster
 what do you think about adding a colour slider to my mock-up?

 Regards,
 Tobias


 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] no image open spec...

2008-02-05 Thread David Gowers
Alexandre,

What Peter describes does not involve transparent windows.
I agree it does not seem useful, in sense of literal opacity.. Rather,
 a waterlevel-type adjustment could suit this idea better..with
 widgets appearing or disappearing according to whether they are
above waterlevel. It's important in this case that disappearance or
appearance should not change widget positions or sizes-- the widgets
should not be repacked after the initial packing..

(well, we could consider, if needed, more specific instances of a
general kind of action that could, at one level, have a widget for the
general operation, and then as the waterlevel drops, be replaced in
the same space by several widgets that are the more specific
instances.)

On Feb 5, 2008 9:17 PM, Alexandre Prokoudine
[EMAIL PROTECTED] wrote:
 On Feb 5, 2008 1:26 PM, peter sikking wrote:

   And we can't (yet) make GTK+ widgets translucent.
   Are you 100% sure?
  
   http://www.breakitdownblog.com/gnome-murrine-theme-gets-transparent-
   widgets/
 
  that is cool (but not for this UI design). I would like to know
  how universally (all linux WMs, windoze, OS-X) that can be rolled out...

 Murrine's developer writes in his blog: Then you need... a composite
 capable window-manager, like Compiz, future Metacity etc etc…

 I'm not quite sure about usefulness of transparence in a graphics
 editor (unless it's transparence of layers/selections/objects in a
 drawing). Sounds like distraction to me (and yes - I remember your
 argument on Aperture :-))

 Alexandre

 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] Fwd: GIMP Levels operation fix

2008-02-04 Thread David Gowers
Hi,  I sent this simple fix to mitch, however I'm too impatient to
wait for mitch to check his inbox,
So I'm now passing it onto this mailing list.
Basically it fixes over/underflow in the Levels op; with the attached
image, the bug gives the appearance of a triangle wave repeating
gradient, instead of a readjusted single gradient for the channel
being adjusted.


-- Forwarded message --
From: David Gowers [EMAIL PROTECTED]
Date: Jan 31, 2008 5:45 PM
Subject: GIMP Levels operation
To: Michael Natterer [EMAIL PROTECTED]


I've just found a bug in the Levels op -- if the selected low/hi input
endpoints of a channel are
(low - more than the lowest non-empty histogram entry; or high -less
than the highest non-empty histogram entry for the channel)
then underflow/overflow happens.
Adjusting any of the input range sliders to fall into that range will
show this behaviour up.
Using the channels dialog to disable all but one channel also helps. I
would say you have simply forgotten to clip the input values before
mapping them to output values. *pokes around* indeed, I've attached a
very short patch that performs correct clipping. With this patch, GEGL
levels op matches old levels behaviour in all tests I could contrive.
attachment: testimage.pngIndex: app/gegl/gimpoperationlevels.c
===
--- app/gegl/gimpoperationlevels.c	(revision 24754)
+++ app/gegl/gimpoperationlevels.c	(working copy)
@@ -87,6 +87,8 @@
   else
 value = (value - low_input);
 
+  value = CLAMP (value, 0.0, 1.0 );
+
   if (gamma != 0.0)
 {
   if (value = 0.0)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] toward a plan for 2.8

2008-01-26 Thread David Gowers
On Jan 27, 2008 8:52 AM, William Skaggs [EMAIL PROTECTED] wrote:
 One of the points that emerged from the ongoing discussion is that it
 is time to start making a tentative roadmap for 2.8.  I hope this time
 that Peter and his group can be brought into the discussion as early
 as possible, and will play a role in shaping the plan.

 As I wrote earlier, Peter in his LGM talk listed the things he
 considered the top priorities at the UI level:

 10. better printing support
 9.  painting with brushes
 8.  improve the text tool
 7.  save for web
 6.  organize brushes, palettes, gradients in categories
 5.  avoid pop-up dialogs
 4.  better painting tools
 3.  layer trees
 2.  adjustment layers
 1.  single window interface

 Of these items, #1 is controversial, and #2 and #3 depend on Gegl
 developments.  Each of the remaining things are potential targets for
 2.8 -- in fact, I don't see any reason why it wouldn't be possible to
 do several of them.  In particular, I think it should be possible, and
 very cool, to implement the blobs of paint idea that is part of #4.
I thought that #4 was dependent on (the use of, but not the overall
adoption of) Gegl. Perhaps I've misunderstood you.
At the moment, we do have some useful GEGL ops that could be used to
back the 'blobs of paint' idea.

At a casual glance, most of the approachable ops would work best for
mask adjustment:
   * range adjustment (gimp-levels
   * halo adjustment (gimp-curves)
   * hardening (gimp-threshold)
   * blurring
   * inversion (good for stenciling, ie. layer masks)
   * noise

There are some that work with colors:
   * colorbalance
   * colorify
   * white balance

Can we use the transform ops (rotate/flip/etc)? That would be very nice.
Initially, I figure we will only make the brush data available to ops,
so it could
be done with a linear stack of Ops. After a while, you might want to
combine brushes, so that might develop into a normal tree.

Actually, technically it would start as a tree, looking like this:

brush-output (sink)
  |
 +- add_alpha
  |
 ++--- last_mask_op
   | |-- some_mask_op
   | +-brush-mask (source)
   +--- last_color_op
 |-- some_color_op
 +- brush_color (source)


If we wanted to combine blobs of paint, that would amount to
re-separating the mask and color, and connecting the output to the
newly added blob.

More advanced things, such as spatially-dependent paint (think of the
clone tool in aligned mode), would have to wait until GIMP was using
GEGL for images, so that a brush could know what region was requested
in terms of the image coords.

I think 'blobs of paint' would be a good place to experiment with GEGL
graphing UI, that could later be refactored to be more generally
usable for GIMP.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] task list

2008-01-25 Thread David Gowers
Hi Alexandre,

On Jan 25, 2008 9:52 PM, Alexandre Prokoudine
[EMAIL PROTECTED] wrote:
 On Jan 25, 2008 11:01 AM, Sven Neumann wrote:

  Actually, I don't think that we need to put action recording on our list
  as that will become obsolete with non-destructive editing.

 This is apples and oranges, Sven :-) Non-destructive editing boosts
 productivity as well, but has nothing (or very few things) in common
 with *automation*.

It does, though. If you make a chunk of graph --
say you want to gaussian-blur a layer, gradient-map some part of it,
and posterize the result to 32 levels; you could do this with the
following snippet of graph:

 (graph root)
 |
 posterize (levels = 32)
 |
 +- atop
 | |
 | mask
 | |
 | gradient-map (gradient = how would you specify this?)
 | |
+-gauss-blur (hblur = 5, vblur = 5)
   |
   +-sourcelayer

In case that isn't clear:

Source layer is gauss blurred, A gradient-mapped version is made,
which is then masked.
This image is then rendered atop the gaussian-blurred image, and the
result is posterized.

This is what is conventionally covered by macros, this kind of thing.

 All the users who ever bugged you asking for macros
 recording did it because they don't feel like programmers to learn
 Script/Python/Perl-Fu.

With non-destructive editing, used as above, almost all the things
that users want to do are things that can be expressed in terms of a
modification of the image graph. The example you see above -- the only
user input required would be to choose which layer becomes
sourcelayer. twould probably be pretty easy to build a 'quick change'
dialog where the user can change all the involved values (eg gauss
blur radius.)

The things which do not fall into that category..
* batch processing (trivial amount of programming. Just keep resetting
   the filenames at the leaf and root of a graph).
* view handling (I'd like to be able to, say, tag an image or
directory as 'pixel art', and when I opened one of those images, have
an additional, 300% view appear (for real size preview). Personally I
think views are one of the things that may end up needing a PDB
interface*, despite the vast obsoletion that should otherwise happen
(gauss blur, gradient map, colorize, what ever filter you name --
won't need a PDB interface any more, they just implement their gegl
Ops)

I've just gone through the menus.. and the vast majority of actions
available are directly equivalent to inserting, deleting, or shuffling
nodes in a graph. The remainder alter either the context (Tools menu,
View menu) or the GUI (Dialogs menu, View menu).
(We might want to consider implementing a 'meta-load' Op, that would
load a graph from file and pass image data through it. That would be a
pretty simple and flexible way of facilitating macros shared between
images -- just connect the output at a place of the user's choosing.)

What significant sequence of actions that you can take is there, that
cannot be done by simple graph editing?
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] task list

2008-01-25 Thread David Gowers
On Jan 26, 2008 12:09 AM, Alexandre Prokoudine
[EMAIL PROTECTED] wrote:
 On Jan 25, 2008 4:20 PM, David Gowers wrote:

  What significant sequence of actions that you can take is there, that
  cannot be done by simple graph editing?

 Users do not think in terms of graphs, they think in terms of actions
 and sequences of actions. They want to click Record, mess around with
 filters etc., then just click Stop and be able to replay it to any
 number of other images, send this sequence of actions to a collegue or
 use his sequence of actions. This is about productivity.

What I was talking about -- recording is automatic, it's always happening.
Every change to the image can be recorded, because most changes (say,
gaussian blurring) can be recorded with a trivial amount of memory
(what type of node is it, where is it connected, what properties does
it have and what are their values). This is easily seen when you look
at GEGL's current XML format.

In short -- what you call 'action recording', I call 'packaging up a
chunk of the undo stack'.  Really, your 'start' and 'stop' actions
would be trivial to implement:
mark the start location in undo stack; mark the end; and prompt the
user for a filename. Applying them is similarly trivial (choose an
action, load it, append to the undo stack)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] tagged resources such as brushes, gradients, etc

2008-01-18 Thread David Gowers
On Jan 18, 2008 9:33 PM, Tobias Jakobs [EMAIL PROTECTED] wrote:
 On Jan 18, 2008 8:55 AM, Sven Neumann [EMAIL PROTECTED] wrote:
 
  My current favorite approach is to put the tags into files in the
  ~/.gimp-2.x directory, one file per resource type. So there would be a
  brushrc, gradientrc, patternrc and so on. These files will contain
  metadata from the actual resource files.

 One think I'm missing here is a way to share brushes with tags.
 The user scenarios I'm thinking about is:
 - Download package (ZIP-File) with a lot of brushes
 - Install them (btw. Finding the right folder and copying them into it
 looks like a problem for some users. At least it's an FAQ in the
 German gimpforum.de.)
 - Now I'd like to have this brushes tagged in Gimp and start working
 with this brushes and I don't want to tag them myself.

 Regards,
 Tobias


An archive as follows:

brushrc/aqua
brushrc/charcoal
brushes/aqua
brushes/charcoal

,if extracted in your .gimp-2.4/ directory, should do the right thing.
Provided that brushrc filename references are either relative or have
no path component -- another implementation detail to work out.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Preview Windows in Python-Fu - Do they exist?

2007-12-07 Thread David Gowers
Hi Jim,

On Dec 8, 2007 10:22 AM, Jim Sabatke [EMAIL PROTECTED] wrote:
 I've been searching the net for a couple days to see if Python-Fu
 supports Preview Windows in plug-ins.  Depending on the search strings I
No, it doesn't. PyGimp does, though. This means that if you want a
preview window, you need to construct the GUI yourself -- you cannot
rely on PythonFu to construct it automatically for you.

In the 'gimpui' module, look up the help -- see
'GimpPreview','GimpAspectPreview', and associates.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] thumbnail generation for nautilus via gimp

2007-12-05 Thread David Gowers
Hi Eckhard,

On Dec 6, 2007 6:29 AM, Eckhard M. Jäger [EMAIL PROTECTED] wrote:


  Hello,

  i found the problem why the script doesn't showed up, it needs the file
 permission Exexcute.
  Do not know why, i have written exporters for Blender and plugins for gEdit
 both in Python but
  they didn't need the permission Exexcute.

  Ok, i'm new to Python Gimp plugins.

In fact, all Gimp plugins are executables; when you call a plugin,
GIMP runs it and communicates with it through a pipe. GIMP does not
implement any special behaviour for .py files. That is why Python
plugins must be executable.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] improving QMask mode

2007-12-01 Thread David Gowers
Hi Sven,

On Dec 1, 2007 9:37 PM, Sven Neumann [EMAIL PROTECTED] wrote:
 Hi,

 On Sat, 2007-12-01 at 18:05 +1030, David Gowers wrote:

b) Push the context before entering qmask mode, and pop it when
exiting qmask mode.
  For Chris's benefit : it means that the context that was being used is
  stored, and restored after qmask. so the FG and BG that you were
  previously using return.

 It would mean a lot more than that. Also any changes to the current
 brush, pattern, gradient, paint-mode, ... would be undone when the
 context is popped.

I thought that you could mask it so that only FG and BG were effected.

 We currently use this to allow scripts to work in their own context. I
 am not sure if it is a good idea to use the context push/pop mechanism
 in the user interface.


 Sven



___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] improving QMask mode

2007-11-30 Thread David Gowers
I believe that QMask mode could be made quicker to use, by providing
an option to:
a) Reset the FG/BG colors to black and white upon entering qmask mode
and
b) Push the context before entering qmask mode, and pop it when
exiting qmask mode.

With the sum effect that you needn't destroy the colors that you were
using in order to paint on the QMask (I myself always find myself
resetting the colors to default before I draw on the QMask), and you
start out with the two most useful 'colors' set as FG+BG.

What do you think of this? If I get the go ahead I'll implement this.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] improving QMask mode

2007-11-30 Thread David Gowers
Hi Liam,
On Dec 1, 2007 6:15 AM, Liam R E Quin [EMAIL PROTECTED] wrote:
 On Fri, 2007-11-30 at 22:45 +1030, David Gowers wrote:
  I believe that QMask mode could be made quicker to use, by providing
  an option to:
  a) Reset the FG/BG colors to black and white upon entering qmask mode
  and
  b) Push the context before entering qmask mode, and pop it when
  exiting qmask mode.
For Chris's benefit : it means that the context that was being used is
stored, and restored after qmask. so the FG and BG that you were
previously using return.


 Interesting idea.  I admit I hardly ever use quickmask because most
 of the images I work with are grayscale, and if you paint with a soft
 brush in the gray quickmask you can't tell where you selection starts.
That depends on what mask color you set. Set black or white instead of
the default red, does that help?

 So I have to switch to RGB mode first right now.

 This makes me wonder if there should be separate sets of colours
 stored for different painting modes, rather than a push/pop model.

For QMask (which is an editing mode), certainly. For 'paint modes' (eg
multiply, screen, dissolve), it would be fast; I suspect it would also
be confusing for novices. I would definitely like it as an option,
because I almost never want the same colors for drawing in Multiply
mode or Grain Merge mode as I do for drawing in Normal mode.

Let's review the paint modes:
1. Normal, Dissolve, Behind,  Color erase.
2. Overlay, Soft light, Hard Light, Grain Merge, Grain Extract
3. Multiply, Divide, Screen
4. Difference, Addition, Subtract,  Dodge, Burn
5. Darken, Lighten, Hue, Saturation, Color, Value

Each number represents a group of paint modes, in which a given color
has more or less the same meaning.
1. Direct color change.
2. Linear color change
3. Cumulative color change
4. Linear one-way color change
5. Direct partial color change (effects only some components)

Surely some people disagree with me here. I expect that, as GEGL
approaches, this sort of control will become more important. Now, I'm
talking about sharing color settings between each group of paint
modes; Later, it will become sharing (X) settings between different
Ops (since gegl will greatly diversify the available ways to paint, a
static mode list becomes infeasible). Therefore I believe that a
facility that allows the user to group modes which will share contexts
is the way to go for future compatible handling of this issue.


 If I change the colour in quickmask mode, e.g. to 50% gray, next time
 I use quickmask it could go back to that.

This is a good idea! Does anyone know how to do it non-hackishly? Is
new support code needed?

 Liam

 --
 Liam Quin - http://www.holoweb.net/~liam/
 XML Activity Lead, W3C, http://www.w3.org/People/Quin/
 Pictures from old books: http://fromoldbooks.org/
 Ankh: irc.sorcery.net irc.gnome.org www.advogato.org


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] some gimply thoughts

2007-11-22 Thread David Gowers
On Nov 23, 2007 6:03 AM, GSR - FR [EMAIL PROTECTED] wrote:
 Hi,
 [EMAIL PROTECTED] (2007-11-22 at 1544.46 +1030):
  Hi Liam,
 
  On Nov 22, 2007 9:45 AM, Liam R E Quin [EMAIL PROTECTED] wrote:
  
   Evidence that auto levels loses details --
   take a photograph (or a scanned engraving, or whatever) and open
   Levels, and press autl.  Note that the little triangles marking
   the end-points are not under the ends of the black part - in
 
  The 'Value' controls are not effected by 'Auto'.
  Look at the R,G,B,(A) controls instead.

 And then you see it changes them, in a destructive way.

  All 'Auto' does, is:
 1. Set the input range to min(CHANNEL), max(CHANNEL) -- ie the
  lowest used value of that channel in the picture, and the highest used
  value of that channel in the picture.

 No, it does not. It sets min and max inside the histrogram used
 range (play with Lin/Log setting if this is not clear). There is a way
 anybody can test it:

 1 Create new image, 512*512
 2 Render plasma, with seed 0 and turbulence 1
 3 Run Levels, click the auto button, look at all the channels OOPS!

 You get:
 R  9 1.0 229 | 0 255
 G 12 1.0 194 | 0 255
 B 25 1.0 241 | 0 255

 Those settings are destructive, Red 0-9 becomes 0, Red 229-255 becomes
 255, and so on. You can look for such pixels before applying the
 operation, mark with guides or points, then look what they are after.

 You can also look at the code and see how it iterates over the
 histrogram until it decides it has eaten enough. It does not stop
 when it reaches the first non zero, which would be non destructive (as
 in any input channel value gets mapped to a new, different, output
 value, rounding and precission issues aside).
Okay, well this is not what I expected and I won't be using Levels
Auto in the future - I hate clipping.
I had thought that Auto was supposed to perform the same function as
Colors-Auto-Stretch contrast -- to stretch the current R,G,B range
ends to 0,255, clearly it doesn't.

It would be nice to have an Auto button in Curves that did achieve this result.

 2. Set the output range to 0, 255
   for each CHANNEL in R,G,B (and possibly A)
 
  Because the output range is full, there is literally no way that this
  operation can reduce detail.

 If the input range is not full, there is loss, as shadows and
 highlights are lost and become flattened, grouped in the same result.

 GSR

 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] some gimply thoughts

2007-11-21 Thread David Gowers
Hi Liam,

On Nov 21, 2007 5:00 PM, Liam R E Quin [EMAIL PROTECTED] wrote:
 I saved these notes for when there was a 2.6, but then got swamped with
 other things...  I can flesh them out more, but I'm not likely to have
 time to do any programming in the forseeable future, I'm afraid.


I've scattered comments throughout, hopefully this helps..


 selction optimization
 on subtracting (e.g. control is pressed), compute
 the bounding box of the current selection (including the
 feather radius) and don't try  go outside it with the new one;
 you see this if you're using select-by-colour or the magic wand,
 say, and you have to wait ages for it to calculate the selection
 over a 500MByte image... images are getting bigger faster than
 computers are getting faster right now.

Might be unneeded complexity. For a selection outline preview, it
would be simpler to apply the magic wand to a shrunk version of the
image while it is in operation, and only apply the magic wand to the
complete image when the user releases the button.


 Preferences
 Create open file previews even if layer previews are off
 Allow the user to reset a single pref. category, nut just everything

 File-open
 show more detailed times and dates on files

 in tip of the day, learn more links to documentation and to
 tutorials in the manual

 in the undo window (I hope to do some pictures of this)
 creative explorer?
 click on image state, transitions shown between
 Right now to undo something you have to click on the previous
 operation -- e.g:
 create a new image, paint, then erase, Undo History looks like
 [thumb1] Base Image
 [thumb2] PaintBrush
 [thumb3] Eraser  -- this is selected

 so to undo the Eraser you click on the Paintbrush. Duh.
 The icons should show image states:
 [thumb1] Base Image
 Paintbrush
 [thumb2]
 Erasor
 [thumb3] -- selected

 Now it's obvious what clicking thumb2 means.

 And look!  there's the possibility of making a tree: suppose
 I click on thumb2 and now instead of redoing Eraser I do Curves...

 [thumb1] Base Image
 Paintbrush
 [thumb2]
| Eraser
| [thumb3]

 Curves
 [thumb4]

 (apologies for the bad ascii tree here)

 The undo history could also show more detail, e.g. scale to 25%,
 where it makes sense, and also show when files were saved and
 to what name.

 This also leads to the idea of redo select but add to selection
 instead of subtract if you right-click
 (e.g. redo with current tool options)

 and maybe clear undo up to this point


 quickmask to work wih red mask even in grayscale images
This would require channels to be drawn after the gray-RGB internal
conversion but before the display filters come into effect.


 drawing
 when you use shift to make a straight line, draw two lines, showing
 the outline of the brush (tangents), not just one line.
This might be tricky, but doable. I would find it very useful. To be
reasonable,
this probably would need to just draw an extruded diamond (the points
of the diamond
being the midpoints of each side of the brush image.


 when you change hardness/size, e.g. with a keystroke or by pressing
 harder, show the actual brush in place for a moment
Cairo might help here.


 filter brushes - paint with a filter (Krita has this by the way)

beyond 2.6, but definitely something desirable in the long term -- one
of peter's posts at his UI blog outlines a 'blobs of paint' idea that
includes this.


 text
 justify-both doesn't seem to work, probably because there's no
 obvious way to control line length.

 kerning

 access to opentype features (e.g. small caps)

 access to arbitrary glyphs

 hung punctuation

 etc etc :-)

 plugins and filters

 colourise
 show the Hue by the Hue slider, or use a colour picker

 merge visible layers
 if all layers are the same size, and the
 same size as the image, don't ask
 whether to clip them.
nice simple enhancement.


 condense/stretch font

 retain textness on image scaling and layer scaling

 automatic white balance - allow the user to pick black and
 white points

.. It would then not be automatic white balance, but manual or
partially-automatic white balance.



 menus
 rename Image-crop image to Image-Crop to Selection
 same with layer-crop

 dodge
 want to be able to specify what's meant by midtones, highlight, etc.
 really, want a curves brush.
Is this really related to dodge/burn tool?
Isn't a curves brush a case of 'filter brush'?

 tips
 the doge tool is usually most effective if you make lots of
 short, separate strokes.

 convolve
 select radius...

 colours-levels
 auto loses detail by default; change so it doesn't, but
 maybe have a highlight and depth crop amount of 3%

Could you 

Re: [Gimp-developer] some gimply thoughts

2007-11-21 Thread David Gowers
Hi Liam,

On Nov 22, 2007 9:45 AM, Liam R E Quin [EMAIL PROTECTED] wrote:

 Evidence that auto levels loses details --
 take a photograph (or a scanned engraving, or whatever) and open
 Levels, and press autl.  Note that the little triangles marking
 the end-points are not under the ends of the black part - in

The 'Value' controls are not effected by 'Auto'.
Look at the R,G,B,(A) controls instead.

All 'Auto' does, is:
   1. Set the input range to min(CHANNEL), max(CHANNEL) -- ie the
lowest used value of that channel in the picture, and the highest used
value of that channel in the picture.
   2. Set the output range to 0, 255
 for each CHANNEL in R,G,B (and possibly A)

Because the output range is full, there is literally no way that this
operation can reduce detail.

 other words there are multiple pixel values that are used in the
 image that end up having the same value after levels.  I'll
'Value' is invalid after applying Auto, cause you either use Value or
R,G,B, not both. If you change the Value controls, then adjusting RGB
individually is meaningless, and vice versa.
GIMP makes some effort at showing sensible values for all controls
though -- the range you show is probably the average of the R,G,B
ranges.

 attach a screenshot that shows the triangle isn't at the end of
 all the values, but some way in.  This behaviour is good in some
 cases and not others.

 Liam

 --
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Gaussian blur in GIMP compared to Photoshop

2007-11-20 Thread David Gowers
Hi Jespar,
On Nov 20, 2007 9:23 PM, Jesper de Jong [EMAIL PROTECTED] wrote:
 I noticed that with Gaussian blur, the Radius setting in GIMP means
 something different than in Photoshop CS3.

 As a test, I made a black square on a white background and used Gaussian
 blur on it with Photoshop CS3 and the current development version of GIMP
 with radius 6.0 pixels. Photoshop blurs the image much more heavily than
 GIMP; to get the same effect with GIMP, I had to set the radius to
 approximately 19.0 pixels.

Have you checked that the radius is in pixels in BOTH cases, and not
in inches or points?

 Is Gaussian blur not a standard algorithm that has a well-defined meaning
 for the radius? See for example http://en.wikipedia.org/wiki/Gaussian_blur

 If it is, then which one is doing it wrong, CS3 or GIMP?
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Idea: selection curve

2007-11-19 Thread David Gowers
Hi Stephane,

On Nov 20, 2007 10:10 AM, Stephane Chauveau
[EMAIL PROTECTED] wrote:
 Hello,

 I just got an idea about the curve tool: Why not use it as a selection tool?

 Apart from The Gimp, I do not know a lot of image manipulation programs
 so the feature might very well be common.

 I see it like that:

 A new tool called the 'curve selection' would be added probably in the
 Select menu.

 Like the original curve tool, the 'curve selection' tool would provide
 several curves for the different properties of the current layer (see
 the list below).

 The value of each curve would not provide a transformation of the
 property but an amount of selection (from 0.0 to 1.0) according to the
 property.

 The result of the curve selection tool would be a selection mask
 obtained by multiplying the values of all curves.

 For most curves, the initial value value would not be the identify
 function 'f(x)=x' but 'f(x)=1.0'.

 The following curves could be provided:
- Red , Green and Blue  ( default  f(x)=1.0 )
- Hue, Saturation, Value/Lightness/Brightness  (default  f(x)=1.0)
- Initial Selection Mask ( default f(x)=x )
- Alpha (default f(x)=1.0)

 With those defaults, the overall default result would be the initial
 selection mask.

 Because of it circular nature, the Hue curve may require a specific
 treatment.


I don't understand your explanation of how this would work. How about
showing some example results?
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] UI redesign: 1 Dimensional Menu for GIMP

2007-11-04 Thread David Gowers
I may not understand your description.
It gave me an idea, though:
mouse-gesture-ish submenus..
That is, supposing that you have a top-level menu with items

1
2
3

and 3 is a submenu,
then, to select 3, you move down -- then a menu folds out horizontally

1
2
345

you move across, and select 5, which is also a submenu:

8
7
6
345

And move up to the item you wanted, 8.

During the time a menu is active, the mouse could be constrained to
only move along that axis. Then, the above menu selection could be
made by the mouse gesture Down-Right-Up-Click (with appropriate
distances). With the cursor keys, it could be made by pressing
Up-Left-Down-Down-Enter after bringing the menu up .
In this way you can make menu navigation like maze navigation, or like
performing special moves in a fighting game, rather than the fairly
uncomfortable and unmemorable 'tree' movement used in most
applications today.

On 11/5/07, Esteban Barahona [EMAIL PROTECTED] wrote:
 Hi all,
 This is the 2º draft for the 1 Dimensional Menu:
 http://www.zensui.org/IxD/1DM.html

 I will be honored if the new GIMP UI is the first implementation of a 1DM.
 This, I think are the changes to make it possible:

 0) separate the toolbar from the menubar(s)
 1) make the toolbar customizable to show only the relevant tools
 (configurable by each user) to simplify
 2) change it to a vertical layout with only one icon per line
 3) move it to the left border of the screen by default
 4) increase the right padding so that the mouse can be moved vertically more
 easily and quickly
 5) add the name of each tool in this extra space

I do understand the points you are making here, though.
In addition to 4) I want to suggest that this extra padding only be
visible during selection, so usable space is maximized


 I don't know which parts of this need a new GTK widget, but also think that
 the concept can be tested with current widgets.

 If the menubar is separated from the toolbar, the toolbar's window can be
 manually positioned as a 1xN column in the border.
 The only part that has to be coded (I think) is changing the padding of each
 icon.

 On another note, is a new mailing list dedicated exclusively to interface
 design needed? IMO, this can make possible a filter between design and
 engineering posts making this much welcomed redesign progress more smoothly.

 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] 2.6 roadmapping, the UI part of it...

2007-10-29 Thread David Gowers
On 10/29/07, Michael Natterer [EMAIL PROTECTED] wrote:
 On Mon, 2007-10-29 at 11:34 +1030, David Gowers wrote:
  On 10/29/07, Alexandre Prokoudine [EMAIL PROTECTED] wrote:
   On 10/29/07, Guillermo Espertino wrote:
  
I looked at Opera, as it has been suggested here. It has very good
options for managing tabs (manage different views and make tiles or
cascades for multiple views, detach windows from the tabbed environment,
etc.)
I have to agree that it seems pretty convenient for GIMP.
Now, the question is, as gg pointed out, if GTK allows that kind of
solution. I've never seen a GTK app doing that, so I'm afraid it 
doesn't.
  
   http://curlyankles.sourceforge.net/widgets_docking.html
  
  Wow,  that's very interesting Alexandre.
  GIMP could definitely learn from that -- for example, a quick
  improvement that could be made to DockBooks is, bringing a tab to the
  front as it's moused-over (with some minimum hover time before
  switching to prevent accidents.)

 Gimp 2.4 already does that.
How? Where?
I'm currently using 2.4-rc3; it does not happen here. If i hover over
a tab, it just shows a tooltip, never makes that tab active.


 ciao,
 --mitch


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] 2.6 roadmapping, the UI part of it...

2007-10-29 Thread David Gowers
On 10/30/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 On Monday, October 29, 2007, 14:15:28, Michael Natterer wrote:

  As Saul already responded that happens only if you use DND. Why on earth
  would a UI control activate just because you hover some seconds over it?
  That strikes me as utterly useless, what's the problem with pressing
  the mouse button if it is not otherwise occupied (e.g. by doing DND).

It allows more casual inspection of tabs (move move move, not move
click move click), and works particularly well with vertically-stacked
tabs or tabs whose content is in a folded away NoteBook.
I regard it as useful for inspectors, such as the Cursor tab and
Histogram tab, that I do tend to check casually, and selectors, such
as brushes, patterns, and brush editor, that can be used casually.

Of the seven tabs I have docked to the toolbox, three (palette editor,
pattern selector, brush selector) would be useful to access in this
way.

Ideally, each could be a fold-out window (like tooltips), which would
be accessed by hovering or clicking on an icon, rather than blocking
other dockables that *should* remain visible (eg. Colors, Layers).

If tabs could behave in this way, trying to avoid covering the
dockbook they are expanded from, and automatically reset to the
previously selected tab when done, this would work rather neatly.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] weekend 2.6 UI roadmap roundup...

2007-10-29 Thread David Gowers
Actually I got the impression that it had changed, and now
box-filtering was used, which does account for all input pixels.
OTOH, Lanczos currently produces poor results. Geert Jordaans (sp?)
was working on improving this.

On 10/30/07, Guillermo Espertino [EMAIL PROTECTED] wrote:
 I'd add the quality of downscaling as a high priority need. Currently
 it's possible to downscale images using 50% steps at a time (it was
 discussed before) but it would be better if one single scaling step
 produces the best quality possible (maybe automating the 50% steps, as
 it was discussed before).
 IIRC Sven informed that this issue would be easier to address with GEGL,
 so I don't know if proposing this fix before GEGL is appropriate. Anyway
 I'd like to point that it's a need for people who work with graphics for
 the web.

 Gez.
 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] 2.6 roadmapping, the UI part of it...

2007-10-28 Thread David Gowers
On 10/29/07, Alexandre Prokoudine [EMAIL PROTECTED] wrote:
 On 10/29/07, Guillermo Espertino wrote:

  I looked at Opera, as it has been suggested here. It has very good
  options for managing tabs (manage different views and make tiles or
  cascades for multiple views, detach windows from the tabbed environment,
  etc.)
  I have to agree that it seems pretty convenient for GIMP.
  Now, the question is, as gg pointed out, if GTK allows that kind of
  solution. I've never seen a GTK app doing that, so I'm afraid it doesn't.

 http://curlyankles.sourceforge.net/widgets_docking.html

Wow,  that's very interesting Alexandre.
GIMP could definitely learn from that -- for example, a quick
improvement that could be made to DockBooks is, bringing a tab to the
front as it's moused-over (with some minimum hover time before
switching to prevent accidents.)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] 2.6 roadmap

2007-10-27 Thread David Gowers
On 10/27/07, Valerie VK [EMAIL PROTECTED] wrote:

  Okay I want to clear this up:
  GEGL *is* coded (see www.gegl.org), and already in use by a few
  different applications.

 Much apologies. I was always under the impression that while there
 is a working version, more work could have been used for adding
 features and such. I blame my lack of understanding of what GEGL is
 supposed to Do, as opposed to what it will Allow Gimp to do.

  It works. Getting it working fast and bugfree, though (for instance,
  good caching behaviour), will be driven by use in GIMP, which will
  help to locate slow and buggy areas of GEGL.

 This makes sense.

  Initial integration will probably be a fussy business, rather than a
  particularly large one -- making sure that a) it's used right and b)
  the parts that should use it, do use it.

 Basically, what's needed is a roadmap of how GEGL will be integrated?
 Complete with a definition of all the parts that need to use it, and
 how?

 Maybe this should be developed before a Gimp roadmap is defined? This
 way developers would have a better idea of how much work will need to
 be done to integrate GEGL, and how it can be distributed into different
 releases.

Yes, that would be a good idea. It's easy to get lost in the GIMP
code, so a way to limit what developers need to look at would probably
attract more developers.


  It's worth a minute to point out the notable, and deserved, absence of
  adjustment layers from this list.  People have had a few discussions
  (here? certainly on bugzilla.) about this topic, and it arose that:
  a) Adjustment layers are generally an ugly, complicated idea
  b) They are also an unnecessary idea -- the combination of layer
  effects and layer grouping can produce the same effects in a much more
  sensible way.

 Thanks for the explanation! I actually had no idea what the difference
 between adjustment layers and layer effects is supposed to be, so didn't
 dare to add it twice. ;)

Actually I think I didn't explain the difference between adjustment
layers and layer effects.

Adjustment layer: a layer that modifies the layers below it, without
actually contributing pixel data. An adjustment layer as used in
Photoshop, has a mask, but no pixel data.
http://www.phong.com/tutorials/adjust/ provides some examples,
including eg. Curves adjustment.

Layer effect: an effect attached to a layer -- for example, Drop
shadow is a layer effect provided by Photoshop. Takes the layer pixel
data and applies some effect to it. May have a mask, and does not have
its own pixel data, so the only difference is the way it's attached to
a specific layer.
Peter suggested here:
http://www.mmiworks.net/eng/publications/2007/05/lgm-top-gimp-user-requests_25.html
that layer effects could be thought of (and displayed as) a stack
per-layer, sitting underneath the layer.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] 2.6 roadmap

2007-10-26 Thread David Gowers
On 10/27/07, Valerie VK [EMAIL PROTECTED] wrote:
 So... Gimp currently has 4 major goals?
 - Cairo
 - GEGL
 - Add named parameters and default values to the PDB
 - 6 months development cycle.

 Wouldn't it be easier to treat them as Separate goals for separate
 releases? Once Cairo and GEGL (I have no idea for the Parameters feature,
 so apologies for not being able to say more about it) have been properly
 implemented, Gimp should have the foundations for rolling out features
 more quickly. Wanting two at the same time though seems to be asking too
 much, and proper implementation of GEGL in my opinion justifies one final
 long development cycle.

 Maybe something like this can be considered:

 Gimp 2.6:
 - implementation of Cairo (get this out of the way)
 - start background work on GEGL, by dedicating more developer resources
 (if possible) to actually coding GEGL without necessarily implementing it
 yet

Okay I want to clear this up:
GEGL *is* coded (see www.gegl.org), and already in use by a few
different applications.
It works. Getting it working fast and bugfree, though (for instance,
good caching behaviour), will be driven by use in GIMP, which will
help to locate slow and buggy areas of GEGL.
Initial integration will probably be a fussy business, rather than a
particularly large one -- making sure that a) it's used right and b)
the parts that should use it, do use it.

The only major point for GEGL that is currently known that would make
integration with GIMP difficult, is 8bit-specific code; GEGL Ops that
accept and output 8bit integral RGBA instead of 32bit float RGBA. I
believe many of these can be created automatically by modifying the
current code, which already handles generating float versions of
porter-duff ops and blending ops. In the mean time, a single
conversion op (float - 8bit int) could be made.

 - bunch of other easier features to keep people happy
 - development cycle: 6 months to a year.

 Gimp 2.8:
 - GEGL integration
 - the background GEGL work that started with Gimp 2.6 should have paved
 the foundations for slightly faster integration
 - the development cycle will probably still be long, but this will be the
 last long release cycle.

 Gimp 3.0+:
 - with GEGL properly implemented, from now on, development cycles will be
 6 months.

 Once GEGL has been implemented, the following features seem to be the most
 demanded ones:
 - CMYK
 - 16 bit
 - layer effects
 - layer groups

It's worth a minute to point out the notable, and deserved, absence of
adjustment layers from this list.  People have had a few discussions
(here? certainly on bugzilla.) about this topic, and it arose that:
a) Adjustment layers are generally an ugly, complicated idea
b) They are also an unnecessary idea -- the combination of layer
effects and layer grouping can produce the same effects in a much more
sensible way.

(for the reference of anyone who was considering bringing this topic up ;)


 Any one of the above could justify a minor release. Having the first
 GEGL-version of Gimp ship with one of the above features would justify the
 time spent on it, especially if the developers explain that the other
 features will follow fast. Having said first GEGL-version of Gimp ship
 with Two of the above would be fantastic.


 __
 Do You Yahoo!?
 Tired of spam?  Yahoo! Mail has the best spam protection around
 http://mail.yahoo.com
 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Wacom support in GIMP RC3

2007-10-24 Thread David Gowers
I'm successfully running Ubuntu 7.10 with a Graphire 3; The
appropriate Device sections for the tablet were correctly specified
after installation.
I had to uncomment the following lines in /etc/X11/xorg.conf to fully
enable the tablet:

InputDevice stylusSendCoreEvents
InputDevice cursorSendCoreEvents
InputDevice eraserSendCoreEvents

Otherwise it would just operate like a mouse.


 On Tue, 2007-10-23 at 11:20 -0200, Filipe Soares Dilly wrote:

  I'm using the GIMP 2.4 RC3 in the new ubuntu linux (7.10). I can use
  my tablet Graphire4, but it doesn't show in the extended devices for
  Gimp. Is that a Problem in RC3, or a problem of the compilation of
  Ubuntu?
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] calling a procedure in a plugin

2007-10-19 Thread David Gowers
On 10/19/07, Giuseppe Pasquino [EMAIL PROTECTED] wrote:

 I have modified the code as you suggested:

 GimpRGB *colore;
 GimpChannelOps parametri;
 gboolean success;
 gimp_rgb_set_uchar(colore, pixel[0], pixel[1], pixel[2]);
 parametri = GIMP_CHANNEL_OP_REPLACE;
 success = gimp_by_color_select(drawable-drawable_id,
colore,
termogramma.scarto,
parametri,
FALSE,
FALSE,
0.0,
FALSE);

 The compiler returns me no error but when I execute the gimp return a fatal 
 error: segmentation fault. I think the problem is in one of this line but, 
 with my few experience, I can't find it...

You are attempting to modify a color at some random memory location,
that's never been allocated (you didn't initialize colore) -- and then
you passed this dodgy pointer to gimp_by_color_select.

In most parts of the GIMP, GimpRGB are statically allocated, and you
see that they are used more like this:


 GimpRGB colore;
 GimpChannelOps parametri;
 gboolean success;
 gimp_rgb_set_uchar(colore, pixel[0], pixel[1], pixel[2]);
 parametri = GIMP_CHANNEL_OP_REPLACE;
 success = gimp_by_color_select(drawable-drawable_id,
colore,
termogramma.scarto,
parametri,
FALSE,
FALSE,
0.0,
FALSE);
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Adjustment Layers - How can I Help?

2007-10-08 Thread David Gowers
On 10/8/07, Andrew Young [EMAIL PROTECTED] wrote:
 David,

 Interesting. GEGL sounds very much in line with a lot of the ideas I have
 about how to approach the problem. Is this seen as the future of GIMP's
 core?
Image representation, certainly.  Gimp's core -- maybe. That would
depend on how it interacts with the procedural database.

 How big an effort is the port to GEGL expected to be? It sounds like
 an exciting time to join the development team.
We'll know once it's started :)



 You mentioned that GEGL integration is slated for 2.4...2.6 development.
 Where can I find more information on plans for GIMP's development cycles?
 Are these documented somewhere on developer.gimp.org?

AFAIK no, it was decided fairly informally, like in many OSS things --
people talked, it became the accepted idea over time, and nobody much
mentioned it outside of the GEGL-developer and GIMP-developer mailing
lists where it was discussed. Officially I believe Sven has said
something to the effect of 'there is no roadmap; people implement
things because it's fun or they need it, not because there is a
deadline.'
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Adjustment Layers - How can I Help?

2007-10-07 Thread David Gowers
On 10/8/07, Andrew Young [EMAIL PROTECTED] wrote:
 Greetings!

 I have been an avid Gimp user for a number of years. I have always wished
 Gimp supported non-destructive image adjustments such those available with
 Photoshop adjustment layers. From searching around the internet, it seems
 I am not alone in this wish. However, I haven't been able to find solid
 information on whether they are planned, under development, or sitting in a
 pile of nice-to-have enhancements waiting for attention. Rather than
 continue to wish for them, I am considering joining the development team and
 implementing them myself. Are there others currently working on this
 feature? If so, how can I help? If not, has anyone put some serious thought
 into how this could be implemented?

Hi, non-destructive adjustments are going to be implemented via GEGL
(www.gegl.org) - after the final 2.4 is released will be the time to
work on this in GIMP (indeed, GEGL integration is the entire purpose
of the 2.4...2.6 development cycle.); other than that,
there is http://gimp-brainstorm.blogspot.com/ for working out the UI
(and http://www.mmiworks.net/eng/publications/labels/GIMP.html , the
precursor).
Feel free to contribute to the brainstorming process or to GEGL, and
eventually to GIMP as it enters the 2.6 dev cycle.

 Is anyone looking for a new feature to
 work on and would be interested in helping me?

 Andy


 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] [Gegl-developer] PyGEGL instant crash

2007-09-23 Thread David Gowers
On 7/23/07, Kevin Cozens [EMAIL PROTECTED] wrote:
 David Gowers wrote:
  The what's new document for each release is a good resource for these
  kinds of problems, especially its porting section:
 
  http://docs.python.org/whatsnew/porting.html

 The last two items on that page seem to be the more likely candidates that
 could cause problems. I don't see any calls to *_Malloc() or *_Free(). There
 are a number of calls to g_free(). If any of them are being called on items
 that were not allocated by a glib routine that could be the cause of the 
 crash.

 That page has also made me aware of at least one change needed for 64-bit
 machines.

 --
 Cheers!

 Kevin.

Was trying to investigate this further. It turns out that current SVN
of pygegl will not compile:


gegl.override: In function '_wrap_gegl_node_render':
gegl.override:332: error: incompatible type for argument 2 of 'gegl_node_blit'
gegl.override:332: error: incompatible type for argument 3 of 'gegl_node_blit'
gegl.override:332: warning: passing argument 6 of 'gegl_node_blit'
makes integer from pointer without a cast
gegl.override: In function 'pygegl_register_classes':
gegl.override:139: warning: dereferencing type-punned pointer will
break strict-aliasing rules

due to a change in the blitting api.

Tiny patch is attached to fix it. The crash I originally reported
still happens; none of the g_free calls seem to be freeing anything
other than glib allocated memory.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] McCann Retinex plugin with python

2007-09-15 Thread David Gowers
On 9/15/07, John Fremlin [EMAIL PROTECTED] wrote:
 Yesterday I decided to implement the retinex algorithm described by
 John McCann in 1999 as a gimp plugin.

 I am using Python (in particular numpy for the main calculations) and
 consequently chose to put in some modifications to the algorithm to
 make it more efficient, but it makes generally the same effect as that
 described in

Brian Funt, Florian Ciurea, and John McCann Retinex in Matlab, 
 Proceedings of the IST/SID Eighth Color Imaging Conference: Color Science, 
 Systems and Applications, 2000, pp 112-121.

http://www.cs.sfu.ca/~colour/publications/IST-2000/index.html

 As this is my first foray into gimp plugging in, I'd appreciate if
 someone could look over the code. Is there a more efficient way of
 getting out one colour channel of the image at a time? At the moment I
 read in the whole image which takes a lot of memory.

plug_in_decompose decomposes the image into a layer per channel.


 Searching the archives today I notice that Pedro Paf was suggesting
 implementing it as a Summer of Code project - as the algorithm is very
 simple (a day to make even starting no numpy or Gimp python
 knowledge), what enhancements where being contemplated?

I find this odd -- your whole email odd, in fact, because -- there is
already a retinex plugin (found at Colours-Retinex;
plug-ins/common/retinex.c in the GIMP source tree.).  If you want to
add some enhancements, perhaps you could check that out first.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] GIMP Vectors Object Documentation

2007-09-13 Thread David Gowers
I converted the script to python (useful script, btw -- thanks
Simon.), and I cannot reproduce this.
I did, however, find that I was occasionally tripped up by paint mode
-- for example, if Addition mode was selected rather than Normal, then
drawing black on a white background had no effect.
The other condition that can cause this appearance is when the
selection masks out all of the area you are stroking.

On 9/12/07, Sven Neumann [EMAIL PROTECTED] wrote:
 Hi Simon,

 what about the other issue that Barton reported?

   Apparently the stroke is being made with the background color though
   the pdb for gimp-edit-stroke-vectors says:

   This procedure strokes the specified vectors object, painting along
the path with the active brush and foreground color

 This sounds like a bug to me.


 Sven


 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Additional Default Brushes for 2.4?

2007-09-11 Thread David Gowers
I like these brushes a lot. They can be cut down to 20 rather than the
original 154, since 2.4 includes brush scale adjustment, and I have
mentioned this to iceytina at the last of your links.

I would like to take this opportunity to plug my particular
contribution to 2.4, the palette navigation actions (allowing you to
move through the active palette, changing FG color to match; try
pressing '9' or '0'. Requires having the palette editor open
somewhere.)

On 9/12/07, Máirí­n Duffy [EMAIL PROTECTED] wrote:
 Hey folks!!

 I know it must be terribly, horribly, ridiculously, and extremely late
 to suggest this at this point in the 2.4 cycle but -

 I recently got in contact with a very talented Gimp brush artist on
 deviantart.com; she's made a number of brushes that seem to be the sort
 that would be generally useful in a default Gimp install. She told me
 she is willing to license them under the GPL (they are currently
 Creative Commons BY-NC-ND) if they would be considered for inclusion
 into the Gimp. Links to the brushes are here:

 Watercolor Paint:
 http://iceytina.deviantart.com/art/GIMP-PaintBrushes-Watercolors-31117244

 Waxy Pencils:
 http://iceytina.deviantart.com/art/Gimp-PaintBrushes-Pencils-31116570

 Oil Pastels:
 http://iceytina.deviantart.com/art/GIMP-PaintBrushes-Oil-Pastels-31115517

 Crayons:
 http://iceytina.deviantart.com/art/GIMP-PaintBrushes-Crayons-31087987

 Airbrushes:
 http://iceytina.deviantart.com/art/GIMP-PaintBrushes-Airbrushes-31029257

 Brushes:
 http://iceytina.deviantart.com/art/GIMP-PaintBrushes-Artist-31030053

 If these seems like they'd be valuable to include, I can get you in
 touch with her.

 Thanks for listening!
 ~m

 p.s. BTW, AWESOME work on 2.4 so far, I've been using RC 1 for a while
 now and I have to say it feels a lot more comfortable to use - it's
 gotten me really excited about the Gimp all over again. :)
 ___
 Gimp-developer mailing list
 Gimp-developer@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Feature request, - liquid resize

2007-08-22 Thread David Gowers
On 8/22/07, Thomas Lytje [EMAIL PROTECTED] wrote:
 I am not sure you take feature requests like this, - but try to take a look.
 It seems quite cool.
 I don't know enough about image processing (but I am a software engineer)
 but to me it looks like it wouldn't be to hard to implement. Hopefully there
 isn't a lot of patens making it impossible

Looks like a resizer in which the amount of source pixels per output
pixel varies spatially, rather than being roughly constant. It seems
to have a few requirements:
a) Resizing can only be done on one axis at once
b) two scalers would be needed, one iterating over X axis, one over Y.

Basically the only change relative to normal accumulators is that the
number of pixels resulting in a final pixel would need to be inversely
weighted by the significance mask (that is, read more input pixels to
produce an output pixel in insignificant areas.) There is also one
coefficient involved that would need some experimentation with to get
right: the exact ratio of scaling between completely significant
pixels and completely insignificant pixels. (I mean, when you shrink
that image, the significant features must also shrink somewhat -- at
least once they begin to push up against each other.)

Anyway, if you give a link to a paper describing the exact workings of
the algorithym, then it's much more likely that something will get
done in relation to it.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Hue-Saturation tool with gradients

2007-08-18 Thread David Gowers
On 8/18/07, Liam R E Quin [EMAIL PROTECTED] wrote:
 On Thu, 2007-08-16 at 14:50 -0300, Guillermo Espertino wrote:

  If somebody is interested in participating in this process please send
  me an e-mail so we can coordinate efforts with Danko and Marius

 My own feeling is that it would be better to wait until there is
 some experience with the post-2.4 GIMP and higher definition
 colour models before changing any of the colour tools.

* Different Color models are fairly irrelevant to Hue-Saturation
adjustment, because HSV is a simple transform of the RGB colorspace --
it's either going to expect RGB or (the currently not-implemented, and
of dubious use) HSV color format.

* Higher definition (HDR) could possibly be relevant -- but you would
need to keep in mind that an HSV tool which worked with HDR data would
no longer be an HSV tool (Saturation is a parameter that's dependent
on the blackpoint and whitepoint, which are both undefined in an HDR
image. Value is similarly dependent.)

* Higher precision might be something that UI people need to consider,
for Saturation and Value adjustment. But this just involves bumping up
the maximum values, more or less, so it's a change that can be made
readily at any time.

* I think what Guillermo, Danko, and Marius are doing is both good and
timely. ('now' is always a good time to work on enhancing such
technically simple tools.)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Downscaling quality.

2007-08-05 Thread David Gowers
On 8/6/07, Guillermo Espertino [EMAIL PROTECTED] wrote:
 A couple of weeks ago somebody commented about the quality of the
 downscaling in Gimp.
 iirc there was a patch that improved the quality (that was bumped for
 future releases) and there was a discussion about the pertinence of the
 different names of the algorithms in the interface.
 Well, I know that this kind of requests are not welcome when a new
 release is so near, but I've been using Gimp a little more this days for
 small images (my previous works were for print or signs, so I didn't
 find this issue to be critic), but now I do and I'd like to share my
 experiences and my concerns.
 I'm working in a website right now, and one of the most frequent
 operations is to reduce images. I coudn't get a decent reduction using
 the different algorithms.
 If you have to reduce a very large image to, say 800 px, you can use
 oversampling and you get a decent result, but when you're working on
 images for the web, which are frequently smaller than 100px, the results
 are very bad.
 If you use oversampling, the result is a blurred image. If you don't you
 get jagged edges.This is particularly visible when you work with type,
 logotipes or high contrast images.
You don't appear to be using oversampling, as you say:

 If you perform the transformation just once, the imperfections are
 visible. But the big problem comes when you have to perform
 transformations a couple of times.
Oversampling cancels that out, because the increased resolution
minimizes loss of meaningful data. (oversampling == editing at a
increased resolution relative to intended final size.)
Perhaps you mean supersampling?

 And this operations are not rare. It's very common to scale down an
 image, rotate it and then tweak the size again.

For now, you should rotate before scaling down if possible.


 The last time I mentioned this, Sven replied:

  I might be wrong but I think the current algorithms are basically the
  same as the ones used in GIMP 2.2. So there's really no point in
  addressing this long-standing but minor issue before 2.4.

 I thought then that it was ok, but I've changed my mind.
 It's not minor at all. Since Gimp doesn't support CMYK, it is not a
 viable tool for image processing for print, so we have a tool mostly for
 screen works. One of the main professional applications for that is
 preparing images for the web, and this issue is critic for that kind of
 work.
 As a little example, I had to create a button for changing a website's
 language. I had a high resolution flag of the UK and wanted to reduce it.
 I coudn't get the image right, by any means. I had to re-draw it using
 single pixels (I know that diagonal lines are difficult to represent in
 small sizes, so don't start to call me stupid. I made the same work
 before with other software and got better results).

This is an artefact of the way downscaling currently works: it
examines 2x2 pixels for each output pixel. This means if you're
downscaling to less than 50%, some source pixels are ignored. If Cubic
was properly implemented for downscaling, it would examine 4x4 pixels
for each output pixel, and some pixels would be ignored when scale 
25%.

Presently, the solution to this is to scale down incrementally (reduce
scale by 50% until you approach the desired scale, and then scale down
to that exact size.)

Maybe GIMP could implement the above workaround before 2.4. It would
be inefficient (scaling down the image N times instead of once) but it
would mean that the result was correctly dependant on ALL the source
pixels.

Non-destructive transformation is something that would be more
sensible to implement after 2.4.

 The release of the 2.4 will be a huge event. The program went through
 very important changes, and it's becoming a truly professional
 application. If you compare 2.3.x with 2.2.x the difference is
 impressive. Now Gimp looks and feel professional.
 It would be a shame to inherit that limitation from 2.2 series and have
 to wait until the next version (which, considering the whole GEGL thing.
 won't be ready  soon).
 Please don't take this comments as another stupid user request. This is
 very important and for me is the major issue that obstaculizes my
 migation to Gimp.
 I'd like to have CMYK, of course, but color management is enough for
 now, since CMYK is not a small change. I'm not telling that's a small
 change either, but I think it's critic enough to take a look before 2.4
 I've discussed this with several users and they share my point of view.
 I'd like to know what you guys think about it, and if it's possible,
 revise the situation before 2.4

 Thanks in advance,
 Gez.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] 4 annoying things in Gimp

2007-08-04 Thread David Gowers
On 8/5/07, damianzalewski [EMAIL PROTECTED] wrote:

 1. When designing complicated project for example cd cover I often
 have to chain and unchain layers.

 Would be nice if gimp would have option - unchain all.
Maybe, but you can already do this in two clicks

1. shift-click on the layer chain to make a layer the only one chained
2. click on the layer chain to unchain that one too.


 2. I can't make gradients bigger the current image area.
 Couldn't it work like other tools.
?
Works for me. Are you running GIMP on the dreaded Windows OS? ;)


 3. Every time I want to move layer using move tool I have to
 click on this layer first to be able to use arrows keys on keyboard

At all, or on that layer? if at all, then see below about your WM.
otherwise, you probably don't have that layer selected (== the active
layer). If you can think of a way to improve this behaviour, then
please say so.


 4. I have to click on the top of image window to go to
 fulscreen mode (pressing TAB)

That sounds like it's related to your window manager not giving the
image window focus.
Personally I find it best to set the focus to follow the mouse, then i
needn't do any clicking.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] GAP

2007-08-01 Thread David Gowers
On 8/1/07, Anke Lange [EMAIL PROTECTED] wrote:
 Hello

 like everybody else, I am very exiting about the release of the Gimp 2.4.
 Though I was wondering, if GAP will be running on the new Gimp.

 I tried to install it to the 2.3.19, but as you proberbly would have
 known, it doesn't work and you just get lots of errors.

 Thanks for any information.

 Regards Anke Lange

* Works for me - I'm using the latest GIMP and GIMP-GAP from SVN.
* GIMP-GAP is relatively loosely binded to GIMP - it does not depend
on the internal structure of things very much. When GIMP architecture
starts changing significantly to use GEGL, much of GIMP-GAP might
still work unmodified; but such changes to GIMP shall occur after the
2.4 release, not before, if I understand correctly.
* You have omitted some details (What OS? What version of GIMP-GAP?).
It's possible that you simply have a out of date version of GIMP-GAP
or the packages it depends on.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Gimp-developer Digest, Vol 58, Issue 51

2007-08-01 Thread David Gowers
On 8/2/07, Esteban Barahona [EMAIL PROTECTED] wrote:
 and one of 1 Dimension Menus which is a bit more matured (see attachment...
It looks like either you forgot to attach the file, or the mailing
list software filtered it out because it was too big.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Request for Change 0 Free Select Behavior

2007-07-30 Thread David Gowers
On 7/31/07, Guillermo Espertino [EMAIL PROTECTED] wrote:
 David Gowers wrote:
  Yes, I'm aware of that. I mean to perform boolean operations on the paths 
  tehmselves.
 
  Well I think that GIMP should avoid doing that, and instead expect you
  to do it with inkscape; transfer of paths between the two programs is
  very simple and inkscape's just plain better at path editing.
 
 I'm not talking about vector illustration. I'm rather thinking about
 options for combine visible layers in the paths dialog.
 It would be nice to have a pop up window when you choose that option,
 letting you choose between different boolean operations.
 For instance: if you have a road sign, and you created a path for the
 sign, and another for the pole, if you combine those layers the parts
 that intersect are excluded (that's the default behaviour of the
 combination and that's ok). But sometimes you need to join the paths or
 substract a part.
 I know that's possible using the selections and channels, but that makes
 you go through several steps. And sometimes you need a single path (most
 frequently for keep the file clean without hundreds of layers).
 Using the selection and turning it back to paths can be a workaround,
 but it's not 100% accurate and it's not the most handy thing.
If you have a plugin that uses potrace instead, it's much more accurate.

 I noticed this issue a couple of days ago while creating a file for big
 format print and cutout. I needed to export the vector paths for the
 cutting shape, and -as I had to isolate the images using gimp, the most
 handy way to do it would be to make the path just one and re-utilize it
 later.
 It wasn't impossible and I made it with selections and exported the
 paths and combined them later in inkscape, but having a one-step combine
 would been a very important productivity enhancement.

Doesn't 'merge visible' do what you want?
If not, script it.


 Oh, btw. Another thing I was wondering: Is there a way to straighten a
 single path segment in the bezier tool?
Yes; Ctrl+click on each handle (not the round ones; the square ones
that control the shape of the curve) -- ie. once on the handle on one
side, and once on the other; they will each disappear.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Request for Change 0 Free Select Behavior

2007-07-29 Thread David Gowers
On 7/30/07, Stephen Kiel [EMAIL PROTECTED] wrote:
 David,

 I found a gimp-2.3.18-i586-setup.exe and installed it (after a system 
 backup).  I wanted to check the functions you mentioned without having to set 
 up a build from source code.

 Anyway, the way the freehand select is working in 2.3.18 is great, it was 
 just what I was looking for.  The advise about using the channels for the 
 boolean operations on multiple selections worked out great as well, I didn't 
 realize they had that capability.  I had never thought of channels beyond the 
 Red, Blue, Green decomposition of the image  didn't have occasion to think 
 of using them.

I'm glad I could help.


 I tried the foreground select and found it pretty interesting.  It looks like 
 it wil be a real time saver.  I did have a couple of observations which might 
 be old news since this is one version back from 2.3.19, but here goes just in 
 case:

 1) There wasn't an obvious want to tell the tool you were done refining and 
 ready to make the selection.  It took a while to notice the message at the 
 bottom of the window to hit enter. Seems like putting in a button would save 
 some new user fumbling, but after they discover that Enter is the shortcut, 
 they will probably not use the button any more.  Don't know what to recommend 
 for this.
Yes, I noticed this too. An additional difficulty is that the
statusbar is not guaranteed to be visible, so putting a button next to
the status display would not guarantee the user sees it. I don't have
any idea what to do here either.


 2) The foreground select tool seemed to act differently depending on the 
 image size (pixels) and the zoom level.  Might be the version, might be the 
 installation I picked up.  With an image that is 2304 x 3072 which comes up 
 with a default 25% zoom on my screen, the preview display covers the entire 
 image after selecting a region to work on.  Taking it up to 100% zoom 
 displays it they way you would expect.

Yes, this bug is known and fixed, release 2.3.19 includes this fix.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Request for Change 0 Free Select Behavior

2007-07-27 Thread David Gowers
On 7/27/07, Stephen Kiel [EMAIL PROTECTED] wrote:
 David,

 Thanks for the reply.  I am using the Windows version of 2.2.17.  In this 
 version the issue that I am having an issue with can be reproduced in any 
 image by selecting the freehand select tool, draw a circle in the image 
 creating a selection, press the subtract from current selection mode button, 
 move the cursor inside the selected region, depress the mouse button to start 
 defining the region you want to subtract, and when you move the mouse you 
 move the selection as a floating section instead of defining what you want to 
 subtract.  If there is a fairly stable version of the tool that has a fix for 
 the issue I am having, that would be great.  Which version should I be using?

You could just wait for the next release, which IIRC should be 2.4,
and thus a 'stable' release; you might even consider using 2.3.19,
since it is right at the end of the 2.4 development cycle and so
almost as stable.

This problem you describe has been fixed for quite a while, although
not as long as I thought (since version 2.3.12) -- this problem isn't
quite what I thought it was. Anyway, it has been fixed in a way such
that subtraction/adding/intersection is always predictable, but if you
want to cut out/copy out the selected area, you need to either use
'float' in the menus to do that, or (CTRL+ALT+drag to cut the area
out, ALT+SHIFT+drag to copy the area out.)


 Your comment See the Channels dialog -- that's exactly what it is for. for 
 a providing a selection stack capability sounds interesting.  Do you have a 
 link or reference that elaborates on this?

Hitting F1 in the channels dialog provides a pretty good description,
including how to compose a selection from several channels.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Request for Change 0 Free Select Behavior

2007-07-26 Thread David Gowers
On 7/26/07, Guillermo Espertino [EMAIL PROTECTED] wrote:
 Stephen:
 The Bezier tool is better suited to the tasks you're describing. Using
 freehand tool as a precision tool (i.e. for background extraction) is a
 bad idea.
 Freehand tool is intended to make coarse selections or tweaks in
 selections that don't need too much precision.
 I'd reccomend you this workflow for background extraction:
 -Draw a path along the edges of the shape that you want to extract, draw
 other paths for the holes (if you create them in the same path layer
 they are automatically combined with the other paths forming holes).
 -Turn path into selection
 -Add a mask channel based on that selection.

 So, imo, the existence of better tools for the same procedure makes this
 request questionable.
 If you ask me, I'd love to have the ability to apply boolean operations
 between different paths before seeing further work on the free selection
 tool.

You can already do that. Right-click in the Paths dialog, all the
standard operations (replace, add, subtract, intersect) are available.
Unless you mean boolean operations that modify the paths themselves,
rather than the selection. GIMP doesn't have that.

 Oh, btw. I'm experiencing some troubles with SIOX. In some images (I
 couldn't figure it out exactly when it happens) after the initial coarse
 selection the mask is displaced to the lower left of the image (with the
 right shape, but completely misaligned with the image) making it
 impossible to perform the extraction.
 Is that a known bug or it's just me?

I thought this was a known bug that had already been fixed in SVN.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Request for Change 0 Free Select Behavior

2007-07-26 Thread David Gowers
On 7/27/07, Stephen Kiel [EMAIL PROTECTED] wrote:
 Guillermo,

 Thanks for taking the time to reply to my request.  It appears that you and I 
 have a fundamentally different point of view on how to best select regions in 
 an image.  Let me throw out a couple of observations before I address some of 
 your points in the hope that I can avoid starting a religious argument about 
 which technique is better (especially if my side is outnumbered).
 - In most applications most of the users focus on about 20% of the options 
 and capabilities in a given tool whether it is an office tool, or an 
 engineering Design Automation tool.  I suspect this is true of almost any 
 tool that is fairly flexible.  This does not mean that the 80% that any one 
 user doesn't normally use aren't valuable as different users solving 
 different problems.
 - It is important that the work on an image has an intuitive feel.  No one 
 methodology or selection method works best across all of the images you might 
 encounter.  Users will develop favorite methods based on their own success 
 and failures with features of a tool.  Failure with a feature of a tool is 
 not a reflection on the feature, it just points out that a variety of robust 
 features are necessary for a well rounded tool.
 - The enhancement that I am asking for is for the current mode of operation 
 to perform in a manner that would be expected by a reasonable user.  When the 
 user selects a mode of operation using the menu and switches, it seems 
 reasonable for the tool to honor those choices rather than making a 
 unilateral decision to change modes based on cursor location.  The fact the 
 behavior is called out in the specification doesn't really change the fact 
 that it is kind of user unfriendly.

The 'enhancement' that you describe, in my experience, has been
included in  the GIMP for at least a year. I cannot reproduce the
problem you describe (and for the purposes of getting this changed,
you will probably need to come up with some reliable way of
reproducing it.)


 Let me try and address your points:

 The Bezier tool is better suited to the tasks you're describing. Using
 freehand tool as a precision tool (i.e. for background extraction) is a
 bad idea.

 If I believed this I would not have bothered to ask for the enhancement in 
 the first place.  I think of using the freehand select for precision work as 
 part of my methodology rather than a bad idea.  When I started using Gimp I 
 tried the Path / Bezier tool but in practice I really haven't found much use 
 for it.  The notion that it is better is subjective and is not in line with 
 my experience.

 Freehand tool is intended to make coarse selections or tweaks in
 selections that don't need too much precision.

 This may have been the vision when the tool was put together, if it was I 
 would say the Freehand select exceeded the original expectation.  I believe 
 that it is the best selection mode in Gimp for making precise selections.
 - How fine your control is for defining a selection line is determined by the 
 level of zoom you are at, not whether you are drawing the line or defining it 
 with a series of dots.  The freehand select is as precise as the picture and 
 tool will allow.

That doesn't even make sense. The freehand tool and path tool have
both exactly the same level of precision -- they both render polygons,
so they're infinitely-precise; freehand can be faster if you have a
steady hand; paths is more precise because it can draw shapes with
holes in them in the same step as drawing the outside - freehand
select must do such things in two steps, because it makes some
assumptions about how the user wants to use it.

Freehand select works under the exact same rules as path tool -
including eg. what happens when a polygon self-intersects. The only
difference is that freehand composes the path itself, so that you can
select a complex shape with click+move... instead of one click per
point as in paths selection.
To demonstrate that, move your mouse in a circle with freehand select,
and scribble through the circle before releasing the mouse button.

 - Describing a line with a series of dots is not inherently quicker or more 
 precise than just drawing the line.  If you have to start inserting more dots 
 or fiddling with the handles to reshape the line, you are going to waste lots 
 of time.

I must point out that for simply-shaped selections, adjusting the path
handles gives results of higher quality, faster.

The trick with Freehand select is to do a rough selection and then do
the precise work using small closed strokes to add or subtract onto
the selection.  The feedback is immediate, and is easy to draw a
precise line with the mouse as long as it is short.

Yes, agreed on all points here. Try using freehand select with a
tablet though (if anyone you know has one you can borrow) -- it
eliminates some of the complexities that you are describing, so that
you can select an entire 

Re: [Gimp-developer] Request for Change 0 Free Select Behavior

2007-07-26 Thread David Gowers
On 7/26/07, Guillermo Espertino [EMAIL PROTECTED] wrote:
 David Gowers wrote:
  You can already do that. Right-click in the Paths dialog, all the
  standard operations (replace, add, subtract, intersect) are available.
  Unless you mean boolean operations that modify the paths themselves,
  rather than the selection. GIMP doesn't have that.

 Yes, I'm aware of that. I mean to perform boolean operations on the paths 
 tehmselves.
Well I think that GIMP should avoid doing that, and instead expect you
to do it with inkscape; transfer of paths between the two programs is
very simple and inkscape's just plain better at path editing.

 Anyway the current behaviour is functional (performing boolean operations on 
 the selection using the paths layers as input) so this can be an interesting 
 enhancement but not an urgent one.

Actually, if you perform these operations on the selection and then
convert the resultant selection back to a path, how does that work for
you? I think, if GIMP got a better selection to path function (for
example, the one that I made which uses PoTrace as a backend.), then
this would work quite well for your purposes.

   Oh, btw. I'm experiencing some troubles with SIOX.
 
  I thought this was a known bug that had already been fixed in SVN.

 I'm having that problem in Gimp 2.3.18 and the fix is not announced in the 
 latest realese.

actually, it is.. 'Bug fixes' :)

Yes, it really is. http://bugzilla.gnome.org/show_bug.cgi?id=448417
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] [Gegl-developer] PyGEGL instant crash

2007-07-21 Thread David Gowers
BTW, Nick Coghlan said:

The most likely culprit is that some of the code is using PyMem_Free on
a pointer allocated with PyObject_Malloc (or vice-versa). This has
always been illegal, but prior to 2.5 the Python memory allocator tied
itself in knots to try to avoid crashing when client code broke the
rules. The changes in 2.5 to release unused memory back to the OS
required that those knots be cut.

The what's new document for each release is a good resource for these
kinds of problems, especially its porting section:

http://docs.python.org/whatsnew/porting.html

Which looks to me to be the most likely case, but I find the majority
of the PyGEGL code inscrutable.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] [Gegl-developer] PyGEGL instant crash

2007-07-19 Thread David Gowers
On 7/20/07, Joao S. O. Bueno Calligaris [EMAIL PROTECTED] wrote:
  I have only tested pyGEGL with the 2.4 version of Python. It
  possible (or very likely?) that something has changed in the 2.6
  version of Python. I don't have the 2.6 version installed at the
  moment so I can't investigate this further.


 Python 2.6???


 The stable python is 2.5.1  - there is not even mention of a 2.6
 release on teh python.org pages.

 David: do  you mean python 2.5 instead?

I mean python 2.6 -- that's SVN python's current version number. I
believe a release is due fairly soon.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] On deep-pixel (large number of bits per channel) support...again

2007-07-14 Thread David Gowers
On 7/14/07, Kevin Brown [EMAIL PROTECTED] wrote:
 My question is this: where is the 8-bit per color channel limitation in
 GIMP?  That is, which bits of the source code limit the GIMP this way?

 I ask because I took a brief look at the source, and it seems the
 internal color representation is stored in a GimpRGB struct, but that's
 one of these:

  struct _GimpRGB
  {
gdouble r, g, b, a;
  };

Ah, GimpRGB is unrelated to the format a picture is stored in. It's
used for things like specifying colors in palettes and color
selectors.
If you look around some more, there are also structures like GimpHSV,
GimpHSL, GimpCMYK encapsulating other useful color formats.


 In other words, it looks based on this naive examination like GIMP is
 already capable of handling pretty much arbitrary resolution per channel.

 What am I missing, and where do I need to look to see the limitations
 that prevent GIMP from handling more than 8 bits per channel?

Uh... just about anywhere in the backend and plugins. There are
assumptions made all over the place that a single component is stored
in a single guchar (unsigned int, 0..255). There are assumptions that
the bytes per pixel determines directly how many channels are in the
image;rgba values are considered as having the range 0..255, etc...

If you want specific places, ignore everything outside the app/ directory.
base/ is the most blatant (and important) example of these assumptions
- a majority of the .c and .h files there include such assumptions.

 Thanks, and sorry for the naive question...
Eh, you've gotta start somewhere, it's fine.. :)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] jpeg quality factor

2007-07-14 Thread David Gowers
On 7/14/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 On Fri, 13 Jul 2007 00:03:18 +0200, Chris Mohler [EMAIL PROTECTED] wrote:

 I'll try to follow the analogy without this becoming rediculous:

[misrepresentation and reactiveness cut]


 We all know that jpeg is lossy. You use it with suitable settings in
 relation to the result required otherwise you use a different format.

 There seems to be some underlying assumption here that jpeg loss is
 catasrophic. It is not. Sure, if I am going to post about the difference
 between lanczos and catmull-romm filters jpeg will not get a look in.
 However if I am messing with a photo of my solar panel at jpeg-84 I dont
 want some arse telling me I have to first save if in a format that takes
 up 10x more space because I may later want to reopen it and I may lose a
 bearly perceiptible bit of quality.

The proposed scheme does not dictate that. The only thing needed to
facilitate your described work flow, with no additional overhead is a
'Quick Export' command that just saves to the last 'non-native'
filename (if I may introduce the idea of assigning both a native
filename and a (possibly empty) render filename to each image; this
would help with a number of things, eg. drawing with oversampling,
quick photo editing, images for web..)

 As Raphael says we should try to cater for all users if possible. The
 suggested first time use message with dont show again option would seem
 best all round.
Yes; just not only that. The full scheme described by Peter plus that.

 I should also point out the misuse of the import/export paradigm. This
 is used in other software of various sorts to indicate loading/saving data
 in a format which is not handled natively by the program.

Gimp only handles XCF; the rest *are* implemented outside of Gimp;
even gzip/bzip2 compression for XCFs is implemented as a plugin.

If you remove all plugins, it's plain to see that Gimp only handles
XCF natively, just like Photoshop only handles PSD natively; It's
generally a Bad Thing for an editor to need to cope with multiple
'native' formats. GIMP's 'parasite' concept allows it to store
arbitrary chunks of data, that may be acquired from importing (eg EXIF
data from a jpeg) without needing to understand the meaning of that
data; I understand how this may give the illusion that GIMP can handle
something not XCF, but it is only an illusion.

I think, highlighting this fact might be quite wise. We should not
annoy the user in telling them this - something as outwardly simple as
a parasite viewer/editor dockable could improve awareness.


 It is nonsense to talk of exporting a jpeg to gimp's internal format.
I agree fully. Nobody has mentioned that*, only the opposite.
1. You load the jpeg. (foo.jpeg)
2. You work on it. Each time you save, it's in XCF format (foo.xcf)
3. You export a jpeg when finished (foo.jpeg, or maybe foo-final.jpeg)

If anything, that says 'automatically import from jpeg' (which is the
current behaviour, minus actually changing the on-disk image format.)
and later 'export to jpeg'.
The addition I suggested earlier in this email would be trivially easy
to implement and use, logically consistent, and would not require the
GUI's concept of Save to remain in its current, broken, state.

I think, in short, this thread is mainly comprised of
miscommunication; People seem to think it implies things that it just
doesn't.

* Maybe Valerie did. I found her post very confusing, so I'm not sure
what she was suggesting.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] default vs. original vs. current settings

2007-07-14 Thread David Gowers
On 7/14/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 On Fri, 13 Jul 2007 01:23:39 +0200, Raphaël Quinet [EMAIL PROTECTED]
 wrote:

 Does current need to be saved as a third option? It is either equal to
 default or original unless it is set during a save in which case it become
 the new value of original. Are you suggesting the truely original settings
 are retained after a save with different values? If so how long? End of
 session perhaps.
I thought this could be simpler -- if the original settings for an
image are attached to the image as a non-persistent parasite, that
parasite will expire when the image is closed. IMO this is more
logical than keeping till end of session (keeping til end of session
is what would happen if you attached a non-persistent parasite to GIMP
itself.)


 Ah yes , I've just realised there are many of these extended settings that
 are not set in the save dlg so there is a real need for your third option.



  In theory, these parameters should work like this: all new images or
  images loaded from disk get the default setting except if some files
  have an original setting, which is then used instead of the default
  one.  This then becomes the current setting, which is associated with
  that image every time it is saved.

I think that works well with the above, since the original setting
becomes the current in a suitable way.

 
  This would solve one of the problems that has started this long thread
  about the JPEG quality factor: saving one image in low quality will
  not cause other unrelated images to be also saved in low quality.  The
  other improvement that can be implemented without waiting is to read
  or compute the original quality from JPEG files and to use it if and
  only if it is better than the default quality.

 I'm not sure about the ifing and butting. I think the program should work
 in one predictable and consistant way. There is also in problem
 artificially altering this value if it is better. That is subjective. A
 numerically higher jpeg_quality value is not better if you dont want you
 file to suddenly get huge next time you save it (obstencively without
 changing anything.)

 I think default values should be used only _by default_ , ie when no other
 value is available as you outlined at the top. If there is a perceived
 need to force these values (and that seems to be the main difference of
 option here) then perhaps the dlg for setting the user defined defaults
 should have an option force these settings for all jpeg images. This

Yes, cool -- in what scope? (ie -- this session, or all sessions
including and after this one? in the latter case we should provide a
way to clear those.)

 defaults to false, so the user who sets default parameters has to actively
 select the forcing and takes legal repsonsabilty for the resulting
 bloat/degradation trade-off.
We need a way to flag this to the user -- maybe in Image Properties
dialog, something that is both unambiguous and not Jpeg-specific (eg.
it could also apply when you are exporting to an indexed format).
Honestly, this 'force' option seems necessary though hackish.
I've made a few tries at writing such a message, but came up with nothing yet.


 That satisfies those who want to define across the board behavoir at the
 same time as providing a gimp jpeg save that does nothing more than is
 asked of it: save the image as it was loaded unless the user intervenes.

 To me this seems to be the only proper way to handle it. A Save should not
 be trying to do a furtive SaveAs.

This is true. Perhaps Save could insist on prompting you for an xcf
filename if the image filename is not xcf. I believe that resolves
both inconsistencies - silent upgrading and saving-that-is-losing, as
well as defining a more clear workflow for the individual cases of
'quick edit' and 'significant work over time' - in one case you edit
and QuickExport*, in the other you edit, save, edit, save... and
eventually export  (maybe repeating that cycle if you need to revise
things)

* yeah, this name could be improved. Perhaps you could have Export and
Export As instead (where Export performs the function I called
QuickExport earlier, and Export As could probably replace 'Save a
copy..')
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] jpeg quality factor.

2007-07-10 Thread David Gowers
On 7/10/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 On Tue, 10 Jul 2007 00:46:44 +0200, peter sikking [EMAIL PROTECTED]
 wrote:
 
  Really? Let's have a look at the product vision. 'High-end'
  is the word I want us to focus on.

 Please dont distort this by taking one word out of context.

 Gimp's aim to be a high-end image manipulation program does not mean
 everyone has to become a professional graphics artist.

Nor has Peter suggested this. Take your own advice about not taking
things out of context.
What was suggested is essentially to make the 'Save' action more
truthful - in order to
  a) Reduce confusion -- 'wait, every time I edit and resave this jpeg
it gets worse. Why is that?'* -- by providing a standard editing
format.
Throwing away data is a pathological case, which is why GIMP should
only allow this by a plugin, rather than explicitly supporting it; it
should, probably, be considered 'deprecated'.

  b) Reduce corner cases (ie improve interface consistency) -- 'Save'
shouldn't mean 'Lose.' in any case.
  c) Adhere better to the basic Unix tenet of 'Don't throw data away
unless explicitly commanded to.'

What is being proposed is both more effective for the general editing
case, and more flexible.

I appreciate the compression benefits of JPEG for photos, but IMO on
todays multi-gigabyte hard drives, saving a single uncompressed
working image per image you work on is unlikely to be any significant
resource drain.. even for huge images.

I want to mention the necessity of recording the original input image
filename -- and maybe an action to 'Save over original'; I believe it
hasn't been addressed yet, and I expect that someone like yourself
would be satisfied by that. (I still think you should RTFM on the
vision of gimp as high end graphics editor -- it was made by
discussion with the GIMP team in-person.

http://www.mmiworks.net/eng/publications/2007/05/lgm-gimp-project-overview.html
http://gui.gimp.org/index.php/GIMP_UI_Redesign
)

*as someone else already noted, any manipulation of large areas of the
image is liable to cause further compression error, whether the
compression parameters have been altered or not.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] [Gimp-user] selections workflow???

2007-07-09 Thread David Gowers
On 7/10/07, Tom Davidson [EMAIL PROTECTED] wrote:
 Im going to go nuts - i do not understand the gimp work flow with selections.

 When I paste an element on to a layer, i can no access the area of the layer 
 not covered by the element. In on specific example, I moved the contents of a 
 layer slightly to the right. This left a small column of transparency on the 
 left edge. I have tried to select this are to fill or brush but using several 
 different selection tools, but it appears that the element is currently 
 selected and I  can not deselect it.

It looks to me like you moved the layer itself rather than its
contents, and you are attempting to draw on an area that is beyond the
bounds of the layer. What Chris Mohler said would help you in this
situation.

It is also more likely that the layer is active, not selected.
Selections normally show up as an animated outline ('marching ants')
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] [Gimp-user] selections workflow???

2007-07-09 Thread David Gowers
On 7/10/07, Tom Davidson [EMAIL PROTECTED] wrote:
 yes, sounds like Chris suggestions may do the trick. I will try it our 1st
 thing in the morn when I get back to work.



  It looks to me like you moved the layer itself rather than its
  contents,

 i used the move tool with not hot keys. clicked on the element and drug it
 to the right finalized move with the aarow keys. would that move the
 layer?
Yes.
In this case, it was probably the right thing to do.. The only mistake
you made was not finishing with the floating layer (see below)

 thank you for the heads up, i will pay more attention to this.


  It is also more likely that the layer is active, not selected.
  Selections normally show up as an animated outline ('marching ants')
 

 so the layer must  be active AND selected ? what i referred to as the
 element or content, did have the marching ants, even when i deselected all.
AFAIK this only happens for floating layers (When you paste, that
creates a floating layer; The floating layer will remain active and
selected until you either delete it, anchor it, or turn it into a new
layer (by selecting 'layers-new layer' from the menus)

 AND i could only fill/brush inside this boundary but i obviously need to
 fill outside the boundary.
'Lock alpha' is enabled by default for floating selections (see the
Layers dialog, underneath the Opacity control.)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] jpeg quality factor.

2007-07-08 Thread David Gowers
On 7/8/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 On Sun, 08 Jul 2007 15:12:03 +0200, Sven Neumann [EMAIL PROTECTED] wrote:

  Hi,
 
  On Sun, 2007-07-08 at 14:53 +0200, [EMAIL PROTECTED] wrote:
 
  Does your reply indicate you take a this feature not a bug approach
  here
  and you think is the best way gimp should deal with this situation?
 
  Indeed. When you open a JPEG file, then you have a decoded image. The
  settings that were used to encode it are irrelevant since encoding it
  again as a JPEG file would not yield the same image anyway.

 I'm sorry I find that a rather forced logic. As we have seen the image
 will not be _identical_ due rounding errors and such , that does not make
The image may well be quite unlike the input due to lossy compression
-- see below.

 the existing choice of jpeg_quality irrelevant. It represents the users
 choice of size/quality trade-off.

 I see no justification to discard that choice as irrelevant.

AFAICS, Sven is saying that it is irrelevant, because it is
*impossible* to numerically represent the overall quality of the image
to be saved. The quality setting of the input file, assuming that it
is correctly calibrated to the IJG scale, would be multiplicative:
when you save a jpeg file with quality 75, you are saying 'throw away
a certain amount of the image data' -- and saving it again with
quality 75, you are saying 'discard that much again'.  You can't save
with the same quality, because you've already thrown away much of the
data that was used to create the first JPEG.

Actually getting a quality that is notionally '75% of full detail'
when saving a jpeg output from a jpeg input, is trial and error -- so
really, presenting a preview would improve the situation.

As for the practice of saving jpg outputs from jpg inputs, my personal
experience has been that it's a BD thing; basically the only two
possibilities are
a) Image mutilation
b) filesize inflation (ie. you can preserve quality.. by choosing
something that effectively renders JPEG's compression ineffective
(quality = 96 or above, IME)
-- this often inflates the filesize beyond that of lossless image
formats like PNG.)
About the only thing GIMP could do to help here, is to warn the user
if they are saving a jpeg file and the image was originally loaded
from a jpeg file.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Doing an action for each color in an indexed color-palette

2007-07-05 Thread David Gowers
On 7/5/07, Roberto Uhlig [EMAIL PROTECTED] wrote:
 Hello and best thanks first,
 but it doesn't work correct on my xp-pc with gimp GIMP 2.3.10.
 After private consultation with saul some testing and some changes for 
 windows (backslash \) now it works fine.
 Essential change is, that saul's
 ;; (set! blue  (fmod (aref color-map (+ 2 index)) 256))
 doesn't work.
 aref brings sometimes negative eg. -51 values. In that case you have to ad 
 256 to become the realy color-value for blue.
 So I implementet
   (set! blue  (aref color-map (+ 2 index)))
   (if ( blue 0) (set! blue (+ blue 256)))
 and it does his job.
 I've tested it only under WINXP with Gimp 2.3.10 and also with 2.2.11.

 Because of a bug in save-tiff-plugin in gimp 2.3.x (I din't know which was 
 the fix) it isn't possible to save black-white (1bit) indexed with older 
 gimp's.
 In my 2.3.10 it works fine.

 Where can I find Informations about internals of the color-map int8array data 
 storage, because I found that negative integer values?

I don't know where you can find that info; but I know myself -- Each
image's colormap is made up of sets of 3 bytes (R,G,B); these values
are unsigned. Since you have found you had to add 256 to the values in
that case, it seems to me that script-fu must be wrongly treating the
colormap values as signed values, and this is a bug.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] valgrind results

2007-06-27 Thread David Gowers
Sven, you suggested that I run valgrind to locate the source of a bug
related to eyedropping. These are the highlights of the results.

This part is probably unrelated to the eyedropping bug (bug #450802),
but may be serious:

It happens after the image is loaded; don't know whether it's before
or after i zoom in, but I scribble on the image with the pencil tool
after zooming in, and afterwards, these messages are there.

I take it as a strong suggestion that the tile pyramid code is still a
bit dodgy.
I plan to retry with '--error-limit=no' as it suggests, later, but
perhaps these results will be helpful (I don't fully understand them
myself yet -- eg. I only just figured out that the highest item on the
stack is the first result.). A complete dump of the results is
attached as a gzipped .txt, 5k.


valgrind output follows:

==14080==
==14080== Conditional jump or move depends on uninitialised value(s)
==14080==at 0x82CC819: tile_pyramid_validate_tile (tile-pyramid.c:482)
==14080==by 0x82CAF56: tile_manager_validate (tile-manager.c:284)
==14080==by 0x82CA0A3: tile_lock (tile.c:162)
==14080==by 0x82CACFD: tile_manager_get (tile-manager.c:250)
==14080==by 0x82CC5AD: tile_pyramid_validate_tile (tile-pyramid.c:382)
==14080==by 0x82CAF56: tile_manager_validate (tile-manager.c:284)
==14080==by 0x82CA0A3: tile_lock (tile.c:162)
==14080==by 0x82CACFD: tile_manager_get (tile-manager.c:250)
==14080==by 0x82CC5AD: tile_pyramid_validate_tile (tile-pyramid.c:382)
==14080==by 0x82CAF56: tile_manager_validate (tile-manager.c:284)
==14080==by 0x82CA0A3: tile_lock (tile.c:162)
==14080==by 0x82CACFD: tile_manager_get (tile-manager.c:250)
==14080==
==14080== Conditional jump or move depends on uninitialised value(s)
==14080==at 0x8226FD3: gimp_drawable_get_sub_preview
(gimpdrawable-preview.c:415)
==14080==by 0x822737C: gimp_drawable_preview_private
(gimpdrawable-preview.c:205)
==14080==by 0x8227457: gimp_drawable_get_preview (gimpdrawable-preview.c:84)
==14080==by 0x82769A0: gimp_viewable_get_new_preview (gimpviewable.c:737)
==14080==by 0x81809E4: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:178)
==14080==by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==
==14080== Use of uninitialised value of size 4
==14080==at 0x817EBAF: gimp_view_render_to_buffer (gimpviewrenderer.c:1077)
==14080==by 0x817ECB5: gimp_view_renderer_render_buffer
(gimpviewrenderer.c:930)
==14080==by 0x8180961: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:213)
==14080==by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==by 0x46CA8EE: g_type_class_meta_marshal (gclosure.c:567)
==14080==by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==
==14080== Use of uninitialised value of size 4
==14080==at 0x817EBCA: gimp_view_render_to_buffer (gimpviewrenderer.c:1079)
==14080==by 0x817ECB5: gimp_view_renderer_render_buffer
(gimpviewrenderer.c:930)
==14080==by 0x8180961: gimp_view_renderer_drawable_render
(gimpviewrendererdrawable.c:213)
==14080==by 0x817F1E6: gimp_view_renderer_real_draw (gimpviewrenderer.c:716)
==14080==by 0x817F4C5: gimp_view_renderer_draw (gimpviewrenderer.c:606)
==14080==by 0x41EC289: gtk_cell_renderer_render (gtkcellrenderer.c:563)
==14080==by 0x43E5FAD: gtk_tree_view_column_cell_process_action
(gtktreeviewcolumn.c:2796)
==14080==by 0x43E6828: _gtk_tree_view_column_cell_render
(gtktreeviewcolumn.c:3129)
==14080==by 0x43D2522: gtk_tree_view_expose (gtktreeview.c:4617)
==14080==by 0x42C66D3: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:84)
==14080==by 0x46CA8EE: g_type_class_meta_marshal (gclosure.c:567)
==14080==by 0x46CAF1E: g_closure_invoke (gclosure.c:490)
==14080==
==14080== Use of uninitialised value of size 4
==14080==at 0x817EBE5: gimp_view_render_to_buffer (gimpviewrenderer.c:1081)
==14080==by 0x817ECB5: gimp_view_renderer_render_buffer

Re: [Gimp-developer] Doing an action for each color in an indexed color-palette

2007-06-27 Thread David Gowers
On 6/27/07, Roberto Uhlig [EMAIL PROTECTED] wrote:
 Hello,
 has/knows anyone a script/plugin (an idea) to go color by color through an 
 indexed color-palette and doing an action for each color?
 I d like to create from a picture with an optimized color-palette with ca. 
 5-10 (may be 1-256) colors new layers or new pictures for each color in 
 palette.
 Layer(s) or pictures must have the same extensions like the original picture.
 The new picture must be a black and white (1-bit) palette binary tiff for 
 using in geo information systems as visible and invisible.
I do have an idea:

1. set the image's colormap to a grayscale gradient, where the
intensity matches the index (eg. at index 0, #00, at index 9,
#090909..)
2. copy that

for each indice in the palette:
3. paste it as a new greyscale image
4. use the threshold function with (indice, indice) as it's range parameters
5. indexize to monochrome
6. save that image
7. delete the image from memory.
loop...

That can be completely automated by scripting
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] A few simple patches

2007-06-26 Thread David Gowers
On 6/27/07, Sven Neumann [EMAIL PROTECTED] wrote:
 Hi,

 On Tue, 2007-06-26 at 12:50 +0200, [EMAIL PROTECTED] wrote:

  Unless what he's implemented is bad why not just comit anyway until you
  get around to doing it better/diffeently?

 I rejected the patch for several reasons, all of them technical:

 (1) It adds a label for a potentially long string without taking any
 measure to avoid that the dialog gets too wide due to that.
Okay (I don't know how to ellipsize a string in GTK, though of course
I know how to truncate or ellipsize the content of it)


 (2) It mixes filenames with strings displayed in the GUI. Filenames can
 be of a different encoding and therefore need special treatment. In
 particular you must not call g_path_get_dirname() on the result of
 file_utils_uri_display_name().

So the filename should be recoded to ascii and then finally back to
UTF-8? (IIRC URI's are encoded in UTF-8.)


 (3) Showing a directory name does only work for local files, it breaks
 for remote files.

This is incorrect, I checked for that case and it shows what I believe
to be the correct parallel to 'directory name':
for 'http://foo.bar/baz/bif.gif' it shows 'http://foo.bar/baz/'
(the only other parallel I could see making sense would be /baz/ --
which strikes me as not-very-helpful.)


 Sorry, but I couldn't accept the patches for the reasons given above.
 And now I have even put more time into this than it has taken David to
 come up with the patches in the first place.

 As a general rule, please ask before you write a patch.
Okay, I will.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] A few simple patches

2007-06-25 Thread David Gowers

filepath.diff adds a 'file path' field to the 'Image Properties'
dialog; I did this after some discussion between gg and myself on the
importance of being able to find out the path easily.
Image_metadata.diff changes the title used by the 'metadata' plugin
for its window. Mainly, it's just so that there are not two different
dialogs both titled 'Image Properties' available.
Maybe the title should be 'File Properties' instead -- but, IMV, this
is ambiguous VS 'Image properties' -- 'metadata' is the more correct
term.

Neither of these patches seem controversial (although they do effect
translations), which is why I posted them here instead of on Bugzilla.
I hope that the ML software doesn't strip off these attachments :)
Index: plug-ins/metadata/interface.c
===
--- plug-ins/metadata/interface.c	(revision 22834)
+++ plug-ins/metadata/interface.c	(working copy)
@@ -653,7 +653,7 @@
 
   gimp_ui_init (PLUG_IN_BINARY, FALSE);
 
-  mgui.dlg = gimp_dialog_new (_(Image Properties), PLUG_IN_BINARY,
+  mgui.dlg = gimp_dialog_new (_(Image Metadata), PLUG_IN_BINARY,
   NULL, 0,
   gimp_standard_help_func, EDITOR_PROC,
 
Index: app/widgets/gimpimagepropview.c
===
--- app/widgets/gimpimagepropview.c	(revision 22834)
+++ app/widgets/gimpimagepropview.c	(working copy)
@@ -134,6 +134,9 @@
   view-filename_label =
 gimp_image_prop_view_add_label (table, row++, _(File Name:));
 
+  view-filepath_label =
+gimp_image_prop_view_add_label (table, row++, _(File Path:));
+
   view-filesize_label =
 gimp_image_prop_view_add_label (table, row++, _(File Size:));
 
@@ -329,6 +332,27 @@
 }
 
 static void
+gimp_image_prop_view_label_set_filepath (GtkWidget *label,
+ GimpImage *image)
+{
+  const gchar *uri = gimp_object_get_name (GIMP_OBJECT (image));
+
+  if (uri)
+{
+  gchar *name = file_utils_uri_display_name (uri);
+  gchar *path = g_path_get_dirname (name);
+
+  gtk_label_set_text (GTK_LABEL (label), path);
+  g_free (path);
+}
+  else
+{
+  gtk_label_set_text (GTK_LABEL (label), NULL);
+}
+}
+
+
+static void
 gimp_image_prop_view_label_set_filesize (GtkWidget *label,
  GimpImage *image)
 {
@@ -424,6 +448,7 @@
   gdoubleunit_factor;
   gint   unit_digits;
   const gchar   *desc;
+  const gchar   *path;
   gchar  format_buf[32];
   gchar  buf[256];
 
@@ -515,9 +540,13 @@
   /*  filename  */
   gimp_image_prop_view_label_set_filename (view-filename_label, image);
 
+  /*  file path */
+  gimp_image_prop_view_label_set_filepath (view-filepath_label, image);
+
   /*  filesize  */
   gimp_image_prop_view_label_set_filesize (view-filesize_label, image);
 
+
   /*  filetype  */
   gimp_image_prop_view_label_set_filetype (view-filetype_label, image);
 }
Index: app/widgets/gimpimagepropview.h
===
--- app/widgets/gimpimagepropview.h	(revision 22834)
+++ app/widgets/gimpimagepropview.h	(working copy)
@@ -47,6 +47,7 @@
   GtkWidget *resolution_label;
   GtkWidget *colorspace_label;
   GtkWidget *filename_label;
+  GtkWidget *filepath_label;
   GtkWidget *filesize_label;
   GtkWidget *filetype_label;
   GtkWidget *memsize_label;
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] GEGL is no longer vapor. (was: improving image scale: reduction)

2007-06-15 Thread David Gowers
On 6/16/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 On Sun, 10 Jun 2007 23:13:03 +0200, Øyvind Kolås [EMAIL PROTECTED] wrote:

  modifying that code base to deal with this properly will most probably
  been seen as more lasting contributions than changing code that
  eventually only will live on machines running legacy 2.4 series GIMP
  due either to low performance hardware

 hmm, just reread this. Does that comment indicate that GEGL is a lot more
 resource hungry than gimp? I'd wondered if that might the case when I
 initially looked at the way it was structured.

I thought it was fairly clear that  Øyvind mainly meant CPU power
('low performance' -- RAM would correspond to 'low capacity').
Currently, my impression from using GEGL is:
   a) it wants more memory for an equivalent layer-arrangement
   b) it wants to use less memory at a time

relative to GIMP. a) because of the way that layers are composited of
multiple GEGL ops, and b) because of caching -- if a graph node is not
dirty, then it doesn't need to be recalculated from it's child nodes*.
So it uses more memory during calculation, and less memory during
editing (depending on the dependencies of the node you're editing).

*the caching system is still under development, as far as I can tell;
final caching behaviour is not determined except in that it will be
something like i described.

Per the above, it seems to me clear that GEGL will be more usable on
systems with low memory and lots of swap space VS the GIMP's current
infrastructure, with efficiency while editing varying more (initially
with all ops written in C, individual op speed will be less but
caching will tend to speed up editing past GIMP speeds.)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Building imagemap plugin requires flex?

2007-06-07 Thread David Gowers
On 6/7/07, Sven Neumann [EMAIL PROTECTED] wrote:
 Hi,

 On Thu, 2007-06-07 at 13:10 +0930, David Gowers wrote:
  Well, only if the source dependency for the various lexers has changed
  (eg. recently with the The GIMP - GIMP global replacement). A
  rebuilt version of the relevant generated files should probably also
  be updated into SVN before release.

 As far as I can see, updated versions of the generated files have been
 committed to SVN. What exactly is your problem?

Don't know. I just did the standard './autogen.sh;make' after running
'svn update' and make eventually crashed with the mentioned messages.
I hadn't modified any files and as far as the server could tell me, my
copy was up to date. (I've checked this again, just now, and no
relevant files were updated)

Maybe it's an obscure bug in Subversion (my client is v1.3.1); In any
case, I *DID* require flex 2.5.33 in order for the 'make' command to
successfully complete.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Building imagemap plugin requires flex?

2007-06-07 Thread David Gowers
On 6/8/07, Sven Neumann [EMAIL PROTECTED] wrote:
 Hi,

 On Thu, 2007-06-07 at 19:31 +0930, David Gowers wrote:

   As far as I can see, updated versions of the generated files have been
   committed to SVN. What exactly is your problem?
  
  Don't know. I just did the standard './autogen.sh;make' after running
  'svn update' and make eventually crashed with the mentioned messages.

 Well, you didn't mention the message yet. That's why I asked you to
 describe the problem in more detail.


 Sven

Something has gone badly wrong. I did quote them.. I may have even
quoted them twice.
I don't have a copy of the errors saved, but this is what happened roughly:

1. 'make' runs. Eventually it reaches the imagemap plugin directory.
2. imap_csim.l is used to generate imap_csim_(parse|lex).[ch] with flex.
3. Either imap_csim_parse.c or imap_csim_lex.c is complained about by
the compiler:

stdout:1839: warning: no previous prototype for 'csim_get_lineno'
stdout:1848: warning: no previous prototype for 'csim_get_in'
stdout:1856: warning: no previous prototype for 'csim_get_out'
stdout:1864: warning: no previous prototype for 'csim_get_leng'
stdout:1873: warning: no previous prototype for 'csim_get_text'
stdout:1882: warning: no previous prototype for 'csim_set_lineno'
stdout:1894: warning: no previous prototype for 'csim_set_in'
stdout:1899: warning: no previous prototype for 'csim_set_out'
stdout:1904: warning: no previous prototype for 'csim_get_debug'
stdout:1909: warning: no previous prototype for 'csim_set_debug'
stdout:1943: warning: no previous prototype for 'csim_lex_destroy'
stdout:1347: warning: 'yyunput' defined but not used

(In fact, these messages still occur even when building proceeds
successfully. By themselves they are probably not significant.)

Similar messages also appear for imap_cern

4. Compilation continues. At link time, the linker complains of
unresolved references to symbols, which all are csim_* functions.

I cannot reproduce this #4 any more, not even if I downgrade flex to
2.5.31. It just happily links. Maybe the version of flex provided by
synaptic was glitched.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] image indexed mode, major hole

2007-06-06 Thread David Gowers
On 6/7/07, Henning Makholm [EMAIL PROTECTED] wrote:
 Scripsit Sven Neumann
 One cannot do this, in general, because an indexed PNG stores a single
 alpha value for each palette entry. An image with an unrestricted
 alpha channel would most likely lead to more color/alpha combinations
 than the 256 palette slots available in PNG.

  But it's more likely that we will soon drop indexed mode completely and
  push handling of indexed color to the load and save plug-ins.

 I can see good software-engineering reasons to want to eliminate
 indexed representation internally, but from a usability standpoint it
 will be a loss not to be able to restrict the possible color values to
 a predetermined palette.
That is not implied by 'push handling of indexed color to the load and
save plug-ins'. Indeed, it would be rather easy to attach data
dictating what colormap to indexize to, what parameters (eg dithering)
to use.., via a parasite, and have indexed savers use that data.


 Imagine finding out only after several hours of editing that some of
 the pixels you intended to be (255,192,53) accidentally became
 (255,192,54), and others became (255,188,53) and a few of the
 (64,64,0) became (64,64,3), and this is a source of immense confusion
 to software later your build process, which recognizes exactly those
 colors to have a special meaning, and now you have to go through a few
 dozen layers to find all of the misfit pixels and correct their color
 one layer and color at a time. Indexed editing prevents making the
 mistake in the first place; if I have not explicitly added
 (255,192,54) to the palette I know that I'll not risk finding it in
 the output.

Although I understand the problem posed by the above type of
cumulative error - For example it can be easily caused by accidentally
bumping drawing opacity down to 99 instead of 100, and with enough
cumulative error it might quantize to an unintended color, not the
color you meant to draw with...
I believe the solution to that is to allow the user to quantize their
image to an indexed palette at any time -- indeed, having such a
quantization as a toggleable display filter would be abundantly
useful. Note that this is a separate issue from indexization --
quantization only refers to dictating what colors are in the output,
not the manner in which they are stored.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Gimp-developer] Building imagemap plugin requires flex?

2007-06-06 Thread David Gowers
Well, only if the source dependency for the various lexers has changed
(eg. recently with the The GIMP - GIMP global replacement). A
rebuilt version of the relevant generated files should probably also
be updated into SVN before release.

Currently, flex version 2.5.33 or higher seems to be required to
successfully generate the needed files.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] CMYK palette info from Photoshop

2007-03-31 Thread David Gowers

On 4/1/07, Chris Mohler [EMAIL PROTECTED] wrote:


On 3/31/07, Hal V. Engel [EMAIL PROTECTED] wrote:
 You might consider using a color transform using ICC profiles.  For
example
 you could use sRGB as your generic destination color space and perhaps a
SWAP
 profile for the CMYK side.  Once you have selected your two profiles
doing
 the conversion is almost trivial using calls to lcms.

Hal,

Could you point me to an example? I see some functions in
plug-ins/lcms, but have not figured out how to use them.  Most seem to
operate on drawables -  I want to push CMYK number values into RGB.



Chris,
The lcms plugin is a different thing from the lcms library; GIMP's lcms
plugin just provides an interface to the lcms library (
http://www.littlecms.com/)
Try looking in the plugin to see how the plugin accesses LCMS, not to find
out what functions the plugin provides.
IIRC it basically just needs to know the input and output profiles, and be
provided pointers to source and destination buffers.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] memory manage in python-fu

2007-03-12 Thread David Gowers

I am hereforth asking you to apologise, if possible, both in private

and on the list for this message. We are runing a project needing



I cannot sincerely do so, in this instance. I do not apologize for
expressing my amusement, unless I judge that the situation was genuinely
worsened by my behaviour.

It's certainly true that my message can be misinterpreted -- on the net,
it's probably wisest to just assume no hidden meanings -- if it looks like a
fish, assume it is a fish (and nothing more).

much of new developers and contributors, and are in no position of

theating anyone like this. Please perceive I am no  police  - I am
asking this personally, but I also have promised the people
organizing the LGM I'd tlak to gimp developers to try to make the
enviroment more frindly to newcomers.



In my observation, friendly sometimes is not  polite -- for instance,
answering as I did rather than giving a detached commentary free of any
emotional context at all.
This is why I view the way I replied as better (and certainly more friendly)
than most previous mails of mine on this list.

(btw, having to  explicitely delete  a python object __is__ a bug -

objects that are seeing in python should be garbage collected when
they are no longer referecenced. )



I avoided commenting on that because it wasn't clear whether they actually
were no longer referenced. I certainly agree that there is something wrong
with the gimp.delete convention here -- it only behaves how I'd expect
sometimes.

I'd definitely like to see more PyGimp developers myself -- hardly anyone
seems to make as extensive use of it as I do. Perhaps a standard module path
for pygimp plugins could be worked out (arguably, the PDB removes this need,
but the PDB is cranky to use compared to Python modules)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] memory manage in python-fu

2007-03-11 Thread David Gowers

On 3/12/07, D. Stimits [EMAIL PROTECTED] wrote:



I have not found any python-fu way to close a file, or to reclaim
memory after creating an image or layer. Is there such a thing? Is there
instead some sort of garbage collection?



hahahaha!

gimp.delete(image)

or
gimp.delete(layer) #only do this if the layer isn't attached to an image. If
it is attached to an image, then deleting the image will delete all the
layers and other things -- no need to delete them directly.

This *is* in the pygimp documentation (plug-ins/pygimp/doc/pygimp.html in
the source tree)! RTFM!
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] transformation drift [was: preview window does not work]

2007-03-08 Thread David Gowers

On 3/8/07, Sven Neumann [EMAIL PROTECTED] wrote:


Hi,

 If you rotate by exactly 90 degrees, this is always done with
 INTERPOLATION_NONE, no matter what you select in the tool options.

Perhaps this is the culprit? An offset seems unavoidable if the
transformation is performed without interpolation. So perhaps all we
need to do is to remove this optimization (which is supposed to speed up
rotations by multiple of 90 degrees)?



BTW, do you think the rotation centre should be snapped to 0.5 pixel
increments when interpolation is NONE? It doesn't make sense to have any
more precision at that point (and can introduce glitches -- for instance,
try floating a rectangular region, then dragging the rotation centre to the
top left as precisely as you can, setting it to rotate 90 degrees, and
performing the rotation... -- compared to inputting the coordinates of the
top left yourself and then performing the 90 degree rotation. In the first
case, even fractional imprecision means the result is not even in the right
place.)

Anyway, in the case of a 90 degree rotation, it seems unlikely that the user
would want it misaligned with the pixels -- in which case no interpolation
is needed and the result should be exactly right.


Simple test case that uniformly fails, currently:

* Select a rectangular region of the picture.
* Float it
* Rotate it. Set the rotation centre to the exact top left (by first
positioning the centre near it, then editing the coordinates in the rotation
dialog to make them exact). Set the angle to 90 degrees and the
interpolation to NONE. Supersampling option appears to have no effect in
this case.
* The result may be offset by 1 pixel in X and/or Y axis; It is also missing
one line of pixels (which line is omitted varies.)
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Enhancement Proposal: Add a temporary magnifier

2007-02-23 Thread David Gowers

On 2/24/07, Alexandre Prokoudine [EMAIL PROTECTED] wrote:



 to be used (1x, 2x, 3x, 5x, etc.).

It doesn't soom to differ significantly from existing Navigation window



It does! Navigation window provides a zoomed out view of the entire image --
this provides a zoomed in view of the area that the cursor is in.
___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


Re: [Gimp-developer] using layer/channel as mask

2007-01-24 Thread David Gowers

On 1/23/07, Kevin Galligan [EMAIL PROTECTED] wrote:


I've been trying to script something that seems relatively simple, yet
I've spent the better part of today stuck at one little step.  I have
started naming things with curse words, so I figured I'd reach out for help
before I start throwing things.



Sounds familiar .. although that's happened much less to me since I started
using Python-Fu instead of Script-Fu.

I have a layer that I want to serve as the mask for another layer.  The

values in the mask layer are white, so in theory, I could do the
following...

;Somehow get the green Channel of the mask layer

(set! greenChannelMask [magicFunctionHere])


(gimp-layer-add-mask myLayer greenChannelMask)


I'm sure there's a more elegant way of doing it.  If so, please let me
know.  However, if the above would work, I just need to know how to get that
channel.  Should be easy, but I have been beating my head agaist a wall.  I
just can't get it.  I tried 'gimp-image-get-channels' in the console just to
see if I could do it the hard way, but it always returns '(0 #()#0)', no
matter what image, which leads me to believe I don't understand how that
function works.  I also tried 'gimp-image-get-active-channel' in



The function returns a list of channels. ie. What you see in the bottom part
of the Channels dialog.

Anyway, you don't really need to get the green values, just get the
intensity.
The way to do this is:

* Copy the mask layer (as in gimp-edit-copy -- or gimp-edit-named-copy if
you want to preserve the clipboard)
* Add a mask to the target layer *if needed*
* Paste onto the mask
* Anchor

the console, but that comes back with -1.  All the time.


I probably wouldn't be so frustrated if this was a big deal, but should be
easy to get the channel, yet I've burned much of the day and have made no
other progress (other than, of course, having nowhere else to look).

Thanks in advance,
-Kevin


___
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


<    1   2   3   4   >