darktable-org / darktable-org/lua-scripts

Lua script request for batch auto-tune applied for filmic rgb and/or sigmoid modules

Open
#682 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Lua
Stars
219
Forks
142
PR merge metrics
No merged PRs in 30d

Description

Use Case

When processing large event or travel photo sets (hundreds to thousands of images), one of the most repetitive tasks is manually clicking the auto-tune picker for modules such as filmic rgb and/or sigmoid on every image.
While the operation itself is quick, repeating it across a large collection becomes time-consuming when speed is the primary goal.

Background

I asked about this on IRC and received the following guidance from wpferguson:

Yes it would be possible to "auto-tune" with a Lua script. You could catch the darkroom-image-loaded event to trigger then use dt.gui.action() to enable the auto-picker, then catch pixelpipe-processing-complete, then disable the picker with dt.gui.action(). If more than 1 picker is going to be used then they should be done in pixelpipe order since the output of the lower (in the pixelpipe) pickers will affect the higher modules.

Request

Would anyone be willing to provide an example Lua script (or code snippets) that would:

  • Automatically trigger the filmic rgb auto-tune picker when an image is opened in darkroom.
  • Optionally support sigmoid auto-tuning as well.
  • Respect pixelpipe ordering if multiple auto-pickers are enabled.
  • Ideally allow enabling/disabling the behavior via a simple preference or shortcut.

An even more useful variant would be a script that can batch-apply the auto-tune operation across a selected set of images, though I'm not sure whether that is feasible with the current API.

This is my first encounter with Lua scripting. Any guidance or starter code would be greatly appreciated.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the darkroom-image-loaded and pixelpipe-processing-complete events and the dt.gui.action() API named in the request. Check existing Lua scripts for event handlers, auto-picker actions, and preference or shortcut patterns. Done would be an example script covering filmic rgb, optional sigmoid support, pixelpipe ordering, and a way to enable or disable the behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.