Lightroom SDK: LrDevelopController broken in languages other than English, German, Swedish

  • 16
  • Problem
  • Updated 8 months ago
  • Acknowledged
  • (Edited)
Much of the LrDevelopController API is broken in languages other than English German or Swedish. When a user switches the language to one of the above, the plugins work normally. See https://groups.google.com/forum/#!topic/midi2lr/BSk7LVw7GTY for a conversation regarding this.

[Update: see this reply for details and how to reproduce: https://feedback.photoshop.com/photoshop_family/topics/the-new-release-of-lr-classic-has-a-broken-ap....  -- John R. Ellis]
Photo of Rory Jaffe

Rory Jaffe

  • 37 Posts
  • 5 Reply Likes
  • frustrated

Posted 9 months ago

  • 16
Photo of ABHISHEK KUMAR

ABHISHEK KUMAR, Employee

  • 33 Posts
  • 12 Reply Likes
Thanks for reporting the issue. We'll look into it.
Photo of Boudewijn Pelt

Boudewijn Pelt

  • 1 Post
  • 0 Reply Likes
Great, I hope the bug can be fixed quickly. I am experiencing the same problems and I have a lot of customers emailing me that the plug-in does not work.
For now I am advising them to switch to using English.
Photo of Fabiano Cipressi

Fabiano Cipressi

  • 2 Posts
  • 0 Reply Likes
yes I confirm problemi.
Photo of Gary Rowe

Gary Rowe

  • 90 Posts
  • 32 Reply Likes
Does Adobe do QA on these releases? One has to assume so, but for the life of me I don't think I've ever used any other s/w that is still so full of issues after so many versions
Photo of Jérôme Pouille

Jérôme Pouille

  • 1 Post
  • 1 Reply Like
Bug for me too in French version, switching Lightroom to english language to get the plugin working fine
Photo of Fabiano Cipressi

Fabiano Cipressi

  • 2 Posts
  • 0 Reply Likes
italian same problem. Ok english.
Photo of John R. Ellis

John R. Ellis, Champion

  • 3589 Posts
  • 928 Reply Likes
The problem is caused by LrDevelopController.getValue() and setValue() not working properly on these parameter names in languages other than English, German, and Swedish:

Exposure, Contrast, Highlights, Shadows, Whites, Blacks, Clarity

Note that these are exactly the names that map to different develop settings based on the current process version of the photo. For example, the LrDevelopController parameter "Exposure" maps to the photo:getDevelopSettings() key "Exposure2012" for PV 4 and PV 3 (2012) but to "Exposure" for earlier process versions.

Most likely the lookup is now incorrectly doing language translation somewhere in that mapping process. (These keys are all supposed to be in English, as with all keys and parameters in the SDK.)

The workaround is to use "Exposure2012" when dealing with a PV 3 or 4 photo, and "Exposure" for earlier process versions.  That's undocumented but it works. (LrDevelopController seems to accept most of the same parameter names as photo:get/setDevelopSettings().)

Here's a debugger screenshot demonstrating this bug for "Exposure":

Photo of John R. Ellis

John R. Ellis, Champion

  • 3589 Posts
  • 928 Reply Likes
Note that this bug will affect anyone using a hardware controller with LR.  Also see these two reports:

https://forums.adobe.com/thread/2398289
https://forums.adobe.com/thread/2398759 

The latter is from the same person behind the thread Rory Jaffe posted above.
Photo of ABHISHEK KUMAR

ABHISHEK KUMAR, Employee

  • 33 Posts
  • 12 Reply Likes
Logged a bug for the issue. We'll try to get it fixed soon.
(Edited)
Photo of John R. Ellis

John R. Ellis, Champion

  • 3057 Posts
  • 708 Reply Likes
Thanks!
Photo of Dominique Meunier

Dominique Meunier

  • 1 Post
  • 0 Reply Likes
This reply was created from a merged topic originally titled Clavier Midi.

J'utilise un Clavier Midi LaunchControl avec des touches programmées celui-ci fonctionnait très bien jusqu'à la nouvelle version LR CC, certaines vont encore mais pas les autres. Que pouvons
Photo of John R. Ellis

John R. Ellis, Champion

  • 3292 Posts
  • 820 Reply Likes
Google Translation:  "Midi keyboard. I use a LaunchControl Midi Keyboard with programmed keys this one worked fine until the new LR CC version, some still go but not the others. What can"

As you can see from this topic, Adobe has acknowledged the bug and said "we'll try to get it fixed soon."  

Two workarounds:

1. Use LR in English, German, or Swedish.

2. Roll back to LR CC 2015.12 / 6.12.
Photo of Greg Smith

Greg Smith

  • 3 Posts
  • 0 Reply Likes
This reply was created from a merged topic originally titled Lightroom Classic: Midi2Lightroom doesn't work after update (French).

Upgrading from LR to LR classic my MIDI2LR doesn't work properly. I use french language interface
Photo of John R. Ellis

John R. Ellis, Champion

  • 3130 Posts
  • 743 Reply Likes
See the merged topic for details about this acknowledged  LR bug.
Photo of Richard van den Berg

Richard van den Berg

  • 7 Posts
  • 0 Reply Likes
With dutch interface same: no working faders. Switched to english and faders are working.
Photo of Richard van den Berg

Richard van den Berg

  • 7 Posts
  • 0 Reply Likes
Alltough the colours remain in dutch in grid view?:
(Edited)
Photo of Matthew Kauffmann

Matthew Kauffmann

  • 1 Post
  • 0 Reply Likes
This reply was created from a merged topic originally titled Lightroom CC Classic MIDI.

I had previously enjoyed using MIDI2LR to easily edit my photos. Now I can't get the device to interface with LR. I'm told it's a LR bug that needs to be squished. Please bring a can of RAID
Photo of Richard van den Berg

Richard van den Berg

  • 7 Posts
  • 0 Reply Likes
Fixed with 7.0.1 in dutch! :-)
Photo of John R. Ellis

