04-08-2024, 09:07 AM
(This post was last modified: 04-08-2024, 09:24 AM by BigMackCam.)
Hi all
I'm new to writing GIMP scripts, and relatively new to python, but slowly I'm beginning to make progress with python-fu and simple script development.
I have a process I'm currently performing manually on a regular basis, and I'd like to create a script to automate it. The manual process is as follows:
1. Select an area of the image
2. Perform Auto Levels (Colors -> Levels -> Auto Input Levels)
3. Undo Levels
4. Select all of the image
5. Re-apply the previous levels (Filters -> Repeat Levels)
In scripting the above, I've got as far as step 4 successfully - but for step 5 I'm stuck, as I can't find any procedure in the pdb that lets me re-apply the previous levels. After a bit of searching online, I found that GIMP writes these values to a GimpLevelsConfig.settings file in the AppData\Roaming\GIMP\2.10\Filters directory (on my installation, at least) - and if I look in this file, I can indeed see the levels last applied... but I can't find any procedure that will let me retrieve the values.
So... my questions to the esteemed and knowledgeable python scripters here are:
1. Is there a way to call the Filters -> Repeat Levels function via an existing internal GIMP procedure?
2. If "no" to the above, is there a way to access the levels values last applied without resorting to the "GimpLevelsConfig.settings" file?
3. If "no" to the above, is there a way of reading the file via one or more existing internal GIMP procedures?
4. If "no" to the above, (a) how do I obtain the directory for the file (in case it's configured differently across versions and platforms), and (b) can anyone help me with guidance on reading and parsing the file to a set of variables?
Any assistance for this rank novice would be greatly appreciated. Thanks in advance!
Mike
PS. Sorry, I forgot to mention, I'm running GIMP 2.10 on Windows, Ubuntu and Fedora environments...
I'm new to writing GIMP scripts, and relatively new to python, but slowly I'm beginning to make progress with python-fu and simple script development.
I have a process I'm currently performing manually on a regular basis, and I'd like to create a script to automate it. The manual process is as follows:
1. Select an area of the image
2. Perform Auto Levels (Colors -> Levels -> Auto Input Levels)
3. Undo Levels
4. Select all of the image
5. Re-apply the previous levels (Filters -> Repeat Levels)
In scripting the above, I've got as far as step 4 successfully - but for step 5 I'm stuck, as I can't find any procedure in the pdb that lets me re-apply the previous levels. After a bit of searching online, I found that GIMP writes these values to a GimpLevelsConfig.settings file in the AppData\Roaming\GIMP\2.10\Filters directory (on my installation, at least) - and if I look in this file, I can indeed see the levels last applied... but I can't find any procedure that will let me retrieve the values.
So... my questions to the esteemed and knowledgeable python scripters here are:
1. Is there a way to call the Filters -> Repeat Levels function via an existing internal GIMP procedure?
2. If "no" to the above, is there a way to access the levels values last applied without resorting to the "GimpLevelsConfig.settings" file?
3. If "no" to the above, is there a way of reading the file via one or more existing internal GIMP procedures?
4. If "no" to the above, (a) how do I obtain the directory for the file (in case it's configured differently across versions and platforms), and (b) can anyone help me with guidance on reading and parsing the file to a set of variables?
Any assistance for this rank novice would be greatly appreciated. Thanks in advance!
Mike
PS. Sorry, I forgot to mention, I'm running GIMP 2.10 on Windows, Ubuntu and Fedora environments...