[Gimp-developer] ANNOUNCE: GIMP 2.3.14 development release
Moin, gimp-2.3.14.tar.bz2 is available from ftp://ftp.gimp.org/pub/gimp/v2.3. Changes in GIMP 2.3.14 == - added actions to control brush spacing - polished appearance of image window - scale the brush's spacing when scaling the brush - save tool presets when they are changed - improved handling of vectors in the Python bindings - allow for auto-cropping the result of the transform tools - added GimpRatioEntry widget and use it in the rectangle tool options - added functions to transform between preview and image coordinates - added PDB functions to validate display, drawable, image and vectors IDs - added HSL color model to Decompose and Compose plug-ins - further improved status bar messages for tools - on systems with D-Bus build gimp-remote functionality into gimp executable - bug fixes and code cleanup The release notes for the development branch, in case you haven't read them yet, are here: http://gimp.org/release-notes/gimp-2.3.html We want to get GIMP 2.4 out of the door, but there are still a couple of show-stoppers and we need all the help we can get. Please have a look at the list of bugs on the 2.4 milestone: http://bugzilla.gnome.org/buglist.cgi?product=GIMPbug_status=UNCONFIRMEDbug_status=NEWbug_status=ASSIGNEDbug_status=NEEDINFObug_status=REOPENEDtarget_milestone=2.4 Sven ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
[Gimp-developer] add mouse action for brush scaling
Currently scalable brush can be scaled with [ ] by default, what is very fine. Could a mouse scroll wheel + some key modifier be used to act the same as [ ] buttons? I'm a right-handed person, so when I retouch a photo most of my actions are connected with mouse movements and some left hand actions: Ctr+H, Ctrl+C, Ctrl+wheel, Shift+wheel, Space. Rather often brush needs to be scaled, so I have to left mouse and press [ or ] several times. The left side of the keyboard is mostly taken with shotcuts. I suggest adding Alt + wheel to act like [ ] for brush scaling. It could be very convenient to a user not to leave a mouse for keyboard and due the wheel is very well controllable and intuitive for scaling purposes. -- With respect Alexander Rabtchevich ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] ANNOUNCE: GIMP 2.3.14 development release
On Wed, 24 Jan 2007 10:01:26 +0100 Sven Neumann [EMAIL PROTECTED] wrote: Moin, gimp-2.3.14.tar.bz2 is available from ftp://ftp.gimp.org/pub/gimp/v2.3. Running well on GNU/Linux Debian Etch/Sid ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
[Gimp-developer] Regular expression in gimp-buffers-get-list ?
Hi all, i wrote this Paste as Layer script (registred as Image/Edit/Paste as/Paste as Layer; its based on a script of Jonathan Stipe), it just need a tweak to lower the the pasted layer to the last selected on. But i got a problem with (buffers (gimp-buffers-get-list *)). I use this to check wether the clipboard is empty or not, so when the user run this script on empty clipboard no error message will appear. on buffers (gimp-buffers-get-list * the filter (*) is a optional regular expression, but without * i always get an error message and with * it didn't work correct. What is the correct regular expression for exepting anything? here is the base of the script: (gimp-image-undo-group-start img ) (let* ( (draw (car (gimp-image-get-active-drawable img ))) (buffers (gimp-buffers-get-list *)) (num-buffers (car buffers)) (buffer-array (cadr buffers)) ) (if ( num-buffers 0) ;if clipvoard is empty nothing will be done (if (not (= (car (gimp-drawable-is-layer draw )) 0 )) (gimp-floating-sel-to-layer (car (gimp-edit-paste draw 1 ))) (if (not (= (car (gimp-drawable-is-layer-mask draw )) 0 )) (gimp-floating-sel-to-layer (car (gimp-edit-paste (car (gimp-image-get-active-layer img )) 1 ))) (if (not (= (car (gimp-drawable-is-channel draw)) 0)) (gimp-floating-sel-to-layer (car (gimp-edit-paste (aref (cadr (gimp-image-get-layers img )) 0 ) 1 ))) ) ) ) ) ) (gimp-displays-flush) Thanx! Bart. ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] add mouse action for brush scaling
Thorsten Wilms wrote: On Wed, Jan 24, 2007 at 11:32:03AM +0200, Alexander Rabtchevich wrote: Currently scalable brush can be scaled with [ ] by default, what is very fine. Could a mouse scroll wheel + some key modifier be used to act the same as [ ] buttons? I couldn't find it in the shortcut editor (maybe I overlooked it). It should be listed there, right? build As I understand, it appeared there by default in 2.3.11 or other build close to it . Before it was possible to assign these keys manually in developers branch (and I did it). I'm a right-handed person, so when I retouch a photo most of my actions are connected with mouse movements and some left hand actions: Ctr+H, Ctrl+C, Ctrl+wheel, Shift+wheel, Space. Rather often brush needs to be scaled, so I have to left mouse and press [ or ] several times. The left side of the keyboard is mostly taken with shotcuts. I suggest adding Alt + wheel to act like [ ] for brush scaling. It could be very convenient to a user not to leave a mouse for keyboard and due the wheel is very well controllable and intuitive for scaling purposes. Hmm, Alt + wheel is mapped to opacity. Ctrl + wheel zooms. Shift + wheel scrolls sideways. Ctrl+wheel, wheel itself, shift+wheel and space form a pretty complete set of picture movement and scaling. I like it and suffer then any other program doesn't provide wheel and Ctrl+wheel. Preferences - Input Controlers allows to map mouse wheel events to actions, but I don't see actions for changing brush size. Thank you for solution to the problem. I've assigned Alt+wheel to context-brush-radius-decrease and context-brush-radius-increase and feel myself happy for now :). -- With respect Alexander Rabtchevich ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
[Gimp-developer] improving bicubic interpolation
In my on-going research to reduce the filter artifacts noted in http://bugzilla.gnome.org/show_bug.cgi?id=166130 , I found many references to a promising improvement on the cubic convolution kernel approach I have been using. As noted in the bug report using a convolution kernel entirely removes the somewhat obvious staircasing produced by the current interpolation at the expence of a slight softening of the image. In all the research I have done I have come up constantly to references to work done by R.G. Keys where he uses 6 point spline fitting instead of the usual four, but despite extensive efforts I have not been able to find any reference to the actual piecewise polynomials he derives. Since the way this technique fits into the code is virtually identical to the lanczos implementation a six-point approach would envolve exactly the same calculation effort as lanczos and the larger window and the increased order of convergence would almost certainly improve the quality and precision of the filter. It would seem reasonable to assume this would bring us close to a best of both worlds situation, a clean interpolaton without the softening. http://64.233.183.104/search?q=cache:pcUIULp7cboJ:ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19870013008_1987013008.pdf+fourth-order+convergence+catmull-romhl=enct=clnkcd=3client=opera Keys’ cubic is a local, six-point inter- polant whose interpolation function is again given by piecewise cubic polynomials. However, in contrast to PCC, there are no free parameters. The algorithm is fourth order convergent (ref. 8) which is the highest order which can be achieved with cubic polynomials; All references to Keys' work seem to lead to papers published by IEEE and available on a per article subscription. I assume the charge for one or two articles would be fairly nominal. Would this be a good use of some of the gimp projects donations fund? If the idea is acceptable I'll look into the details. /gg. ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
[Gimp-developer] using layer/channel as mask
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. 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 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
Re: [Gimp-developer] using layer/channel as mask
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
Re: [Gimp-developer] using layer/channel as mask
On 1/25/07, Kevin Galligan [EMAIL PROTECTED] wrote: I settled on that route after some wrestling... *** CODE HERE *** (set! shadowMask (car(gimp-layer-create-mask shadowLayer ADD-ALPHA-MASK))) (gimp-layer-add-mask shadowLayer shadowMask) (gimp-selection-all inImage) (gimp-edit-copy inDrawable) (set! floatingSel (car (gimp-edit-paste shadowMask FALSE))) (gimp-floating-sel-anchor floatingSel) (gimp-layer-remove-mask shadowLayer MASK-APPLY) Is it your intention to apply the mask incrementally? Every time you apply the mask, that will reduce the alpha of the pixels in shadowlayer. in short, outAlpha = inAlpha * maskValue. *** *** I hate scheme. I had to do scheme while in school for a class, and I just never, ever liked it. However, I don't think my problem here was with scheme (after, obviously, the initial refresher). It was getting my head around the api. I still don't know how to get a reference to the color channel (green, blue, or red. Didn't matter. Just needed the values). You cannot. If you want to use the 'decompose' plugin to separate the component of an image, or use Python's advanced slicing to extract data for one component from the entire pixel data, you can do that. Do you have a good link to coding python and gimp? I found some stuff, but it seemed old, and I wound up sticking with scheme. On Windows it is slightly more complicated to get Gimp working with Python-Fu. On Linux, it's pretty simple -- just run ./configure with the --enable-python switch (this is enabled by default in recent versions), then rebuild and reinstall. Then you can write plugins and put them in your gimp plugins directory. A simple plugin is attached. #!/usr/bin/env python import gimp,gimpplugin from gimpfu import PLUGIN, PF_INT, PF_IMAGE, PF_DRAWABLE # this is the usual thing to do, to make pdb more easy to access # most plugins would make use of the pdb, though this one doesn't. pdb = gimp.pdb class Simple (gimpplugin.plugin): def query (self): # I didn't want to bother with specifying author, copyright etc just for this example, # so here's a default string to use d = '' gimp.install_procedure ('plug_in_simple', d,d,d,d,d,'Image/File/Simple_Test', '*',PLUGIN, [(PF_INT, 'run_mode', run mode),(PF_IMAGE, 'image', 'Image'), (PF_DRAWABLE, 'drawable', 'Drawable')], []) # must have class methods corresponding to the pdb entries you register. # script-fu etc. see this as 'plug-in-simple' def plug_in_simple (self, run_mode, image, drawable): return def start (self): gimpplugin.plugin.start (self) def quit (self): #cleanup here -- usually defining this is unnecessary pass if __name__ == '__main__': Simple ().start ()___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] improving bicubic interpolation
Hi, On Mon, 2007-01-22 at 10:13 +0100, [EMAIL PROTECTED] wrote: All references to Keys' work seem to lead to papers published by IEEE and available on a per article subscription. I assume the charge for one or two articles would be fairly nominal. Would this be a good use of some of the gimp projects donations fund? That sounds like very reasonable use of the money. Please try to find out which papers would be important for your work and how much is being charged for them. Sven ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer