darktable-org / darktable-org/darktable

DCTL support (or equivalent custom programmable modules)

Open
#19,662 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

no-issue-activity
Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

Is your feature request related to a problem? Please describe.

While DT is very powerful, it is always limited by the possibilities offered by the available modules, i.e. as far as I know it misses a way to fully code some operations.

DaVinci resolved fixed this by introducing DCTL that allow users to code (C-like language) their own custom transform, as a kind of LUT on steroid. As such, a wide list of DCTL is developped by the community, see for instance https://github.com/thatcherfreeman/utility-dctls

Edit: it may be easier to target Fuse files that seem more generic and use lua instead of a custom C-inspired language?

Describe the solution you'd like

Would it be possible to support dctl in DT, this way we can directly pick ekisting styles and apply them to our pictures? Or at least an equivalent where we can code our own transformations, in lua/C/whatever?

Alternatives

LUT, but they don't support parameters so they can't easily be configured for a given image, they also only support local change while DCTL can implement non-local changes like a blur etc…

Additional context

Contributor guide

Open the contributing guide

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 by comparing the requested DCTL support with the alternative Fuse files described in the issue, including their C-like or Lua-based approaches and parameter needs. Map those requirements onto darktable's existing module architecture; done means a reviewed design and clear scope for programmable, parameterized, non-local transformations.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, lua
Domain
computer-graphics, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.