3 Replies Latest reply on Sep 15, 2010 3:28 PM by areohbee

    SDK v3.0 Compatible with 2.4

    Ed.Macke Level 3

      Just starting to look into LR plug-in work.

       

      I'm still on LR v2.4.


      My question is whether the currently available SDK 3.0 for LR would be backwards compatible with LR 2.4, or do I need a 2.x SDK (and if so, where could I find that).

        • 1. Re: SDK v3.0 Compatible with 2.4
          areohbee Level 5

          Hi Ed,

           

          3.0 is "theoretically" (read: imperfectly) backward compatible with 2.0.

           

          In other words, you should be able to set the minimum SDK to 2.0 and the other version number to 3.0 and then take care not to use 3.0 functions in a 2.0 environment. Or, set the minimum SDK to 2.0 and the other version number to 2.0 as well, in which case what you will actually have is SDK 3.0 emulating 2.0 (e.g. disallowing 3.0 functions).

           

          in the former case, you have plugins that work in Lr2 but Lr3 users may enjoy advantages. In the later case, you have a plugin that works the same for Lr2 users as Lr3 users, theoretically.

           

          There are some differences however between Lr2's implementation of Lr2 SDK and Lr3s implementation of the Lr2 SDK, and so you still need to test your plugin on both platforms to ensure compatibility. Unfortunately, I don't remember all the differences I've encountered, however I do believe I have started a thread about each on this forum, with the possible exception of:

           

          - Global variables need to be initialized before use in Lr2's implementation of SDK2 (error thrown if not) - not so in Lr3's implementation of SDK2 (value is nil if not).

           

          Rob

          • 2. Re: SDK v3.0 Compatible with 2.4
            Ed.Macke Level 3

            Rob,

             

            Thanks. That makes it as clear as mud Not your explanation, but rather how the SDK works.

             

            So if I want a plug-in that will work for 2.0 and 3.0, would the safest option be to specify 2.0 for both the minimum SDK and other version?

             

            Right now, I'm just developing plug-ins for my own personal use, so running only LR 2.4 is my only concern.

             

            However, I want to make sure I don't "paint myself into a corner" when/if I upgrade to LR 3.x, or release my plug-in to the world and want to support both versions.

             

            Would the bigger issue to simply make sure I don't use and LR 3.0-specific functions?

             

            Thanks again!

            • 3. Re: SDK v3.0 Compatible with 2.4
              areohbee Level 5

              Ed.Macke wrote:

               

              Thanks. That makes it as clear as mud Not your explanation, but rather how the SDK works.

               

              You're welcome. And, I agree it is confusing.

               

               

              Ed.Macke wrote:

               

              So if I want a plug-in that will work for 2.0 and 3.0, would the safest option be to specify 2.0 for both the minimum SDK and other version?


              Yes. The only reason to specify 3.0 as the SDK would be to use functions only available in SDK 3.0.

               

               

              Ed.Macke wrote:

               

              Right now, I'm just developing plug-ins for my own personal use, so running only LR 2.4 is my only concern.

               

              However, I want to make sure I don't "paint myself into a corner" when/if I upgrade to LR 3.x, or release my plug-in to the world and want to support both versions.

               

               

              There are two issues: SDK compatibility, and Lightroom compatibility. For instance, some things need to be done in a task in Lr3 that did not need to be in Lr2, regardless of which SDK minimum/other versions you are using.

               

               

              So, in your case, the thing to do is set both versions to 2.0, then learn how Lr3 is different when the time comes. Most simple 2.0 plugins will work in Lr3 without changing a thing. Most complex plugins will require "re-integration"...

               

              PS - Although confusing, I think Eric Scouten, for the most part, has done an outstanding job in being able to support old plugins on new versions of Lightroom.  Although some things are different and not backward compatible, there is usually a semi-intelligible message/hint that will allow you to figure out what to do. And, of course, there is this forum...

               

              Rob