Menu

Paddy_Developer_Wiki

Dorfl68
There is a newer version of this page. You can find it here.

Midi

OSC

Basics

OSC stands for Open Sound Control, and is basically the next generation of Midi. It is a network protocol that is pretty open. It originally was designed to be very flexible. It sends a command like "/myapplication/piano/anythinggoes 1" over the network, and it is up to the receiver to understand the commands.

Hence, for Paddy, we can send commands to edit pictures. All we need is to connect the receiver (Paddy) with the sender

For more, Wikipedia: http://en.wikipedia.org/wiki/Open_Sound_Control

Paddy OSC implementation

Effectively, when you switch on Paddy's OSC receiver in preferences/Basic Setup, Paddy starts to listen for incoming OSC commands on the PC's network connection. If the command is in the Paddy namespace, Paddy reacts. Once a device is connected to Paddy, Paddy also sends OSC commands out. This means that sliders on the IPad (in the OSC implementation) move.

Ports

Paddy uses the following for OSC

- Paddy listens on port: 8000

- Paddy is sending on port: 9000

Paddy OSC namespace

Paddy is listening and sending for the namespace

/Paddy/Lightroom/

Any other command is ignored

Paddy OSC commands


Slider

Command: /Paddy/Lightroom/slidernumber/[slider number] [percent setting]

in/out: Sending and receiving

Parameters

slider number
Paddy internal slider number. The list of sliders and associated numbers is available here

percent setting
between 0 and 1, with decimals. The setting of the slider in percent of the full range. E.g., .666 = 66.6% . This is to be compatible with future Lightroom versions and to translate the temperature for raw pictures into a linear scale for a controller (the LR sldier for Temperatur in raw is non linerar)

Example

/Paddy/Lightroom/slidernumber/5 .5

sets the x slider in the middle of the available range

Notes

Paddy adjusts for the process and picture type. E.g., 50% in Exposure is the mid point in JPG, raw, 2010, 2012


Presets

Apply

Command: /Paddy/Lightroom/preset/[preset number] 1

in/out: Receiving

Parameters

Preset number
The number of the preset that Paddy should apply (see below). Currently supported: 1-10, 1001-1010, 2001-2010

1
if "1", preset is applied. Otherwise, ignored

Example

/Paddy/Lightroom/preset/1002 1

Applies preset number 2 of the second Paddy OSC preset bank

Notes Paddy organizes the presets available for OSC at the moment in in 3 sets with 10 presets each. See the Paddy user guide for more. In effect, the user associates a preset number with a certain preset. If Paddy receives the preset number with this command, the preset is applied


Name in OSC interface

Command: /Paddy/Lightroom/preset_name/[preset number] [string]

in/out: Sending

Parameters

Preset number
The number of the preset that the user named. Currently supported: 1-10, 1001-1010, 2001-2010

[string]
the name the user gave the preset

Example

/Paddy/Lightroom/preset_name/1002 B&W setting 1

The user named the OSC preset #2 in the second bank as "B&W setting 1"

Notes Paddy organizes the presets available for OSC at the moment in in 3 sets with 10 presets each. See the Paddy user guide for more. In effect, the user associates a preset number with a certain preset.

Paddy sends this command when a OSC device connects for all OSC Presets the user assigned. This enables the OSC interface to rename the button. Practically speaking, the label on your button for an OSC preset should react to this command and change when it is received


Hide/show

Commands: /Paddy/Lightroom/preset/[preset number]/visible [0|1]

/Paddy/Lightroom/preset_name/[preset number]/visible [0|1]

in/out: Sending

Parameters

Preset number
The number of the preset that the user named. Currently supported: 1-10, 1001-1010, 2001-2010

0,1
0 means the preset is not in use and the user interface can hide the button ; 1 means it is in use

Example

/Paddy/Lightroom/preset_name/1002/visible 0

The user has not mapped preset 1002 and it can be hidden in the interface

Notes Paddy organizes the presets available for OSC at the moment in in 3 sets with 10 presets each. See the Paddy user guide for more. In effect, the user associates a preset number with a certain preset.

Paddy sends this command when a OSC device connects for all OSC Presets the user assigned. This enables the OSC interface to show or hide the buttons

Practically speaking, TouchOSC does this automagically when an OSC command is assigned. In other words, in TouchOSC, if you create a button that has the associated OSC command "/Paddy/Lightroom/preset/1002", it will send the command when touched, hide when it receives "/Paddy/Lightroom/preset/1002/visible 0", and show when it receives "/Paddy/Lightroom/preset/1002/visible 1". The same is true for a label with the associated OSC command "/Paddy/Lightroom/preset_name/1002"


Camera Profiles

Apply

Command: /Paddy/Lightroom/profile/[profile number] 1

in/out: Receiving

Parameters

profile number
The number of the profile that Paddy should apply (see below). Currently supported: 1-10, 1001-1010, 2001-2010

1
if "1", profile is applied. Otherwise, ignored

Example

/Paddy/Lightroom/profile/1002 1

Applies profile number 2 of the second Paddy OSC profile bank

Notes Paddy organizes camera profiles available for OSC at the moment in in 3 sets with 10 profiles each. See the Paddy user guide for more. In effect, the user associates a profile number with a certain profile. If Paddy receives the profile number with this command, the profile is applied


Name in OSC interface

Command: /Paddy/Lightroom/profile_name/[profile number] [string]

in/out: Sending

Parameters

profile number
The number of the profile that the user named. Currently supported: 1-10, 1001-1010, 2001-2010

[string]
the name the user gave the profile

Example

/Paddy/Lightroom/profile_name/1002 Adobe standard

The user mapped the OSC profile #2 in the second bank to "Adobe Standard"