John R. Ellis, Champion

  • 2958 Posts
  • 671 Reply Likes
How are you testing that?  I just tested LR 7.0.1 / MacOS 10.12.6 in Dutch and French and got the same incorrect results:


Photo of Richard van den Berg

Richard van den Berg

  • 7 Posts
  • 0 Reply Likes
With LR 7.0.1 / Windows 10 the sliders are working with MIDI2LR using a Behringer X-Touch mini.

Strange thing is I was using LR 7.0.0 in english and after the update to 7.0.1 Lightroom was back in dutch.
Photo of ABHISHEK KUMAR

ABHISHEK KUMAR, Employee

  • 33 Posts
  • 12 Reply Likes
It's not fixed in 7.0.1. The fix should be there in the next release.
Photo of Richard van den Berg

Richard van den Berg

  • 7 Posts
  • 0 Reply Likes
Even stranger: partly fixed. Sharpening Amount, Noise Reduction Luminance, Dehaze and Angle faders are working in Dutch. Highlights, Shadows, Whites, Blacks and Clarity are not working in Dutch. These are faders I've assigned.

Back to English

Part of the 7.0.2 release?
Photo of John R. Ellis

John R. Ellis, Champion

  • 2958 Posts
  • 671 Reply Likes
"Highlights, Shadows, Whites, Blacks and Clarity are not working in Dutch."

That's right -- the broken settings are Exposure, Contrast, Highlights, Shadows, Whites, Blacks, Clarity.  See the detailed bug report above: 
https://feedback.photoshop.com/photoshop_family/topics/the-new-release-of-lr-classic-has-a-broken-ap...
Photo of Yann Werdefroy

Yann Werdefroy

  • 1 Post
  • 0 Reply Likes
Same problem in French with Lightroom Classic CC 7.0.1 on iMac 27" running High Sierra and Loupedeck plugin 1.3.0.191
Photo of Rory Jaffe

Rory Jaffe

  • 37 Posts
  • 5 Reply Likes
