26 Replies Latest reply on Jun 20, 2012 6:38 AM by DawMatt

    Changing Develop Settings

    John Spacey Level 1

      Hi peeps

       

      There seems no way of changing a photo's develop settings except via applying a develop preset. is this true.

       

      I've found

       

      photo:getDevelopSettings()

       

      but sadly nothing to

       

      "addDevelopSettings()"

        • 1. Re: Changing Develop Settings
          areohbee Level 5

          John Spacey wrote:

           

          There seems no way of changing a photo's develop settings except via applying a develop preset. is this true.

           

          John - that is correct.

           

          I often have a plugin delete, upon startup, all temporary presets used last time around for on-the-fly adjustments. Rather than letting them accumulate forever, or deleting them immediately after use.

           

          Note: The preset name is what appears in the users's edit history list.

           

          R

          • 2. Re: Changing Develop Settings
            John Spacey Level 1

            Cheers

             

             

            Oh well, a bit messy. I'm just writing a plug to change Noise Reduction values based upon the ISO of the photo. Creating 28 dev presets for ISO80 to ISO51200 was tedious

            • 3. Re: Changing Develop Settings
              areohbee Level 5

              John Spacey wrote:

               

              Oh well, a bit messy. I'm just writing a plug to change Noise Reduction values based upon the ISO of the photo. Creating 28 dev presets for ISO80 to ISO51200 was tedious

              I know what you mean, on both counts.

               

              In case you want to avoid writing yourself, you may be able to use my CollectionPreseter for that, or JF's Bulk Develop plugin.

               

              Rob

              • 4. Re: Changing Develop Settings
                John Spacey Level 1

                Cheers I'll check em out

                • 5. Re: Changing Develop Settings
                  areohbee Level 5

                  Might be worth looking at mine for example source code, even if after checking 'em out, you still want to write yourself .

                   

                  R

                  • 6. Re: Changing Develop Settings
                    John Spacey Level 1

                    Yeah JF's code is, errrr, "encrypted"

                    • 7. Re: Changing Develop Settings
                      areohbee Level 5

                      John Spacey wrote:

                       

                      Yeah JF's code is, errrr, "encrypted"

                       

                      Most people compile and/or encrypt before releasing to public, so the code is unreadable and/or protected.

                       

                      That's why I recommended looking at mine - it's in source format.

                       

                      Rob

                      • 8. Re: Changing Develop Settings
                        DawMatt Level 3

                        Hi,

                         

                        I think Rob was suggesting that either his or Jeffrey's plugin might

                        satisfy your need so you wouldn't need to bother writing a plugin at all.

                         

                        Alternatively check out Rob's source if you want to see how others have

                        tackled the problem in code.  I expect you'll either need to use his

                        framework with your plugin or translate from it to pure Lua/LR SDK to reuse

                        the code, but it should give you an idea what is going on.

                         

                        FYI Jeffrey and I discussed this a while back and he uses the same basic

                        technique discussed here so you aren't losing anything by not being able to

                        check out his encrypted code.

                         

                        Thanks, Matt

                        (Apologies for the brevity - sent from my Android)

                        • 9. Re: Changing Develop Settings
                          John Spacey Level 1

                          Hi Matt.

                           

                          yes understood thanks - I cracked it by interrogating each photo for it's ISO value and using a series of of if then statements to apply the relevant Dev Preset.

                           

                          I still don't understand why we aren't allowed to change a develop value without having to go through a preset route. I wodner if Adobe can explain the reason?

                          • 10. Re: Changing Develop Settings
                            areohbee Level 5

                            John Spacey wrote:

                             

                            I wonder if Adobe can explain the reason?

                             

                            I'm sure they could, and doubt they will (what was the date of the last Adobe response on this forum? - hint: it wasn't in 2012).

                             

                            My guess: it was easier to wire plugins up to the preset mechanism than the develop slider handlers...

                             

                            Obviously, they could have used preset mechanism under the hood, and still supported methods like "change this setting or that", but I'm glad they didn't, since now it's clear - you need to roll develop settings into a package that will be handled as a preset, and it will block for catalog access...

                             

                            Cheers,

                            Rob

                            • 11. Re: Changing Develop Settings
                              DawMatt Level 3

                              Hi,

                              John Spacey wrote:

                               

                              I wonder if Adobe can explain the reason?

                               

                              I think the simplest explanation here is contained in the API Reference entry for photo:getDevelopSettings();

                               

                                   WARNING:The develop settings APIs are considered experimental. You should not depend on the contents of the settings table remaining compatible in future versions of Lightroom. The definitive list is the one shown in the UI.

                               

                              My interpretation: they chose to release the develop APIs because people wanted them, even though the APIs weren't as complete as they would have liked. So the APIs are known to have rough edges but I'd rather have something than nothing.

                               

                              Rob, I think there is something in what you say about this being a more efficient way to balance the ability to modify develop settings and blocking catalog access.

                               

                              Thanks,

                              Matt

                              • 12. Re: Changing Develop Settings
                                John Spacey Level 1

                                I did note the 'warning' in the API reference which says "

                                WARNING:The develop settings APIs are considered experimental. You should not depend on the contents of the settings table remaining compatible in future versions of Lightroom"

                                 

                                I interpreted this as saying that the develop settings may not be compatible with future versions of lightroom.  Which looking at the differences in develop settings available between PV2010 and PV 2012 this makes perfect sense.   e.g Obvisouly no point in applying a Fill Light setting to a PV2012 process.  

                                 

                                I can't see how that "Warning" would explain why there isn't a setDevelopSettings() function though.   We can obvisouly change develop settings so the possible changing list of develop parameters as warned about isn't a block to that, we are just restricted to channelling settings through a develop preset.

                                 

                                Also AFAIC see the list of develop settings we can change via a develop preset is ciomplete for each Process Version

                                 

                                I wonder if there's an adobe employee who we could ask about this?

                                • 13. Re: Changing Develop Settings
                                  areohbee Level 5

                                  Missing (for writing):

                                   

                                  ToneCurveEnable

                                  Crop settings

                                  Orientation

                                   

                                  Anybody know of any others?

                                   

                                  PS - Eric Scouten used to participate regularly in this forum, but Adobe participation ceased when Chet Drarvik took over.

                                   

                                  Rob

                                  • 14. Re: Changing Develop Settings
                                    DawMatt Level 3

                                    John Spacey wrote:

                                     

                                    I can't see how that "Warning" would explain why there isn't a setDevelopSettings() function though.   We can obvisouly change develop settings so the possible changing list of develop parameters as warned about isn't a block to that, we are just restricted to channelling settings through a develop preset.

                                    Directly explain it? No. The point I was trying to make was the Develop Settings APIs are considered experimental. I'm pretty sure they are the only part of the SDK marked as such. The design for them isn't 100% complete/finalised or they wouldn't have been marked as such. An incomplete/yet-to-be-finalised design could easily explain why an SDK function you'd expect to be there isn't.

                                     

                                    John Spacey wrote:

                                     

                                    Also AFAIC see the list of develop settings we can change via a develop preset is ciomplete for each Process Version

                                     

                                    I wonder if there's an adobe employee who we could ask about this?

                                    To be clear, you are saying the list of develop settings you can change is incomplete for the various Process Versions? Have you tried the missing ones and they don't work, or is it just that the doco doesn't mention them? I'm hoping its just a doco issue as that would be much easier for them to fix.

                                     

                                    Rob has already started a list of missing settings that can't be written. If you could add your observations to the list it would be appreciated. Then we can try to find out whether this is a doco issue, bug, or design limitation.

                                     

                                    Matt

                                    • 15. Re: Changing Develop Settings
                                      DawMatt Level 3

                                      Hi Rob,

                                      Rob Cole wrote:

                                       

                                      Missing (for writing):

                                       

                                      Thanks for starting the list.

                                       

                                      Are these items missing from the doco but work anyway, missing from the doco and don't work, or are present in the doco and don't work? Trying to work out how this gap is likely to be classified (bug, feature, or ?).

                                       

                                      Matt

                                      • 16. Re: Changing Develop Settings
                                        areohbee Level 5

                                        Not sure about doc (since Adobe said doc is not bottom-line, I wasn't really using it) - but they are the ones I remember that don't work.

                                         

                                        Background: once upon a time I was trying to figure out if it would be possible to save settings and restore them, e.g. virtual copy. These were ones that could not be restored to a photo, thus a photo could not be recreated, dev-wise from it's saved settings.

                                         

                                        Also, I have dev adjustment plugins that turned up these dev-settings as non-adjustable.

                                         

                                        Cheers,

                                        Rob

                                        • 17. Re: Changing Develop Settings
                                          John Spacey Level 1

                                          I haven't had chance to try them all yet, but I was assuming that if you could store the dev setting in a dev preset, then callign a dev preset via plugin code then you could apply it to a photo?

                                          • 18. Re: Changing Develop Settings
                                            areohbee Level 5

                                            John Spacey wrote:

                                             

                                            I haven't had chance to try them all yet, but I was assuming that if you could store the dev setting in a dev preset, then callign a dev preset via plugin code then you could apply it to a photo?

                                             

                                            I didn't follow that. I mean most dev settings can be applied as you've described, but a few are ineffective (the ones I mentioned, at least).

                                             

                                            ?

                                            • 19. Re: Changing Develop Settings
                                              John Spacey Level 1

                                              Sorry, I meant "apply" as in "actually doing something.

                                              • 20. Re: Changing Develop Settings
                                                areohbee Level 5

                                                Sorry John, I'm lost. Can you please restate the question, if there is one, or the statement if not a question? -thanks.

                                                • 21. Re: Changing Develop Settings
                                                  John Spacey Level 1

                                                  I was assuming that if a develop setting can be written to a preset ( in LR itself ) then a plugin can also apply these settings as it can call a Dev preset.

                                                   

                                                   

                                                  btw

                                                  - I just noticed your small list above ....

                                                   

                                                  ToneCurveEnable

                                                  Crop settings

                                                  Orientation

                                                   

                                                   

                                                  Would adobe class orientation as specifically a develop setting?  Crop settings should be, but then they can't be applied in a Dev Preset.

                                                  • 22. Re: Changing Develop Settings
                                                    areohbee Level 5

                                                    John Spacey wrote:

                                                     

                                                    I was assuming that if a develop setting can be written to a preset ( in LR itself ) then a plugin can also apply these settings as it can call a Dev preset.

                                                     

                                                    I assume that as well, although I haven't verified all cases. You can't enable/disable sections using reglar presets, but they can be set in preset applied by plugin. Actually, it wouldn't surprise me if it could be done using a hand-edited preset too, but haven't checked (there is no UI for it, in any case).

                                                     

                                                    Crop settings are clearly not settable in reglar preset: many forum posts requesting it.

                                                     

                                                    Orientation could be handled like a dev adjustment but isn't.

                                                     

                                                    Thanks,

                                                    Rob

                                                    • 23. Re: Changing Develop Settings
                                                      John Spacey Level 1

                                                      Rob Cole wrote:

                                                       

                                                      John Spacey wrote:

                                                       

                                                      I was assuming that if a develop setting can be written to a preset ( in LR itself ) then a plugin can also apply these settings as it can call a Dev preset.

                                                       

                                                      I assume that as well, although I haven't verified all cases. You can't enable/disable sections using reglar presets, but they can be set in preset applied by plugin. Actually, it wouldn't surprise me if it could be done using a hand-edited preset too, but haven't checked (there is no UI for it, in any case).

                                                       

                                                      Crop settings are clearly not settable in reglar preset: many forum posts requesting it.

                                                       

                                                      Orientation could be handled like a dev adjustment but isn't.

                                                       

                                                      Thanks,

                                                      Rob

                                                       

                                                      Unless I'm misinterpreting what you mean by enable/disable these parameters enable or disable dewvelop sections in a regular Dev Preset

                                                       




                                                      EnableCalibration = false,



                                                      EnableColorAdjustments = false,



                                                      EnableDetail = false,



                                                      EnableEffects = false,



                                                      EnableLensCorrections = false,



                                                      EnableSplitToning = false,



                                                      EnableToneCurve = false,

                                                       

                                                      I remembered this as I'd recently created a Develop Preset to apply on import which switched off most sections.

                                                      • 24. Re: Changing Develop Settings
                                                        areohbee Level 5

                                                        Them are they, however I can't find a UI to support it, and last I checked EnableToneCurve did not work.

                                                         

                                                        ?

                                                        • 25. Re: Changing Develop Settings
                                                          John Spacey Level 1

                                                          Maybe it only works from the LR UI if you disable them and then save a Dev preset with those sections ticked in the update preset dialog

                                                          • 26. Re: Changing Develop Settings
                                                            DawMatt Level 3

                                                            Hi,

                                                            John Spacey wrote:

                                                             

                                                            I was assuming that if a develop setting can be written to a preset ( in LR itself ) then a plugin can also apply these settings as it can call a Dev preset.

                                                             

                                                            Sounds like a reasonable assumption. But given Rob's feedback on what doesn't work, it seems the values accessible via a preset:getSetting() call might be a more accurate view of what can be set. Assuming you extrapolate and add the PV2012 equivalents to that list. I'm sure PV2012 support would have made it into the applyDevelopPreset() functionality but that part of the API Ref doesn't reflect this.

                                                             

                                                            John Spacey wrote:

                                                             

                                                            - I just noticed your small list above ....

                                                             

                                                            ToneCurveEnable

                                                            Crop settings

                                                            Orientation

                                                             

                                                             

                                                            Would adobe class orientation as specifically a develop setting?  Crop settings should be, but then they can't be applied in a Dev Preset.

                                                            I'm pretty sure orientation is treated as a metadata item rather than a develop setting. This would also contribute to the rotate feature not working for videos.

                                                             

                                                            The other two aren't listed in the fields supported by preset:getSetting() so it would seem their absence is by design.

                                                             

                                                            Matt