Notes Paddy organizes the profiles available for OSC at the moment in in 3 sets with 10 profiles each. See the Paddy user guide for more. In effect, the user associates a profile number with a certain profile.

Paddy sends this command when a OSC device connects for all OSC profiles the user assigned. This enables the OSC interface to rename the button. Practically speaking, the label on your button for an OSC profile should react to this command and change when it is received


Hide/show

Commands: /Paddy/Lightroom/profile/[profile number]/visible [0|1]

/Paddy/Lightroom/profile_name/[profile number]/visible [0|1]

in/out: Sending

Parameters

profile number
The number of the profile that the user named. Currently supported: 1-10, 1001-1010, 2001-2010

0,1
0 means the profile is not in use and the user interface can hide the button ; 1 means it is in use

Example

/Paddy/Lightroom/profile_name/1002/visible 0

The user has not mapped profile 1002 and it can be hidden in the interface

Notes Paddy organizes the profiles available for OSC at the moment in in 3 sets with 10 profiles each. See the Paddy user guide for more. In effect, the user associates a profile number with a certain profile.

Paddy sends this command when a OSC device connects for all OSC profiles the user assigned. This enables the OSC interface to show or hide the buttons

Practically speaking, TouchOSC does this automagically when an OSC command is assigned. In other words, in TouchOSC, if you create a button that has the associated OSC command "/Paddy/Lightroom/profile/1002", it will send the command when touched, hide when it receives "/Paddy/Lightroom/profile/1002/visible 0", and show when it receives "/Paddy/Lightroom/profile/1002/visible 1". The same is true for a label with the associated OSC command "/Paddy/Lightroom/profile_name/1002"


Keywords

Camera keywords

Apply

Command: /Paddy/Lightroom/keyword/[keyword number] 1

in/out: Receiving

Parameters

keyword number
The number of the keyword that Paddy should apply (see below). Currently supported: 1-70, 1001-1070, 2001-2070...7001-7070

1
if "1", keyword is applied. Otherwise, ignored

Example

/Paddy/Lightroom/keyword/1002 1

Applies keyword number 2 of the second Paddy OSC keyword bank

Notes Paddy organizes keywords available for OSC at the moment in in 7 sets with 70 keywords each. See the Paddy user guide for more. In effect, the user associates a keyword number with a certain keyword. If Paddy receives the keyword number with this command, the keyword is applied


Name in OSC interface

Command: /Paddy/Lightroom/keyword_name/[keyword number] [string]

in/out: Sending

Parameters

keyword number
The number of the keyword that the user named. Currently supported: 1-70, 1001-1070, 2001-2070...7001-7070

[string]
the keyword the user associated with this number

Example

/Paddy/Lightroom/keyword_name/1002 Grandpa

The user mapped the OSC keyword #2 in the second bank to "Grandpa". This is the "leave" of the LR keyword tree. In other words, this will say "Grandpa" for family-->grandpa as well as for "character-->grandpa"

Notes Paddy organizes the keywords available for OSC at the moment in in 7 sets with 70 keywords each. See the Paddy user guide for more. In effect, the user associates a keyword number with a certain keyword.

Paddy sends this command when a OSC device connects for all OSC keywords the user assigned. This enables the OSC interface to rename the button. Practically speaking, the label on your button for an OSC keyword should react to this command and change when it is received


Hide/show

Commands: /Paddy/Lightroom/keyword/[keyword number]/visible [0|1]

/Paddy/Lightroom/keyword_name/[keyword number]/visible [0|1]

in/out: Sending

Parameters

keyword number
The number of the keyword that the user named. Currently supported: 1-70, 1001-1070, 2001-2070...7001-7070

0,1
0 means the keyword is not in use and the user interface can hide the button ; 1 means it is in use

Example

/Paddy/Lightroom/keyword_name/1002/visible 0

The user has not mapped keyword 1002 and it can be hidden in the interface

Notes Paddy organizes the keywords available for OSC at the moment in in 7 sets with 70 keywords each. See the Paddy user guide for more. In effect, the user associates a keyword number with a certain keyword.

Paddy sends this command when a OSC device connects for all OSC keywords the user assigned. This enables the OSC interface to show or hide the buttons

Practically speaking, TouchOSC does this automagically when an OSC command is assigned. In other words, in TouchOSC, if you create a button that has the associated OSC command "/Paddy/Lightroom/keyword/1002", it will send the command when touched, hide when it receives "/Paddy/Lightroom/keyword/1002/visible 0", and show when it receives "/Paddy/Lightroom/keyword/1002/visible 1". The same is true for a label with the associated OSC command "/Paddy/Lightroom/keyword_name/1002"


LR Commands

Command: /Paddy/Lightroom/function [function number]

in/out: receiving

Parameters

function number
The number of the Paddy function to execute in Lightroom. The list of functions and function numbers is available at https://docs.google.com/spreadsheet/ccc?key=0AlIzuyCCQOE7dFdaQm80NmtIR0YtMHAxQVBGWER1aUE#gid=0 . NOTE: You cannot apply presets, camera profiles etc this way

Example

/Paddy/Lightroom/function/1214

function: "Sharpening - (Large)" Moves the sharpen slider by a large amount as defined by the user in paddy

Notes This is the key to all the power of Paddy. Anything in LR goes, as long as it has function number.

The best way to find a function is to let Paddy show you: Goto Preferences-Basic settings->Debug tab and click "show function number in keyboard gui". When you assign a keyboard key, the function number will be displayed


Connecting

Command: /Paddy/Lightroom/

in/out: Sending and receiving

Parameters

Example

/Paddy/Lightroom/

Notes


User interface and labels

Command: /Paddy/Lightroom/

in/out: Sending and receiving

Parameters

Example

/Paddy/Lightroom/

Notes


Interacting via Messages to Paddy


MongoDB Logo MongoDB