Category Archives: Uncategorized

v0.2 alpha builds

As many of you have noticed, there is automatic build of Knobroom 0.2 available at

These are on-the-edge versions from source repository, not tested and highly unstable versions. I’m planning to implement a couple of more features before actually releasing a more stable beta.

For issue and feature management, I’ve set up a repository at If you run into any issues, please submit a ticket there.

Here’s some features from my to-do list for the beta version:

  • using accessibility API
  • increment/decrement step mode for CC controls
  • 14bit CC mode
  • color labels
  • pick/reject
  • rating
  • applying develop presets (step mode)
  • view filters
  • metadata presets
  • mapping UI improvements

UI draft for MIDI Mapping

Yellow office buildingNew Knobroom version for LR4 is progressing steadily, and I’ve now reached the point that is sensible to create some UI elements as well. Except that Lightroom SDK is notoriously bad with growing UI elements. And if you’ve used the previous LR3 release, you might have noticed that creating lots of pulldown menus isn’t particularly fast either.

The main problem is that once you have created a list of elements, there is no way to grow the list. And since the creation of elements is slow, you really can’t just create lots of hidden controls either. MIDI protocol is quite extensive, e.g. there are 128 id’s of each event, possibly on several channels. And since I’d like to support quite advanced configurations, I need something which I can grow dynamically.

After few miserable attempts with pulldown menu spaghetti, I’ve come up with a list-based approach. Unfortunately, this simple_list component is only available on Lightroom 4. It is not dynamic either, but at least it is possible to unobtrusively fill it with blank rows.

Basically, you can load a mapping preset (in JSON format) and edit it further by clicking the row in the large listbox. When you select the develop setting from the last pulldown menu, it is updated to the listbox. You can also insert new rows into the listbox by selecting a new event type (note, control change) and note/controller key id.

Also, pay attention to the tab view section. The idea is that on the left there are the basic controls (“Base” for now), which specify the default controls. The other tabs override these controls, so that you can specify to use CC 4 as Fill Light when Process Version 2010 is in use. And similar handling to B&W Treatment and JPEGs (RAW Temperature, JPEG IncrementalTemperature)

I originally figured that it would maybe take me a couple of days to create the mapping UI. Fair estimate, but I’ve so far spent about ten times as many hours…

Anyway, I’m working on a new release, and no, I don’t have a set date yet, but I’m hoping to release few first releases during August.

Knobroom and Korg nanoKontrol

Sean McCormack has created a video of Knobroom used with a Korg nanoKontrol. It has non-motorized slides and knobs, so when adjusting a new picture, you first have to slide to old value, then the slider will start controlling the new value. (I think that is what I saw on the video. That’s how world operated before the motorized faders came affordable 🙂

Thanks for the effort, Sean!

I do have a Akai LPD-8 controller in the closet, I probably should investigate how it works with the current version. Akai has 8 velocity sensitive buttons (think of it as a small drum pad) and 8 rotary knobs.

I’m also working on the 0.2 release, which has been taking a bit longer than I had hoped. One of the excuses is that I’m replacing the control assignment display. It was already a bit slow to initialize, and there will be many more options in the future releases, so it also needs some kind of grouping.

ps. I was fully aware of the double meaning when I named the software – I hope it’s at least very hard to forget the name once you realize it… 🙂


Cat’s out of the bag!


Lightroom 3 plugin for MIDI controllers

This plugin allows you to adjust photo develop settings using MIDI
continuous controller knobs or faders.


Unzip package to your home directory, giving you with this readme.txt
and Knobroom.lrplugin directory.

Ensure that your MIDI controller is connected, as the installation will
immediately open the device.

Start Lightroom 3, and open Plugin Manager from File menu. Click “Add”
and navigate to folder where the Knobroom.lrplugin is located. Select
Knobroom.lrplugin and click “Add Plug-in”.

Knobroom should immediately start and present you with a device
selection list. Select your MIDI device and the channel it is
listening. The channel is used for reprogramming device settings when
changes are made in Lightroom or the selected photo changes. Knobroom
always listens to all MIDI In channels.

You can assign MIDI CC numbers to Lightroom develop sliders using
File/Plug-In Extras/Knobroom/Assign Controls menu item. Selecting a
preset changes all settings at once, or you can modify each setting


You can either uninstall from Lightroom’s Plugin Manager, or if you run
into any sort of problems when starting Lightroom, you can just rename
or remove Knobroom.lrplugin directory when Lightroom is not running.

Release notes

Version 0.1.4 (public alpha release)

– This is alpha release and it is not yet recommended for production
usage. The version will expire by December 31, 2010.

– MIDI input is shown on every Lightroom start. This is to remind you
that Knobroom is running. MIDI input selection from File / Plugin
Extras does not work properly.

– If MIDI devices are not connected when Knobroom starts, the device
list is not properly updated later on.

– Sometimes, when photo is deleted, Knobroom stops working, and reports
with “nil” error message.

– Setting white balance does not work for JPEG images, or if RAW image
is not set to Custom white balance.

– Lightroom plugin spawns a separate server process for handling MIDI
input. The process is connected to Lightroom using TCP socket 56627.
If you are using special firewall software, you might need to open this
port manually or be prompted to accept connections.

Slightly behind :)

I was estimating that version 0.1 would be in release form shortly after June, but it looks like it could still need some more work, and I’ve spent my time mostly on other projects.

Biggest issue is with life cycle, the plugin interface provided by Lightroom is very limited, so the actual MIDI input is done is separate process. The process is started when plugin starts, but there is no proper way of telling when Lightroom exists.

So, it might take a week or two longer 🙂

Assigning MIDI controls

I just finished the screen for control assignment:

As you can see, there’s a lot of popup menus to select! On the bottom of the screen, there is a preset menu, which allows setting all the controls at the same time. Currently, there is just one preset, which is made for Novation Nocturn. Nocturn has 8 knobs and 8 buttons, so the default configuration has lots of empty slots, as the buttons cannot be assigned to anything useful yet.

If you are not happy with the preset, you can freely configure each and every one of the 128 midi controllers.