I can’t manage to make Lightroom profile work | Intech Studio
πŸ’¬ general Grid

I can’t manage to make Lightroom profile work

Ubuntu Productions
Ubuntu Productions Β· Β· 114 replies

Hello πŸ‘‹

Is there any guide of how to make the VSN1 controller work with Lightroom? Right now all I am able to do is a (frustrating) trial and error.

  1. Nothing was working at first. Somehow I managed to understand that the Lightroom package must be installed. I installed it.

  2. Then inside the Lightroom package it said that the plugin must be installed, but no instructions about what this even means. Is it the MIDI2LR? that needs to be isntalled? is it a custom plugin that needs to be installed in Lightroom? no idea. I understood after a long time that I needed to add lightroom-plugin.lrplugin to Lightroom. Finally a green dot that indicates that the connections is done!

  3. Still, even if I have the green light in the Lightroom package, the right panel tells me that is missing a package action, what does that even means?

  4. What profile do I need to use, the Lightroom Control or the Lightroom prof?

Why there are no guides about the controller?

I hope someone can help to explain how to use the VSN1 (or any other controller) with Lightroom πŸ™

Love! πŸ’š

Replies (50)

sabo sabo Β·

Hey, So if you installed the package in the Editor your next step is to select the Lr package and open the lrplugin folder location

sabo sabo Β·
image.png
sabo sabo Β·

Then, in Lightroom Classic you go File->Plugin Manager-->Add and select this folder: ....Documents\grid-userdata\packages\package-lightroom-classic

sabo sabo Β·

It's in the same folder that opens up when you press lrplugin folder location in Grid Editor

sabo sabo Β·

once you see this inside Lightroom

image.png
sabo sabo Β·

and this inside Grid Editor you are good to go!

image.png
Ubuntu Productions Ubuntu Productions Β·

Hello Sabo πŸ‘‹ Thank you for your reply.

I noticed that the structure of my message was not the best and I will try to make it more clear now.

There are two main things I wanted to address:

  1. I could not find any documentation about the Lightroom integration and the instructions were not clear

  2. Even when eventually with trial and error I got the green dot indicating a successful connection, it still doesn’t work

Ubuntu Productions Ubuntu Productions Β·

About point 1: As I said I could not find any documentation about the integration, I had to guess that I needed to install an extra package (Lightroom package), and when the package was installed, the instructions about the plug-in were insufficient.

As you can see in your own screenshot, it doesn’t say what the plug-in is for, and that you need to actually install the plug-in in Lightroom and not in Grid

image.png
Ubuntu Productions Ubuntu Productions Β·

About point 2: Even when with trial and error I managed to get this green dot of successful connection, I still got this message β€œmissing package action”

image.png
narayb narayb Β·

Yeah these are weird because these should have been updated in teh Cloud. Which profile did you load on your module?

narayb narayb Β·

The one called Lightroom prof?

narayb narayb Β·

Sadly that uses old, beta functions that have to be updated, give me 10 mins and I'll update them best I can.

narayb narayb Β·

Recreated it under here, should now show and work properly.
Let me know if you run into any more trouble.

image.png
Ubuntu Productions Ubuntu Productions Β·

I have unsinstalled Grid and installed it again, but still not working. Used "Updated Lightroom Profile of sabo 0913"

image.pngimage.pngimage.png
Ubuntu Productions Ubuntu Productions Β·

Maybe I am not loading the profile properly?

Ubuntu Productions Ubuntu Productions Β·

ACtually I think that no config is working on my system πŸ˜… I loaded many profiles and most di the timeour errors and the VSN1 basically stops working until I reset the page

Ubuntu Productions Ubuntu Productions Β·

But these buttons work

image.png
kkerti kkerti Β·

@user I gave an other update for the profile, now it does almost what it should, expect that it doesn't show on the screen the last thing you interacted with. It looks like we have a bug in the firmware, where named element values cannot be retrieved.

Other than that, the jog changes zoom and the buttons do rating, prev and next photo and other functions.

