Luminous Landscape Forum

Raw & Post Processing, Printing => Adobe Lightroom Q&A => Topic started by: kirkt on August 14, 2014, 02:22:26 pm

Title: iPad control of Lightroom via MIDI/PFixer
Post by: kirkt on August 14, 2014, 02:22:26 pm
Hi folks,

I don't use Lightroom very often but a thread in another forum got me curious about how one might adapt existing tools to interface with Lightroom's many sliders and controls, with the idea that one might be able to improve the mouse/trackpad-click-and-drag-a-slider approach.  The thread mentioned PFixer, by PusherLabs - for those not familiar with this application, it is a utility that binds itself to Lightroom and opens control of Lightroom's sliders and buttons and menu items to two types of controls:

1) Customizable hot keys/keyboard shortcuts
2) MIDI controls

The application permits the user to assign keyboard shortcuts or MIDI CC#'s to various Lightroom controls to speed up control or adapt control of the Lightroom interface.  Pusher Labs sells a MIDI hardware controller to go along with this application to make Lightroom control fader- and dial-based, pretty nifty.  

However, even niftier is the use of a virtual control surface that can be configured with whatever faders and pots and other controls you desire to send and receive MIDI controls - enter the iPad.

I put together a proof-of-concept iPad MIDI controller to demonstrate how one might configure an iPad MIDI interface to control Lightroom.  It uses existing tools and technology and is not an original idea - it appears that Pusher Labs will probably release something just like it in an upcoming update to PFixer.  Still, if you are into this sort of thing, it might be worth looking into.

I particularly like the ability to use multidimensional tools, like and x-y pad, to control two values simultaneously, like WB and Tint.

Anyway, here is the "tutorial" I wrote up on the other thread, walking through a rough outline of how this works on a MacBook Pro and an iPad.  The necessary tools are:

Lightroom
PFixer
TouchOSC (iPad/Android)
TouchOSC Editor, TouchOSC Bridge (Mac/PC)

Unfortunately, PFixer is Mac only.  However, if there is a similar utility for other platforms, the general concept is the same.

Hope this might be helpful for those Lightroom users who are trying to find a viable alternative to the standard Lightroom mouse control.

Kirk
Title: Re: iPad control of Lightroom via MIDI/PFixer
Post by: kirkt on August 14, 2014, 02:23:05 pm
Here is the "tutorial" from the other thread: http://photography-on-the.net/forum/showthread.php?t=1391391

--------------

Here is a quick tutorial on how to enable control of Lightroom via an iPad.  This workflow utilizes the following pieces of software:

For your iOS or Android device, you will need the application called "TouchOSC" - you can find out more about it here:

http://hexler.net/software/touchosc (http://hexler.net/software/touchosc)

There are two helper applications for your PC/Mac, also from the above link:

TouchOSC Editor
TouchOSC Bridge

(scroll down to the Downloads section of the page linked above).

You will need a copy of PFixer from PusherLabs:

http://www.pusherlabs.com (http://www.pusherlabs.com)

And, finally, you will need a copy of Lightroom.

---

The Basic Idea

Lightroom can be made more efficient if you can find a way to access the controls without all of the clicking and sliding with the mouse or tablet.  The key piece of software in this puzzle is PFixer - it is a utility that binds itself to Lightroom's sliders and buttons and menu items so that you can control them with either 1) Keyboard Shortcuts that you can custom assign or 2) a MIDI device that can send and receive control signals to and from Lightroom via PFixer.  By binding itself to Lightroom's controls and opening a MIDI communication path, PFixer allows you to control Lightroom with any MIDI device, including a virtual one.  This tutorial will present a short note on how to set up and use a virtual MIDI device using an iPad.

The Toolchain

