darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.64k stars 1.13k forks source link

FR ColoEq, adjust colors using the mouse directly on the image #16321

Open Christian-Bouhon opened 7 months ago

Christian-Bouhon commented 7 months ago

Hello, It would be great to be able to adjust the colors using the mouse directly on the image, like with the tone equalizer. Although I don't know how to code, I think we have all the tools in darktable to make it happen. I've tried to create a scenario in the hope that it might help you. The idea would be to use a color picker and calculate the movement of the cursors, as you can do with keyboard shortcuts and the mouse wheel. Here's a spreadsheet with which I've been able to simulate some tests. ColorEq en.ods What do you think? Is it feasible? Greetings from Brussels, Christian

Christian-Bouhon commented 7 months ago

here's a short video

https://github.com/darktable-org/darktable/assets/120166629/f90683cf-ffb8-4be8-808e-ab636ddb08b9

MStraeten commented 7 months ago

quite unrealistic, due to performance impacts - see APs comment on that: https://github.com/darktable-org/darktable/pull/12082#issuecomment-1162368854

jenshannoschwalm commented 7 months ago

@Christian-Bouhon you vastly underestimate the complexity of such a feature, it would be far more difficult to do than in tone equalizer - and that is heavy stuff already and dev resources are limited...

I agree it would be nice to give some UI help like a picker or some other visualizing ...

Christian-Bouhon commented 7 months ago

@jenshannoschwalm Certainly, you've done a great job on this module, and it works very well. As you know, I'm not a coder, so I may be talking a lot of nonsense...
Personally, I wouldn't work on the module itself, but rather on a plugin or widget that transmits information as a keyboard shortcut would. A sort of virtual midi console with the three HSL pickers.

jenshannoschwalm commented 7 months ago

but rather on a plugin or widget that transmits information as a keyboard shortcut would. A sort of virtual midi console with the three HSL pickers.

I confess i simply don't get what you are after :-) Could you explain in detail for me to understand?

wpferguson commented 7 months ago

@jenshannoschwalm I think he wants an "easier" user interface.

I just tried color equalizer (was waiting for the dust to settle). Nice.

@Christian-Bouhon darktable does support midi controllers. There is a Lua-script in the examples section that supports the x-touch mini. It might need a tweak to support color equalizer, but would that satisfy your issue?

jenshannoschwalm commented 7 months ago

Yes - i use it daily with midi :-) Yes - we might want an easier UI ! I was asking without any irony, just looking for ideas besides a picker ...

Christian-Bouhon commented 7 months ago

For me too, the interface is excellent and works perfectly with my Midi Xtouch controller. During his studies, my son used the Adobe suite and in lightroom, there is this type of functionality that I found practical. Sorry if I'm not making myself clear. I'll try to develop the idea more precisely and get back to you.

Christian-Bouhon commented 7 months ago

Here's a more detailed description of the idea,

1. Objective

Click on the photo and use the mouse wheel to increase or decrease the Hue, saturation or luminance value of the color equalizer module. To avoid creating bugs with this new module, it seems logical to me to create an independent interface.

2. Observation

A. Shortcut If I make a shortcut for the hue slider red "&+wheel" or assign it to a button on my midi console, I'll be able to move the red slider on the module. 01 Based on this principle, I assume that when I apply the shortcut "&+wheel", the system transmits the information to the module and moves the red slider, and the same applies if I turn the knob on my midi console.

B. Color Picker If we use the color picker, we receive the Hue value. In the screenshot, it's 14.43°. 02 C. Module sliders If I've understood correctly, all sliders (nodes) are spaced at equal distances of 45° and can be moved by up to 23°.

3. Scenario, Graphic interface

a. Creation of icons that can be clicked to start the process. - 3 icons, 1 per tab or 1 icon that acts on the active tab b. As with the color picker, we click on a part of the image to obtain a hue value. In the previous example, we obtain 14.43°. c. Next, we calculate the displacement of the two cursors in proportion to its position. In the example, it lies between the red 0° and orange 45° sliders, giving us 67.93% for red and 32.07% for orange, with the nodes in their original positions. d. When we use the mouse wheel to advance by 10 units, for example, the red slider will move by 6.793 and the orange by 3.207.

As I showed in the video, I made several tests on photos, simulating the interface and using the spreadsheet. The results were satisfying enough to dare present the idea to you.

github-actions[bot] commented 5 months ago

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.