kkerti kkerti Β·

So far we have no specific full profile for VSN + Lightroom, but we have a setup for EN16 and BU16 as featured in a workflow on the website. There is also a neat option to drill down in a profile, where the individual configs from the control elements can be loaded across modules.

image.pngimage.png
Ubuntu Productions Ubuntu Productions Β·

Thank you for the update, but that doesn't help me, I still see a "Missing Package Action!" package-lightroom. Even with the package installed and the plugin connected.

Ubuntu Productions Ubuntu Productions Β·

I just noticed that "Add action block" button, and there are only a few of them, might have something to do with it?

image.png
hovadagod hovadagod Β·

I am having the same issue I have installed the plugin and loaded the profile but I still get the error mesage that the package is missing

Screenshot_2025-09-14_at_5.02.11_PM.png
Hybrid Hybrid Β·

Hello @user and @user, I'm not part of the Intech team but I've been a beta tester of the VSN1 for the past couple of months and I am working on some new features for the Lightroom package, so I can help you figure out what is happening here.

If you're seeing the "Missing Package Action!" message, that's because the profile you've loaded still has a reference to the old internal name of the Lightroom Package. Previously it was named package-lightroom but about a month ago it was renamed to package-lightroom-classic. Unfortunately that causes this message to appear because the Grid Editor no longer finds any package called package-lightroom loaded.

@user and @user, when you made your updates to Sabo's original profile, did you have the latest version of the Lightroom Package installed? When I load the Updated Lightroom Profile of sabo 0913 profile, it's still referencing the old package ID (package-lightroom) so it just needs to be updated to the new package-lightroom-classic identifier. FYI, the change occurred here.

Hybrid Hybrid Β·

Hopefully the profile can be updated once the Intech guys are online again but in the meantime, @user and @user, you can fix this by deleting the action that is missing and adding it again yourself as a new Lightroom action.

I realise this is a bit of a pain but given how personal these workflows tend to be, it's valuable to understand how to set it up yourself so you can customise it to your own preferences. I'm still figuring out my ideal setup but I'll share it in the profile cloud once I'm happy with it.

Hybrid Hybrid Β·

I should also add that using the Lightroom Package with the Grid Editor isn't the only way to work with Lightroom – you can also set the VSN1 and other modules up as more traditional MIDI devices (ie. they send MIDI messages when you push buttons and twist the encoders) and then you can use MIDI2LR to set it up. I have mixed feelings about MIDI2LR because the interface is very clunky but one advantage it has is 10+ years of active development behind it.

Ultimately, I think the Lightroom Package from Intech will be the best way to get the most out of the hardware and also provide a nicer setup experience but there's still work to be done to reach that point. There are some Lightroom features that are not yet supported by this package but I've already been working on adding support for Develop Presets and a few other features I rely on.

Let us know anything you're struggling with and we'll find a solution πŸ™‚

hovadagod hovadagod Β·

Thank you I will try that work around in the meantime. But I also noticed a bug with the next and previous action within the Lightroom package. It skips ahead 3 photos on each press vs one

Hybrid Hybrid Β·

If you're seeing it skipping ahead like that, it's possibly due to the command being sent more than once. That's why the Press/Release blocks are used: so you can tell it to only trigger the action when you press or release the button. If you just add the action to the Button, it will trigger when you press AND release.

Please attach a screenshot of your setup if you still can't fix it with the above details.

hovadagod hovadagod Β·

That fixed it @user thank you. can you point me to any documentation after looking at the code in the setup screen of the grid editor I now have a better understanding of how things work. I now want to configure buttons 9 to 12 to toggle different actions for the same button. And program the wheel to adjust a selected action.

Hybrid Hybrid Β·

Glad to hear that fixed it πŸ™‚ Have you had a look at the main documentation site with the wiki and reference manual? This is something that the team is working to update but there's a lot going on at the moment, so it might not contain all the latest information. The other place to find info is on Github but that's more difficult. Do you have much programming experience?