(http://kirkt.smugmug.com/Photography/Link-Share/i-BmCF63B/0/O/Figure.jpg)

The toolchain in this process is illustrated above.  The mobile device runs TouchOSC.  A control surface (the virtual MIDI controller) is made by using TouchOSC Editor, as detailed further later in this tutorial.  The virtual MIDI/control surface permits the user to drag virtual controls around, like faders, x-y pads, buttons, etc.  When the user interacts with the virtual controller, TouchOSC sends MIDI control signals to the computer via wifi.  PFixer listens for these signals, interprets them and then applies those MIDI signals to the appropriate LR control.  The MIDI signal flow is bidirectional - that is, TouchOSC will also listen to MIDI control signals sent by Lightroom, via PFixer - this will update fader positions, displayed values, etc. on the mobile device if changes are mode to the corresponding controller in Lightroom.

In this example, an iPad running TouchOSC will be the virtual MIDI control surface.  I am using a MacBook Pro as the computer running Lightroom, PFixer and TouchOSC Bridge, the MIDI connection helper app.

Creating the Virtual MIDI Control Surface: TouchOSC Editor

To make your great virtual MIDI device for the iPad, you use the Mac/PC application TouchOSC Editor.  You will layout and configure the buttons, faders, x-y pads, etc., save that layout to your computer drive and then Sync it to your device to load it locally on your mobile device for use.  Each time you edit the layout, you simply resync and it will overwrite the previous local version on your device (it will warn you first).

Below is a screenshot of the basic workspace in TouchOSC Editor, with some of the relevant elements labeled.  You choose a template (or define your own) for the size of the layout (in this case I chose iPad, horizontal orientation).  

(http://kirkt.smugmug.com/Photography/Link-Share/i-4dFjVph/0/O/MainLayout1024.jpg)

The gray bar at the top of the layout is the tabbed "Page" area - TouchOSC permits a tabbed interface, so your virtual controller can have more than one page of controls - think panels in the Develop Tab of Lightroom.  The "Work Area" is where you will lay out your controls for that page.  To add a control element, right-click on the Work Area to reveal a drop-down list of control elements.  To create a new Page in the Page Area, right-click on the Page area.

On the left side of the window is the Properties area.  Working with PFixer, we need to use MIDI commands, not Open Sound Control (OSC) commands.  So you need to select the MIDI tab (the one pointed to by the blue arrow) to define MIDI properties for your control element.

Next is a screenshot of a basic control element - in this case, the x-y pad.

(http://kirkt.smugmug.com/Photography/Link-Share/i-DWzb9T4/0/O/Properties1024.jpg)

Several properties are labeled in this figure:

A) The name of the control element - give it a name that will be useful.
B) The MIDI properties tab - make sure you select the MIDI properties!!!
C) The "Enable" checkbox - you must check this to set the properties for your control element.
D) The menu of properties you can set for this controller.  Typically you will be setting "Value" properties.
E) MIDI Channel - more on this in a moment.
F) MIDI Number - also called the CC number in PFixer - more on this in a moment.

This is where all of the magic happens in the TouchOSC Editor.  This is where you are going to establish the link between the controls you layout in the TouchOSC controller and the Lightroom control mapping in PFixer.  So, how do we do this?

PFixer Preferences

Here is a screenshot of the PFixer Preferences - starting with the "Hardware" tabs:

(http://kirkt.smugmug.com/Photography/Link-Share/i-FKsFVfR/0/O/Hardware.jpg)

In this dialog, we have to make sure of a few things:

A) Make sure you enable "PFixer Panel/Encoder/MIDI Mapping"
B) Listen on MIDI Channel - I use the default of "1" - this is the channel that corresponds to the MIDI channel specified in TouchOSC editor, MIDI properties item "E" above - TouchOSC Editor defaults to "1" as well, so just leave all of that alone and you won't have to change anything.
C) "Limit Temp range to ..."  The MIDI interface permits 128 discrete values for each control.  White Balance in LR varies from 2000K to 50,000K.  If you want to make your MIDI controller span the entire WB range, then each change in MIDI controller position will be very coarse (50,000-2000)/127 - most of the time you will probably only need a max WB of around 12,000K or so, giving you finer control over White Balance steps - you can also tweak and change this.  

The idea is that PFixer maps the min and max MIDI values automatically to the min and max Lightroom slider values - you do not have to do the work!

Next, the Mapping tab of the PFixer preferences.

