Native Bitfocus Companion control for Adobe Lightroom Classic through LRBridge.
Version 0.4.2 adds a complete ready-to-use preset library while retaining the native Companion actions, live Lightroom slider variables, and context-aware feedback introduced in v0.4.1.
What this repository contains
This repository contains the Bitfocus Companion module for LRBridge.
It does not contain LRBridge itself.
LRBridge is a separate Windows application and Adobe Lightroom Classic plugin. LRBridge must run on the same computer as Lightroom Classic.
LRBridge repository: https://github.com/ninoleto/LRBridge
The communication flow is: Bitfocus Companion → LRBridge → Adobe Lightroom Classic
Feedback returns through: Adobe Lightroom Classic → LRBridge → Bitfocus Companion
What this module does
The LRBridge Companion Module lets users control Adobe Lightroom Classic from Bitfocus Companion using buttons, rotary encoders, pages, variables, feedbacks, browser surfaces, and supported hardware controllers.
Typical uses include:
- Control Lightroom Develop sliders from Companion.
- Use Loupedeck Live or Razer Stream Controller as a Lightroom controller.
- Use Elgato Stream Deck buttons for Lightroom controls.
- Use Companion rotary encoders for Lightroom sliders.
- Display current Lightroom slider values on Companion buttons.
- Refresh displayed values when another photo is selected in Lightroom.
- Run Lightroom actions such as Auto Tone and Auto White Balance.
- Control Lightroom from another computer over LAN.
- Build custom Lightroom control pages without relying on keyboard shortcuts.
What is new in v0.4.2
Version 0.4.2 adds a complete preset library for supported Lightroom controls.
For every supported numeric Lightroom slider, the module provides four ready-to-use presets:
- Rotary control
- Decrease button
- Reset button
- Increase button
Rotary presets are configured so that:
- Turning left decreases the slider by 1.
- Turning right increases the slider by 1.
- Pressing the rotary resets the slider.
- The current Lightroom slider value is displayed on the button.
Additional preset improvements:
- Presets are organized into individual sections for each Lightroom control.
- Short labels are used to fit controls on smaller hardware buttons.
- Rotary presets use automatic text sizing for longer control names.
- Neutral slider values use a neutral background.
- Positive values can display a blue background.
- Negative values can display a red background.
- Controls where positive and negative colors could be misleading remain visually neutral.
- Auto Tone and Auto White Balance show an amber
WAITindication during the LRBridge cooldown period. - Preset descriptions include the Companion live-value variable code for users creating custom buttons.
This release also adds command presets for:
- Lens Profile ON
- Lens Profile OFF
- Remove Chromatic Aberration ON
- Remove Chromatic Aberration OFF
What to download
Normal Companion users should download:
ninoleto-lrbridge-0.4.2.tgz
Do not download the automatically generated Source code zip or Source code tar.gz unless you are a developer and want to build the module manually.
Required software
This module requires:
- Bitfocus Companion
- Adobe Lightroom Classic
- LRBridge v0.5.1 or newer
LRBridge must be installed and running on the same computer as Adobe Lightroom Classic.
Normal user installation
- Download
ninoleto-lrbridge-0.4.2.tgzfrom this release. - Open Bitfocus Companion.
- Go to the Modules page.
- Click Import module package.
- Select
ninoleto-lrbridge-0.4.2.tgz. - Add a new connection named LRBridge.
- Enter the LRBridge host address and ports.
Default LRBridge ports:
- Command API Port:
17891 - Feedback / Web Controller Port:
17892
If Import module package is unavailable, Companion must be started with restricted module imports enabled.
Connection host guide
LRBridge must run on the same computer as Adobe Lightroom Classic.
Companion and LRBridge on the same computer
Use:
- Host:
127.0.0.1 - Command API Port:
17891 - Feedback / Web Controller Port:
17892 - Feedback Timing: Normal, recommended
Companion and LRBridge on different computers
Use the LAN IP address of the computer running LRBridge and Lightroom Classic.
Example setup:
- Companion runs on a Linux computer.
- Lightroom Classic and LRBridge run on a Windows computer.
- The Windows computer has LAN address
192.168.1.55.
Companion connection settings:
- Host:
192.168.1.55 - Command API Port:
17891 - Feedback / Web Controller Port:
17892 - Feedback Timing: Normal, recommended
Do not use 0.0.0.0 as the Companion connection host.
0.0.0.0 is used by servers to listen on all available network interfaces. Companion should connect to 127.0.0.1, a real LAN address.
Confirmed working
- Adjust Lightroom slider
- Reset an individual Lightroom slider
- Run LRBridge action
- Auto Tone
- Auto White Balance
- Lightroom slider feedback variables
- Immediate feedback after native Companion slider actions
- Context-aware feedback refresh after changing photos
- Ready-to-use rotary presets
- Ready-to-use decrease, reset, and increase buttons
- Imported
.tgzmodule installation in Companion - Local network control
Current public action list
The module intentionally exposes only three action types:
- Adjust Lightroom slider
- Reset Lightroom slider
- Run LRBridge action
The action list is deliberately kept small so the module remains safe and predictable during real Lightroom editing work.
Live slider feedback
The module provides Companion variables containing current Lightroom slider values.
Examples:
$(LRBridge:slider_exposure)
$(LRBridge:slider_contrast)
$(LRBridge:slider_temperature)
$(LRBridge:slider_tint)
$(LRBridge:slider_highlights)
$(LRBridge:slider_shadows)
$(LRBridge:slider_whites)
$(LRBridge:slider_blacks)
$(LRBridge:slider_texture)
$(LRBridge:slider_clarity)
$(LRBridge:slider_dehaze)
$(LRBridge:slider_vibrance)
$(LRBridge:slider_saturation)
HSL / Color Mixer examples:
$(LRBridge:slider_hueadjustmentred)
$(LRBridge:slider_hueadjustmentorange)
$(LRBridge:slider_hueadjustmentyellow)
$(LRBridge:slider_hueadjustmentgreen)
$(LRBridge:slider_hueadjustmentaqua)
$(LRBridge:slider_hueadjustmentblue)
$(LRBridge:slider_hueadjustmentpurple)
$(LRBridge:slider_hueadjustmentmagenta)
The exact connection prefix depends on the name of the LRBridge connection in Companion.
Use Companion's variable picker to insert the correct variable into a custom button.
Important feedback note
Use the native LRBridge Companion actions and presets when immediate slider feedback is required.
Native actions:
- Adjust Lightroom slider
- Reset Lightroom slider
- Run LRBridge action
Generic HTTP actions can still send commands directly to LRBridge, but this module cannot detect when an unrelated Generic HTTP action is executed.
Because of this, Generic HTTP actions do not trigger the module's immediate feedback refresh.
For the best results, use the native actions and presets included with this module.
Context-aware photo feedback
LRBridge v0.5.1 provides a /context endpoint.
The module checks this endpoint to detect:
- Selected photo changes
- Lightroom module changes
- Develop-state changes
When LRBridge reports a context change, the Companion module performs a one-time refresh of Lightroom slider variables.
This allows Companion, Loupedeck, Stream Deck, Razer Stream Controller, and browser pages to display the correct values after another photo is selected in Lightroom.
Constant background polling of every Lightroom slider remains disabled by default.
Feedback timing
The module provides three feedback timing options:
- Fast, experimental
- Normal, recommended
- Safe, slower
Normal is recommended for most users.
Fast can occasionally read an older Lightroom value on slower computers or large Lightroom catalogs.
Safe waits longer and can be more reliable on slower systems or demanding catalogs.
Lens Profile and Chromatic Aberration limitation
LRBridge v0.5.1 does not provide authoritative feedback for the current state of these Lightroom checkboxes.
The presets therefore send explicit commands:
LENS ONsends value1.LENS OFFsends value-1.CA ONsends value1.CA OFFsends value-1.
These buttons send commands only. They do not display the current Lightroom checkbox state.
Real checkbox-state feedback may be added in a future LRBridge release.
Intentional limitations
This release intentionally does not include:
- Reset all sliders
- Reset slider group
- Keyboard shortcut sending
- Direct Lightroom keyboard emulation
- Operating-system-level Lightroom automation
Reset All and Reset Group are excluded because they can be risky during real Lightroom editing work.
Keyboard shortcuts should be handled separately, for example through Vicreo Hotkey, unless LRBridge later adds a safe Lightroom-specific shortcut system.
The module remains focused on safe Lightroom API control, useful presets, and reliable feedback through LRBridge.
Supported Companion surfaces
The module and presets can be used with:
- Loupedeck Live
- Razer Stream Controller
- Elgato Stream Deck
- Companion browser surfaces
- Other Companion-compatible buttons and rotary encoders
The exact layout and visual appearance depend on the capabilities and button size of the selected Companion surface.
Technical summary for developers and AI assistants
Repository purpose:
- This repository is a Bitfocus Companion module.
- It is not the LRBridge desktop application.
- It does not communicate directly with the Adobe Lightroom SDK.
- It communicates with LRBridge through local HTTP APIs.
- LRBridge communicates with Lightroom Classic through its Lightroom plugin.
- Command traffic uses port
17891by default. - Feedback and Web Controller traffic use port
17892by default. - LRBridge remains the source of truth for Lightroom behavior and slider values.
The intended public action list should remain focused on:
- Adjust one slider
- Reset one slider
- Run one LRBridge action
Do not add Reset All, Reset Group, keyboard emulation, or unrelated operating-system automation without a clear design and safety reason.
When adding new Lightroom controls, update the action choices, variables, feedback handling, presets, and documentation together.
Keywords
Adobe Lightroom Classic control surface
Bitfocus Companion Lightroom module
LRBridge Companion module
Loupedeck Lightroom controller
Razer Stream Controller Lightroom
Stream Deck Lightroom control
Lightroom rotary encoder control
Lightroom slider feedback
Lightroom HTTP API
Lightroom remote control
Lightroom automation
Lightroom Classic external controller
Status
v0.4.2 stable release for LRBridge v0.5.1 or newer.