Maybe the best thing is if you describe more about what you're trying to achieve – for example, what do you mean by "toggle different actions for the same button"? I think I know what you want but I don't want to make any assumptions. Making this work is totally possible but like with any kind of more advanced programming, there's no fixed way to achieve it. One approach might be to set a global variable that tracks the mode you're in an then determine the action of other controls based on that.

I'm working on a similar approach for my setup, so maybe we can share some notes on it.

Hybrid Hybrid Β·

PS: I have to disappear now for a while but I'll answer once I'm back πŸ‘‹

hovadagod hovadagod Β·

I am a Front End developer I mainly write a lot of JS. Thank you for the links I will take a look at the docs and code exampoles. For more context I have a vsn1 and a tek2 as my two modules I want the tek 2 to be configured with the view and navigation controls and use the buttons below the screen on the vsn1 to toggle between different editing tabs for the keys below. Then when I press a key it should allow me to control that param with the endless wheel.

Hybrid Hybrid Β·

Great, as a front end dev, you shouldn't have too much trouble making it all work. I have a full-stack dev background and although I'm not that familiar with Lua, you can pick it up pretty quickly.

I've got the same setup as you (VSN1 + TEK2) but I've also got an EN16. My plan is quite similar for the controls but I haven't finished implementing it yet because I was trying to add support for a couple of missing features.

To use the 4 small buttons under the screen as layer toggles for editing, setting a global variable and updating it on press is probably easiest. Then the other controls can check to see what the current layer/tab is and issue the appropriate command. The main challenge will be fitting into the character limits but you can make little wrapper functions to reduce the amount of code needed. I haven't fully figured that out myself but I'll share whatever solution I end up with.

You mentioned having the buttons determine which param the endless wheel controls – do you plan on doing that for all 3 of them (two on the TEK2 + one on the VSN1)? I've been pondering how to logically divide the params into groups of 3 in my setup...

Another thing to be aware of is that buttons can have multi-step values, which can be useful for cycling through options. More info on that here.

Ubuntu Productions Ubuntu Productions Β·

Hello πŸ‘‹

Thank you very much, that makes a lot of sense ☺️ I edited the code on the actions to package-lightroom-classic and they worked fine πŸ‘

Ubuntu Productions Ubuntu Productions Β·

|| Hopefully the profile can be updated once the Intech guys are online again but in the meantime, @Ubuntu Productions and @user, you can fix this by deleting the action that is missing and adding it again yourself as a new Lightroom action. I realise this is a bit of a pain but given how personal these workflows tend to be, it's valuable to understand how to set it up yourself so you can customise it to your own preferences.

Is there any guide or basic info about how to work with the actions??

Hybrid Hybrid Β·

Hello! Can you elaborate on the kind of information you're looking for with regard to the actions? Do you mean using the actions generally in the Editor or more specifically the Lightroom actions?

If you're after more general information, the documentation covers it here: https://docs.intech.studio/guides/grid/grid-basic/editor-120 (just be aware that some of the screenshots are a bit outdated because a lot has changed recently with the Grid Editor as new features have been rolled out - documentation will be updated in the future)

narayb narayb Β·

The weird thing is that you shouldn't have to do that, as that was exactly what I did back when I updated the Profile on the weekend. I went over all the blocks and swapped them.

narayb narayb Β·

After that they worked on a fresh Lightroom package install.

Hybrid Hybrid Β·

Hi @user, that's what I would have expected... πŸ€” Is it possible that we're getting an older / cached version from the Profile Cloud? I remember seeing something about there being different versions of the Profile Cloud and it seems that I'm on production - 2025-09-03 (b479390) according to the little text at the bottom (interestingly, clicking on the version hash throws an exception: Uncaught ReferenceError: PUBLIC_COMMIT_HASH is not defined at line 47893 in components.js).