(http://kirkt.smugmug.com/Photography/Link-Share/i-j4ZfxRD/0/O/Mapping.jpg)


This is where you get the MIDI CC numbers for each Lightroom command that you want to control from within your TouchOSC layout.  For example, WB Temperature is CC 1, Tint is CC 2, Exposure is CC 81, Contrast is CC 82, etc.  These are the values you will use in the MIDI properties item "F" for every control element you want to define in your TouchOSC layout.

In PFixer, you can use the default mapping, or make your own - whatever suits you.  The "Continuous MIDI CC#/Run" value is for elements that will always be active, like sliders - if you want, you can also enter numbers in the MIDI CC# Decrease/Increase fields to define, for example, buttons on your layout that, when you press them, increase or decrease the value of a slider.

Example

If we want to set up our example x-y pad to control White Balance on the X axis and Tint on the Y axis we would consult the PFixer Mapping tab to get the CC# for each LR control:

White Balance CC# 1
Tint CC# 2

We would then go into the MIDI Properties tab in TouchOSC Editor and enter these values in the appropriate MIDI fields (NOTE: you need to click on the control element you are trying to configure, to make it active, if you want to be able to see and set its properties!!!)

(http://kirkt.smugmug.com/Photography/Link-Share/i-fW3N82b/0/O/ValueX.jpg)

For White Balance:
>> Select the "Value X" from the Enabled menu - the X axis of the x-y pad will control the WB slider in LR
>> Enter "1" in the number field - this is the CC# in the PFixer Mapping that corresponds to the WB slider in LR

leave everything else default.

The x-y pad controller has an X and a Y axis, so we must now define the Y axis properties:

(http://kirkt.smugmug.com/Photography/Link-Share/i-Mfb2qsc/0/O/ValueY.jpg)

For Tint:
>> Select the "Value Y" from the Enabled menu - the Y axis of the x-y pad will control the Tint slider in LR
>> Enter "2" in the number field - this is the CC# in the PFixer Mapping that corresponds to the Tint slider in LR

Etc.

With this controller, when you slide your finger up and down (Y axis) within the x-y pad area you will be changing TINT and when you slide your finger right and left (X axis) you will be changing WB.  What is cool about this controller is that you can change both values simultaneously!

You do this for all of your controllers.  So, you have your sweet controller layout, and you have saved it to your computer - you now need to sync it to your iPad.  Follow these instructions:

http://hexler.net/docs/touchosc-editor-sync (http://hexler.net/docs/touchosc-editor-sync)

also, the complete documentation for TouchOSC Editor, etc. is here:

http://hexler.net/docs/touchosc (http://hexler.net/docs/touchosc)

Please read it!!!  It is very well-documented.


Making it all work together


Finally, the moment of truth.

0) Make sure your device and computer are on the same wifi network or ad hoc network.

1) Fire up PFixer (I am currently running the free, 15 day trial)
Check all of your PFixer settings to make sure they are correct as discussed above.  I may have forgotten to mention something, so read their documentation as well.

2) Fire up TouchOSC Bridge - this is the background MIDI helper.

3) Fire up TouchOSC on your iPad, with your synced layout loaded.  In TouchOSC on your device you will need to make the MIDI connection with your computer - in the MIDI Bridge section of the TouchOSC app on your device, your computer should show up as a Host - select it from the list.

4) Start up Lightroom - PFixer will spend some time binding itself to Lightroom - make sure you are in the Develop module - PFixer needs to be able to "see" the develop panels to bind to them, so expose them if they are hidden.

Try out your controllers and see if they work!!!!

HELLS YEAH!

have fun,

kirk

PS, see that little white dot in the upper right corner of the iPad layout?  That takes you back to the main menu of the TouchOSC app on your iPad.
Title: Re: iPad control of Lightroom via MIDI/PFixer
Post by: kirkt on August 14, 2014, 02:26:20 pm
Here is a crappy iPhone video depicting the mocked-up iPad interface controlling Lightroom.

http://youtu.be/GezZJ1fwDyo

And attached is the mocked-up virtual control surface (screenshot of the iPad in the video).

kirk
Title: Re: iPad control of Lightroom via MIDI/PFixer
Post by: john beardsworth on August 14, 2014, 02:39:48 pm
There are a few of these around - Paddy for Lightroom (?) and The Touch (http://www.arcticwhiteness.com/thetouch/the-touch-for-lightroom/).

Title: Re: iPad control of Lightroom via MIDI/PFixer
Post by: kirkt on August 14, 2014, 03:21:22 pm
The Touch is a pretty clean with well designed interface.  Very cool.

It is nice to have all of these options! 

kirk