ART debugging mode: how to?

Hi all!
As I reported here:
https://github.com/orgs/artraweditor/discussions/481
I have problems interfacing ART 1.26.4 with latest versions, ie 0.3.1 and 0.3.2 of @arctic (Andrea Volpato) spektrafilm (previously called agx-emulsion).
In my Windows 25H2 I did not have any problem using previous versions of ART, agx-emulsion 0.1 and python 3.11.
When I moved to python 3.13 (required by spektrafilm 0.3.x) + latest version of the tools created by @agriggio, then I was unsuccessfull at difference of what I got interfacing ART with JanLohse spectral_film_lut.
While the compilation of spektrafilm works in itself because I can easily run it from its GUI interface, I have problems if I try to recalled it inside ART by using ART_spektrafilm.json + spektrafilm_mklut.py.

The LUT is loaded:

but when I choose whichever Film simulation I have this:

My question is: there any way of debugging this?

TIA for any clue about it!
Regards,
Topoldo

Hi Leopoldo. One thing you should try is to make sure that the version of spektrafilm is the same as the one Alberto was using when he released the latest .json and .py files.
Because spektrafilm evolves constantly and sometimes new additions to spektrafilm make the ART modul me break appart.

1 Like

it has been quite hectic lately and i just overused of the freedom of exploring. :slight_smile:

i will release soon the official lut export feature, that also adds a lut_mode flag to the main spektrafilm runtime. as a nice byproduct, this flag should ease the wiring to ART and it should make the integration more resilient, limiting the settings done in the ART mklut scirpt.

2 Likes

Have you updated the “command” line in ART_Spektrafilm.json to point to your Spektrafim Python?

{“ART-lut3d” : {
“command” : “\”/Users/path/to//spektrafilm/bin/python\" "/Users/path/to/spektrafilm_mklut.py" --server",

My debugging of ART on Linux:

  • Enable verbose output to console in source code and rebuild ART. Setting this flag in the options file did not work for me:
diff --git a/rtgui/options.h b/rtgui/options.h
index fbf98d653..023f3848c 100644
--- a/rtgui/options.h
+++ b/rtgui/options.h
@@ -492,7 +492,7 @@ public:
     void setDefaults();
     void readFromFile(Glib::ustring fname);
     void saveToFile(Glib::ustring fname);
-    static void load(bool lightweight = false, int verbose = -1);
+    static void load(bool lightweight = false, int verbose = 2);
     static void save();
 
     // if multiUser=false, send back the global profile path
  • Set env. var. to print external LUT operations on console:
export ART_DEBUG_EXTCLUT=1
  • Start ART in terminal and see what’s going on printed out

If this is not enough then rebuild ART in Debug mode and run with gdb to debug each step.

I think it was loading the last successful LUT from cache. If you had clearred the cache, it would probably have resulted in the error right from the beginning.
Because of this caching done by ART, in general I prefer to clear the cache when I update spektrafilm (as well as for spectral film simulation).

1 Like