Skip to main content
johnrellis
Legend
July 8, 2022

P: SDK: preset:getSetting() doesn't work on develop presets missing ProcessVersion

  • July 8, 2022
  • 2 replies
  • 2037 views

Calling preset:getSetting() on the attached develop preset "Test LUT Preset.xmp" (which refers to the attached creative profile "Test LUT Profile.xmp") returns incomplete results:

 

{--table: 1
    EnableCalibration = false, 
    EnableColorAdjustments = false, 
    EnableDetail = false, 
    EnableEffects = false, 
    EnableGrayscaleMix = false, 
    EnableLensCorrections = false, 
    EnableMaskGroupBasedCorrections = false, 
    EnableRedEye = false, 
    EnableRetouch = false, 
    EnableSplitToning = false, 
    EnableToneCurve = false, 
    EnableTransform = false, 
    Version = "14.4.1"}

 

Adding the line:

 

crs:ProcessVersion="11.0"

 

to the preset causes preset:getSetting() to return the correct result:

 

{--table: 1
    EnableCalibration = false, 
    EnableColorAdjustments = false, 
    EnableDetail = false, 
    EnableEffects = false, 
    EnableGrayscaleMix = false, 
    EnableLensCorrections = false, 
    EnableMaskGroupBasedCorrections = false, 
    EnableRedEye = false, 
    EnableRetouch = false, 
    EnableSplitToning = false, 
    EnableToneCurve = false, 
    EnableTransform = false, 
    Look = {--table: 2
        Amount = 1, 
        Group = {--table: 3
            ["x-default"] = "John's User Profiles"}, 
        Name = "Test LUT Profile", 
        Parameters = {--table: 4
            ConvertToGrayscale = false, 
            EnableCalibration = true, 
            EnableColorAdjustments = true, 
            EnableDetail = true, 
            EnableEffects = true, 
            EnableGrayscaleMix = true, 
            EnableLensCorrections = true, 
            EnableMaskGroupBasedCorrections = true, 
            EnableRedEye = true, 
            EnableRetouch = true, 
            EnableSplitToning = true, 
            EnableToneCurve = true, 
            EnableTransform = true, 
            ProcessVersion = "11.0", 
            RGBTable = "F0DA8A541E5EA1888608504087D356F2", 
            Version = "14.4.1"}, 
        UUID = "E1B46BBB20E24EE192F794B4BA3F101F"}, 
    ProcessVersion = "11.0",
    Version = "14.4.1"}

 

Obviously, preset:getSetting() should return the correct settings of any preset that appears and works in the Presets panel. No system architect would think that it would be "by design" that preset:getSetting() returns incorrect settings for a preset that works correctly in the Presets panel.

 

This bug tripped up a user of my popular Export LUT plugin, using a preset from a third-party film-emulation preset pack. I can't include it here because it is copyrighted by contact@perfefilm.com,

but if an Adobe engineer wants access, send me a private message. The preset was created by a previous version of LR (crs:Version="13.1"),

 

Detail steps to reproduce:

 

1. Install this plugin:

https://www.dropbox.com/s/y8ijc3nqhptqyab/testpresetgetsetting.lrplugin.2022.07.07.zip?dl=0

 

2. Import the attached preset "Test LUT Preset.xmp" and creative profile "Test LUT Profile.xmp".

 

3. Do File > Plug-in Extras > Test.

 

4. In the plugin folder, open the file "debug.log" and observe the incorrect preset settings returned by preset:getSetting().

 

Tested on LR 11.4.1 / Mac OS 12.4.

This topic has been closed for replies.

2 replies

johnrellis
Legend
October 18, 2022

Verified, thanks.

Rikk Flohr_Photography
Community Manager
Community Manager
October 18, 2022

Greetings,

 

Updates to Adobe Photography Products were released today and contain a fix for this issue. Please refresh your Adobe Creative Cloud App ([Ctrl/Cmd]+[Alt/Opt]+[ R ]) and download the updated version “.0”. 

 

Thank you for your patience. 

Rikk Flohr: Adobe Photography Org