Skip to content

v2.62.3

Choose a tag to compare

@samuelgursky samuelgursky released this 17 Jul 16:43

A single grading fix — PR #90 by @Mldphotohraphie, extended and hardened. No new tool surface.

Fixed

graph set_lut now applies LUTs/DCTLs installed by the dctl tool.

The dctl tool installs into Resolve's per-user LUT directory, but Graph.SetLUT() resolves LUT paths — relative names and absolute paths — only against the master (system) LUT directory. So a freshly installed LUT could never be applied, and set_lut always returned {"success": false}.

Verified live on Resolve Studio 19.1.3.7 (the originating report, PR #90, observed the same on Studio 21.0.2): SetLUT fails for a user-dir LUT even after RefreshLUTList() and even via an absolute user-dir path — relocation into the master dir is genuinely required.

On a SetLUT failure the server now locates the LUT, stages it under a namespaced MCP/ subfolder of the master LUT dir (avoiding basename collisions with stock/vendor LUTs), calls RefreshLUTList(), and retries with the master-relative path. No behavior change when SetLUT already succeeds.

Applied to both graph set_lut (src/server.py) and the granular graph_set_lut (src/granular/graph.py) via a shared src/utils/lut_paths.py helper, with offline coverage in tests/test_lut_paths.py.

Windows path fix: the PROGRAMDATA fallback was a literal double-backslash path (C:\\ProgramData); corrected to C:\ProgramData.


Full offline suite: 1493 tests passing.