Preferences - Mapping for MIDI Controllers

PFixer includes a vast array of mapping possibilities for controlling Lightroom using MIDI controller:

Included MIDI Maps

The easiest way to get started is with a MIDI controller from Pusher Labs. Our controllers are set up to work with PFixer out of the box. To set up your controller with PFixer, open Preferences:

On the Mapping tab, click the "cog" button , then select MIDI Maps:

When you select your device from the list, all the CC# mappings for that device will be entered into the Preferences Mapping window.

Click the Apply button to save your changes.

Customizing MIDI Mappings

There are two basic types of Lightroom functions that can be assigned to a MIDI controller: sliders and actions.

  • Sliders include items such as Exposure and Contrast that can be continuously controlled by a fader or encoder knob.
  • Actions include items that are performed once such as Next Photo and Copy Settings. Sliders can also have decrement and increment actions associated with them.

In Preferences, on the Mapping tab, a complete list of MIDI-assignable sliders and actions are listed:

The first three columns (Continuous MIDI CC#/Run, MIDI CC# Decrease, and MIDI CC# Increase) govern the MIDI CC#s assigned to each slider or action.

Sliders

Sliders have 3 assignable MIDI CC#s each:

  • Continuous - use this field (column #1) to enter the CC# of a fader or encoder type control. The fader or encoder should have a range of 0-127 and should be set to absolute positioning (not increment/decrement or relative).
  • Decrease and Increase - use these fields (columns #2 and #3) to enter the CC# of a button type control. The button must be set as a "momentary" or "toggle" type control. Either should work but the toggle type is preferred since it only sends a single "on" command, whereas a momentary type sends both an "on" and an "off" for each button press. The "off" value should be set to 0 and the "on" value shoud be set to 127. PFixer will only respond to button types when it sends a value of 127. Once the action has been processed successfully by PFixer it will immediately send a value of 0 ("off") back to the control so that the next press will send a value of 127 again, which is the desired behavior.

Actions

Actions have 1 assignable MIDI CC# each:

  • Run - in this field to enter the CC# of a button type control. The button should be set as a "toggle" type control. A "momentary" type control should work in most circumstances, but the toggle type is preferred since it only sends a single "on" command, whereas a momentary type sends both an "on" and an "off" for each button press. The "off" value should be set to 0 and the "on" value shoud be set to 127. PFixer will only respond to button types when it sends a value of 127. Once the action has been processed successfully by PFixer it will immediately send a value of 0 ("off") back to the control so that the next press will send a value of 127 again, which is the desired behavior.

Customizing Using the Learn Mode Button

The Learn (Learning) Mode button allows you to assign functions on your MIDI controller without having to memorize which buttons and faders are assigned to what CC numbers. It works by listening to incoming MIDI messages and assigning them to fields in on the Mapping tab automatically.

To use the Learning Mode:

  • Turn on Learn Mode by setting the Learn Mode button to the ON position.
     
  • Select the field you would like to assign (e.g. Exposure, Continuous MIDI CC field) by clicking on it.
     
  • On your MIDI controller, turn the encoder knob or fader you would like to assign. The MIDI CC# for that controller knob or fader will be entered automatically.
     
  • For button assignments to perform Lightroom functions, use the 1st column field for "Continuous MIDI CC#/Run".
     
  • For button assignments to control Lightroom sliders, use the 2nd and 3rd column fields for "MIDI CC# Increase/Decrease".
     
  • NOTE: If that button, encoder, or fader was previously assigned, be sure to remove the existing assignment.
     

Setting Up Modes

Mode switching provides an innovative and easy way to establish "banks" of controls that perform different functions depending on the selected Mode. For example, this allows you to set a fader to control Exposure in one mode, and Temperature in another mode. This greatly expands the versatility of your MIDI controller and overcomes two limitations:

  1. Space -- first, Modes allow you to make the most of a limited control set by allowing multiple uses for each control.
  2. MIDI Protocol Limitations -- the MIDI protocol allows controls to operate on 1 of 128 "channels". PFixer Modes expands this to 820+ assignable channels.

The settings in PFixer Preferences on the Hardware tab provide a way for the user to designate up to 8 MIDI CC#s to be used to enable Mode switching.

Looking at the above settings taken from the MiniMal controller, CC# 53-56 correspond to buttons 5-8 at the top of the device just under the top row of encoder knobs. When the CC53 button is pressed, PFixer will switch to Mode 1. When the CC54 button is pressed, PFixer will switch to Mode 2, etc.

When making CC# assignments in the Mapping tab, simply prepend the Mode number to the controls' "actual" CC# to make that slider or action function in that mode. Note that Mode 1 simply uses the default MIDI CC numbers 0-127:

Mode 1 = CC1-127
Mode 2 = CC201-299
Mode 3 = CC301-399
Mode 4 = CC401-499
Mode 5 = CC501-599
Mode 6 = CC601-699
Mode 7 = CC701-799
Mode 8 = CC801-899

NOTE: when PFixer is in Modes 2-8, it will listen on the standard MIDI channels and prepend the Mode to the incoming CC# (e.g. CC47 becomes CC647 in Mode 6). If no Lightroom slider or actions is assigned to CC647 it will default back to Mode 1. This allows you to designate certain controls to operate in Mode 1 regardless of the active Mode as long as no other sliders or actions are assigned to the corresponding CC# in another mode.

One example of this style of cascading Mode assignments would be the Previous Photo and Next Photo buttons on the PFixer Panel and Encoder, which always operate in Mode 1.

For Example...

Let's say we want to change the last encoder (CC88) of the PFixer Panel to operate the Sharpening slider when in Mode 1, and the Rotation slider when in Mode 2:

  1. First, remove the existing mappings for Post-cropping Vignette and Horizontal Propective.
  2. Next to Sharpening > Amount, enter the value 88
  3. Next to Lens Correction > Rotation, enter the value 288

Saving Custom MIDI Maps

Saving your custom MIDI and/or keyboard mappings to use on another computer, to backup for safe keeping, or to share with a colleague is easy.

In Preferences, on the Mapping tab, click the "cog" button and you will see two options to save and load custom mappings:

When you select the Save... menu item, you are presented with a standard OSX save window:

The three checkbox items at the bottom of this page will govern which settings are included in the mappings file:

Include MIDI mappings

If you select this checkbox, all MIDI mappings (inluding Mode mappings and other MIDI-related items on the Hardware tab) will be included in the saved file.

Include keyboard shortcut mappings

If you select this checkbox, all keyboard shortcut mappings will be included in the saved file.

Include Brush, Preset, and Unmappable Menu Item names

If you select this checkbox, all your mapped Brush, Preset, and Unmappable Menu Item names will be included in the saved file. If you intend to share this mappings file with another Lightroom user, do not select this checkbox since they will most likely not have the same presets as you.

Loading Custom MIDI Maps

To load a mappings file you have previously saved as a backup or that another PFixer user has shared with you, simply choose the Load... menu item from the "cog" button menu. Find and choose the mappings file and its mapping contents will be loaded into PFixer.