This should probably go in a separate thread / suggestion but it would be useful having extra metadata like "last updated" for each profile. Actually, it would be cool if the whole thing was a bit more inspectable so we could see the source code before downloading it, even if it's the raw JSON. I know that's a niche request though and not useful to most people πŸ˜…

Ubuntu Productions Ubuntu Productions Β·

I don't know πŸ˜… everyuthing feels so complex now that I don't really know where to start πŸ™ƒ

For example, if I work with Lightroom "Develop control" action, I see I can put a parameter name and a value, but unless the value is not, for example, 0,5 increases, it is not very helpful to have a button to assign a exposure of +1

image.png
Hybrid Hybrid Β·

Don't worry, it's normal that it feels overly complex in the beginning but I can assure you it eventually becomes more familiar and comfortable to use (plus there's a lot of work happening behind the scenes to make the Grid Editor more user friendly in general).

A couple of quick questions for you so I can get an idea of where you're coming from:

  1. Have you ever used MIDI2LR or other MIDI controllers in the past?
  2. Do you have any programming experience?

Neither of those are prerequisites but it helps shape any answers I provide...

Ubuntu Productions Ubuntu Productions Β·
  1. Nope! πŸ™ƒ
  2. Just HTML + CSS πŸ˜…
hovadagod hovadagod Β·

Yea so on the TEK2 when I press element[x] it sets the two endless wheels to a pair of adjustments like temp and tint. The same for exposure and contrast etc... Free time is limited for me so I wont have as much time to dedicate creating a custom config as I would like. But I will keep and eye on the discord to watch how things develop.

One thing that is also not clear is how you set the steps for each adjustment. When I configure an endless wheel to control exposure it moves the exposure by one full stop package_send("package-lightroom-classic", "develop", "Exposure", val, 1) but when changing it to package_send("package-lightroom-classic", "develop", "Exposure", val, 0.1) Its not having the desired outcome of changing the stops to adjust .1 at a time. I could just be editing the wrong param. Im gonna download all of the repos when I have time and index them with claude code or something to try and figure more of this out my self πŸ˜…

Hybrid Hybrid Β·

No problems! Since you haven't used MIDI controllers before with Lightroom, it might help to have a quick explanation of how it works:

Firstly, Lightroom has an API that lets us perform actions and set values programmatically. This API is accessible from Lightroom plugins, which is why the Grid Editor / Lightroom Package requires the installation of a plugin on the Lightroom side. This plugin is responsible for telling Lightroom what to do (eg. "Change exposure to +0.5ev" or "Go to Library module"). The next part of the puzzle is how the Lightroom plugin receives the instructions from the Grid hardware: in simple terms, the Grid Editor receives the input from the modules (button presses, encoder rotation, etc) and then it processes that to identify which control element is activated and which actions it should be run (based on the actions you define in the Grid Editor interface). When you have added a Lightroom Package action like "Develop Control", the Grid Editor will pass that instruction on to the Lightroom Package, which then sends a message via sockets to the Lightroom Plugin inside Lightroom itself (that's why you need to ensure you have the little green dot 🟒 that confirms the Lightroom Package is able to communicate with the Lightroom Plugin). Once the Lightroom Plugin receives the message, it processes it and applies the change, which you see in Lightroom directly.

⬆️ Hopefully that makes sense but if not, don't worry – it's not essential that you understand all the inner workings.

Next, I want to make sure I understand what you're trying to achieve. In your message, you posted a screenshot of the Element 8 (Endless) control on the VSN1 with a Temperature adjustment but you also mention changing exposure via a button. I'm guessing that you will want to use the jog wheel on the VSN1 for adjustments like exposure, temperature, etc but I don't want to make assumptions. Can you describe briefly what you want to happen when using the controller?

Hybrid Hybrid Β·

There are a couple of different approaches to changing how other control elements behave when pushing a button: you could target the endless wheel elements directly and update a self.* value you've set on them (as shown in this video), or you can set a global or some other accessible value that you check from the endless wheel when triggering a change. Do whatever makes most sense for you...

Your front end experience will put you in a good position for understanding all the parts of the system (lots of JS/TS/Svelte used).

Regarding setting the steps for adjustments, this is something that needs work because right now it's not very intuitive. The parameters in LR have different ranges (eg. Exposure is -5ev to +5ev normally while Temperature can be 2000–50000), so there probably needs to be some kind of normalisation applied to make it behave more consistently.

With the current implementation, you can simply send a value of val / 10 if you want 0.1ev increments.

FYI, the 5th parameter you tried changing is actually the isRelative flag (see here), which is a whole other topic but is something I've discussed with @user, who is responsible for the package. Relative mode is important and there will likely be some changes to improve it soon. More on this later...

Ubuntu Productions Ubuntu Productions Β·

Yes, all understood to this point, thanks! πŸ™ I know what API's are, I work with them all the time and I understand the plugin receive an input, do a translation and sends a signal that Lightroom API can understand. But thank you for putting it in so clear words, I think the team should save these posts to create a starting/beginers guide ☺️ Thank you so much for taking your time πŸ’š


Ubuntu Productions Ubuntu Productions Β·

|| Next, I want to make sure I understand what you're trying to achieve. In your message, you posted a screenshot of the Element 8 (Endless) control on the VSN1 with a Temperature adjustment but you also mention changing exposure via a button. I'm guessing that you will want to use the jog wheel on the VSN1 for adjustments like exposure, temperature, etc but I don't want to make assumptions. Can you describe briefly what you want to happen when using the controller?

-> I suggested a button to simplify things, though ideally it would be linked to the wheel. To begin understanding which values to enter in the fields to change the amount, I imagined a button that increases exposure by increments of 1 by default. That may not be very helpful, so what if I want the button to change the behaviour and increment by 0.1 with each press? But maybe this answers it? πŸ‘‡

|| With the current implementation, you can simply send a value of val / 10 if you want 0.1ev increments.

Ubuntu Productions Ubuntu Productions Β·

|| Regarding setting the steps for adjustments, this is something that needs work because right now it's not very intuitive. The parameters in LR have different ranges (eg. Exposure is -5ev to +5ev normally while Temperature can be 2000–50000), so there probably needs to be some kind of normalisation applied to make it behave more consistently.

I think, ideally, it could include a table where we can change the values that the plugin uses as references for how much to adjust each parameter.

Hybrid Hybrid Β·

You're most welcome πŸ™‚ We're all figuring this out as we go and it's a collaborative effort here, built on top of the great open-source hardware/software that Intech has developed.

Hybrid Hybrid Β·

If you're using the wheel (endless) to change the value of the exposure, then changing the action to send val / 10 is enough to get it to work in 0.1ev increments at the moment. The complicated part is that the different develop parameters in LR have different ranges and it's further complicated that this changes depending on the file you're editing (eg. for JPEG images, the white balance temperature adjustment is much smaller than the 2000K–50000K range you get with RAW files)

Since I wrote my previous replies earlier today, I've been looking into the Lightroom API and I have some ideas for how we can make the Grid Editor behave in a more predictable way, essentially by normalising / scaling the values to the appropriate range for the adjustment you're making. The complexity for this shouldn't have to be handled when you're just trying to set up your controller to make changes in Lightroom, so that's why I'm proposing that we update the package to handle it...

Hybrid Hybrid Β·

I think, ideally, it could include a table where we can change the values that the plugin uses as references for how much to adjust each parameter.

This is something that I think we can handle in the Lightroom Package. If we did it this way, it would be automatic but you'd still be able to override it by applying your own multiplier to the val you send. The ideal for me would be for it to "just work" with sensible defaults. Implementing a lookup table is tricky due to character limits in the code currently, so that's another reason to have it handled at the package level.

PS: I noticed you were trying to quote some of my messages – the easy way to do that is just put a > in front of the line you're quoting πŸ™‚

Discord

View on Discord

This post is from the Intech Studio Discord community.

Open thread β†’