One of my users found a workaround that may help pinpoint the source of the problem. A French user replaced the TranslatedStrings_Lr_xx_XX.txt file with the file from the previous version of Lightroom. At the very least, this fixed Exposure Contrast and Clarity. See https://groups.google.com/forum/#!topic/midi2lr/vOje4y3CNhQ for details.
Photo of Jeffrey Tranberry

Jeffrey Tranberry, Sr. Product Manager, Digital Imaging

  • 14049 Posts
  • 1735 Reply Likes
It looks like this is slated for the next update. Stay tuned.
Photo of Assaf Frank

Assaf Frank

  • 147 Posts
  • 46 Reply Likes
do you know if the issue of Lightroom getting slow over time is also in the next version? 
Photo of Jeffrey Tranberry

Jeffrey Tranberry, Sr. Product Manager, Digital Imaging

  • 14049 Posts
  • 1735 Reply Likes
If we're talking about the issue with high core machines, it's being worked on but I don't believe the changes for that will make the next immediate release. (It's a very complex change)
Photo of Assaf Frank

Assaf Frank

  • 147 Posts
  • 46 Reply Likes
Yes that's it. Can I participate in the beta. I know how to replicate it 100 % of the times.
Photo of Gary Rowe

Gary Rowe

  • 90 Posts
  • 32 Reply Likes
Do your programmers need more training?
Photo of John R. Ellis

John R. Ellis, Champion

  • 3589 Posts
  • 928 Reply Likes
"A French user replaced the TranslatedStrings_Lr_xx_XX.txt file with the file from the previous version of Lightroom."

That confirms the hypothesis that LRDevelopController.getValue() / setValue () are incorrectly translating parameter names for those parameters that depend on process version (there should be no translation at all).  I made a version of TranslatedStrings_Lr_fr_FR.txt, restoring the old CC 2015.12 values for the just the ProcessVersion keys, and getValue() / setValue() now work correctly.  

Here are the precise diffs: 
$ diff -b TranslatedStrings_Lr_fr_FR.txt.orig TranslatedStrings_Lr_fr_FR.txt
343,346c343,345
< "$$$/AgCameraRawController/ProcessVersion/Version1=Version 1 (2003)"
< "$$$/AgCameraRawController/ProcessVersion/Version2=Version 2 (2010)"
< "$$$/AgCameraRawController/ProcessVersion/Version3=Version 3 (2012)"
< "$$$/AgCameraRawController/ProcessVersion/Version4=Version 4 (actuelle)"
---
> "$$$/AgCameraRawController/ProcessVersion/Version1=2003"
> "$$$/AgCameraRawController/ProcessVersion/Version2=2010"
> "$$$/AgCameraRawController/ProcessVersion/Version3=2012 (actuel)"
405,408c404,406
< "$$$/AgCameraRawHistoryState/ProcessVersion1=Version 1"
< "$$$/AgCameraRawHistoryState/ProcessVersion2=Version 2"
< "$$$/AgCameraRawHistoryState/ProcessVersion3=Version 3"
< "$$$/AgCameraRawHistoryState/ProcessVersion4=Version 4"
---
> "$$$/AgCameraRawHistoryState/ProcessVersion1=2003"
> "$$$/AgCameraRawHistoryState/ProcessVersion2=2010"
> "$$$/AgCameraRawHistoryState/ProcessVersion3=2012"
740,743c738,740
< "$$$/AgCameraRawUI/ProcessVersion1=Version 1 (2003)"
< "$$$/AgCameraRawUI/ProcessVersion2=Version 2 (2010)"
< "$$$/AgCameraRawUI/ProcessVersion3=Version 3 (2012)"
< "$$$/AgCameraRawUI/ProcessVersion4=Version 4 (actuelle)"
---
> "$$$/AgCameraRawUI/ProcessVersion1=2003"
> "$$$/AgCameraRawUI/ProcessVersion2=2010"
> "$$$/AgCameraRawUI/ProcessVersion3=2012 (actuel)"