From af3f743b32ef556e233ffa745549793c0f3e3565 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Wed, 13 Jan 2016 07:19:46 -0800 Subject: [PATCH 01/87] check for numeric parameter value before trying to send to MIDI controller --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 5 +++-- Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index d7e234edc..56dcfa6db 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -533,9 +533,10 @@ LrTasks.startAsyncTask( function() function ( observer ) if LrApplicationView.getCurrentModuleName() ~= 'develop' then return end for _,param in ipairs(Parameters.Order) do - if(observer[param] ~= LrDevelopController.getValue(param)) then + local lrvalue = LrDevelopController.getValue(param) + if observer[param] ~= lrvalue and type(lrvalue) == 'number' then MIDI2LR.SERVER:send(string.format('%s %g\n', param, develop_lerp_to_midi(param))) - observer[param] = LrDevelopController.getValue(param) + observer[param] = lrvalue MIDI2LR.LAST_PARAM = param end end diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua index 97d00979f..1917f8973 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua @@ -22,7 +22,7 @@ local LrApplicationView = import 'LrApplicationView' local LrDevelopController = import 'LrDevelopController' local LrFileUtils = import 'LrFileUtils' local LrView = import 'LrView' ---following needed because need to resend values to controller when change profile +--following needed to resend values to controller when changing profile local Limits = require 'Limits' local Parameters = require 'Parameters' @@ -78,7 +78,7 @@ local function resync() MIDI2LR.SERVER:send(string.format('%s %g\n', param, midivalue)) end end - resyncDeferred = false + resyncDeferred = false else resyncDeferred = true end From c686b8e59fb6b4facf689535992a3ae9c5977a16 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Wed, 13 Jan 2016 18:26:11 -0800 Subject: [PATCH 02/87] show bezel on profile change configurable in options dialog --- Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua | 92 +++++++++++-------- 1 file changed, 53 insertions(+), 39 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua index 1917f8973..e3e3b731c 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua @@ -20,6 +20,7 @@ MIDI2LR. If not, see . local LrApplicationView = import 'LrApplicationView' local LrDevelopController = import 'LrDevelopController' +local LrDialogs = import 'LrDialogs' local LrFileUtils = import 'LrFileUtils' local LrView = import 'LrView' --following needed to resend values to controller when changing profile @@ -91,6 +92,9 @@ end local function setFile(value) if loadedprofile ~= value then + if ProgramPreferences.ProfilesShowBezelOnChange and loadedprofile ~= '' then + LrDialogs.showBezel(LOC("$$$/AgNamingUI/RenameFile/ChangingTo=^1 is changing to ^2",loadedprofile,value)) + end loadedprofile = value resync() end @@ -100,6 +104,9 @@ local function setFullPath(value) local path, profile = value:match("(.-)([^\\/]-%.?([^%.\\/]*))$") profilepath = path if profile ~= loadedprofile then + if ProgramPreferences.ProfilesShowBezelOnChange and loadedprofile ~= '' then + LrDialogs.showBezel(LOC("$$$/AgNamingUI/RenameFile/ChangingTo=^1 is changing to ^2",loadedprofile,profile)) + end loadedprofile = profile resync() end @@ -122,6 +129,9 @@ local function changeProfile(profilename, ignoreCurrent) if (newprofile_file ~= nil) and (newprofile_file ~= '') and (loadedprofile ~= newprofile_file) and ((ignoreCurrent == true) or (currentTMP[TMP] ~= profilename)) then MIDI2LR.SERVER:send('SwitchProfile '..newprofile_file..'\n') + if ProgramPreferences.ProfilesShowBezelOnChange and loadedprofile ~= '' then + LrDialogs.showBezel(LOC("$$$/AgNamingUI/RenameFile/ChangingTo=^1 is changing to ^2",loadedprofile,newprofile_file)) + end loadedprofile = newprofile_file changed = true resync() @@ -150,6 +160,7 @@ local function StartDialog(obstable,f) for k in pairs(ProfileTypes) do obstable['Profile'..k] = ProgramPreferences.Profiles[k] end + obstable.ProfilesShowBezelOnChange = ProgramPreferences.ProfilesShowBezelOnChange local completion = {} local auto_completion = false if profilepath and profilepath ~= '' then @@ -167,45 +178,7 @@ local function StartDialog(obstable,f) f:row { f:column { width = LrView.share('profile_column'), - f:group_box { - title = LOC("$$$/AgDevelop/Menu/Tools=Tools"):gsub('&',''), --string has & in it in LR database - width = LrView.share('profile_group'), - f:row { - f:static_text{title = ProfileTypes.loupe.friendlyName, width = LrView.share('profile_label'),}, - f:edit_field{ value = LrView.bind ('Profileloupe'), width = LrView.share('profile_value'), - width_in_chars = 15, auto_completion = auto_completion, completion = completion}, - }, - f:row { - f:static_text{title = ProfileTypes.crop.friendlyName, width = LrView.share('profile_label'),}, - f:edit_field{ value = LrView.bind ('Profilecrop'), width = LrView.share('profile_value'), - width_in_chars = 15, auto_completion = auto_completion, completion = completion}, - }, - f:row { - f:static_text{title = ProfileTypes.dust.friendlyName, width = LrView.share('profile_label'),}, - f:edit_field{ value = LrView.bind ('Profiledust'), width = LrView.share('profile_value'), - width_in_chars = 15, auto_completion = auto_completion, completion = completion}, - }, - f:row { - f:static_text{title = ProfileTypes.redeye.friendlyName, width = LrView.share('profile_label'),}, - f:edit_field{ value = LrView.bind ('Profileredeye'), width = LrView.share('profile_value'), - width_in_chars = 15, auto_completion = auto_completion, completion = completion}, - }, - f:row { - f:static_text{title = ProfileTypes.gradient.friendlyName, width = LrView.share('profile_label'),}, - f:edit_field{ value = LrView.bind ('Profilegradient'), width = LrView.share('profile_value'), - width_in_chars = 15, auto_completion = auto_completion, completion = completion}, - }, - f:row { - f:static_text{title = ProfileTypes.circularGradient.friendlyName, width = LrView.share('profile_label'),}, - f:edit_field{ value = LrView.bind ('ProfilecircularGradient'), width = LrView.share('profile_value'), - width_in_chars = 15, auto_completion = auto_completion, completion = completion}, - }, - f:row { - f:static_text{title = ProfileTypes.localized.friendlyName, width = LrView.share('profile_label'),}, - f:edit_field{ value = LrView.bind ('Profilelocalized'), width = LrView.share('profile_value'), - width_in_chars = 15, auto_completion = auto_completion, completion = completion}, - }, - }, + f:group_box { title = LOC("$$$/Application/Menu/Window/Modules=Modules:"):gsub(':',''), --string has : in it in LR database width = LrView.share('profile_group'), @@ -245,6 +218,45 @@ local function StartDialog(obstable,f) width_in_chars = 15, auto_completion = auto_completion, completion = completion}, }, }, + f:group_box { + title = LOC("$$$/AgDevelop/Menu/Tools=Tools"):gsub('&',''), --string has & in it in LR database + width = LrView.share('profile_group'), + f:row { + f:static_text{title = ProfileTypes.loupe.friendlyName, width = LrView.share('profile_label'),}, + f:edit_field{ value = LrView.bind ('Profileloupe'), width = LrView.share('profile_value'), + width_in_chars = 15, auto_completion = auto_completion, completion = completion}, + }, + f:row { + f:static_text{title = ProfileTypes.crop.friendlyName, width = LrView.share('profile_label'),}, + f:edit_field{ value = LrView.bind ('Profilecrop'), width = LrView.share('profile_value'), + width_in_chars = 15, auto_completion = auto_completion, completion = completion}, + }, + f:row { + f:static_text{title = ProfileTypes.dust.friendlyName, width = LrView.share('profile_label'),}, + f:edit_field{ value = LrView.bind ('Profiledust'), width = LrView.share('profile_value'), + width_in_chars = 15, auto_completion = auto_completion, completion = completion}, + }, + f:row { + f:static_text{title = ProfileTypes.redeye.friendlyName, width = LrView.share('profile_label'),}, + f:edit_field{ value = LrView.bind ('Profileredeye'), width = LrView.share('profile_value'), + width_in_chars = 15, auto_completion = auto_completion, completion = completion}, + }, + f:row { + f:static_text{title = ProfileTypes.gradient.friendlyName, width = LrView.share('profile_label'),}, + f:edit_field{ value = LrView.bind ('Profilegradient'), width = LrView.share('profile_value'), + width_in_chars = 15, auto_completion = auto_completion, completion = completion}, + }, + f:row { + f:static_text{title = ProfileTypes.circularGradient.friendlyName, width = LrView.share('profile_label'),}, + f:edit_field{ value = LrView.bind ('ProfilecircularGradient'), width = LrView.share('profile_value'), + width_in_chars = 15, auto_completion = auto_completion, completion = completion}, + }, + f:row { + f:static_text{title = ProfileTypes.localized.friendlyName, width = LrView.share('profile_label'),}, + f:edit_field{ value = LrView.bind ('Profilelocalized'), width = LrView.share('profile_value'), + width_in_chars = 15, auto_completion = auto_completion, completion = completion}, + }, + }, }, f:column { width = LrView.share('profile_column'), @@ -359,6 +371,7 @@ local function StartDialog(obstable,f) end end }, + f:checkbox {title = 'Notify when profile changes.', value = LrView.bind('ProfilesShowBezelOnChange')} } return allboxes end @@ -371,6 +384,7 @@ local function EndDialog(obstable, status) ProgramPreferences.Profiles[k] = obstable['Profile'..k]:gsub("^%s*(.-)%s*$", "%1") end end + ProgramPreferences.ProfilesShowBezelOnChange = obstable.ProfilesShowBezelOnChange end end From 4b48f5cc0bd7273ea86e3189e6f5f9d50e0e1f71 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Thu, 14 Jan 2016 21:39:30 -0800 Subject: [PATCH 03/87] maintain data structure file for application use --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 29 + .../MIDI2LR.lrplugin/datastructure.txt | 707 ++++++++++++++++++ 2 files changed, 736 insertions(+) create mode 100644 Source/LRPlugin/MIDI2LR.lrplugin/datastructure.txt diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 56dcfa6db..0e2fbbc87 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -485,6 +485,35 @@ local function startServer(context) } end +do --save localized file for app + local LrFileUtils = import 'LrFileUtils' + local LrLocalization = import 'LrLocalization' + local LrPathUtils = import 'LrPathUtils' + local Info = require 'Info' + local versionmismatch = false + local datafile = LrPathUtils.child(_PLUGIN.path, 'datastructure.txt') + if ProgramPreferences.Parameters == nil then + versionmismatch = true + else + for k,v in pairs(Info.VERSION) do + versionmismatch = versionmismatch or ProgramPreferences.Parameters.version[k] ~= v + end + end + if versionmismatch or LrFileUtils.exists(datafile) ~= 'file' or + ProgramPreferences.Parameters.language ~= LrLocalization.currentLanguage() + then + local serpent = require 'serpent' + local file = io.open(datafile,'w') + file:write(serpent.block(Parameters.Names)) + file:close() + ProgramPreferences.Parameters = {version={},language = ''} --empty it out, fill it up + ProgramPreferences.Parameters.language = LrLocalization.currentLanguage() + for k,v in pairs(Info.VERSION) do + ProgramPreferences.Parameters.version[k] = v + end + end +end + -- Main task LrTasks.startAsyncTask( function() -- LrMobdebug.on() diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/datastructure.txt b/Source/LRPlugin/MIDI2LR.lrplugin/datastructure.txt new file mode 100644 index 000000000..2972f94d7 --- /dev/null +++ b/Source/LRPlugin/MIDI2LR.lrplugin/datastructure.txt @@ -0,0 +1,707 @@ +{ + AutoBrightness = { + "Automatic Brightness", + 1250, + "adjustPanel" + } --[[table: 000000001A2CB450]], + AutoContrast = { + "Automatic Contrast", + 1260, + "adjustPanel" + } --[[table: 000000001A2CB040]], + AutoExposure = { + "Automatic Exposure", + 1270, + "adjustPanel" + } --[[table: 000000001A2CB0E0]], + AutoLateralCA = { + "Remove Chromatic Aberration", + 1000, + "lensCorrectionsPanel" + } --[[table: 000000001A2C9010]], + AutoShadows = { + "Automatic Shadows", + 1280, + "adjustPanel" + } --[[table: 000000001A2CB130]], + Blacks = { + "Blacks", + 80, + "adjustPanel" + } --[[table: 000000001A2C7620]], + BlueHue = { + "Blue Hue Calibration", + 980, + "calibratePanel" + } --[[table: 000000001A2C9420]], + BlueSaturation = { + "Blue Saturation Calibration", + 990, + "calibratePanel" + } --[[table: 000000001A2C8ED0]], + Brightness = { + "Brightness", + 1290, + "adjustPanel" + } --[[table: 000000001A2CA370]], + CameraProfile = { + "Camera Profile", + 1010, + "calibratePanel" + } --[[table: 000000001A2C9150]], + ChromaticAberrationB = { + "Blue Chromatic Aberration", + 1300, + "lensCorrectionsPanel" + } --[[table: 000000001A2CA230]], + ChromaticAberrationR = { + "Red Chromatic Aberration", + 1310, + "lensCorrectionsPanel" + } --[[table: 000000001A2CA5A0]], + Clarity = { + "Clarity", + 90, + "adjustPanel" + } --[[table: 000000001A2C76C0]], + ColorNoiseReduction = { + "Color Noise Reduction", + 630, + "detailPanel" + } --[[table: 000000001A2C79E0]], + ColorNoiseReductionDetail = { + "Color Noise Reduction Detail", + 640, + "detailPanel" + } --[[table: 000000001A2C8AC0]], + ColorNoiseReductionSmoothness = { + "Color Noise Reduction Smoothness", + 650, + "detailPanel" + } --[[table: 000000001A2C8B10]], + Contrast = { + "Contrast", + 60, + "adjustPanel" + } --[[table: 000000001A2C74E0]], + ConvertToGrayscale = { + "Convert to Grayscale", + 1020, + "mixerPanel" + } --[[table: 000000001A2C9BF0]], + CropAngle = { + "Crop Angle", + 1030, + "crop" + } --[[table: 000000001A2C9830]], + CropBottom = { + "Crop - Bottom", + 1040, + "crop" + } --[[table: 000000001A2C91A0]], + CropConstrainToWarp = { + "Constrain to Warp", + 1050, + "crop" + } --[[table: 000000001A2C9EC0]], + CropLeft = { + "Crop - Left", + 1060, + "crop" + } --[[table: 000000001A2C9240]], + CropRight = { + "Crop - Right", + 1070, + "crop" + } --[[table: 000000001A2CA000]], + CropTop = { + "Crop - Top", + 1080, + "crop" + } --[[table: 000000001A2CA0F0]], + Defringe = { + "Defringe", + 1320, + "lensCorrectionsPanel" + } --[[table: 000000001A2CB270]], + DefringeGreenAmount = { + "Defringe Green Amount", + 740, + "lensCorrectionsPanel" + } --[[table: 000000001A2C92E0]], + DefringeGreenHueHi = { + "Defringe Green Hue - High", + 760, + "lensCorrectionsPanel" + } --[[table: 000000001A2C9E70]], + DefringeGreenHueLo = { + "Defringe Green Hue - Low", + 750, + "lensCorrectionsPanel" + } --[[table: 000000001A2C97E0]], + DefringePurpleAmount = { + "Defringe Purple Amount", + 700, + "lensCorrectionsPanel" + } --[[table: 000000001A2C7B20]], + DefringePurpleHueHi = { + "Defringe Purple Hue - High", + 730, + "lensCorrectionsPanel" + } --[[table: 000000001A2C9F60]], + DefringePurpleHueLo = { + "Defringe Purple Hue - Low", + 710, + "lensCorrectionsPanel" + } --[[table: 000000001A2C9C90]], + Dehaze = { + "Dehaze Amount", + 830, + "effectsPanel" + } --[[table: 000000001A2C8F70]], + EnableCalibration = { + "Enable Calibration", + 1090, + "calibratePanel" + } --[[table: 000000001A2C9470]], + EnableCircularGradientBasedCorrections = { + "Enable Radial Filter", + 1100, + "circularGradient" + } --[[table: 000000001A2C94C0]], + EnableColorAdjustments = { + "Enable Color Adjustments", + 1110, + "mixerPanel" + } --[[table: 000000001A2C9600]], + EnableDetail = { + "Enable Detail", + 1120, + "detailPanel" + } --[[table: 000000001A2C9650]], + EnableEffects = { + "Enable Effects", + 1130, + "effectsPanel" + } --[[table: 000000001A2C96A0]], + EnableGradientBasedCorrections = { + "Enable Graduated Filter", + 1140, + "gradient" + } --[[table: 000000001A2C96F0]], + EnableGrayscaleMix = { + "Enable Grayscale Mix", + 1150, + "mixerPanel" + } --[[table: 000000001A2C9740]], + EnableLensCorrections = { + "Enable Lens Corrections", + 1160, + "lensCorrectionsPanel" + } --[[table: 000000001A2C9880]], + EnablePaintBasedCorrections = { + "Enable Brush Adjustments", + 1170, + "localized" + } --[[table: 000000001A2CAC80]], + EnableRedEye = { + "Enable Red-Eye", + 1180, + "redeye" + } --[[table: 000000001A2CA140]], + EnableRetouch = { + "Enable Spot Removal", + 1190, + "dust" + } --[[table: 000000001A2CA320]], + EnableSplitToning = { + "Enable Split Toning", + 1200, + "splitToningPanel" + } --[[table: 000000001A2CA910]], + Exposure = { + "Exposure", + 30, + "adjustPanel" + } --[[table: 000000001A2C7440]], + GrainAmount = { + "Grain Amount", + 900, + "effectsPanel" + } --[[table: 000000001A2C9060]], + GrainFrequency = { + "Grain Roughness", + 920, + "effectsPanel" + } --[[table: 000000001A2C90B0]], + GrainSize = { + "Grain Size", + 910, + "effectsPanel" + } --[[table: 000000001A2C9AB0]], + GrayMixerAqua = { + "Gray Mixer Aqua", + 470, + "mixerPanel" + } --[[table: 000000001A2C85C0]], + GrayMixerBlue = { + "Gray Mixer Blue", + 480, + "mixerPanel" + } --[[table: 000000001A2C8570]], + GrayMixerGreen = { + "Gray Mixer Green", + 460, + "mixerPanel" + } --[[table: 000000001A2C7940]], + GrayMixerMagenta = { + "Gray Mixer Magenta", + 500, + "mixerPanel" + } --[[table: 000000001A2C8110]], + GrayMixerOrange = { + "Gray Mixer Orange", + 440, + "mixerPanel" + } --[[table: 000000001A2C7EE0]], + GrayMixerPurple = { + "Gray Mixer Purple", + 490, + "mixerPanel" + } --[[table: 000000001A2C80C0]], + GrayMixerRed = { + "Gray Mixer Red", + 430, + "mixerPanel" + } --[[table: 000000001A2C8520]], + GrayMixerYellow = { + "Gray Mixer Yellow", + 450, + "mixerPanel" + } --[[table: 000000001A2C7DA0]], + GreenHue = { + "Green Hue Calibration", + 960, + "calibratePanel" + } --[[table: 000000001A2C8E80]], + GreenSaturation = { + "Green Saturation Calibration", + 970, + "calibratePanel" + } --[[table: 000000001A2C91F0]], + Highlights = { + "Highlights", + 40, + "adjustPanel" + } --[[table: 000000001A2C7490]], + HueAdjustmentAqua = { + "Hue Adjustment Aqua", + 310, + "mixerPanel" + } --[[table: 000000001A2C86B0]], + HueAdjustmentBlue = { + "Hue Adjustment Blue", + 320, + "mixerPanel" + } --[[table: 000000001A2C8070]], + HueAdjustmentGreen = { + "Hue Adjustment Green", + 300, + "mixerPanel" + } --[[table: 000000001A2C8430]], + HueAdjustmentMagenta = { + "Hue Adjustment Magenta", + 340, + "mixerPanel" + } --[[table: 000000001A2C8390]], + HueAdjustmentOrange = { + "Hue Adjustment Orange", + 280, + "mixerPanel" + } --[[table: 000000001A2C7CB0]], + HueAdjustmentPurple = { + "Hue Adjustment Purple", + 330, + "mixerPanel" + } --[[table: 000000001A2C8700]], + HueAdjustmentRed = { + "Hue Adjustment Red", + 270, + "mixerPanel" + } --[[table: 000000001A2C7C60]], + HueAdjustmentYellow = { + "Hue Adjustment Yellow", + 290, + "mixerPanel" + } --[[table: 000000001A2C8020]], + LensManualDistortionAmount = { + "Lens Manual Distortion Amount", + 690, + "lensCorrectionsPanel" + } --[[table: 000000001A2C7AD0]], + LensProfileChromaticAberrationScale = { + "Lens Profile Chromatic Aberration Scale", + 670, + "lensCorrectionsPanel" + } --[[table: 000000001A2C8CF0]], + LensProfileDistortionScale = { + "Lens Profile Distortion Scale", + 660, + "lensCorrectionsPanel" + } --[[table: 000000001A2C8BB0]], + LensProfileEnable = { + "Enable Lens Corrections", + 1210, + "lensCorrectionsPanel" + } --[[table: 000000001A2CB090]], + LensProfileSetup = { + "Lens Profile Setup", + 1330, + "lensCorrectionsPanel" + } --[[table: 000000001A2CAFA0]], + LensProfileVignettingScale = { + "Lens Profile Vignetting Scale", + 680, + "lensCorrectionsPanel" + } --[[table: 000000001A2C7A80]], + LuminanceAdjustmentAqua = { + "Luminance Adjustment Aqua", + 390, + "mixerPanel" + } --[[table: 000000001A2C87F0]], + LuminanceAdjustmentBlue = { + "Luminance Adjustment Blue", + 400, + "mixerPanel" + } --[[table: 000000001A2C7D00]], + LuminanceAdjustmentGreen = { + "Luminance Adjustment Green", + 380, + "mixerPanel" + } --[[table: 000000001A2C7BC0]], + LuminanceAdjustmentMagenta = { + "Luminance Adjustment Magenta", + 420, + "mixerPanel" + } --[[table: 000000001A2C7F80]], + LuminanceAdjustmentOrange = { + "Luminance Adjustment Orange", + 360, + "mixerPanel" + } --[[table: 000000001A2C7B70]], + LuminanceAdjustmentPurple = { + "Luminance Adjustment Purple", + 410, + "mixerPanel" + } --[[table: 000000001A2C7D50]], + LuminanceAdjustmentRed = { + "Luminance Adjustment Red", + 350, + "mixerPanel" + } --[[table: 000000001A2C7C10]], + LuminanceAdjustmentYellow = { + "Luminance Adjustment Yellow", + 370, + "mixerPanel" + } --[[table: 000000001A2C7FD0]], + LuminanceNoiseReductionContrast = { + "Luminance Noise Reduction Contrast", + 620, + "detailPanel" + } --[[table: 000000001A2C8C50]], + LuminanceNoiseReductionDetail = { + "Luminance Noise Reduction Detail", + 610, + "detailPanel" + } --[[table: 000000001A2C83E0]], + LuminanceSmoothing = { + "Luminance Smoothing", + 600, + "detailPanel" + } --[[table: 000000001A2C7A30]], + ParametricDarks = { + "Parametric Darks", + 120, + "tonePanel" + } --[[table: 000000001A2C7760]], + ParametricHighlightSplit = { + "Parametric Highlight Split", + 180, + "tonePanel" + } --[[table: 000000001A2C68B0]], + ParametricHighlights = { + "Parametric Highlights", + 150, + "tonePanel" + } --[[table: 000000001A2C66D0]], + ParametricLights = { + "Parametric Lights", + 130, + "tonePanel" + } --[[table: 000000001A2C7800]], + ParametricMidtoneSplit = { + "Parametric Midtone Split", + 170, + "tonePanel" + } --[[table: 000000001A2C6860]], + ParametricShadowSplit = { + "Parametric Shadow Split", + 160, + "tonePanel" + } --[[table: 000000001A2C6C70]], + ParametricShadows = { + "Parametric Shadows", + 140, + "tonePanel" + } --[[table: 000000001A2C6680]], + PerspectiveAspect = { + "Perspective Aspect", + 810, + "lensCorrectionsPanel" + } --[[table: 000000001A2C9970]], + PerspectiveHorizontal = { + "Perspective Horizontal", + 780, + "lensCorrectionsPanel" + } --[[table: 000000001A2C9B00]], + PerspectiveRotate = { + "Perspective Rotate", + 790, + "lensCorrectionsPanel" + } --[[table: 000000001A2C9920]], + PerspectiveScale = { + "Perspective Scale", + 800, + "lensCorrectionsPanel" + } --[[table: 000000001A2C8DE0]], + PerspectiveUpright = { + "Perspective Upright", + 820, + "lensCorrectionsPanel" + } --[[table: 000000001A2C9380]], + PerspectiveVertical = { + "Perspective Vertical", + 770, + "lensCorrectionsPanel" + } --[[table: 000000001A2C8FC0]], + PostCropVignetteAmount = { + "Post Crop Vignette Amount", + 840, + "effectsPanel" + } --[[table: 000000001A2C9D80]], + PostCropVignetteFeather = { + "Post Crop Vignette Feather", + 860, + "effectsPanel" + } --[[table: 000000001A2C9330]], + PostCropVignetteHighlightContrast = { + "Post Crop Vignette Highlight Contrast", + 890, + "effectsPanel" + } --[[table: 000000001A2C9560]], + PostCropVignetteMidpoint = { + "Post Crop Vignette Midpoint", + 850, + "effectsPanel" + } --[[table: 000000001A2C99C0]], + PostCropVignetteRoundness = { + "Post Crop Vignette Roundness", + 870, + "effectsPanel" + } --[[table: 000000001A2C9FB0]], + PostCropVignetteStyle = { + "Post Crop Vignette Style", + 880, + "effectsPanel" + } --[[table: 000000001A2CA0A0]], + ProcessVersion = { + "Process Version", + 1350, + "adjustPanel" + } --[[table: 000000001A2CA460]], + RedEyeInfo = { + "Red-Eye Information", + 1360, + "redeye" + } --[[table: 000000001A2CAD20]], + RedHue = { + "Red Hue Calibration", + 940, + "calibratePanel" + } --[[table: 000000001A2C8E30]], + RedSaturation = { + "Red Saturation Calibration", + 950, + "calibratePanel" + } --[[table: 000000001A2C9100]], + RetouchInfo = { + "Brush Adjustments", + 1370, + "localized" + } --[[table: 000000001A2CA690]], + Saturation = { + "Saturation", + 110, + "adjustPanel" + } --[[table: 000000001A2C6630]], + SaturationAdjustmentAqua = { + "Saturation Adjustment Aqua", + 230, + "mixerPanel" + } --[[table: 000000001A2C6C20]], + SaturationAdjustmentBlue = { + "Saturation Adjustment Blue", + 240, + "mixerPanel" + } --[[table: 000000001A2C6CC0]], + SaturationAdjustmentGreen = { + "Saturation Adjustment Green", + 220, + "mixerPanel" + } --[[table: 000000001A2C6D60]], + SaturationAdjustmentMagenta = { + "Saturation Adjustment Magenta", + 260, + "mixerPanel" + } --[[table: 000000001A2C6E00]], + SaturationAdjustmentOrange = { + "Saturation Adjustment Orange", + 200, + "mixerPanel" + } --[[table: 000000001A2C6900]], + SaturationAdjustmentPurple = { + "Saturation Adjustment Purple", + 250, + "mixerPanel" + } --[[table: 000000001A2C6D10]], + SaturationAdjustmentRed = { + "Saturation Adjustment Red", + 190, + "mixerPanel" + } --[[table: 000000001A2C6B30]], + SaturationAdjustmentYellow = { + "Saturation Adjustment Yellow", + 210, + "mixerPanel" + } --[[table: 000000001A2C6B80]], + ShadowTint = { + "Shadow Tint Calibration", + 930, + "calibratePanel" + } --[[table: 000000001A2C93D0]], + Shadows = { + "Shadows", + 50, + "adjustPanel" + } --[[table: 000000001A2C6950]], + SharpenDetail = { + "Sharpen Detail", + 580, + "detailPanel" + } --[[table: 000000001A2C89D0]], + SharpenEdgeMasking = { + "Sharpen Edge Masking", + 590, + "detailPanel" + } --[[table: 000000001A2C8A20]], + SharpenRadius = { + "Sharpen Radius", + 570, + "detailPanel" + } --[[table: 000000001A2C8C00]], + Sharpness = { + "Sharpness", + 560, + "detailPanel" + } --[[table: 000000001A2C82F0]], + SplitToningBalance = { + "Split Toning Balance", + 550, + "splitToningPanel" + } --[[table: 000000001A2C8930]], + SplitToningHighlightHue = { + "Split Toning Highlight Hue", + 530, + "splitToningPanel" + } --[[table: 000000001A2C8890]], + SplitToningHighlightSaturation = { + "Split Toning Highlight Saturation", + 540, + "splitToningPanel" + } --[[table: 000000001A2C82A0]], + SplitToningShadowHue = { + "Split Toning Shadow Hue", + 510, + "splitToningPanel" + } --[[table: 000000001A2C8200]], + SplitToningShadowSaturation = { + "Split Toning Shadow Saturation", + 520, + "splitToningPanel" + } --[[table: 000000001A2C8250]], + Temperature = { + "Temperature", + 10, + "adjustPanel" + } --[[table: 000000001A2C7030]], + Tint = { + "Tint", + 20, + "adjustPanel" + } --[[table: 000000001A2C6FE0]], + ToneCurve = { + "Tone Curve", + 1380, + "tonePanel" + } --[[table: 000000001A2CAAA0]], + ToneCurveName = { + "Tone Curve Name", + 1390, + "tonePanel" + } --[[table: 000000001A2CAC30]], + ToneCurvePV2012Blue = { + "Tone Curve PV 2012 Blue", + 1420, + "tonePanel" + } --[[table: 000000001A2CA960]], + ToneCurvePV2012Green = { + "Tone Curve PV 2012 Green", + 1430, + "tonePanel" + } --[[table: 000000001A2CA6E0]], + ToneCurvePV2012Red = { + "Tone Curve PV 2012 Red", + 1440, + "tonePanel" + } --[[table: 000000001A2CAD70]], + Vibrance = { + "Vibrance", + 100, + "adjustPanel" + } --[[table: 000000001A2C7710]], + VignetteAmount = { + "Vignette Amount", + 1220, + "lensCorrectionsPanel" + } --[[table: 000000001A2CA3C0]], + VignetteMidpoint = { + "Vignette Midpoint", + 1230, + "lensCorrectionsPanel" + } --[[table: 000000001A2CA8C0]], + WhiteBalance = { + "White Balance", + 1240, + "adjustPanel" + } --[[table: 000000001A2CACD0]], + Whites = { + "Whites", + 70, + "adjustPanel" + } --[[table: 000000001A2C67C0]], + orientation = { + "orientation", + 1340, + "" + } --[[table: 000000001A2CA410]] +} --[[table: 000000001A2C7170]] \ No newline at end of file From 7ac361c1b989c9d9e72dbcdc7a4cc165d5671a3b Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 15 Jan 2016 07:50:15 -0800 Subject: [PATCH 04/87] refactor profile change code --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 18 ++++++---- Source/LRPlugin/MIDI2LR.lrplugin/Options.lua | 5 +++ Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua | 34 ++++++------------- 3 files changed, 26 insertions(+), 31 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 0e2fbbc87..8dba0f3c6 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -464,6 +464,9 @@ local function processMessage(message) Profiles.setFullPath(message:sub(message:find(' ',1,true)+1)) --value stops at first space else -- otherwise update a develop parameter updateParam(param, tonumber(value)) + if ProgramPreferences.ClientShowBezelOnChange then + LrDialogs.showBezel(Parameters.Names[param][1]..' '..midi_lerp_to_develop(param, tonumber(value))) + end Profiles.changeProfile(Parameters.Names[param][3]) end end @@ -492,24 +495,25 @@ do --save localized file for app local Info = require 'Info' local versionmismatch = false local datafile = LrPathUtils.child(_PLUGIN.path, 'datastructure.txt') - if ProgramPreferences.Parameters == nil then + ProgramPreferences.Preferences = nil --temporary to clean out old version of prefs + if ProgramPreferences.DataStructure == nil then versionmismatch = true else for k,v in pairs(Info.VERSION) do - versionmismatch = versionmismatch or ProgramPreferences.Parameters.version[k] ~= v + versionmismatch = versionmismatch or ProgramPreferences.DataStructure.version[k] ~= v end end if versionmismatch or LrFileUtils.exists(datafile) ~= 'file' or - ProgramPreferences.Parameters.language ~= LrLocalization.currentLanguage() - then + ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() + then local serpent = require 'serpent' local file = io.open(datafile,'w') file:write(serpent.block(Parameters.Names)) file:close() - ProgramPreferences.Parameters = {version={},language = ''} --empty it out, fill it up - ProgramPreferences.Parameters.language = LrLocalization.currentLanguage() + ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up + ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() for k,v in pairs(Info.VERSION) do - ProgramPreferences.Parameters.version[k] = v + ProgramPreferences.DataStructure.version[k] = v end end end diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Options.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Options.lua index cad7ad370..26b268659 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Options.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Options.lua @@ -32,6 +32,8 @@ local function setOptions() LrFunctionContext.callWithContext( "assignPresets", function( context ) local f = LrView.osFactory() local properties = LrBinding.makePropertyTable( context ) + --following not managed by another module + properties.ClientShowBezelOnChange = ProgramPreferences.ClientShowBezelOnChange -- assemble dialog box contents local contents = @@ -57,6 +59,7 @@ local function setOptions() title = LOC("$$$/AgPrint/ProfileMenu/Other=Other..."), identifier = 'othersettings', Limits.StartDialog(properties,f), + f:checkbox {title = LOC("$$$/AgDocument/ModulePicker/Settings/ShowStatusAndActivity=Show status and activity"), value = LrView.bind('ClientShowBezelOnChange')} }, -- tab_view_item }, -- tab_view } -- view @@ -73,6 +76,8 @@ local function setOptions() Profiles.EndDialog(properties,result) if result == 'ok' then Preferences.Save() + --following not managed by another module + ProgramPreferences.ClientShowBezelOnChange = properties.ClientShowBezelOnChange end -- if result ok -- finished with assigning values from dialog end diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua index e3e3b731c..9dfb0656b 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua @@ -18,15 +18,13 @@ You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] +local Limits = require 'Limits' +local Parameters = require 'Parameters' local LrApplicationView = import 'LrApplicationView' local LrDevelopController = import 'LrDevelopController' local LrDialogs = import 'LrDialogs' local LrFileUtils = import 'LrFileUtils' local LrView = import 'LrView' ---following needed to resend values to controller when changing profile -local Limits = require 'Limits' -local Parameters = require 'Parameters' - local ProfileTypes = { loupe = {TMP = 'Tool', friendlyName = LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"),}, @@ -68,7 +66,11 @@ local loadedprofile = ''-- according to application and us local profilepath = '' --according to application local resyncDeferred = false -local function resync() +local function doprofilechange(newprofile) + if ProgramPreferences.ProfilesShowBezelOnChange and loadedprofile ~= '' then + LrDialogs.showBezel(LOC("$$$/AgNamingUI/RenameFile/ChangingTo=^1 is changing to ^2",loadedprofile,newprofile)) + end + loadedprofile = newprofile if LrApplicationView.getCurrentModuleName() == 'develop' then -- refresh MIDI controller since mapping has changed for _,param in ipairs(Parameters.Order) do @@ -85,18 +87,13 @@ local function resync() end end - local function setDirectory(value) profilepath = value end local function setFile(value) if loadedprofile ~= value then - if ProgramPreferences.ProfilesShowBezelOnChange and loadedprofile ~= '' then - LrDialogs.showBezel(LOC("$$$/AgNamingUI/RenameFile/ChangingTo=^1 is changing to ^2",loadedprofile,value)) - end - loadedprofile = value - resync() + doprofilechange(value) end end @@ -104,16 +101,10 @@ local function setFullPath(value) local path, profile = value:match("(.-)([^\\/]-%.?([^%.\\/]*))$") profilepath = path if profile ~= loadedprofile then - if ProgramPreferences.ProfilesShowBezelOnChange and loadedprofile ~= '' then - LrDialogs.showBezel(LOC("$$$/AgNamingUI/RenameFile/ChangingTo=^1 is changing to ^2",loadedprofile,profile)) - end - loadedprofile = profile - resync() + doprofilechange(profile) end end - - local function useDefaults() ProgramPreferences.Profiles = {} for k in pairs(ProfileTypes) do @@ -129,12 +120,7 @@ local function changeProfile(profilename, ignoreCurrent) if (newprofile_file ~= nil) and (newprofile_file ~= '') and (loadedprofile ~= newprofile_file) and ((ignoreCurrent == true) or (currentTMP[TMP] ~= profilename)) then MIDI2LR.SERVER:send('SwitchProfile '..newprofile_file..'\n') - if ProgramPreferences.ProfilesShowBezelOnChange and loadedprofile ~= '' then - LrDialogs.showBezel(LOC("$$$/AgNamingUI/RenameFile/ChangingTo=^1 is changing to ^2",loadedprofile,newprofile_file)) - end - loadedprofile = newprofile_file - changed = true - resync() + doprofilechange(newprofile_file) end currentTMP[TMP] = profilename end From 3b9a225d20df53fcb893c181ad75d2756825452e Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 15 Jan 2016 08:03:54 -0800 Subject: [PATCH 05/87] last commit also had show bezel for parameter changes this commit minor change --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 8dba0f3c6..e3e45f2ab 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -495,7 +495,6 @@ do --save localized file for app local Info = require 'Info' local versionmismatch = false local datafile = LrPathUtils.child(_PLUGIN.path, 'datastructure.txt') - ProgramPreferences.Preferences = nil --temporary to clean out old version of prefs if ProgramPreferences.DataStructure == nil then versionmismatch = true else From 53fcae0a7c8d37e1d4ac704b4a7902c95645e143 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Mon, 18 Jan 2016 10:40:46 -0800 Subject: [PATCH 06/87] Selective paste toggle settings sets Basic, Tone, Color, Noise Reduction, Lens Corrections, Effects --- Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua index 2fd9e449d..9f77808e8 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua @@ -20,6 +20,8 @@ MIDI2LR. If not, see . local Parameters = require 'Parameters' local LrView = import 'LrView' + + local Duplicates = { -- will set each to its duplicate in EndDialog Exposure2012 = 'Exposure', Highlights2012 = 'Highlights', @@ -33,6 +35,17 @@ local Duplicates = { -- will set each to its duplicate in EndDialog } local function StartDialog(obstable,f) + + local function set_reset(parmarray) --closure factory for toggle buttons + local set = true + return function() + for _,p in ipairs(parmarray) do + obstable['Paste'..p] = set + end + set = not set + end + end + for k,v in pairs(ProgramPreferences.PasteList) do obstable['Paste'..k] = v end @@ -73,6 +86,36 @@ local function StartDialog(obstable,f) end end, } ,-- push_button + f:push_button { + title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + action = set_reset {'Exposure','Highlights','Shadows','Contrast','Whites','Blacks'}, + }, -- push button + f:push_button { + title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Color=Color"), + action = set_reset {'Vibrance','Saturation','SaturationAdjustmentRed','SaturationAdjustmentOrange','SaturationAdjustmentYellow', + 'SaturationAdjustmentGreen','SaturationAdjustmentAqua','SaturationAdjustmentBlue','SaturationAdjustmentPurple', + 'SaturationAdjustmentMagenta','HueAdjustmentRed','HueAdjustmentOrange','HueAdjustmentYellow','HueAdjustmentGreen', + 'HueAdjustmentAqua','HueAdjustmentBlue','HueAdjustmentPurple','HueAdjustmentMagenta','LuminanceAdjustmentRed', + 'LuminanceAdjustmentOrange','LuminanceAdjustmentYellow','LuminanceAdjustmentGreen','LuminanceAdjustmentAqua','LuminanceAdjustmentBlue', + 'LuminanceAdjustmentPurple','LuminanceAdjustmentMagenta'}, + }, --push button + f:push_button { + title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/NoiseReduction=Noise Reduction"), + action = set_reset {'LuminanceSmoothing','LuminanceNoiseReductionDetail','LuminanceNoiseReductionContrast','ColorNoiseReduction', + 'ColorNoiseReductionDetail','ColorNoiseReductionSmoothness'}, + }, --push button + f:push_button { + title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + action = set_reset {'LensProfileDistortionScale','LensProfileChromaticAberrationScale','LensProfileVignettingScale', + 'LensManualDistortionAmount','DefringePurpleAmount','DefringePurpleHueLo','DefringePurpleHueHi','DefringeGreenAmount', + 'DefringeGreenHueLo','DefringeGreenHueHi','PerspectiveVertical','PerspectiveHorizontal','PerspectiveRotate', + 'PerspectiveScale','PerspectiveAspect','PerspectiveUpright','VignetteAmount','VignetteMidpoint','Defringe'}, + }, --push button + f:push_button { + title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + action = set_reset {'Dehaze','PostCropVignetteAmount','PostCropVignetteMidpoint','PostCropVignetteFeather','PostCropVignetteRoundness', + 'PostCropVignetteStyle','PostCropVignetteHighlightContrast','GrainAmount','GrainSize','GrainFrequency'}, + }, --push button },-- set of pushbuttons f:checkbox {title = 'Ask each time', value = LrView.bind('PastePopup')} } --row with pushbuttons and checkbox From b1ad22af261b98107f9712d168acc2e67285485e Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Mon, 18 Jan 2016 13:08:58 -0800 Subject: [PATCH 07/87] MenuList added --- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 410 ++++++++++++++++++ 1 file changed, 410 insertions(+) create mode 100644 Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua new file mode 100644 index 000000000..8b4e80fca --- /dev/null +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -0,0 +1,410 @@ +local MenuList = { + {"WhiteBalanceAuto", "White Balance Auto", "Basic", true}, + {"WhiteBalanceAs_Shot", "White Balance As Shot", "Basic", true}, + {"WhiteBalanceDaylight", "White Balance Daylight", "Basic", true}, + {"WhiteBalanceCloudy", "White Balance Cloudy", "Basic", true}, + {"WhiteBalanceShade", "White Balance Shade", "Basic", true}, + {"WhiteBalanceTungsten", "White Balance Tungsten", "Basic", true}, + {"WhiteBalanceFluorescent", "White Balance Fluorescent", "Basic", true}, + {"WhiteBalanceFlash", "White Balance Flash", "Basic", true}, + {"Temperature", "Temperature", "Basic", false}, + {"Tint", "Tint", "Basic", false}, + {"Exposure", "Exposure", "Basic", false}, + {"Contrast", "Contrast", "Basic", false}, + {"Highlights", "Highlights", "Basic", false}, + {"Shadows", "Shadows", "Basic", false}, + {"Whites", "Whites", "Basic", false}, + {"Blacks", "Blacks", "Basic", false}, + {"Clarity", "Clarity", "Basic", false}, + {"Vibrance", "Vibrance", "Basic", false}, + {"Saturation", "Saturation", "Basic", false}, + {"ResetTemperature", "Reset Temperature", "Basic", true}, + {"ResetTint", "Reset Tint", "Basic", true}, + {"ResetExposure", "Reset Exposure", "Basic", true}, + {"ResetContrast", "Reset Contrast", "Basic", true}, + {"ResetHighlights", "Reset Highlights", "Basic", true}, + {"ResetShadows", "Reset Shadows", "Basic", true}, + {"ResetWhites", "Reset Whites", "Basic", true}, + {"ResetBlacks", "Reset Blacks", "Basic", true}, + {"ResetClarity", "Reset Clarity", "Basic", true}, + {"ResetVibrance", "Reset Vibrance", "Basic", true}, + {"ResetSaturation", "Reset Saturation", "Basic", true}, + {"ParametricDarks", "Parametric Darks", "Tone Curve", false}, + {"ParametricLights", "Parametric Lights", "Tone Curve", false}, + {"ParametricShadows", "Parametric Shadows", "Tone Curve", false}, + {"ParametricHighlights", "Parametric Highlights", "Tone Curve", false}, + {"ParametricShadowSplit", "Parametric Shadow Split", "Tone Curve", false}, + {"ParametricMidtoneSplit", "Parametric Midtone Split", "Tone Curve", false}, + {"ParametricHighlightSplit", "Parametric Highlight Split", "Tone Curve", false}, + {"ResetParametricDarks", "Reset Parametric Darks", "Tone Curve", true}, + {"ResetParametricLights", "Reset Parametric Lights", "Tone Curve", true}, + {"ResetParametricShadows", "Reset Parametric Shadows", "Tone Curve", true}, + {"ResetParametricHighlights", "Reset Parametric Highlights", "Tone Curve", true}, + {"ResetParametricShadowSplit", "Reset Parametric Shadow Split", "Tone Curve", true}, + {"ResetParametricMidtoneSplit", "Reset Parametric Midtone Split", "Tone Curve", true}, + {"ResetParametricHighlightSplit", "Reset Parametric Highlight Split", "Tone Curve", true}, + {"EnableColorAdjustments", "Enable/Disable Color Adjustments", "HSL / Color / B&W", true}, + {"SaturationAdjustmentRed", "Saturation Adjustment Red", "HSL / Color / B&W", false}, + {"SaturationAdjustmentOrange", "Saturation Adjustment Orange", "HSL / Color / B&W", false}, + {"SaturationAdjustmentYellow", "Saturation Adjustment Yellow", "HSL / Color / B&W", false}, + {"SaturationAdjustmentGreen", "Saturation Adjustment Green", "HSL / Color / B&W", false}, + {"SaturationAdjustmentAqua", "Saturation Adjustment Aqua", "HSL / Color / B&W", false}, + {"SaturationAdjustmentBlue", "Saturation Adjustment Blue", "HSL / Color / B&W", false}, + {"SaturationAdjustmentPurple", "Saturation Adjustment Purple", "HSL / Color / B&W", false}, + {"SaturationAdjustmentMagenta", "Saturation Adjustment Magenta", "HSL / Color / B&W", false}, + {"HueAdjustmentRed", "Hue Adjustment Red", "HSL / Color / B&W", false}, + {"HueAdjustmentOrange", "Hue Adjustment Orange", "HSL / Color / B&W", false}, + {"HueAdjustmentYellow", "Hue Adjustment Yellow", "HSL / Color / B&W", false}, + {"HueAdjustmentGreen", "Hue Adjustment Green", "HSL / Color / B&W", false}, + {"HueAdjustmentAqua", "Hue Adjustment Aqua", "HSL / Color / B&W", false}, + {"HueAdjustmentBlue", "Hue Adjustment Blue", "HSL / Color / B&W", false}, + {"HueAdjustmentPurple", "Hue Adjustment Purple", "HSL / Color / B&W", false}, + {"HueAdjustmentMagenta", "Hue Adjustment Magenta", "HSL / Color / B&W", false}, + {"LuminanceAdjustmentRed", "Luminance Adjustment Red", "HSL / Color / B&W", false}, + {"LuminanceAdjustmentOrange", "Luminance Adjustment Orange", "HSL / Color / B&W", false}, + {"LuminanceAdjustmentYellow", "Luminance Adjustment Yellow", "HSL / Color / B&W", false}, + {"LuminanceAdjustmentGreen", "Luminance Adjustment Green", "HSL / Color / B&W", false}, + {"LuminanceAdjustmentAqua", "Luminance Adjustment Aqua", "HSL / Color / B&W", false}, + {"LuminanceAdjustmentBlue", "Luminance Adjustment Blue", "HSL / Color / B&W", false}, + {"LuminanceAdjustmentPurple", "Luminance Adjustment Purple", "HSL / Color / B&W", false}, + {"LuminanceAdjustmentMagenta", "Luminance Adjustment Magenta", "HSL / Color / B&W", false}, + {"ConvertToGrayscale", "Toggle Convert to Grayscale", "HSL / Color / B&W", true}, + {"EnableGrayscaleMix", "Enable/Disable Grayscale Mix", "HSL / Color / B&W", true}, + {"GrayMixerRed", "Gray Mixer Red", "HSL / Color / B&W", false}, + {"GrayMixerOrange", "Gray Mixer Orange", "HSL / Color / B&W", false}, + {"GrayMixerYellow", "Gray Mixer Yellow", "HSL / Color / B&W", false}, + {"GrayMixerGreen", "Gray Mixer Green", "HSL / Color / B&W", false}, + {"GrayMixerAqua", "Gray Mixer Aqua", "HSL / Color / B&W", false}, + {"GrayMixerBlue", "Gray Mixer Blue", "HSL / Color / B&W", false}, + {"GrayMixerPurple", "Gray Mixer Purple", "HSL / Color / B&W", false}, + {"GrayMixerMagenta", "Gray Mixer Magenta", "HSL / Color / B&W", false}, + {"ResetSaturationAdjustmentRed", "Reset Saturation Adjustment Red", "Reset HSL / Color / B&W", true}, + {"ResetSaturationAdjustmentOrange", "Reset Saturation Adjustment Orange", "Reset HSL / Color / B&W", true}, + {"ResetSaturationAdjustmentYellow", "Reset Saturation Adjustment Yellow", "Reset HSL / Color / B&W", true}, + {"ResetSaturationAdjustmentGreen", "Reset Saturation Adjustment Green", "Reset HSL / Color / B&W", true}, + {"ResetSaturationAdjustmentAqua", "Reset Saturation Adjustment Aqua", "Reset HSL / Color / B&W", true}, + {"ResetSaturationAdjustmentBlue", "Reset Saturation Adjustment Blue", "Reset HSL / Color / B&W", true}, + {"ResetSaturationAdjustmentPurple", "Reset Saturation Adjustment Purple", "Reset HSL / Color / B&W", true}, + {"ResetSaturationAdjustmentMagenta", "Reset Saturation Adjustment Magenta", "Reset HSL / Color / B&W", true}, + {"ResetHueAdjustmentRed", "Reset Hue Adjustment Red", "Reset HSL / Color / B&W", true}, + {"ResetHueAdjustmentOrange", "Reset Hue Adjustment Orange", "Reset HSL / Color / B&W", true}, + {"ResetHueAdjustmentYellow", "Reset Hue Adjustment Yellow", "Reset HSL / Color / B&W", true}, + {"ResetHueAdjustmentGreen", "Reset Hue Adjustment Green", "Reset HSL / Color / B&W", true}, + {"ResetHueAdjustmentAqua", "Reset Hue Adjustment Aqua", "Reset HSL / Color / B&W", true}, + {"ResetHueAdjustmentBlue", "Reset Hue Adjustment Blue", "Reset HSL / Color / B&W", true}, + {"ResetHueAdjustmentPurple", "Reset Hue Adjustment Purple", "Reset HSL / Color / B&W", true}, + {"ResetHueAdjustmentMagenta", "Reset Hue Adjustment Magenta", "Reset HSL / Color / B&W", true}, + {"ResetLuminanceAdjustmentRed", "Reset Luminance Adjustment Red", "Reset HSL / Color / B&W", true}, + {"ResetLuminanceAdjustmentOrange", "Reset Luminance Adjustment Orange", "Reset HSL / Color / B&W", true}, + {"ResetLuminanceAdjustmentYellow", "Reset Luminance Adjustment Yellow", "Reset HSL / Color / B&W", true}, + {"ResetLuminanceAdjustmentGreen", "Reset Luminance Adjustment Green", "Reset HSL / Color / B&W", true}, + {"ResetLuminanceAdjustmentAqua", "Reset Luminance Adjustment Aqua", "Reset HSL / Color / B&W", true}, + {"ResetLuminanceAdjustmentBlue", "Reset Luminance Adjustment Blue", "Reset HSL / Color / B&W", true}, + {"ResetLuminanceAdjustmentPurple", "Reset Luminance Adjustment Purple", "Reset HSL / Color / B&W", true}, + {"ResetLuminanceAdjustmentMagenta", "Reset Luminance Adjustment Magenta", "Reset HSL / Color / B&W", true}, + {"ResetGrayMixerRed", "Reset Gray Mixer Red", "Reset HSL / Color / B&W", true}, + {"ResetGrayMixerOrange", "Reset Gray Mixer Orange", "Reset HSL / Color / B&W", true}, + {"ResetGrayMixerYellow", "Reset Gray Mixer Yellow", "Reset HSL / Color / B&W", true}, + {"ResetGrayMixerGreen", "Reset Gray Mixer Green", "Reset HSL / Color / B&W", true}, + {"ResetGrayMixerAqua", "Reset Gray Mixer Aqua", "Reset HSL / Color / B&W", true}, + {"ResetGrayMixerBlue", "Reset Gray Mixer Blue", "Reset HSL / Color / B&W", true}, + {"ResetGrayMixerPurple", "Reset Gray Mixer Purple", "Reset HSL / Color / B&W", true}, + {"ResetGrayMixerMagenta", "Reset Gray Mixer Magenta", "Reset HSL / Color / B&W", true}, + {"EnableSplitToning", "Enable/Disable Split Toning", "Split Toning", true}, + {"SplitToningShadowHue", "Split Toning Shadow Hue", "Split Toning", false}, + {"SplitToningShadowSaturation", "Split Toning Shadow Saturation", "Split Toning", false}, + {"SplitToningHighlightHue", "Split Toning Highlight Hue", "Split Toning", false}, + {"SplitToningHighlightSaturation", "Split Toning Highlight Saturation", "Split Toning", false}, + {"SplitToningBalance", "Split Toning Balance", "Split Toning", false}, + {"ResetSplitToningShadowHue", "Reset Split Toning Shadow Hue", "Split Toning", true}, + {"ResetSplitToningShadowSaturation", "Reset Split Toning Shadow Saturation", "Split Toning", true}, + {"ResetSplitToningHighlightHue", "Reset Split Toning Highlight Hue", "Split Toning", true}, + {"ResetSplitToningHighlightSaturation", "Reset Split Toning Highlight Saturation", "Split Toning", true}, + {"ResetSplitToningBalance", "Reset Split Toning Balance", "Split Toning", true}, + {"EnableDetail", "Enable/Disable Detail", "Detail", true}, + {"Sharpness", "Sharpness", "Detail", false}, + {"SharpenRadius", "Sharpen Radius", "Detail", false}, + {"SharpenDetail", "Sharpen Detail", "Detail", false}, + {"SharpenEdgeMasking", "Sharpen Edge Masking", "Detail", false}, + {"LuminanceSmoothing", "Luminance Smoothing", "Detail", false}, + {"LuminanceNoiseReductionDetail", "Luminance Noise Reduction Detail", "Detail", false}, + {"LuminanceNoiseReductionContrast", "Luminance Noise Reduction Contrast", "Detail", false}, + {"ColorNoiseReduction", "Color Noise Reduction", "Detail", false}, + {"ColorNoiseReductionDetail", "Color Noise Reduction Detail", "Detail", false}, + {"ColorNoiseReductionSmoothness", "Color Noise Reduction Smoothness", "Detail", false}, + {"ResetSharpness", "Reset Sharpness", "Detail", true}, + {"ResetSharpenRadius", "Reset Sharpen Radius", "Detail", true}, + {"ResetSharpenDetail", "Reset Sharpen Detail", "Detail", true}, + {"ResetSharpenEdgeMasking", "Reset Sharpen Edge Masking", "Detail", true}, + {"ResetLuminanceSmoothing", "Reset Luminance Smoothing", "Detail", true}, + {"ResetLuminanceNoiseReductionDetail", "Reset Luminance Noise Reduction Detail", "Detail", true}, + {"ResetLuminanceNoiseReductionContrast", "Reset Luminance Noise Reduction Contrast", "Detail", true}, + {"ResetColorNoiseReduction", "Reset Color Noise Reduction", "Detail", true}, + {"ResetColorNoiseReductionDetail", "Reset Color Noise Reduction Detail", "Detail", true}, + {"ResetColorNoiseReductionSmoothness", "Reset Color Noise Reduction Smoothness", "Detail", true}, + {"EnableLensCorrections", "Enable/Disable All Lens Corrections", "Lens Corrections", true}, + {"LensProfileEnable", "Enable/Disable Profile Corrections", "Lens Corrections", true}, + {"AutoLateralCA", "Enable/Disable Remove Chromatic Aberration", "Lens Corrections", true}, + {"UprightOff", "Perspective Upright Off", "Lens Corrections", true}, + {"UprightAuto", "Perspective Upright Auto", "Lens Corrections", true}, + {"UprightLevel", "Perspective Upright Level", "Lens Corrections", true}, + {"UprightVertical", "Perspective Upright Vertical", "Lens Corrections", true}, + {"UprightFull", "Perspective Upright Full", "Lens Corrections", true}, + {"ResetPerspectiveUpright", "Reset Perspective Upright", "Lens Corrections", true}, + {"LensProfileDistortionScale", "Lens Profile Distortion Scale", "Lens Corrections", false}, + {"LensProfileChromaticAberrationScale", "Lens Profile Chromatic Aberration Scale", "Lens Corrections", false}, + {"LensProfileVignettingScale", "Lens Profile Vignetting Scale", "Lens Corrections", false}, + {"ResetLensProfileDistortionScale", "Reset Lens Profile Distortion Scale", "Lens Corrections", true}, + {"ResetLensProfileChromaticAberrationScale", "Reset Lens Profile Chromatic Aberration Scale", "Lens Corrections", true}, + {"ResetLensProfileVignettingScale", "Reset Lens Profile Vignetting Scale", "Lens Corrections", true}, + {"DefringePurpleAmount", "Defringe Purple Amount", "Lens Corrections", false}, + {"DefringePurpleHueLo", "Defringe Purple Hue Lo", "Lens Corrections", false}, + {"DefringePurpleHueHi", "Defringe Purple Hue Hi", "Lens Corrections", false}, + {"DefringeGreenAmount", "Defringe Green Amount", "Lens Corrections", false}, + {"DefringeGreenHueLo", "Defringe Green Hue Lo", "Lens Corrections", false}, + {"DefringeGreenHueHi", "Defringe Green Hue Hi", "Lens Corrections", false}, + {"ResetDefringePurpleAmount", "Reset Defringe Purple Amount", "Lens Corrections", true}, + {"ResetDefringePurpleHueLo", "Reset Defringe Purple Hue Lo", "Lens Corrections", true}, + {"ResetDefringePurpleHueHi", "Reset Defringe Purple Hue Hi", "Lens Corrections", true}, + {"ResetDefringeGreenAmount", "Reset Defringe Green Amount", "Lens Corrections", true}, + {"ResetDefringeGreenHueLo", "Reset Defringe Green Hue Lo", "Lens Corrections", true}, + {"ResetDefringeGreenHueHi", "Reset Defringe Green Hue Hi", "Lens Corrections", true}, + {"LensManualDistortionAmount", "Lens Manual Distortion Amount", "Lens Corrections", false}, + {"PerspectiveVertical", "Perspective Vertical", "Lens Corrections", false}, + {"PerspectiveHorizontal", "Perspective Horizontal", "Lens Corrections", false}, + {"PerspectiveRotate", "Perspective Rotate", "Lens Corrections", false}, + {"PerspectiveScale", "Perspective Scale", "Lens Corrections", false}, + {"PerspectiveAspect", "Perspective Aspect", "Lens Corrections", false}, + {"VignetteAmount", "Lens Vignetting Amount", "Lens Corrections", false}, + {"VignetteMidpoint", "Lens Vignetting Midpoint", "Lens Corrections", false}, + {"ResetLensManualDistortionAmount", "Reset Lens Manual Distortion Amount", "Lens Corrections", true}, + {"ResetPerspectiveVertical", "Reset Perspective Vertical", "Lens Corrections", true}, + {"ResetPerspectiveHorizontal", "Reset Perspective Horizontal", "Lens Corrections", true}, + {"ResetPerspectiveRotate", "Reset Perspective Rotate", "Lens Corrections", true}, + {"ResetPerspectiveScale", "Reset Perspective Scale", "Lens Corrections", true}, + {"ResetPerspectiveAspect", "Reset Perspective Aspect", "Lens Corrections", true}, + {"ResetVignetteAmount", "Reset Lens Vignetting Amount", "Lens Corrections", true}, + {"ResetVignetteMidpoint", "Reset Lens Vignetting Midpoint", "Lens Corrections", true}, + {"EnableEffects", "Enable/Disable Effects", "Effects", true}, + {"Dehaze", "Dehaze", "Effects", false}, + {"PostCropVignetteAmount", "Post Crop Vignette Amount", "Effects", false}, + {"PostCropVignetteMidpoint", "Post Crop Vignette Midpoint", "Effects", false}, + {"PostCropVignetteFeather", "Post Crop Vignette Feather", "Effects", false}, + {"PostCropVignetteRoundness", "Post Crop Vignette Roundness", "Effects", false}, + {"PostCropVignetteStyle", "Post Crop Vignette Style", "Effects", false}, + {"PostCropVignetteHighlightContrast", "Post Crop Vignette Highlight Contrast", "Effects", false}, + {"GrainAmount", "Grain Amount", "Effects", false}, + {"GrainSize", "Grain Size", "Effects", false}, + {"GrainFrequency", "Grain Frequency", "Effects", false}, + {"ResetDehaze", "Reset Dehaze", "Effects", true}, + {"ResetPostCropVignetteAmount", "Reset Post Crop Vignette Amount", "Effects", true}, + {"ResetPostCropVignetteMidpoint", "Reset Post Crop Vignette Midpoint", "Effects", true}, + {"ResetPostCropVignetteFeather", "Reset Post Crop Vignette Feather", "Effects", true}, + {"ResetPostCropVignetteRoundness", "Reset Post Crop Vignette Roundness", "Effects", true}, + {"ResetPostCropVignetteStyle", "Reset Post Crop Vignette Style", "Effects", true}, + {"ResetPostCropVignetteHighlightContrast", "Reset Post Crop Vignette Highlight Contrast", "Effects", true}, + {"ResetGrainAmount", "Reset Grain Amount", "Effects", true}, + {"ResetGrainSize", "Reset Grain Size", "Effects", true}, + {"ResetGrainFrequency", "Reset Grain Frequency", "Effects", true}, + {"EnableCalibration", "Enable/Disable Calibration", "Camera Calibration", true}, + {"Profile_Adobe_Standard", "Camera Profile Adobe Standard", "Camera Calibration", true}, + {"Profile_Camera_Clear", "Camera Profile Clear", "Camera Calibration", true}, + {"Profile_Camera_Deep", "Camera Profile Deep", "Camera Calibration", true}, + {"Profile_Camera_Landscape", "Camera Profile Landscape", "Camera Calibration", true}, + {"Profile_Camera_Light", "Camera Profile Light", "Camera Calibration", true}, + {"Profile_Camera_Neutral", "Camera Profile Neutral", "Camera Calibration", true}, + {"Profile_Camera_Portrait", "Camera Profile Portrait", "Camera Calibration", true}, + {"Profile_Camera_Standard", "Camera Profile Standard", "Camera Calibration", true}, + {"Profile_Camera_Vivid", "Camera Profile Vivid", "Camera Calibration", true}, + {"ShadowTint", "Shadow Tint", "Camera Calibration", false}, + {"RedHue", "Red Hue", "Camera Calibration", false}, + {"RedSaturation", "Red Saturation", "Camera Calibration", false}, + {"GreenHue", "Green Hue", "Camera Calibration", false}, + {"GreenSaturation", "Green Saturation", "Camera Calibration", false}, + {"BlueHue", "Blue Hue", "Camera Calibration", false}, + {"BlueSaturation", "Blue Saturation", "Camera Calibration", false}, + {"ResetShadowTint", "Reset Shadow Tint", "Camera Calibration", false}, + {"ResetRedHue", "Reset Red Hue", "Camera Calibration", false}, + {"ResetRedSaturation", "Reset Red Saturation", "Camera Calibration", false}, + {"ResetGreenHue", "Reset Green Hue", "Camera Calibration", false}, + {"ResetGreenSaturation", "Reset Green Saturation", "Camera Calibration", false}, + {"ResetBlueHue", "Reset Blue Hue", "Camera Calibration", false}, + {"ResetBlueSaturation", "Reset Blue Saturation" "Camera Calibration", false}, + {"Pick", "Pick", "Photo Actions", true}, + {"Reject", "Reject", "Photo Actions", true}, + {"Next", "Next Photo", "Photo Actions", true}, + {"Prev", "Previous Photo", "Photo Actions", true}, + {"VirtualCopy", "Create Virtual Copy", "Photo Actions", true}, + {"RemoveFlag", "Remove Flag", "Photo Actions", true}, + {"IncreaseRating", "Increase Rating", "Photo Actions", true}, + {"DecreaseRating", "Decrease Rating", "Photo Actions", true}, + {"SetRating0", "Set Rating To 0", "Photo Actions", true}, + {"SetRating1", "Set Rating To 1", "Photo Actions", true}, + {"SetRating2", "Set Rating To 2", "Photo Actions", true}, + {"SetRating3", "Set Rating To 3", "Photo Actions", true}, + {"SetRating4", "Set Rating To 4", "Photo Actions", true}, + {"SetRating5", "Set Rating To 5", "Photo Actions", true}, + {"ToggleBlue", "Toggle Blue Label", "Photo Actions", true}, + {"ToggleGreen", "Toggle Green Label", "Photo Actions", true}, + {"ToggleRed", "Toggle Red Label", "Photo Actions", true}, + {"TogglePurple", "Toggle Purple Label", "Photo Actions", true}, + {"ToggleYellow", "Toggle Yellow Label", "Photo Actions", true}, + {"ResetAll", "Reset All Develop Adjustments", "Photo Actions", true}, + {"ResetLast", "Reset Last Develop Parameter", "Photo Actions", true}, + {"IncrementLastDevelopParameter", "Increment Last Develop Parameter", "Photo Actions", true}, + {"DecrementLastDevelopParameter", "Decrement Last Develop Parameter", "Photo Actions", true}, + {"Undo", "Undo", "Photo Actions", true}, + {"Redo", "Redo", "Photo Actions", true}, + {"CopySettings", "Copy Settings", "Photo Actions", true}, + {"PasteSettings", "Paste Settings", "Photo Actions", true}, + {"PasteSelectedSettings", "Paste Selected Settings", "Photo Actions", true}, + {"Preset_1", "Preset 1", "Develop Presets", true}, + {"Preset_2", "Preset 2", "Develop Presets", true}, + {"Preset_3", "Preset 3", "Develop Presets", true}, + {"Preset_4", "Preset 4", "Develop Presets", true}, + {"Preset_5", "Preset 5", "Develop Presets", true}, + {"Preset_6", "Preset 6", "Develop Presets", true}, + {"Preset_7", "Preset 7", "Develop Presets", true}, + {"Preset_8", "Preset 8", "Develop Presets", true}, + {"Preset_9", "Preset 9", "Develop Presets", true}, + {"Preset_10", "Preset 10", "Develop Presets", true}, + {"Preset_11", "Preset 11", "Develop Presets", true}, + {"Preset_12", "Preset 12", "Develop Presets", true}, + {"Preset_13", "Preset 13", "Develop Presets", true}, + {"Preset_14", "Preset 14", "Develop Presets", true}, + {"Preset_15", "Preset 15", "Develop Presets", true}, + {"Preset_16", "Preset 16", "Develop Presets", true}, + {"Preset_17", "Preset 17", "Develop Presets", true}, + {"Preset_18", "Preset 18", "Develop Presets", true}, + {"Preset_19", "Preset 19", "Develop Presets", true}, + {"Preset_20", "Preset 20", "Develop Presets", true}, + {"ZoomInLargeStep", "Zoom In Large Step", "Miscellaneous", true}, + {"ZoomInSmallStep", "Zoom In Small Step", "Miscellaneous", true}, + {"ZoomOutSmallStep", "Zoom Out Small Step", "Miscellaneous", true}, + {"ZoomOutLargeStep", "Zoom Out Large Step", "Miscellaneous", true}, + {"ToggleZoomOffOn", "Toggle Zoom Off/On", "Miscellaneous", true}, + {"CropAngle", "Crop Angle", "Miscellaneous", false}, + {"CropBottom", "Crop Bottom", "Miscellaneous", false}, + {"CropLeft", "Crop Left", "Miscellaneous", false}, + {"CropRight", "Crop Right", "Miscellaneous", false}, + {"CropTop", "Crop Top", "Miscellaneous", false}, + {"ResetCrop", "Reset Crop", "Miscellaneous", true}, + {"EnableCircularGradientBasedCorrections", "Enable/Disable Radial Filter", "Miscellaneous", true}, + {"EnableGradientBasedCorrections", "Enable/Disable Graduated Filter", "Miscellaneous", true}, + {"EnablePaintBasedCorrections", "Enable/Disable Brush Adjustments", "Miscellaneous", true}, + {"EnableRedEye", "Enable/Disable Red-Eye", "Miscellaneous", true}, + {"EnableRetouch", "Enable/Disable Spot Removal", "Miscellaneous", true}, + {"ResetCircGrad", "Reset Radial Filter", "Miscellaneous", true}, + {"ResetGradient", "Reset Graduated Filter", "Miscellaneous", true}, + {"ResetBrushing", "Reset Brush Adjustments", "Miscellaneous", true}, + {"ResetRedeye", "Reset Red-Eye", "Miscellaneous", true}, + {"ResetSpotRem", "Reset Spot Removal", "Miscellaneous", true}, + {"Loupe", "Loupe Tool", "Miscellaneous", true}, + {"CropOverlay", "Crop Tool", "Go to Tool, Module, or Panel", true}, + {"SpotRemoval", "Spot Removal Tool", "Go to Tool, Module, or Panel", true}, + {"RedEye", "Red Eye Tool", "Go to Tool, Module, or Panel", true}, + {"GraduatedFilter", "Graduated Filter Tool", "Go to Tool, Module, or Panel", true}, + {"RadialFilter", "Radial Filter Tool", "Go to Tool, Module, or Panel", true}, + {"AdjustmentBrush", "Adjustment Brush Tool", "Go to Tool, Module, or Panel", true}, + {"SwToMlibrary", "Library Module", "Go to Tool, Module, or Panel", true}, + {"SwToMdevelop", "Develop Module", "Go to Tool, Module, or Panel", true}, + {"SwToMmap", "Map Module", "Go to Tool, Module, or Panel", true}, + {"SwToMbook", "Book Module", "Go to Tool, Module, or Panel", true}, + {"SwToMslideshow", "Slideshow Module", "Go to Tool, Module, or Panel", true}, + {"SwToMprint", "Print Module", "Go to Tool, Module, or Panel", true}, + {"SwToMweb", "Web Module", "Go to Tool, Module, or Panel", true}, + {"RevealPanelAdjust", "Basic Adjustments Panel", "Go to Tool, Module, or Panel", true}, + {"RevealPanelTone", "Tone Curve Panel", "Go to Tool, Module, or Panel", true}, + {"RevealPanelMixer", "Mixer Panel", "Go to Tool, Module, or Panel", true}, + {"RevealPanelSplit", "Split Toning Panel", "Go to Tool, Module, or Panel", true}, + {"RevealPanelDetail", "Detail Panel", "Go to Tool, Module, or Panel", true}, + {"RevealPanelLens", "Lens Corrections Panel", "Go to Tool, Module, or Panel", true}, + {"RevealPanelEffects", "Effects Panel", "Go to Tool, Module, or Panel", true}, + {"RevealPanelCalibrate", "Camera Calibration Panel", "Go to Tool, Module, or Panel", true}, + {"ShoVwloupe", "Loupe", "View Modes", true}, + {"ShoVwgrid", "Grid", "View Modes", true}, + {"ShoVwcompare", "Compare", "View Modes", true}, + {"ShoVwsurvey", "Survey", "View Modes", true}, + {"ShoVwpeople", "People", "View Modes", true}, + {"ShoVwdevelop_loupe", "Develop Loupe", "View Modes", true}, + {"ShoVwdevelop_before_after_horiz", "Develop Bef/Aft Horizontal", "View Modes", true}, + {"ShoVwdevelop_before_after_vert", "Develop Bef/Aft Vertical", "View Modes", true}, + {"ShoVwdevelop_before", "Develop Before", "View Modes", true}, + {"ShoScndVwloupe", "Second Screeen Loupe", "View Modes", true}, + {"ShoScndVwlive_loupe", "Second Screen Live Loupe", "View Modes", true}, + {"ShoScndVwlocked_loupe", "Second Screen Locked Loupe", "View Modes", true}, + {"ShoScndVwgrid", "Second Screen Grid", "View Modes", true}, + {"ShoScndVwcompare", "Second Screen Compare", "View Modes", true}, + {"ShoScndVwsurvey", "Second Screen Survey", "View Modes", true}, + {"ShoScndVwslideshow", "Second Screen Slideshow", "View Modes", true}, + {"ToggleScreenTwo", "Toggle on/off Second Screen", "View Modes", true}, + {"profile1", "Profile 1", "View Modes", true}, + {"profile2", "Profile 2", "Profiles", true}, + {"profile3", "Profile 3", "Profiles", true}, + {"profile4", "Profile 4", "Profiles", true}, + {"profile5", "Profile 5", "Profiles", true}, + {"profile6", "Profile 6", "Profiles", true}, + {"profile7", "Profile 7", "Profiles", true}, + {"profile8", "Profile 8", "Profiles", true}, + {"profile9", "Profile 9", "Profiles", true}, + {"profile10", "Profile 10", "Profiles", true}, +} + +return { + MenuList = MenuList, +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From d96d5b80a9929627e43b72282e0ed055240641f6 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Mon, 18 Jan 2016 19:24:18 -0800 Subject: [PATCH 08/87] pretrans added, incomplete --- .../MIDI2LR.lrplugin/MenuListPreTrans.lua | 1364 +++++++++++++++++ 1 file changed, 1364 insertions(+) create mode 100644 Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua new file mode 100644 index 000000000..60fd7bb37 --- /dev/null +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -0,0 +1,1364 @@ +local MenuList = { + {"WhiteBalanceAs_Shot", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), + "Basic", + true}, + {"WhiteBalanceAuto", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), + "Basic", + true}, + {"WhiteBalanceCloudy", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), + "Basic", + true}, + {"WhiteBalanceDaylight", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), + "Basic", + true}, + {"WhiteBalanceFlash", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), + "Basic", + true}, + {"WhiteBalanceFluorescent", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), + "Basic", + true}, + {"WhiteBalanceShade", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), + "Basic", + true}, + {"WhiteBalanceTungsten", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), + "Basic", + true}, + {"Temperature", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), + "Basic", + false}, + {"Tint", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), + "Basic", + false}, + {"Exposure", + LOC("$$$/AgCameraRawUI/Exposure=Exposure"), + "Basic", + false}, + {"Contrast", + LOC("$$$/AgCameraRawUI/Contrast=Contrast"), + "Basic", + false}, + {"Highlights", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), + "Basic", + false}, + {"Shadows", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), + "Basic", + false}, + {"Whites", + LOC("$$$/AgCameraRawUI/Whites=Whites"), + "Basic", + false}, + {"Blacks", + LOC("$$$/AgCameraRawUI/Blacks=Blacks"), + "Basic", + false}, + {"Clarity", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), + "Basic", + false}, + {"Vibrance", + LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), + "Basic", + false}, + {"Saturation", + LOC("$$$/AgCameraRawUI/Saturation=Saturation"), + "Basic", + false}, + {"ResetTemperature", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), + "Basic", + true}, + {"ResetTint", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), + "Basic", + true}, + {"ResetExposure", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), + "Basic", + true}, + {"ResetContrast", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), + "Basic", + true}, + {"ResetHighlights", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), + "Basic", + true}, + {"ResetShadows", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), + "Basic", + true}, + {"ResetWhites", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), + "Basic", + true}, + {"ResetBlacks", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), + "Basic", + true}, + {"ResetClarity", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), + "Basic", + true}, + {"ResetVibrance", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), + "Basic", + true}, + {"ResetSaturation", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), + "Basic", + true}, + {"ParametricDarks", + "Parametric Darks", + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + false}, + {"ParametricLights", + "Parametric Lights", + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + false}, + {"ParametricShadows", + "Parametric Shadows", + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + false}, + {"ParametricHighlights", + "Parametric Highlights", + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + false}, + {"ParametricShadowSplit", + "Parametric Shadow Split", + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + false}, + {"ParametricMidtoneSplit", + "Parametric Midtone Split", + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + false}, + {"ParametricHighlightSplit", + "Parametric Highlight Split", + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + false}, + {"ResetParametricDarks", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + true}, + {"ResetParametricLights", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + true}, + {"ResetParametricShadows", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + true}, + {"ResetParametricHighlights", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + true}, + {"ResetParametricShadowSplit", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + true}, + {"ResetParametricMidtoneSplit", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + true}, + {"ResetParametricHighlightSplit", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + + LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + true}, + {"EnableColorAdjustments", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableColorAdjustments=Enable Color Adjustments"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"SaturationAdjustmentRed", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"SaturationAdjustmentOrange", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"SaturationAdjustmentYellow", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"SaturationAdjustmentGreen", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"SaturationAdjustmentAqua", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"SaturationAdjustmentBlue", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"SaturationAdjustmentPurple", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"SaturationAdjustmentMagenta", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"HueAdjustmentRed", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"HueAdjustmentOrange", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"HueAdjustmentYellow", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"HueAdjustmentGreen", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"HueAdjustmentAqua", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"HueAdjustmentBlue", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"HueAdjustmentPurple", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"HueAdjustmentMagenta", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"LuminanceAdjustmentRed", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"LuminanceAdjustmentOrange", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"LuminanceAdjustmentYellow", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"LuminanceAdjustmentGreen", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"LuminanceAdjustmentAqua", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"LuminanceAdjustmentBlue", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"LuminanceAdjustmentPurple", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"LuminanceAdjustmentMagenta", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"ConvertToGrayscale", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ConvertToGrayscale=Convert to Grayscale"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"EnableGrayscaleMix", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGrayscaleMix=Enable Grayscale Mix"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"GrayMixerRed", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"GrayMixerOrange", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"GrayMixerYellow", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"GrayMixerGreen", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"GrayMixerAqua", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"GrayMixerBlue", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"GrayMixerPurple", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"GrayMixerMagenta", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + false}, + {"ResetSaturationAdjustmentRed", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetSaturationAdjustmentOrange", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetSaturationAdjustmentYellow", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetSaturationAdjustmentGreen", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetSaturationAdjustmentAqua", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetSaturationAdjustmentBlue", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetSaturationAdjustmentPurple", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetSaturationAdjustmentMagenta", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetHueAdjustmentRed", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetHueAdjustmentOrange", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetHueAdjustmentYellow", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetHueAdjustmentGreen", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetHueAdjustmentAqua", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetHueAdjustmentBlue", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetHueAdjustmentPurple", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetHueAdjustmentMagenta", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetLuminanceAdjustmentRed", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetLuminanceAdjustmentOrange", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetLuminanceAdjustmentYellow", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetLuminanceAdjustmentGreen", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetLuminanceAdjustmentAqua", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetLuminanceAdjustmentBlue", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetLuminanceAdjustmentPurple", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetLuminanceAdjustmentMagenta", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetGrayMixerRed", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetGrayMixerOrange", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetGrayMixerYellow", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetGrayMixerGreen", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetGrayMixerAqua", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetGrayMixerBlue", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetGrayMixerPurple", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"ResetGrayMixerMagenta", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + true}, + {"EnableSplitToning", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSplitToning=Enable Split Toning"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + true}, + {"SplitToningShadowHue", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + false}, + {"SplitToningShadowSaturation", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + false}, + {"SplitToningHighlightHue", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + false}, + {"SplitToningHighlightSaturation", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + false}, + {"SplitToningBalance", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + false}, + {"ResetSplitToningShadowHue", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + true}, + {"ResetSplitToningShadowSaturation", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + true}, + {"ResetSplitToningHighlightHue", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + true}, + {"ResetSplitToningHighlightSaturation", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + true}, + {"ResetSplitToningBalance", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + true}, + {"EnableDetail", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), + "Detail", + true}, + {"Sharpness", + LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), + "Detail", + false}, + {"SharpenRadius", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), + "Detail", + false}, + {"SharpenDetail", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), + "Detail", + false}, + {"SharpenEdgeMasking", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), + "Detail", + false}, + {"LuminanceSmoothing", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), + "Detail", + false}, + {"LuminanceNoiseReductionDetail", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), + "Detail", + false}, + {"LuminanceNoiseReductionContrast", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), + "Detail", + false}, + {"ColorNoiseReduction", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), + "Detail", + false}, + {"ColorNoiseReductionDetail", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), + "Detail", + false}, + {"ColorNoiseReductionSmoothness", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), + "Detail", + false}, + {"ResetSharpness", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), + "Detail", + true}, + {"ResetSharpenRadius", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), + "Detail", + true}, + {"ResetSharpenDetail", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), + "Detail", + true}, + {"ResetSharpenEdgeMasking", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), + "Detail", + true}, + {"ResetLuminanceSmoothing", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), + "Detail", + true}, + {"ResetLuminanceNoiseReductionDetail", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), + "Detail", + true}, + {"ResetLuminanceNoiseReductionContrast", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), + "Detail", + true}, + {"ResetColorNoiseReduction", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), + "Detail", + true}, + {"ResetColorNoiseReductionDetail", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), + "Detail", + true}, + {"ResetColorNoiseReductionSmoothness", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), + "Detail", + true}, + {"EnableLensCorrections", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"LensProfileEnable", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileEnable=Lens Profile Enable"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"AutoLateralCA", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RemoveChromaticAberration=Remove Chromatic Aberration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"UprightOff", + "Perspective Upright Off", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"UprightAuto", + "Perspective Upright Auto", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"UprightLevel", + "Perspective Upright Level", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"UprightVertical", + "Perspective Upright Vertical", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"UprightFull", + "Perspective Upright Full", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetPerspectiveUpright", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"LensProfileDistortionScale", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"LensProfileChromaticAberrationScale", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"LensProfileVignettingScale", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"ResetLensProfileDistortionScale", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetLensProfileChromaticAberrationScale", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetLensProfileVignettingScale", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"DefringePurpleAmount", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"DefringePurpleHueLo", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"DefringePurpleHueHi", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"DefringeGreenAmount", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"DefringeGreenHueLo", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"DefringeGreenHueHi", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"ResetDefringePurpleAmount", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetDefringePurpleHueLo", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetDefringePurpleHueHi", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetDefringeGreenAmount", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetDefringeGreenHueLo", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetDefringeGreenHueHi", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"LensManualDistortionAmount", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"PerspectiveVertical", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"PerspectiveHorizontal", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"PerspectiveRotate", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"PerspectiveScale", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"PerspectiveAspect", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"VignetteAmount", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"VignetteMidpoint", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + false}, + {"ResetLensManualDistortionAmount", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetPerspectiveVertical", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetPerspectiveHorizontal", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetPerspectiveRotate", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetPerspectiveScale", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetPerspectiveAspect", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetVignetteAmount", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"ResetVignetteMidpoint", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + true}, + {"EnableEffects", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableEffects=Enable Effects"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"Dehaze", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"PostCropVignetteAmount", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"PostCropVignetteMidpoint", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"PostCropVignetteFeather", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"PostCropVignetteRoundness", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"PostCropVignetteStyle", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"PostCropVignetteHighlightContrast", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"GrainAmount", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"GrainSize", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"GrainFrequency", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + false}, + {"ResetDehaze", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"ResetPostCropVignetteAmount", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"ResetPostCropVignetteMidpoint", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"ResetPostCropVignetteFeather", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"ResetPostCropVignetteRoundness", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"ResetPostCropVignetteStyle", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"ResetPostCropVignetteHighlightContrast", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"ResetGrainAmount", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"ResetGrainSize", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"ResetGrainFrequency", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + true}, + {"EnableCalibration", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableCalibration=Enable Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"Profile_Adobe_Standard", + LOC("$$$/CRaw/Style/Profile/AdobeStandard=Adobe Standard"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"Profile_Camera_Clear", + LOC("$$$/CRaw/Style/Profile/CameraClear=Camera Clear"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"Profile_Camera_Deep", + LOC("$$$/CRaw/Style/Profile/CameraDeep=Camera Deep"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"Profile_Camera_Landscape", + LOC("$$$/CRaw/Style/Profile/CameraLandscape=Camera Landscape"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"Profile_Camera_Light", + LOC("$$$/CRaw/Style/Profile/CameraLight=Camera Light"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"Profile_Camera_Neutral", + LOC("$$$/CRaw/Style/Profile/CameraNeutral=Camera Neutral"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"Profile_Camera_Portrait", + LOC("$$$/CRaw/Style/Profile/CameraPortrait=Camera Portrait"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"Profile_Camera_Standard", + LOC("$$$/CRaw/Style/Profile/CameraStandard=Camera Standard"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"Profile_Camera_Vivid", + LOC("$$$/CRaw/Style/Profile/CameraVivid=Camera Vivid"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + true}, + {"ShadowTint", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"RedHue", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"RedSaturation", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"GreenHue", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"GreenSaturation", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"BlueHue", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"BlueSaturation", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"ResetShadowTint", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"ResetRedHue", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"ResetRedSaturation", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"ResetGreenHue", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"ResetGreenSaturation", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"ResetBlueHue", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"ResetBlueSaturation", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + false}, + {"Pick", + LOC("$$$/AgLibrary/Help/Shortcuts/SetPick=Set Pick Flag"), + "Photo Actions", + true}, + {"Reject", + LOC("$$$/AgLibrary/Help/Shortcuts/SetReject=Set Rejected Flag"), + "Photo Actions", + true}, + {"Next", + "Next Photo", + "Photo Actions", + true}, + {"Prev", + "Previous Photo", + "Photo Actions", + true}, + {"VirtualCopy", + LOC("$$$/AgLibrary/Bezel/CreateVirtualCopy=Create Virtual Copy"):gsub('&',''), + "Photo Actions", + true}, + {"RemoveFlag", + LOC("$$$/AgLibrary/Menu/Photo/SetPick/Unflagged=Unflagged"):gsub('&',''), + "Photo Actions", + true}, + {"IncreaseRating", + LOC("$$$/AgLibrary/Ops/IncreaseRating=Increase Rating"), + "Photo Actions", + true}, + {"DecreaseRating", + LOC("$$$/AgLibrary/Ops/DecreaseRating=Decrease Rating"), + "Photo Actions", + true}, + {"SetRating0", LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), "Photo Actions", + true}, + {"SetRating1", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), "Photo Actions", + true}, + {"SetRating2", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), "Photo Actions", + true}, + {"SetRating3", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), "Photo Actions", + true}, + {"SetRating4", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), "Photo Actions", + true}, + {"SetRating5", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), "Photo Actions", + true}, + {"ToggleBlue", "Toggle Blue Label", "Photo Actions", + true}, + {"ToggleGreen", "Toggle Green Label", "Photo Actions", + true}, + {"ToggleRed", "Toggle Red Label", "Photo Actions", + true}, + {"TogglePurple", "Toggle Purple Label", "Photo Actions", + true}, + {"ToggleYellow", "Toggle Yellow Label", "Photo Actions", + true}, + {"ResetAll", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + "Photo Actions", + true}, + {"ResetLast", + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + "Photo Actions", + true}, + {"IncrementLastDevelopParameter", + "Increment Last Develop Parameter", + "Photo Actions", + true}, + {"DecrementLastDevelopParameter", + "Decrement Last Develop Parameter", + "Photo Actions", + true}, + {"Undo", + LOC("$$$/AgCameraRawController/SoftProofingVirtualCopyPrompt/Undo=Undo"), + "Photo Actions", + true}, + {"Redo", + LOC("$$$/Bezel/RedoTitle=Redo"), + "Photo Actions", + true}, + {"CopySettings", + "Copy Settings", + "Photo Actions", + true}, + {"PasteSettings", + "Paste Settings", + "Photo Actions", + true}, + {"PasteSelectedSettings", + "Paste Selected Settings", + "Photo Actions", + true}, + {"Preset_1", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."1", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_2", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."2", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_3", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."3", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_4", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."4", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_5", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."5", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_6", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."6", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_7", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."7", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_8", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."8", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_9", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."9", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_10", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."10", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_11", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."11", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_12", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."12", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_13", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."13", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_14", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."14", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_15", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."15", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_16", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."16", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_17", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."17", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_18", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."18", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_19", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."19", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"Preset_20", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."20", + LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + true}, + {"ZoomInLargeStep", + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomIn=Zoom In"), + "Miscellaneous", + true}, + {"ZoomInSmallStep", + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomInSome=Zoom In Some"), + "Miscellaneous", + true}, + {"ZoomOutSmallStep", + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOutSome=Zoom Out Some"), + "Miscellaneous", + true}, + {"ZoomOutLargeStep", + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOut=Zoom Out"), + "Miscellaneous", + true}, + {"ToggleZoomOffOn", + "Toggle Zoom Off/On", + "Miscellaneous", + true}, + {"CropAngle", + "Crop Angle", + "Miscellaneous", + false}, + {"CropBottom", + "Crop Bottom", + "Miscellaneous", + false}, + {"CropLeft", + "Crop Left", + "Miscellaneous", + false}, + {"CropRight", + "Crop Right", + "Miscellaneous", + false}, + {"CropTop", + "Crop Top", + "Miscellaneous", + false}, + {"ResetCrop", + LOC("$$$/AgLibrary/Ops/ResetCrop=Reset Crop"), + "Miscellaneous", + true}, + {"EnableCircularGradientBasedCorrections", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), + "Miscellaneous", + true}, + {"EnableGradientBasedCorrections", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), + "Miscellaneous", + true}, + {"EnablePaintBasedCorrections", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), + "Miscellaneous", + true}, + {"EnableRedEye", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), "Miscellaneous", + true}, + {"EnableRetouch", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), + "Miscellaneous", + true}, + {"ResetCircGrad", + LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), + "Miscellaneous", + true}, + {"ResetGradient", + LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), + "Miscellaneous", + true}, + {"ResetBrushing", + LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), + "Miscellaneous", + true}, + {"ResetRedeye", + LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), + "Miscellaneous", + true}, + {"ResetSpotRem", + LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), + "Miscellaneous", + true}, + {"Loupe", + "Loupe Tool", + "Miscellaneous", + true}, + {"CropOverlay", + "Crop Tool", + "Go to Tool, Module, or Panel", + true}, + {"SpotRemoval", + "Spot Removal Tool", + "Go to Tool, Module, or Panel", + true}, + {"RedEye", + "Red Eye Tool", + "Go to Tool, Module, or Panel", + true}, + {"GraduatedFilter", + "Graduated Filter Tool", + "Go to Tool, Module, or Panel", + true}, + {"RadialFilter", + "Radial Filter Tool", + "Go to Tool, Module, or Panel", + true}, + {"AdjustmentBrush", + "Adjustment Brush Tool", + "Go to Tool, Module, or Panel", + true}, + {"SwToMlibrary", + "Library Module", + "Go to Tool, Module, or Panel", + true}, + {"SwToMdevelop", + "Develop Module", + "Go to Tool, Module, or Panel", + true}, + {"SwToMmap", + "Map Module", + "Go to Tool, Module, or Panel", + true}, + {"SwToMbook", + "Book Module", + "Go to Tool, Module, or Panel", + true}, + {"SwToMslideshow", + "Slideshow Module", + "Go to Tool, Module, or Panel", + true}, + {"SwToMprint", + "Print Module", + "Go to Tool, Module, or Panel", + true}, + {"SwToMweb", + "Web Module", + "Go to Tool, Module, or Panel", + true}, + {"RevealPanelAdjust", + "Basic Adjustments Panel", + "Go to Tool, Module, or Panel", + true}, + {"RevealPanelTone", + "Tone Curve Panel", + "Go to Tool, Module, or Panel", + true}, + {"RevealPanelMixer", + "Mixer Panel", + "Go to Tool, Module, or Panel", + true}, + {"RevealPanelSplit", + "Split Toning Panel", + "Go to Tool, Module, or Panel", + true}, + {"RevealPanelDetail", + "Detail Panel", + "Go to Tool, Module, or Panel", + true}, + {"RevealPanelLens", + "Lens Corrections Panel", + "Go to Tool, Module, or Panel", + true}, + {"RevealPanelEffects", + "Effects Panel", + "Go to Tool, Module, or Panel", + true}, + {"RevealPanelCalibrate", + "Camera Calibration Panel", + "Go to Tool, Module, or Panel", + true}, + {"ShoVwloupe", + "Loupe", + "View Modes", + true}, + {"ShoVwgrid", + "Grid", + "View Modes", + true}, + {"ShoVwcompare", + "Compare", + "View Modes", + true}, + {"ShoVwsurvey", + "Survey", + "View Modes", + true}, + {"ShoVwpeople", + "People", + "View Modes", + true}, + {"ShoVwdevelop_loupe", + "Develop Loupe", + "View Modes", + true}, + {"ShoVwdevelop_before_after_horiz", + "Develop Bef/Aft Horizontal", + "View Modes", + true}, + {"ShoVwdevelop_before_after_vert", + "Develop Bef/Aft Vertical", + "View Modes", + true}, + {"ShoVwdevelop_before", + "Develop Before", + "View Modes", + true}, + {"ShoScndVwloupe", + LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), + "View Modes", + true}, + {"ShoScndVwlive_loupe", + LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), + "View Modes", + true}, + {"ShoScndVwlocked_loupe", + LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), + "View Modes", + true}, + {"ShoScndVwgrid", + LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), + "View Modes", + true}, + {"ShoScndVwcompare", + LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), + "View Modes", + true}, + {"ShoScndVwsurvey", + LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), + "View Modes", + true}, + {"ShoScndVwslideshow", + LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), + "View Modes", + true}, + {"ToggleScreenTwo", "Toggle on/off Second Screen", "View Modes", + true}, + {"profile1", "Profile 1", "View Modes", + true}, + {"profile2", "Profile 2", "Profiles", + true}, + {"profile3", "Profile 3", "Profiles", + true}, + {"profile4", "Profile 4", "Profiles", + true}, + {"profile5", "Profile 5", "Profiles", + true}, + {"profile6", "Profile 6", "Profiles", + true}, + {"profile7", "Profile 7", "Profiles", + true}, + {"profile8", "Profile 8", "Profiles", + true}, + {"profile9", "Profile 9", "Profiles", + true}, + {"profile10", "Profile 10", "Profiles", + true}, +} + +return { + MenuList = MenuList, +} \ No newline at end of file From 22c65108e0271c168ebe5aa54de42a1bcd92ac19 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Mon, 18 Jan 2016 22:47:25 -0800 Subject: [PATCH 09/87] translation progress, menulist.lua generated automatically --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 9 +- Source/LRPlugin/MIDI2LR.lrplugin/Info.lua | 2 +- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 2505 ++++++++++++++--- .../MIDI2LR.lrplugin/MenuListPreTrans.lua | 282 +- .../MIDI2LR.lrplugin/datastructure.txt | 707 ----- 5 files changed, 2255 insertions(+), 1250 deletions(-) delete mode 100644 Source/LRPlugin/MIDI2LR.lrplugin/datastructure.txt diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index acd72404f..3d5b39ae5 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -500,7 +500,7 @@ do --save localized file for app local LrPathUtils = import 'LrPathUtils' local Info = require 'Info' local versionmismatch = false - local datafile = LrPathUtils.child(_PLUGIN.path, 'datastructure.txt') + local datafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') if ProgramPreferences.DataStructure == nil then versionmismatch = true else @@ -512,8 +512,13 @@ do --save localized file for app ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() then local serpent = require 'serpent' + local MenuListPreTrans = require 'MenuListPreTrans' local file = io.open(datafile,'w') - file:write(serpent.block(Parameters.Names)) + file:write('local MenuList = ',serpent.block(MenuListPreTrans.MenuList, {comment = false}), [[ + + return { + MenuList = MenuList, +}]]) file:close() ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua index 393df5d45..57615aa40 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua @@ -40,5 +40,5 @@ return { file = "LaunchServer.lua" }, }, - VERSION = { major=0, minor=9, revision=3} + VERSION = { major=0, minor=9, revision=3, build=5} } diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index 8b4e80fca..fb8cce8e1 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -1,410 +1,2099 @@ local MenuList = { - {"WhiteBalanceAuto", "White Balance Auto", "Basic", true}, - {"WhiteBalanceAs_Shot", "White Balance As Shot", "Basic", true}, - {"WhiteBalanceDaylight", "White Balance Daylight", "Basic", true}, - {"WhiteBalanceCloudy", "White Balance Cloudy", "Basic", true}, - {"WhiteBalanceShade", "White Balance Shade", "Basic", true}, - {"WhiteBalanceTungsten", "White Balance Tungsten", "Basic", true}, - {"WhiteBalanceFluorescent", "White Balance Fluorescent", "Basic", true}, - {"WhiteBalanceFlash", "White Balance Flash", "Basic", true}, - {"Temperature", "Temperature", "Basic", false}, - {"Tint", "Tint", "Basic", false}, - {"Exposure", "Exposure", "Basic", false}, - {"Contrast", "Contrast", "Basic", false}, - {"Highlights", "Highlights", "Basic", false}, - {"Shadows", "Shadows", "Basic", false}, - {"Whites", "Whites", "Basic", false}, - {"Blacks", "Blacks", "Basic", false}, - {"Clarity", "Clarity", "Basic", false}, - {"Vibrance", "Vibrance", "Basic", false}, - {"Saturation", "Saturation", "Basic", false}, - {"ResetTemperature", "Reset Temperature", "Basic", true}, - {"ResetTint", "Reset Tint", "Basic", true}, - {"ResetExposure", "Reset Exposure", "Basic", true}, - {"ResetContrast", "Reset Contrast", "Basic", true}, - {"ResetHighlights", "Reset Highlights", "Basic", true}, - {"ResetShadows", "Reset Shadows", "Basic", true}, - {"ResetWhites", "Reset Whites", "Basic", true}, - {"ResetBlacks", "Reset Blacks", "Basic", true}, - {"ResetClarity", "Reset Clarity", "Basic", true}, - {"ResetVibrance", "Reset Vibrance", "Basic", true}, - {"ResetSaturation", "Reset Saturation", "Basic", true}, - {"ParametricDarks", "Parametric Darks", "Tone Curve", false}, - {"ParametricLights", "Parametric Lights", "Tone Curve", false}, - {"ParametricShadows", "Parametric Shadows", "Tone Curve", false}, - {"ParametricHighlights", "Parametric Highlights", "Tone Curve", false}, - {"ParametricShadowSplit", "Parametric Shadow Split", "Tone Curve", false}, - {"ParametricMidtoneSplit", "Parametric Midtone Split", "Tone Curve", false}, - {"ParametricHighlightSplit", "Parametric Highlight Split", "Tone Curve", false}, - {"ResetParametricDarks", "Reset Parametric Darks", "Tone Curve", true}, - {"ResetParametricLights", "Reset Parametric Lights", "Tone Curve", true}, - {"ResetParametricShadows", "Reset Parametric Shadows", "Tone Curve", true}, - {"ResetParametricHighlights", "Reset Parametric Highlights", "Tone Curve", true}, - {"ResetParametricShadowSplit", "Reset Parametric Shadow Split", "Tone Curve", true}, - {"ResetParametricMidtoneSplit", "Reset Parametric Midtone Split", "Tone Curve", true}, - {"ResetParametricHighlightSplit", "Reset Parametric Highlight Split", "Tone Curve", true}, - {"EnableColorAdjustments", "Enable/Disable Color Adjustments", "HSL / Color / B&W", true}, - {"SaturationAdjustmentRed", "Saturation Adjustment Red", "HSL / Color / B&W", false}, - {"SaturationAdjustmentOrange", "Saturation Adjustment Orange", "HSL / Color / B&W", false}, - {"SaturationAdjustmentYellow", "Saturation Adjustment Yellow", "HSL / Color / B&W", false}, - {"SaturationAdjustmentGreen", "Saturation Adjustment Green", "HSL / Color / B&W", false}, - {"SaturationAdjustmentAqua", "Saturation Adjustment Aqua", "HSL / Color / B&W", false}, - {"SaturationAdjustmentBlue", "Saturation Adjustment Blue", "HSL / Color / B&W", false}, - {"SaturationAdjustmentPurple", "Saturation Adjustment Purple", "HSL / Color / B&W", false}, - {"SaturationAdjustmentMagenta", "Saturation Adjustment Magenta", "HSL / Color / B&W", false}, - {"HueAdjustmentRed", "Hue Adjustment Red", "HSL / Color / B&W", false}, - {"HueAdjustmentOrange", "Hue Adjustment Orange", "HSL / Color / B&W", false}, - {"HueAdjustmentYellow", "Hue Adjustment Yellow", "HSL / Color / B&W", false}, - {"HueAdjustmentGreen", "Hue Adjustment Green", "HSL / Color / B&W", false}, - {"HueAdjustmentAqua", "Hue Adjustment Aqua", "HSL / Color / B&W", false}, - {"HueAdjustmentBlue", "Hue Adjustment Blue", "HSL / Color / B&W", false}, - {"HueAdjustmentPurple", "Hue Adjustment Purple", "HSL / Color / B&W", false}, - {"HueAdjustmentMagenta", "Hue Adjustment Magenta", "HSL / Color / B&W", false}, - {"LuminanceAdjustmentRed", "Luminance Adjustment Red", "HSL / Color / B&W", false}, - {"LuminanceAdjustmentOrange", "Luminance Adjustment Orange", "HSL / Color / B&W", false}, - {"LuminanceAdjustmentYellow", "Luminance Adjustment Yellow", "HSL / Color / B&W", false}, - {"LuminanceAdjustmentGreen", "Luminance Adjustment Green", "HSL / Color / B&W", false}, - {"LuminanceAdjustmentAqua", "Luminance Adjustment Aqua", "HSL / Color / B&W", false}, - {"LuminanceAdjustmentBlue", "Luminance Adjustment Blue", "HSL / Color / B&W", false}, - {"LuminanceAdjustmentPurple", "Luminance Adjustment Purple", "HSL / Color / B&W", false}, - {"LuminanceAdjustmentMagenta", "Luminance Adjustment Magenta", "HSL / Color / B&W", false}, - {"ConvertToGrayscale", "Toggle Convert to Grayscale", "HSL / Color / B&W", true}, - {"EnableGrayscaleMix", "Enable/Disable Grayscale Mix", "HSL / Color / B&W", true}, - {"GrayMixerRed", "Gray Mixer Red", "HSL / Color / B&W", false}, - {"GrayMixerOrange", "Gray Mixer Orange", "HSL / Color / B&W", false}, - {"GrayMixerYellow", "Gray Mixer Yellow", "HSL / Color / B&W", false}, - {"GrayMixerGreen", "Gray Mixer Green", "HSL / Color / B&W", false}, - {"GrayMixerAqua", "Gray Mixer Aqua", "HSL / Color / B&W", false}, - {"GrayMixerBlue", "Gray Mixer Blue", "HSL / Color / B&W", false}, - {"GrayMixerPurple", "Gray Mixer Purple", "HSL / Color / B&W", false}, - {"GrayMixerMagenta", "Gray Mixer Magenta", "HSL / Color / B&W", false}, - {"ResetSaturationAdjustmentRed", "Reset Saturation Adjustment Red", "Reset HSL / Color / B&W", true}, - {"ResetSaturationAdjustmentOrange", "Reset Saturation Adjustment Orange", "Reset HSL / Color / B&W", true}, - {"ResetSaturationAdjustmentYellow", "Reset Saturation Adjustment Yellow", "Reset HSL / Color / B&W", true}, - {"ResetSaturationAdjustmentGreen", "Reset Saturation Adjustment Green", "Reset HSL / Color / B&W", true}, - {"ResetSaturationAdjustmentAqua", "Reset Saturation Adjustment Aqua", "Reset HSL / Color / B&W", true}, - {"ResetSaturationAdjustmentBlue", "Reset Saturation Adjustment Blue", "Reset HSL / Color / B&W", true}, - {"ResetSaturationAdjustmentPurple", "Reset Saturation Adjustment Purple", "Reset HSL / Color / B&W", true}, - {"ResetSaturationAdjustmentMagenta", "Reset Saturation Adjustment Magenta", "Reset HSL / Color / B&W", true}, - {"ResetHueAdjustmentRed", "Reset Hue Adjustment Red", "Reset HSL / Color / B&W", true}, - {"ResetHueAdjustmentOrange", "Reset Hue Adjustment Orange", "Reset HSL / Color / B&W", true}, - {"ResetHueAdjustmentYellow", "Reset Hue Adjustment Yellow", "Reset HSL / Color / B&W", true}, - {"ResetHueAdjustmentGreen", "Reset Hue Adjustment Green", "Reset HSL / Color / B&W", true}, - {"ResetHueAdjustmentAqua", "Reset Hue Adjustment Aqua", "Reset HSL / Color / B&W", true}, - {"ResetHueAdjustmentBlue", "Reset Hue Adjustment Blue", "Reset HSL / Color / B&W", true}, - {"ResetHueAdjustmentPurple", "Reset Hue Adjustment Purple", "Reset HSL / Color / B&W", true}, - {"ResetHueAdjustmentMagenta", "Reset Hue Adjustment Magenta", "Reset HSL / Color / B&W", true}, - {"ResetLuminanceAdjustmentRed", "Reset Luminance Adjustment Red", "Reset HSL / Color / B&W", true}, - {"ResetLuminanceAdjustmentOrange", "Reset Luminance Adjustment Orange", "Reset HSL / Color / B&W", true}, - {"ResetLuminanceAdjustmentYellow", "Reset Luminance Adjustment Yellow", "Reset HSL / Color / B&W", true}, - {"ResetLuminanceAdjustmentGreen", "Reset Luminance Adjustment Green", "Reset HSL / Color / B&W", true}, - {"ResetLuminanceAdjustmentAqua", "Reset Luminance Adjustment Aqua", "Reset HSL / Color / B&W", true}, - {"ResetLuminanceAdjustmentBlue", "Reset Luminance Adjustment Blue", "Reset HSL / Color / B&W", true}, - {"ResetLuminanceAdjustmentPurple", "Reset Luminance Adjustment Purple", "Reset HSL / Color / B&W", true}, - {"ResetLuminanceAdjustmentMagenta", "Reset Luminance Adjustment Magenta", "Reset HSL / Color / B&W", true}, - {"ResetGrayMixerRed", "Reset Gray Mixer Red", "Reset HSL / Color / B&W", true}, - {"ResetGrayMixerOrange", "Reset Gray Mixer Orange", "Reset HSL / Color / B&W", true}, - {"ResetGrayMixerYellow", "Reset Gray Mixer Yellow", "Reset HSL / Color / B&W", true}, - {"ResetGrayMixerGreen", "Reset Gray Mixer Green", "Reset HSL / Color / B&W", true}, - {"ResetGrayMixerAqua", "Reset Gray Mixer Aqua", "Reset HSL / Color / B&W", true}, - {"ResetGrayMixerBlue", "Reset Gray Mixer Blue", "Reset HSL / Color / B&W", true}, - {"ResetGrayMixerPurple", "Reset Gray Mixer Purple", "Reset HSL / Color / B&W", true}, - {"ResetGrayMixerMagenta", "Reset Gray Mixer Magenta", "Reset HSL / Color / B&W", true}, - {"EnableSplitToning", "Enable/Disable Split Toning", "Split Toning", true}, - {"SplitToningShadowHue", "Split Toning Shadow Hue", "Split Toning", false}, - {"SplitToningShadowSaturation", "Split Toning Shadow Saturation", "Split Toning", false}, - {"SplitToningHighlightHue", "Split Toning Highlight Hue", "Split Toning", false}, - {"SplitToningHighlightSaturation", "Split Toning Highlight Saturation", "Split Toning", false}, - {"SplitToningBalance", "Split Toning Balance", "Split Toning", false}, - {"ResetSplitToningShadowHue", "Reset Split Toning Shadow Hue", "Split Toning", true}, - {"ResetSplitToningShadowSaturation", "Reset Split Toning Shadow Saturation", "Split Toning", true}, - {"ResetSplitToningHighlightHue", "Reset Split Toning Highlight Hue", "Split Toning", true}, - {"ResetSplitToningHighlightSaturation", "Reset Split Toning Highlight Saturation", "Split Toning", true}, - {"ResetSplitToningBalance", "Reset Split Toning Balance", "Split Toning", true}, - {"EnableDetail", "Enable/Disable Detail", "Detail", true}, - {"Sharpness", "Sharpness", "Detail", false}, - {"SharpenRadius", "Sharpen Radius", "Detail", false}, - {"SharpenDetail", "Sharpen Detail", "Detail", false}, - {"SharpenEdgeMasking", "Sharpen Edge Masking", "Detail", false}, - {"LuminanceSmoothing", "Luminance Smoothing", "Detail", false}, - {"LuminanceNoiseReductionDetail", "Luminance Noise Reduction Detail", "Detail", false}, - {"LuminanceNoiseReductionContrast", "Luminance Noise Reduction Contrast", "Detail", false}, - {"ColorNoiseReduction", "Color Noise Reduction", "Detail", false}, - {"ColorNoiseReductionDetail", "Color Noise Reduction Detail", "Detail", false}, - {"ColorNoiseReductionSmoothness", "Color Noise Reduction Smoothness", "Detail", false}, - {"ResetSharpness", "Reset Sharpness", "Detail", true}, - {"ResetSharpenRadius", "Reset Sharpen Radius", "Detail", true}, - {"ResetSharpenDetail", "Reset Sharpen Detail", "Detail", true}, - {"ResetSharpenEdgeMasking", "Reset Sharpen Edge Masking", "Detail", true}, - {"ResetLuminanceSmoothing", "Reset Luminance Smoothing", "Detail", true}, - {"ResetLuminanceNoiseReductionDetail", "Reset Luminance Noise Reduction Detail", "Detail", true}, - {"ResetLuminanceNoiseReductionContrast", "Reset Luminance Noise Reduction Contrast", "Detail", true}, - {"ResetColorNoiseReduction", "Reset Color Noise Reduction", "Detail", true}, - {"ResetColorNoiseReductionDetail", "Reset Color Noise Reduction Detail", "Detail", true}, - {"ResetColorNoiseReductionSmoothness", "Reset Color Noise Reduction Smoothness", "Detail", true}, - {"EnableLensCorrections", "Enable/Disable All Lens Corrections", "Lens Corrections", true}, - {"LensProfileEnable", "Enable/Disable Profile Corrections", "Lens Corrections", true}, - {"AutoLateralCA", "Enable/Disable Remove Chromatic Aberration", "Lens Corrections", true}, - {"UprightOff", "Perspective Upright Off", "Lens Corrections", true}, - {"UprightAuto", "Perspective Upright Auto", "Lens Corrections", true}, - {"UprightLevel", "Perspective Upright Level", "Lens Corrections", true}, - {"UprightVertical", "Perspective Upright Vertical", "Lens Corrections", true}, - {"UprightFull", "Perspective Upright Full", "Lens Corrections", true}, - {"ResetPerspectiveUpright", "Reset Perspective Upright", "Lens Corrections", true}, - {"LensProfileDistortionScale", "Lens Profile Distortion Scale", "Lens Corrections", false}, - {"LensProfileChromaticAberrationScale", "Lens Profile Chromatic Aberration Scale", "Lens Corrections", false}, - {"LensProfileVignettingScale", "Lens Profile Vignetting Scale", "Lens Corrections", false}, - {"ResetLensProfileDistortionScale", "Reset Lens Profile Distortion Scale", "Lens Corrections", true}, - {"ResetLensProfileChromaticAberrationScale", "Reset Lens Profile Chromatic Aberration Scale", "Lens Corrections", true}, - {"ResetLensProfileVignettingScale", "Reset Lens Profile Vignetting Scale", "Lens Corrections", true}, - {"DefringePurpleAmount", "Defringe Purple Amount", "Lens Corrections", false}, - {"DefringePurpleHueLo", "Defringe Purple Hue Lo", "Lens Corrections", false}, - {"DefringePurpleHueHi", "Defringe Purple Hue Hi", "Lens Corrections", false}, - {"DefringeGreenAmount", "Defringe Green Amount", "Lens Corrections", false}, - {"DefringeGreenHueLo", "Defringe Green Hue Lo", "Lens Corrections", false}, - {"DefringeGreenHueHi", "Defringe Green Hue Hi", "Lens Corrections", false}, - {"ResetDefringePurpleAmount", "Reset Defringe Purple Amount", "Lens Corrections", true}, - {"ResetDefringePurpleHueLo", "Reset Defringe Purple Hue Lo", "Lens Corrections", true}, - {"ResetDefringePurpleHueHi", "Reset Defringe Purple Hue Hi", "Lens Corrections", true}, - {"ResetDefringeGreenAmount", "Reset Defringe Green Amount", "Lens Corrections", true}, - {"ResetDefringeGreenHueLo", "Reset Defringe Green Hue Lo", "Lens Corrections", true}, - {"ResetDefringeGreenHueHi", "Reset Defringe Green Hue Hi", "Lens Corrections", true}, - {"LensManualDistortionAmount", "Lens Manual Distortion Amount", "Lens Corrections", false}, - {"PerspectiveVertical", "Perspective Vertical", "Lens Corrections", false}, - {"PerspectiveHorizontal", "Perspective Horizontal", "Lens Corrections", false}, - {"PerspectiveRotate", "Perspective Rotate", "Lens Corrections", false}, - {"PerspectiveScale", "Perspective Scale", "Lens Corrections", false}, - {"PerspectiveAspect", "Perspective Aspect", "Lens Corrections", false}, - {"VignetteAmount", "Lens Vignetting Amount", "Lens Corrections", false}, - {"VignetteMidpoint", "Lens Vignetting Midpoint", "Lens Corrections", false}, - {"ResetLensManualDistortionAmount", "Reset Lens Manual Distortion Amount", "Lens Corrections", true}, - {"ResetPerspectiveVertical", "Reset Perspective Vertical", "Lens Corrections", true}, - {"ResetPerspectiveHorizontal", "Reset Perspective Horizontal", "Lens Corrections", true}, - {"ResetPerspectiveRotate", "Reset Perspective Rotate", "Lens Corrections", true}, - {"ResetPerspectiveScale", "Reset Perspective Scale", "Lens Corrections", true}, - {"ResetPerspectiveAspect", "Reset Perspective Aspect", "Lens Corrections", true}, - {"ResetVignetteAmount", "Reset Lens Vignetting Amount", "Lens Corrections", true}, - {"ResetVignetteMidpoint", "Reset Lens Vignetting Midpoint", "Lens Corrections", true}, - {"EnableEffects", "Enable/Disable Effects", "Effects", true}, - {"Dehaze", "Dehaze", "Effects", false}, - {"PostCropVignetteAmount", "Post Crop Vignette Amount", "Effects", false}, - {"PostCropVignetteMidpoint", "Post Crop Vignette Midpoint", "Effects", false}, - {"PostCropVignetteFeather", "Post Crop Vignette Feather", "Effects", false}, - {"PostCropVignetteRoundness", "Post Crop Vignette Roundness", "Effects", false}, - {"PostCropVignetteStyle", "Post Crop Vignette Style", "Effects", false}, - {"PostCropVignetteHighlightContrast", "Post Crop Vignette Highlight Contrast", "Effects", false}, - {"GrainAmount", "Grain Amount", "Effects", false}, - {"GrainSize", "Grain Size", "Effects", false}, - {"GrainFrequency", "Grain Frequency", "Effects", false}, - {"ResetDehaze", "Reset Dehaze", "Effects", true}, - {"ResetPostCropVignetteAmount", "Reset Post Crop Vignette Amount", "Effects", true}, - {"ResetPostCropVignetteMidpoint", "Reset Post Crop Vignette Midpoint", "Effects", true}, - {"ResetPostCropVignetteFeather", "Reset Post Crop Vignette Feather", "Effects", true}, - {"ResetPostCropVignetteRoundness", "Reset Post Crop Vignette Roundness", "Effects", true}, - {"ResetPostCropVignetteStyle", "Reset Post Crop Vignette Style", "Effects", true}, - {"ResetPostCropVignetteHighlightContrast", "Reset Post Crop Vignette Highlight Contrast", "Effects", true}, - {"ResetGrainAmount", "Reset Grain Amount", "Effects", true}, - {"ResetGrainSize", "Reset Grain Size", "Effects", true}, - {"ResetGrainFrequency", "Reset Grain Frequency", "Effects", true}, - {"EnableCalibration", "Enable/Disable Calibration", "Camera Calibration", true}, - {"Profile_Adobe_Standard", "Camera Profile Adobe Standard", "Camera Calibration", true}, - {"Profile_Camera_Clear", "Camera Profile Clear", "Camera Calibration", true}, - {"Profile_Camera_Deep", "Camera Profile Deep", "Camera Calibration", true}, - {"Profile_Camera_Landscape", "Camera Profile Landscape", "Camera Calibration", true}, - {"Profile_Camera_Light", "Camera Profile Light", "Camera Calibration", true}, - {"Profile_Camera_Neutral", "Camera Profile Neutral", "Camera Calibration", true}, - {"Profile_Camera_Portrait", "Camera Profile Portrait", "Camera Calibration", true}, - {"Profile_Camera_Standard", "Camera Profile Standard", "Camera Calibration", true}, - {"Profile_Camera_Vivid", "Camera Profile Vivid", "Camera Calibration", true}, - {"ShadowTint", "Shadow Tint", "Camera Calibration", false}, - {"RedHue", "Red Hue", "Camera Calibration", false}, - {"RedSaturation", "Red Saturation", "Camera Calibration", false}, - {"GreenHue", "Green Hue", "Camera Calibration", false}, - {"GreenSaturation", "Green Saturation", "Camera Calibration", false}, - {"BlueHue", "Blue Hue", "Camera Calibration", false}, - {"BlueSaturation", "Blue Saturation", "Camera Calibration", false}, - {"ResetShadowTint", "Reset Shadow Tint", "Camera Calibration", false}, - {"ResetRedHue", "Reset Red Hue", "Camera Calibration", false}, - {"ResetRedSaturation", "Reset Red Saturation", "Camera Calibration", false}, - {"ResetGreenHue", "Reset Green Hue", "Camera Calibration", false}, - {"ResetGreenSaturation", "Reset Green Saturation", "Camera Calibration", false}, - {"ResetBlueHue", "Reset Blue Hue", "Camera Calibration", false}, - {"ResetBlueSaturation", "Reset Blue Saturation" "Camera Calibration", false}, - {"Pick", "Pick", "Photo Actions", true}, - {"Reject", "Reject", "Photo Actions", true}, - {"Next", "Next Photo", "Photo Actions", true}, - {"Prev", "Previous Photo", "Photo Actions", true}, - {"VirtualCopy", "Create Virtual Copy", "Photo Actions", true}, - {"RemoveFlag", "Remove Flag", "Photo Actions", true}, - {"IncreaseRating", "Increase Rating", "Photo Actions", true}, - {"DecreaseRating", "Decrease Rating", "Photo Actions", true}, - {"SetRating0", "Set Rating To 0", "Photo Actions", true}, - {"SetRating1", "Set Rating To 1", "Photo Actions", true}, - {"SetRating2", "Set Rating To 2", "Photo Actions", true}, - {"SetRating3", "Set Rating To 3", "Photo Actions", true}, - {"SetRating4", "Set Rating To 4", "Photo Actions", true}, - {"SetRating5", "Set Rating To 5", "Photo Actions", true}, - {"ToggleBlue", "Toggle Blue Label", "Photo Actions", true}, - {"ToggleGreen", "Toggle Green Label", "Photo Actions", true}, - {"ToggleRed", "Toggle Red Label", "Photo Actions", true}, - {"TogglePurple", "Toggle Purple Label", "Photo Actions", true}, - {"ToggleYellow", "Toggle Yellow Label", "Photo Actions", true}, - {"ResetAll", "Reset All Develop Adjustments", "Photo Actions", true}, - {"ResetLast", "Reset Last Develop Parameter", "Photo Actions", true}, - {"IncrementLastDevelopParameter", "Increment Last Develop Parameter", "Photo Actions", true}, - {"DecrementLastDevelopParameter", "Decrement Last Develop Parameter", "Photo Actions", true}, - {"Undo", "Undo", "Photo Actions", true}, - {"Redo", "Redo", "Photo Actions", true}, - {"CopySettings", "Copy Settings", "Photo Actions", true}, - {"PasteSettings", "Paste Settings", "Photo Actions", true}, - {"PasteSelectedSettings", "Paste Selected Settings", "Photo Actions", true}, - {"Preset_1", "Preset 1", "Develop Presets", true}, - {"Preset_2", "Preset 2", "Develop Presets", true}, - {"Preset_3", "Preset 3", "Develop Presets", true}, - {"Preset_4", "Preset 4", "Develop Presets", true}, - {"Preset_5", "Preset 5", "Develop Presets", true}, - {"Preset_6", "Preset 6", "Develop Presets", true}, - {"Preset_7", "Preset 7", "Develop Presets", true}, - {"Preset_8", "Preset 8", "Develop Presets", true}, - {"Preset_9", "Preset 9", "Develop Presets", true}, - {"Preset_10", "Preset 10", "Develop Presets", true}, - {"Preset_11", "Preset 11", "Develop Presets", true}, - {"Preset_12", "Preset 12", "Develop Presets", true}, - {"Preset_13", "Preset 13", "Develop Presets", true}, - {"Preset_14", "Preset 14", "Develop Presets", true}, - {"Preset_15", "Preset 15", "Develop Presets", true}, - {"Preset_16", "Preset 16", "Develop Presets", true}, - {"Preset_17", "Preset 17", "Develop Presets", true}, - {"Preset_18", "Preset 18", "Develop Presets", true}, - {"Preset_19", "Preset 19", "Develop Presets", true}, - {"Preset_20", "Preset 20", "Develop Presets", true}, - {"ZoomInLargeStep", "Zoom In Large Step", "Miscellaneous", true}, - {"ZoomInSmallStep", "Zoom In Small Step", "Miscellaneous", true}, - {"ZoomOutSmallStep", "Zoom Out Small Step", "Miscellaneous", true}, - {"ZoomOutLargeStep", "Zoom Out Large Step", "Miscellaneous", true}, - {"ToggleZoomOffOn", "Toggle Zoom Off/On", "Miscellaneous", true}, - {"CropAngle", "Crop Angle", "Miscellaneous", false}, - {"CropBottom", "Crop Bottom", "Miscellaneous", false}, - {"CropLeft", "Crop Left", "Miscellaneous", false}, - {"CropRight", "Crop Right", "Miscellaneous", false}, - {"CropTop", "Crop Top", "Miscellaneous", false}, - {"ResetCrop", "Reset Crop", "Miscellaneous", true}, - {"EnableCircularGradientBasedCorrections", "Enable/Disable Radial Filter", "Miscellaneous", true}, - {"EnableGradientBasedCorrections", "Enable/Disable Graduated Filter", "Miscellaneous", true}, - {"EnablePaintBasedCorrections", "Enable/Disable Brush Adjustments", "Miscellaneous", true}, - {"EnableRedEye", "Enable/Disable Red-Eye", "Miscellaneous", true}, - {"EnableRetouch", "Enable/Disable Spot Removal", "Miscellaneous", true}, - {"ResetCircGrad", "Reset Radial Filter", "Miscellaneous", true}, - {"ResetGradient", "Reset Graduated Filter", "Miscellaneous", true}, - {"ResetBrushing", "Reset Brush Adjustments", "Miscellaneous", true}, - {"ResetRedeye", "Reset Red-Eye", "Miscellaneous", true}, - {"ResetSpotRem", "Reset Spot Removal", "Miscellaneous", true}, - {"Loupe", "Loupe Tool", "Miscellaneous", true}, - {"CropOverlay", "Crop Tool", "Go to Tool, Module, or Panel", true}, - {"SpotRemoval", "Spot Removal Tool", "Go to Tool, Module, or Panel", true}, - {"RedEye", "Red Eye Tool", "Go to Tool, Module, or Panel", true}, - {"GraduatedFilter", "Graduated Filter Tool", "Go to Tool, Module, or Panel", true}, - {"RadialFilter", "Radial Filter Tool", "Go to Tool, Module, or Panel", true}, - {"AdjustmentBrush", "Adjustment Brush Tool", "Go to Tool, Module, or Panel", true}, - {"SwToMlibrary", "Library Module", "Go to Tool, Module, or Panel", true}, - {"SwToMdevelop", "Develop Module", "Go to Tool, Module, or Panel", true}, - {"SwToMmap", "Map Module", "Go to Tool, Module, or Panel", true}, - {"SwToMbook", "Book Module", "Go to Tool, Module, or Panel", true}, - {"SwToMslideshow", "Slideshow Module", "Go to Tool, Module, or Panel", true}, - {"SwToMprint", "Print Module", "Go to Tool, Module, or Panel", true}, - {"SwToMweb", "Web Module", "Go to Tool, Module, or Panel", true}, - {"RevealPanelAdjust", "Basic Adjustments Panel", "Go to Tool, Module, or Panel", true}, - {"RevealPanelTone", "Tone Curve Panel", "Go to Tool, Module, or Panel", true}, - {"RevealPanelMixer", "Mixer Panel", "Go to Tool, Module, or Panel", true}, - {"RevealPanelSplit", "Split Toning Panel", "Go to Tool, Module, or Panel", true}, - {"RevealPanelDetail", "Detail Panel", "Go to Tool, Module, or Panel", true}, - {"RevealPanelLens", "Lens Corrections Panel", "Go to Tool, Module, or Panel", true}, - {"RevealPanelEffects", "Effects Panel", "Go to Tool, Module, or Panel", true}, - {"RevealPanelCalibrate", "Camera Calibration Panel", "Go to Tool, Module, or Panel", true}, - {"ShoVwloupe", "Loupe", "View Modes", true}, - {"ShoVwgrid", "Grid", "View Modes", true}, - {"ShoVwcompare", "Compare", "View Modes", true}, - {"ShoVwsurvey", "Survey", "View Modes", true}, - {"ShoVwpeople", "People", "View Modes", true}, - {"ShoVwdevelop_loupe", "Develop Loupe", "View Modes", true}, - {"ShoVwdevelop_before_after_horiz", "Develop Bef/Aft Horizontal", "View Modes", true}, - {"ShoVwdevelop_before_after_vert", "Develop Bef/Aft Vertical", "View Modes", true}, - {"ShoVwdevelop_before", "Develop Before", "View Modes", true}, - {"ShoScndVwloupe", "Second Screeen Loupe", "View Modes", true}, - {"ShoScndVwlive_loupe", "Second Screen Live Loupe", "View Modes", true}, - {"ShoScndVwlocked_loupe", "Second Screen Locked Loupe", "View Modes", true}, - {"ShoScndVwgrid", "Second Screen Grid", "View Modes", true}, - {"ShoScndVwcompare", "Second Screen Compare", "View Modes", true}, - {"ShoScndVwsurvey", "Second Screen Survey", "View Modes", true}, - {"ShoScndVwslideshow", "Second Screen Slideshow", "View Modes", true}, - {"ToggleScreenTwo", "Toggle on/off Second Screen", "View Modes", true}, - {"profile1", "Profile 1", "View Modes", true}, - {"profile2", "Profile 2", "Profiles", true}, - {"profile3", "Profile 3", "Profiles", true}, - {"profile4", "Profile 4", "Profiles", true}, - {"profile5", "Profile 5", "Profiles", true}, - {"profile6", "Profile 6", "Profiles", true}, - {"profile7", "Profile 7", "Profiles", true}, - {"profile8", "Profile 8", "Profiles", true}, - {"profile9", "Profile 9", "Profiles", true}, - {"profile10", "Profile 10", "Profiles", true}, -} - -return { + { + "WhiteBalanceAs_Shot", + "White Balance As Shot", + "Basic Tone", + true + }, + { + "WhiteBalanceAuto", + "White Balance Auto", + "Basic Tone", + true + }, + { + "WhiteBalanceCloudy", + "White Balance Cloudy", + "Basic Tone", + true + }, + { + "WhiteBalanceDaylight", + "White Balance Daylight", + "Basic Tone", + true + }, + { + "WhiteBalanceFlash", + "White Balance Flash", + "Basic Tone", + true + }, + { + "WhiteBalanceFluorescent", + "White Balance Fluorescent", + "Basic Tone", + true + }, + { + "WhiteBalanceShade", + "White Balance Shade", + "Basic Tone", + true + }, + { + "WhiteBalanceTungsten", + "White Balance Tungsten", + "Basic Tone", + true + }, + { + "Temperature", + "Temperature", + "Basic Tone", + false + }, + { + "Tint", + "Tint", + "Basic Tone", + false + }, + { + "Exposure", + "Exposure", + "Basic Tone", + false + }, + { + "Contrast", + "Contrast", + "Basic Tone", + false + }, + { + "Highlights", + "Highlights", + "Basic Tone", + false + }, + { + "Shadows", + "Shadows", + "Basic Tone", + false + }, + { + "Whites", + "Whites", + "Basic Tone", + false + }, + { + "Blacks", + "Blacks", + "Basic Tone", + false + }, + { + "Clarity", + "Clarity", + "Basic Tone", + false + }, + { + "Vibrance", + "Vibrance", + "Basic Tone", + false + }, + { + "Saturation", + "Saturation", + "Basic Tone", + false + }, + { + "ResetTemperature", + "Reset Temperature", + "Basic Tone", + true + }, + { + "ResetTint", + "Reset Tint", + "Basic Tone", + true + }, + { + "ResetExposure", + "Reset Exposure", + "Basic Tone", + true + }, + { + "ResetContrast", + "Reset Contrast", + "Basic Tone", + true + }, + { + "ResetHighlights", + "Reset Highlights", + "Basic Tone", + true + }, + { + "ResetShadows", + "Reset Shadows", + "Basic Tone", + true + }, + { + "ResetWhites", + "Reset Whites", + "Basic Tone", + true + }, + { + "ResetBlacks", + "Reset Blacks", + "Basic Tone", + true + }, + { + "ResetClarity", + "Reset Clarity", + "Basic Tone", + true + }, + { + "ResetVibrance", + "Reset Vibrance", + "Basic Tone", + true + }, + { + "ResetSaturation", + "Reset Saturation", + "Basic Tone", + true + }, + { + "ParametricDarks", + "Dark Tones", + "Tone Curve", + false + }, + { + "ParametricLights", + "Light Tones", + "Tone Curve", + false + }, + { + "ParametricShadows", + "Shadow Tones", + "Tone Curve", + false + }, + { + "ParametricHighlights", + "Highlight Tones", + "Tone Curve", + false + }, + { + "ParametricShadowSplit", + "Shadow Split", + "Tone Curve", + false + }, + { + "ParametricMidtoneSplit", + "Midtone Split", + "Tone Curve", + false + }, + { + "ParametricHighlightSplit", + "Highlight Split", + "Tone Curve", + false + }, + { + "ResetParametricDarks", + "Reset Dark Tones", + "Tone Curve", + true + }, + { + "ResetParametricLights", + "Reset Light Tones", + "Tone Curve", + true + }, + { + "ResetParametricShadows", + "Reset Shadow Tones", + "Tone Curve", + true + }, + { + "ResetParametricHighlights", + "Reset Highlight Tones", + "Tone Curve", + true + }, + { + "ResetParametricShadowSplit", + "Reset Shadow Split", + "Tone Curve", + true + }, + { + "ResetParametricMidtoneSplit", + "Reset Midtone Split", + "Tone Curve", + true + }, + { + "ResetParametricHighlightSplit", + "Reset Highlight Split", + "Tone Curve", + true + }, + { + "EnableColorAdjustments", + "Enable Color Adjustments", + "Color Adjustments", + true + }, + { + "SaturationAdjustmentRed", + "Saturation Adjustment Red", + "Color Adjustments", + false + }, + { + "SaturationAdjustmentOrange", + "Saturation Adjustment Orange", + "Color Adjustments", + false + }, + { + "SaturationAdjustmentYellow", + "Saturation Adjustment Yellow", + "Color Adjustments", + false + }, + { + "SaturationAdjustmentGreen", + "Saturation Adjustment Green", + "Color Adjustments", + false + }, + { + "SaturationAdjustmentAqua", + "Saturation Adjustment Aqua", + "Color Adjustments", + false + }, + { + "SaturationAdjustmentBlue", + "Saturation Adjustment Blue", + "Color Adjustments", + false + }, + { + "SaturationAdjustmentPurple", + "Saturation Adjustment Purple", + "Color Adjustments", + false + }, + { + "SaturationAdjustmentMagenta", + "Saturation Adjustment Magenta", + "Color Adjustments", + false + }, + { + "HueAdjustmentRed", + "Hue Adjustment Red", + "Color Adjustments", + false + }, + { + "HueAdjustmentOrange", + "Hue Adjustment Orange", + "Color Adjustments", + false + }, + { + "HueAdjustmentYellow", + "Hue Adjustment Yellow", + "Color Adjustments", + false + }, + { + "HueAdjustmentGreen", + "Hue Adjustment Green", + "Color Adjustments", + false + }, + { + "HueAdjustmentAqua", + "Hue Adjustment Aqua", + "Color Adjustments", + false + }, + { + "HueAdjustmentBlue", + "Hue Adjustment Blue", + "Color Adjustments", + false + }, + { + "HueAdjustmentPurple", + "Hue Adjustment Purple", + "Color Adjustments", + false + }, + { + "HueAdjustmentMagenta", + "Hue Adjustment Magenta", + "Color Adjustments", + false + }, + { + "LuminanceAdjustmentRed", + "Luminance Adjustment Red", + "Color Adjustments", + false + }, + { + "LuminanceAdjustmentOrange", + "Luminance Adjustment Orange", + "Color Adjustments", + false + }, + { + "LuminanceAdjustmentYellow", + "Luminance Adjustment Yellow", + "Color Adjustments", + false + }, + { + "LuminanceAdjustmentGreen", + "Luminance Adjustment Green", + "Color Adjustments", + false + }, + { + "LuminanceAdjustmentAqua", + "Luminance Adjustment Aqua", + "Color Adjustments", + false + }, + { + "LuminanceAdjustmentBlue", + "Luminance Adjustment Blue", + "Color Adjustments", + false + }, + { + "LuminanceAdjustmentPurple", + "Luminance Adjustment Purple", + "Color Adjustments", + false + }, + { + "LuminanceAdjustmentMagenta", + "Luminance Adjustment Magenta", + "Color Adjustments", + false + }, + { + "ConvertToGrayscale", + "Convert to Grayscale", + "Color Adjustments", + true + }, + { + "EnableGrayscaleMix", + "Enable Grayscale Mix", + "Color Adjustments", + true + }, + { + "GrayMixerRed", + "Gray Mixer Red", + "Color Adjustments", + false + }, + { + "GrayMixerOrange", + "Gray Mixer Orange", + "Color Adjustments", + false + }, + { + "GrayMixerYellow", + "Gray Mixer Yellow", + "Color Adjustments", + false + }, + { + "GrayMixerGreen", + "Gray Mixer Green", + "Color Adjustments", + false + }, + { + "GrayMixerAqua", + "Gray Mixer Aqua", + "Color Adjustments", + false + }, + { + "GrayMixerBlue", + "Gray Mixer Blue", + "Color Adjustments", + false + }, + { + "GrayMixerPurple", + "Gray Mixer Purple", + "Color Adjustments", + false + }, + { + "GrayMixerMagenta", + "Gray Mixer Magenta", + "Color Adjustments", + false + }, + { + "ResetSaturationAdjustmentRed", + "Reset Saturation Adjustment Red", + "Reset Color Adjustments", + true + }, + { + "ResetSaturationAdjustmentOrange", + "Reset Saturation Adjustment Orange", + "Reset Color Adjustments", + true + }, + { + "ResetSaturationAdjustmentYellow", + "Reset Saturation Adjustment Yellow", + "Reset Color Adjustments", + true + }, + { + "ResetSaturationAdjustmentGreen", + "Reset Saturation Adjustment Green", + "Reset Color Adjustments", + true + }, + { + "ResetSaturationAdjustmentAqua", + "Reset Saturation Adjustment Aqua", + "Reset Color Adjustments", + true + }, + { + "ResetSaturationAdjustmentBlue", + "Reset Saturation Adjustment Blue", + "Reset Color Adjustments", + true + }, + { + "ResetSaturationAdjustmentPurple", + "Reset Saturation Adjustment Purple", + "Reset Color Adjustments", + true + }, + { + "ResetSaturationAdjustmentMagenta", + "Reset Saturation Adjustment Magenta", + "Reset Color Adjustments", + true + }, + { + "ResetHueAdjustmentRed", + "Reset Hue Adjustment Red", + "Reset Color Adjustments", + true + }, + { + "ResetHueAdjustmentOrange", + "Reset Hue Adjustment Orange", + "Reset Color Adjustments", + true + }, + { + "ResetHueAdjustmentYellow", + "Reset Hue Adjustment Yellow", + "Reset Color Adjustments", + true + }, + { + "ResetHueAdjustmentGreen", + "Reset Hue Adjustment Green", + "Reset Color Adjustments", + true + }, + { + "ResetHueAdjustmentAqua", + "Reset Hue Adjustment Aqua", + "Reset Color Adjustments", + true + }, + { + "ResetHueAdjustmentBlue", + "Reset Hue Adjustment Blue", + "Reset Color Adjustments", + true + }, + { + "ResetHueAdjustmentPurple", + "Reset Hue Adjustment Purple", + "Reset Color Adjustments", + true + }, + { + "ResetHueAdjustmentMagenta", + "Reset Hue Adjustment Magenta", + "Reset Color Adjustments", + true + }, + { + "ResetLuminanceAdjustmentRed", + "Reset Luminance Adjustment Red", + "Reset Color Adjustments", + true + }, + { + "ResetLuminanceAdjustmentOrange", + "Reset Luminance Adjustment Orange", + "Reset Color Adjustments", + true + }, + { + "ResetLuminanceAdjustmentYellow", + "Reset Luminance Adjustment Yellow", + "Reset Color Adjustments", + true + }, + { + "ResetLuminanceAdjustmentGreen", + "Reset Luminance Adjustment Green", + "Reset Color Adjustments", + true + }, + { + "ResetLuminanceAdjustmentAqua", + "Reset Luminance Adjustment Aqua", + "Reset Color Adjustments", + true + }, + { + "ResetLuminanceAdjustmentBlue", + "Reset Luminance Adjustment Blue", + "Reset Color Adjustments", + true + }, + { + "ResetLuminanceAdjustmentPurple", + "Reset Luminance Adjustment Purple", + "Reset Color Adjustments", + true + }, + { + "ResetLuminanceAdjustmentMagenta", + "Reset Luminance Adjustment Magenta", + "Reset Color Adjustments", + true + }, + { + "ResetGrayMixerRed", + "Reset Gray Mixer Red", + "Reset Color Adjustments", + true + }, + { + "ResetGrayMixerOrange", + "Reset Gray Mixer Orange", + "Reset Color Adjustments", + true + }, + { + "ResetGrayMixerYellow", + "Reset Gray Mixer Yellow", + "Reset Color Adjustments", + true + }, + { + "ResetGrayMixerGreen", + "Reset Gray Mixer Green", + "Reset Color Adjustments", + true + }, + { + "ResetGrayMixerAqua", + "Reset Gray Mixer Aqua", + "Reset Color Adjustments", + true + }, + { + "ResetGrayMixerBlue", + "Reset Gray Mixer Blue", + "Reset Color Adjustments", + true + }, + { + "ResetGrayMixerPurple", + "Reset Gray Mixer Purple", + "Reset Color Adjustments", + true + }, + { + "ResetGrayMixerMagenta", + "Reset Gray Mixer Magenta", + "Reset Color Adjustments", + true + }, + { + "EnableSplitToning", + "Enable Split Toning", + "Split Toning", + true + }, + { + "SplitToningShadowHue", + "Shadow Hue", + "Split Toning", + false + }, + { + "SplitToningShadowSaturation", + "Shadow Saturation", + "Split Toning", + false + }, + { + "SplitToningHighlightHue", + "Highlight Hue", + "Split Toning", + false + }, + { + "SplitToningHighlightSaturation", + "Highlight Saturation", + "Split Toning", + false + }, + { + "SplitToningBalance", + "Split Toning Balance", + "Split Toning", + false + }, + { + "ResetSplitToningShadowHue", + "Reset Shadow Hue", + "Split Toning", + true + }, + { + "ResetSplitToningShadowSaturation", + "Reset Shadow Saturation", + "Split Toning", + true + }, + { + "ResetSplitToningHighlightHue", + "Reset Highlight Hue", + "Split Toning", + true + }, + { + "ResetSplitToningHighlightSaturation", + "Reset Highlight Saturation", + "Split Toning", + true + }, + { + "ResetSplitToningBalance", + "Reset Split Toning Balance", + "Split Toning", + true + }, + { + "EnableDetail", + "Enable Detail", + "Detail", + true + }, + { + "Sharpness", + "Sharpness", + "Detail", + false + }, + { + "SharpenRadius", + "Sharpen Radius", + "Detail", + false + }, + { + "SharpenDetail", + "Sharpen Detail", + "Detail", + false + }, + { + "SharpenEdgeMasking", + "Sharpen Edge Masking", + "Detail", + false + }, + { + "LuminanceSmoothing", + "Luminance Smoothing", + "Detail", + false + }, + { + "LuminanceNoiseReductionDetail", + "Luminance Detail", + "Detail", + false + }, + { + "LuminanceNoiseReductionContrast", + "Luminance Contrast", + "Detail", + false + }, + { + "ColorNoiseReduction", + "Color Noise Reduction", + "Detail", + false + }, + { + "ColorNoiseReductionDetail", + "Color Noise Reduction Detail", + "Detail", + false + }, + { + "ColorNoiseReductionSmoothness", + "Color Noise Reduction Smoothness", + "Detail", + false + }, + { + "ResetSharpness", + "Reset Sharpness", + "Detail", + true + }, + { + "ResetSharpenRadius", + "Reset Sharpen Radius", + "Detail", + true + }, + { + "ResetSharpenDetail", + "Reset Sharpen Detail", + "Detail", + true + }, + { + "ResetSharpenEdgeMasking", + "Reset Sharpen Edge Masking", + "Detail", + true + }, + { + "ResetLuminanceSmoothing", + "Reset Luminance Smoothing", + "Detail", + true + }, + { + "ResetLuminanceNoiseReductionDetail", + "Reset Luminance Detail", + "Detail", + true + }, + { + "ResetLuminanceNoiseReductionContrast", + "Reset Luminance Contrast", + "Detail", + true + }, + { + "ResetColorNoiseReduction", + "Reset Color Noise Reduction", + "Detail", + true + }, + { + "ResetColorNoiseReductionDetail", + "Reset Color Noise Reduction Detail", + "Detail", + true + }, + { + "ResetColorNoiseReductionSmoothness", + "Reset Color Noise Reduction Smoothness", + "Detail", + true + }, + { + "EnableLensCorrections", + "Enable Lens Corrections", + "Lens Corrections", + true + }, + { + "LensProfileEnable", + "Lens Profile Enable", + "Lens Corrections", + true + }, + { + "AutoLateralCA", + "Remove Chromatic Aberration", + "Lens Corrections", + true + }, + { + "UprightOff", + "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off", + "Lens Corrections", + true + }, + { + "UprightAuto", + "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto", + "Lens Corrections", + true + }, + { + "UprightLevel", + "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level", + "Lens Corrections", + true + }, + { + "UprightVertical", + "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical", + "Lens Corrections", + true + }, + { + "UprightFull", + "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full", + "Lens Corrections", + true + }, + { + "ResetPerspectiveUpright", + "Reset Perspective Correction", + "Lens Corrections", + true + }, + { + "LensProfileDistortionScale", + "Lens Profile Distortion Scale", + "Lens Corrections", + false + }, + { + "LensProfileChromaticAberrationScale", + "Lens Profile Chromatic Aberration Scale", + "Lens Corrections", + false + }, + { + "LensProfileVignettingScale", + "Lens Profile Vignetting Scale", + "Lens Corrections", + false + }, + { + "ResetLensProfileDistortionScale", + "Reset Lens Profile Distortion Scale", + "Lens Corrections", + true + }, + { + "ResetLensProfileChromaticAberrationScale", + "Reset Lens Profile Chromatic Aberration Scale", + "Lens Corrections", + true + }, + { + "ResetLensProfileVignettingScale", + "Reset Lens Profile Vignetting Scale", + "Lens Corrections", + true + }, + { + "DefringePurpleAmount", + "Defringe Purple Amount", + "Lens Corrections", + false + }, + { + "DefringePurpleHueLo", + "Defringe Purple Hue - Low", + "Lens Corrections", + false + }, + { + "DefringePurpleHueHi", + "Defringe Purple Hue - High", + "Lens Corrections", + false + }, + { + "DefringeGreenAmount", + "Defringe Green Amount", + "Lens Corrections", + false + }, + { + "DefringeGreenHueLo", + "Defringe Green Hue - Low", + "Lens Corrections", + false + }, + { + "DefringeGreenHueHi", + "Defringe Green Hue - High", + "Lens Corrections", + false + }, + { + "ResetDefringePurpleAmount", + "Reset Defringe Purple Amount", + "Lens Corrections", + true + }, + { + "ResetDefringePurpleHueLo", + "Reset Defringe Purple Hue - Low", + "Lens Corrections", + true + }, + { + "ResetDefringePurpleHueHi", + "Reset Defringe Purple Hue - High", + "Lens Corrections", + true + }, + { + "ResetDefringeGreenAmount", + "Reset Defringe Green Amount", + "Lens Corrections", + true + }, + { + "ResetDefringeGreenHueLo", + "Reset Defringe Green Hue - Low", + "Lens Corrections", + true + }, + { + "ResetDefringeGreenHueHi", + "Reset Defringe Green Hue - High", + "Lens Corrections", + true + }, + { + "LensManualDistortionAmount", + "Lens Manual Distortion Amount", + "Lens Corrections", + false + }, + { + "PerspectiveVertical", + "Perspective Vertical", + "Lens Corrections", + false + }, + { + "PerspectiveHorizontal", + "Perspective Horizontal", + "Lens Corrections", + false + }, + { + "PerspectiveRotate", + "Perspective Rotate", + "Lens Corrections", + false + }, + { + "PerspectiveScale", + "Perspective Scale", + "Lens Corrections", + false + }, + { + "PerspectiveAspect", + "Perspective Aspect", + "Lens Corrections", + false + }, + { + "VignetteAmount", + "Vignette Amount", + "Lens Corrections", + false + }, + { + "VignetteMidpoint", + "Vignette Midpoint", + "Lens Corrections", + false + }, + { + "ResetLensManualDistortionAmount", + "Reset Lens Manual Distortion Amount", + "Lens Corrections", + true + }, + { + "ResetPerspectiveVertical", + "Reset Perspective Vertical", + "Lens Corrections", + true + }, + { + "ResetPerspectiveHorizontal", + "Reset Perspective Horizontal", + "Lens Corrections", + true + }, + { + "ResetPerspectiveRotate", + "Reset Perspective Rotate", + "Lens Corrections", + true + }, + { + "ResetPerspectiveScale", + "Reset Perspective Scale", + "Lens Corrections", + true + }, + { + "ResetPerspectiveAspect", + "Reset Perspective Aspect", + "Lens Corrections", + true + }, + { + "ResetVignetteAmount", + "Reset Vignette Amount", + "Lens Corrections", + true + }, + { + "ResetVignetteMidpoint", + "Reset Vignette Midpoint", + "Lens Corrections", + true + }, + { + "EnableEffects", + "Enable Effects", + "Effects", + true + }, + { + "Dehaze", + "Dehaze Amount", + "Effects", + false + }, + { + "PostCropVignetteAmount", + "Post Crop Vignette Amount", + "Effects", + false + }, + { + "PostCropVignetteMidpoint", + "Post Crop Vignette Midpoint", + "Effects", + false + }, + { + "PostCropVignetteFeather", + "Post Crop Vignette Feather", + "Effects", + false + }, + { + "PostCropVignetteRoundness", + "Post Crop Vignette Roundness", + "Effects", + false + }, + { + "PostCropVignetteStyle", + "Post Crop Vignette Style", + "Effects", + false + }, + { + "PostCropVignetteHighlightContrast", + "Post Crop Vignette Highlight Contrast", + "Effects", + false + }, + { + "GrainAmount", + "Grain Amount", + "Effects", + false + }, + { + "GrainSize", + "Grain Size", + "Effects", + false + }, + { + "GrainFrequency", + "Grain Roughness", + "Effects", + false + }, + { + "ResetDehaze", + "Reset Dehaze Amount", + "Effects", + true + }, + { + "ResetPostCropVignetteAmount", + "Reset Post Crop Vignette Amount", + "Effects", + true + }, + { + "ResetPostCropVignetteMidpoint", + "Reset Post Crop Vignette Midpoint", + "Effects", + true + }, + { + "ResetPostCropVignetteFeather", + "Reset Post Crop Vignette Feather", + "Effects", + true + }, + { + "ResetPostCropVignetteRoundness", + "Reset Post Crop Vignette Roundness", + "Effects", + true + }, + { + "ResetPostCropVignetteStyle", + "Reset Post Crop Vignette Style", + "Effects", + true + }, + { + "ResetPostCropVignetteHighlightContrast", + "Reset Post Crop Vignette Highlight Contrast", + "Effects", + true + }, + { + "ResetGrainAmount", + "Reset Grain Amount", + "Effects", + true + }, + { + "ResetGrainSize", + "Reset Grain Size", + "Effects", + true + }, + { + "ResetGrainFrequency", + "Reset Grain Roughness", + "Effects", + true + }, + { + "EnableCalibration", + "Enable Calibration", + "Calibration", + true + }, + { + "Profile_Adobe_Standard", + "Adobe Standard", + "Calibration", + true + }, + { + "Profile_Camera_Clear", + "Camera Clear", + "Calibration", + true + }, + { + "Profile_Camera_Deep", + "Camera Deep", + "Calibration", + true + }, + { + "Profile_Camera_Landscape", + "Camera Landscape", + "Calibration", + true + }, + { + "Profile_Camera_Light", + "Camera Light", + "Calibration", + true + }, + { + "Profile_Camera_Neutral", + "Camera Neutral", + "Calibration", + true + }, + { + "Profile_Camera_Portrait", + "Camera Portrait", + "Calibration", + true + }, + { + "Profile_Camera_Standard", + "Camera Standard", + "Calibration", + true + }, + { + "Profile_Camera_Vivid", + "Camera Vivid", + "Calibration", + true + }, + { + "ShadowTint", + "Shadow Tint Calibration", + "Calibration", + false + }, + { + "RedHue", + "Red Hue Calibration", + "Calibration", + false + }, + { + "RedSaturation", + "Red Saturation Calibration", + "Calibration", + false + }, + { + "GreenHue", + "Green Hue Calibration", + "Calibration", + false + }, + { + "GreenSaturation", + "Green Saturation Calibration", + "Calibration", + false + }, + { + "BlueHue", + "Blue Hue Calibration", + "Calibration", + false + }, + { + "BlueSaturation", + "Blue Saturation Calibration", + "Calibration", + false + }, + { + "ResetShadowTint", + "Reset Shadow Tint Calibration", + "Calibration", + false + }, + { + "ResetRedHue", + "Reset Red Hue Calibration", + "Calibration", + false + }, + { + "ResetRedSaturation", + "Reset Red Saturation Calibration", + "Calibration", + false + }, + { + "ResetGreenHue", + "Reset Green Hue Calibration", + "Calibration", + false + }, + { + "ResetGreenSaturation", + "Reset Green Saturation Calibration", + "Calibration", + false + }, + { + "ResetBlueHue", + "Reset Blue Hue Calibration", + "Calibration", + false + }, + { + "ResetBlueSaturation", + "Reset Blue Saturation Calibration", + "Calibration", + false + }, + { + "Pick", + "Set Pick Flag", + "Photo Actions", + true + }, + { + "Reject", + "Set Rejected Flag", + "Photo Actions", + true + }, + { + "Next", + "Next Photo", + "Photo Actions", + true + }, + { + "Prev", + "Previous Photo", + "Photo Actions", + true + }, + { + "VirtualCopy", + "Create Virtual Copy", + "Photo Actions", + true + }, + { + "RemoveFlag", + "Unflagged", + "Photo Actions", + true + }, + { + "IncreaseRating", + "Increase Rating", + "Photo Actions", + true + }, + { + "DecreaseRating", + "Decrease Rating", + "Photo Actions", + true + }, + { + "SetRating0", + "0 Stars", + "Photo Actions", + true + }, + { + "SetRating1", + "1 Star", + "Photo Actions", + true + }, + { + "SetRating2", + "2 Stars", + "Photo Actions", + true + }, + { + "SetRating3", + "3 Stars", + "Photo Actions", + true + }, + { + "SetRating4", + "4 Stars", + "Photo Actions", + true + }, + { + "SetRating5", + "5 Stars", + "Photo Actions", + true + }, + { + "ToggleBlue", + "Toggle Blue Label", + "Photo Actions", + true + }, + { + "ToggleGreen", + "Toggle Green Label", + "Photo Actions", + true + }, + { + "ToggleRed", + "Toggle Red Label", + "Photo Actions", + true + }, + { + "TogglePurple", + "Toggle Purple Label", + "Photo Actions", + true + }, + { + "ToggleYellow", + "Toggle Yellow Label", + "Photo Actions", + true + }, + { + "ResetAll", + "Reset ", + "Photo Actions", + true + }, + { + "ResetLast", + "Reset ", + "Photo Actions", + true + }, + { + "IncrementLastDevelopParameter", + "Increment Last Develop Parameter", + "Photo Actions", + true + }, + { + "DecrementLastDevelopParameter", + "Decrement Last Develop Parameter", + "Photo Actions", + true + }, + { + "Undo", + "Undo", + "Photo Actions", + true + }, + { + "Redo", + "Redo", + "Photo Actions", + true + }, + { + "CopySettings", + "Copy Settings", + "Photo Actions", + true + }, + { + "PasteSettings", + "Paste Settings", + "Photo Actions", + true + }, + { + "PasteSelectedSettings", + "Paste Selected Settings", + "Photo Actions", + true + }, + { + "Preset_1", + "Develop Preset 1", + "Develop Presets", + true + }, + { + "Preset_2", + "Develop Preset 2", + "Develop Presets", + true + }, + { + "Preset_3", + "Develop Preset 3", + "Develop Presets", + true + }, + { + "Preset_4", + "Develop Preset 4", + "Develop Presets", + true + }, + { + "Preset_5", + "Develop Preset 5", + "Develop Presets", + true + }, + { + "Preset_6", + "Develop Preset 6", + "Develop Presets", + true + }, + { + "Preset_7", + "Develop Preset 7", + "Develop Presets", + true + }, + { + "Preset_8", + "Develop Preset 8", + "Develop Presets", + true + }, + { + "Preset_9", + "Develop Preset 9", + "Develop Presets", + true + }, + { + "Preset_10", + "Develop Preset 10", + "Develop Presets", + true + }, + { + "Preset_11", + "Develop Preset 11", + "Develop Presets", + true + }, + { + "Preset_12", + "Develop Preset 12", + "Develop Presets", + true + }, + { + "Preset_13", + "Develop Preset 13", + "Develop Presets", + true + }, + { + "Preset_14", + "Develop Preset 14", + "Develop Presets", + true + }, + { + "Preset_15", + "Develop Preset 15", + "Develop Presets", + true + }, + { + "Preset_16", + "Develop Preset 16", + "Develop Presets", + true + }, + { + "Preset_17", + "Develop Preset 17", + "Develop Presets", + true + }, + { + "Preset_18", + "Develop Preset 18", + "Develop Presets", + true + }, + { + "Preset_19", + "Develop Preset 19", + "Develop Presets", + true + }, + { + "Preset_20", + "Develop Preset 20", + "Develop Presets", + true + }, + { + "ZoomInLargeStep", + "Zoom In", + "Miscellaneous", + true + }, + { + "ZoomInSmallStep", + "Zoom In Some", + "Miscellaneous", + true + }, + { + "ZoomOutSmallStep", + "Zoom Out Some", + "Miscellaneous", + true + }, + { + "ZoomOutLargeStep", + "Zoom Out", + "Miscellaneous", + true + }, + { + "ToggleZoomOffOn", + "Toggle Zoom Off/On", + "Miscellaneous", + true + }, + { + "CropAngle", + "Crop Angle", + "Miscellaneous", + false + }, + { + "CropBottom", + "Crop Bottom", + "Miscellaneous", + false + }, + { + "CropLeft", + "Crop Left", + "Miscellaneous", + false + }, + { + "CropRight", + "Crop Right", + "Miscellaneous", + false + }, + { + "CropTop", + "Crop Top", + "Miscellaneous", + false + }, + { + "ResetCrop", + "Reset Crop", + "Miscellaneous", + true + }, + { + "EnableCircularGradientBasedCorrections", + "Enable Radial Filter", + "Miscellaneous", + true + }, + { + "EnableGradientBasedCorrections", + "Enable Graduated Filter", + "Miscellaneous", + true + }, + { + "EnablePaintBasedCorrections", + "Enable Brush Adjustments", + "Miscellaneous", + true + }, + { + "EnableRedEye", + "Enable Red-Eye", + "Miscellaneous", + true + }, + { + "EnableRetouch", + "Enable Spot Removal", + "Miscellaneous", + true + }, + { + "ResetCircGrad", + "Reset Radial Filters", + "Miscellaneous", + true + }, + { + "ResetGradient", + "Reset Graduated Filters", + "Miscellaneous", + true + }, + { + "ResetBrushing", + "Reset Brush Corrections", + "Miscellaneous", + true + }, + { + "ResetRedeye", + "Reset Red-Eye", + "Miscellaneous", + true + }, + { + "ResetSpotRem", + "Reset Spot Removal", + "Miscellaneous", + true + }, + { + "Loupe", + "Loupe Tool", + "Miscellaneous", + true + }, + { + "CropOverlay", + "Crop", + "Go to Tool, Module, or Panel", + true + }, + { + "SpotRemoval", + "Spot Removal", + "Go to Tool, Module, or Panel", + true + }, + { + "RedEye", + "Red Eye Tool", + "Go to Tool, Module, or Panel", + true + }, + { + "GraduatedFilter", + "Graduated Filter Tool", + "Go to Tool, Module, or Panel", + true + }, + { + "RadialFilter", + "Radial Filter Tool", + "Go to Tool, Module, or Panel", + true + }, + { + "AdjustmentBrush", + "Adjustment Brush", + "Go to Tool, Module, or Panel", + true + }, + { + "SwToMlibrary", + "Library Module", + "Go to Tool, Module, or Panel", + true + }, + { + "SwToMdevelop", + "Develop Module", + "Go to Tool, Module, or Panel", + true + }, + { + "SwToMmap", + "Map Module", + "Go to Tool, Module, or Panel", + true + }, + { + "SwToMbook", + "Book Module", + "Go to Tool, Module, or Panel", + true + }, + { + "SwToMslideshow", + "Slideshow Module", + "Go to Tool, Module, or Panel", + true + }, + { + "SwToMprint", + "Print Module", + "Go to Tool, Module, or Panel", + true + }, + { + "SwToMweb", + "Web Module", + "Go to Tool, Module, or Panel", + true + }, + { + "RevealPanelAdjust", + "Basic Adjustments Panel", + "Go to Tool, Module, or Panel", + true + }, + { + "RevealPanelTone", + "Tone Curve Panel", + "Go to Tool, Module, or Panel", + true + }, + { + "RevealPanelMixer", + "Mixer Panel", + "Go to Tool, Module, or Panel", + true + }, + { + "RevealPanelSplit", + "Split Toning Panel", + "Go to Tool, Module, or Panel", + true + }, + { + "RevealPanelDetail", + "Detail Panel", + "Go to Tool, Module, or Panel", + true + }, + { + "RevealPanelLens", + "Lens Corrections Panel", + "Go to Tool, Module, or Panel", + true + }, + { + "RevealPanelEffects", + "Effects Panel", + "Go to Tool, Module, or Panel", + true + }, + { + "RevealPanelCalibrate", + "Camera Calibration Panel", + "Go to Tool, Module, or Panel", + true + }, + { + "ShoVwloupe", + "Loupe", + "View Modes", + true + }, + { + "ShoVwgrid", + "Grid", + "View Modes", + true + }, + { + "ShoVwcompare", + "Compare", + "View Modes", + true + }, + { + "ShoVwsurvey", + "Survey", + "View Modes", + true + }, + { + "ShoVwpeople", + "People", + "View Modes", + true + }, + { + "ShoVwdevelop_loupe", + "Develop Loupe", + "View Modes", + true + }, + { + "ShoVwdevelop_before_after_horiz", + "Develop Bef/Aft Horizontal", + "View Modes", + true + }, + { + "ShoVwdevelop_before_after_vert", + "Develop Bef/Aft Vertical", + "View Modes", + true + }, + { + "ShoVwdevelop_before", + "Develop Before", + "View Modes", + true + }, + { + "ShoScndVwloupe", + "Secondary Display Loupe", + "View Modes", + true + }, + { + "ShoScndVwlive_loupe", + "Secondary Display Live Loupe", + "View Modes", + true + }, + { + "ShoScndVwlocked_loupe", + "Secondary Display Locked Loupe", + "View Modes", + true + }, + { + "ShoScndVwgrid", + "Secondary Display Grid", + "View Modes", + true + }, + { + "ShoScndVwcompare", + "Secondary Display Compare", + "View Modes", + true + }, + { + "ShoScndVwsurvey", + "Secondary Display Survey", + "View Modes", + true + }, + { + "ShoScndVwslideshow", + "Secondary Display Slideshow", + "View Modes", + true + }, + { + "ToggleScreenTwo", + "Toggle on/off Second Screen", + "View Modes", + true + }, + { + "profile1", + "Profile 1", + "View Modes", + true + }, + { + "profile2", + "Profile 2", + "Profiles", + true + }, + { + "profile3", + "Profile 3", + "Profiles", + true + }, + { + "profile4", + "Profile 4", + "Profiles", + true + }, + { + "profile5", + "Profile 5", + "Profiles", + true + }, + { + "profile6", + "Profile 6", + "Profiles", + true + }, + { + "profile7", + "Profile 7", + "Profiles", + true + }, + { + "profile8", + "Profile 8", + "Profiles", + true + }, + { + "profile9", + "Profile 9", + "Profiles", + true + }, + { + "profile10", + "Profile 10", + "Profiles", + true + } +} + return { MenuList = MenuList, -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +} \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index 60fd7bb37..a5ca1e7b7 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -1,184 +1,178 @@ local MenuList = { {"WhiteBalanceAs_Shot", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"WhiteBalanceAuto", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"WhiteBalanceCloudy", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"WhiteBalanceDaylight", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"WhiteBalanceFlash", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"WhiteBalanceFluorescent", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"WhiteBalanceShade", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"WhiteBalanceTungsten", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"Temperature", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Tint", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Exposure", LOC("$$$/AgCameraRawUI/Exposure=Exposure"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Contrast", LOC("$$$/AgCameraRawUI/Contrast=Contrast"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Highlights", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Shadows", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Whites", LOC("$$$/AgCameraRawUI/Whites=Whites"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Blacks", LOC("$$$/AgCameraRawUI/Blacks=Blacks"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Clarity", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Vibrance", LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"Saturation", LOC("$$$/AgCameraRawUI/Saturation=Saturation"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), false}, {"ResetTemperature", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetTint", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetExposure", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetContrast", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetHighlights", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetShadows", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetWhites", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetBlacks", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetClarity", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetVibrance", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ResetSaturation", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), - "Basic", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), true}, {"ParametricDarks", - "Parametric Darks", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), false}, {"ParametricLights", - "Parametric Lights", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), false}, {"ParametricShadows", - "Parametric Shadows", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), false}, {"ParametricHighlights", - "Parametric Highlights", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), false}, {"ParametricShadowSplit", - "Parametric Shadow Split", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), false}, {"ParametricMidtoneSplit", - "Parametric Midtone Split", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), false}, {"ParametricHighlightSplit", - "Parametric Highlight Split", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), false}, {"ResetParametricDarks", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), true}, {"ResetParametricLights", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion - + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), true}, {"ResetParametricShadows", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion - + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), true}, {"ResetParametricHighlights", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion - + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), true}, {"ResetParametricShadowSplit", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion - + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), true}, {"ResetParametricMidtoneSplit", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion - + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), true}, {"ResetParametricHighlightSplit", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion - + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), true}, {"EnableColorAdjustments", @@ -495,87 +489,87 @@ local MenuList = { true}, {"EnableDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"Sharpness", LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"SharpenRadius", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"SharpenDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"SharpenEdgeMasking", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"LuminanceSmoothing", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"LuminanceNoiseReductionDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"LuminanceNoiseReductionContrast", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"ColorNoiseReduction", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"ColorNoiseReductionDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"ColorNoiseReductionSmoothness", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), false}, {"ResetSharpness", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"ResetSharpenRadius", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"ResetSharpenDetail", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"ResetSharpenEdgeMasking", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"ResetLuminanceSmoothing", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"ResetLuminanceNoiseReductionDetail", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"ResetLuminanceNoiseReductionContrast", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"ResetColorNoiseReduction", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"ResetColorNoiseReductionDetail", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"ResetColorNoiseReductionSmoothness", LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), - "Detail", + LOC("$$$/AgDevelop/Panel/Detail=Detail"), true}, {"EnableLensCorrections", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), @@ -590,28 +584,27 @@ local MenuList = { LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), true}, {"UprightOff", - "Perspective Upright Off", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off"), LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), true}, {"UprightAuto", - "Perspective Upright Auto", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto"), LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), true}, {"UprightLevel", - "Perspective Upright Level", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level"), LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), true}, {"UprightVertical", - "Perspective Upright Vertical", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical"), LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), true}, {"UprightFull", - "Perspective Upright Full", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full"), LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), true}, {"ResetPerspectiveUpright", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion - + LOC("$$$/AgCameraRawNamedSettings/Ops/ResetUprightSettings=Reset Upright Settings"), LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), true}, {"LensProfileDistortionScale", @@ -939,11 +932,11 @@ local MenuList = { "Photo Actions", true}, {"Next", - "Next Photo", + LOC("$$$/AgDevelopShortcuts/Next_Photo=Next Photo"), "Photo Actions", true}, {"Prev", - "Previous Photo", + LOC("$$$/AgDevelopShortcuts/Previous_Photo=Previous Photo"), "Photo Actions", true}, {"VirtualCopy", @@ -962,42 +955,64 @@ local MenuList = { LOC("$$$/AgLibrary/Ops/DecreaseRating=Decrease Rating"), "Photo Actions", true}, - {"SetRating0", LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), "Photo Actions", + {"SetRating0", + LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), + "Photo Actions", true}, - {"SetRating1", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), "Photo Actions", + {"SetRating1", + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), + "Photo Actions", true}, - {"SetRating2", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), "Photo Actions", + {"SetRating2", + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), + "Photo Actions", true}, - {"SetRating3", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), "Photo Actions", + {"SetRating3", + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), + "Photo Actions", true}, - {"SetRating4", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), "Photo Actions", + {"SetRating4", + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), + "Photo Actions", true}, - {"SetRating5", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), "Photo Actions", + {"SetRating5", + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), + "Photo Actions", true}, - {"ToggleBlue", "Toggle Blue Label", "Photo Actions", + {"ToggleBlue", + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelBlue=Blue")), + "Photo Actions", true}, - {"ToggleGreen", "Toggle Green Label", "Photo Actions", + {"ToggleGreen", + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelGreen=Green")), + "Photo Actions", true}, - {"ToggleRed", "Toggle Red Label", "Photo Actions", + {"ToggleRed", + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelRed=Red")), + "Photo Actions", true}, - {"TogglePurple", "Toggle Purple Label", "Photo Actions", + {"TogglePurple", + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelPurple=Purple")), + "Photo Actions", true}, - {"ToggleYellow", "Toggle Yellow Label", "Photo Actions", + {"ToggleYellow", + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelYellow=Yellow")), + "Photo Actions", true}, {"ResetAll", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + LOC("$$$/AgCameraRawNamedSettings/Ops/ResetSettings=Reset Settings"), "Photo Actions", true}, {"ResetLast", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..'', --fix me, missing reset portion + LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified"):gsub(':',''), "Photo Actions", true}, {"IncrementLastDevelopParameter", - "Increment Last Develop Parameter", + LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 erhöhen: ^2",LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''), "Photo Actions", true}, {"DecrementLastDevelopParameter", - "Decrement Last Develop Parameter", + LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 decrease: ^2",LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''), "Photo Actions", true}, {"Undo", @@ -1013,7 +1028,7 @@ local MenuList = { "Photo Actions", true}, {"PasteSettings", - "Paste Settings", + LOC("$$$/AgCameraRawNamedSettings/Ops/PasteSettings=Paste Settings"), "Photo Actions", true}, {"PasteSelectedSettings", @@ -1121,23 +1136,23 @@ local MenuList = { "Miscellaneous", true}, {"CropAngle", - "Crop Angle", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropAngle=Crop Angle"), "Miscellaneous", false}, {"CropBottom", - "Crop Bottom", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), "Miscellaneous", false}, {"CropLeft", - "Crop Left", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), "Miscellaneous", false}, {"CropRight", - "Crop Right", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), "Miscellaneous", false}, {"CropTop", - "Crop Top", + LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), "Miscellaneous", false}, {"ResetCrop", @@ -1157,7 +1172,8 @@ local MenuList = { "Miscellaneous", true}, {"EnableRedEye", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), "Miscellaneous", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), + "Miscellaneous", true}, {"EnableRetouch", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), @@ -1188,11 +1204,11 @@ local MenuList = { "Miscellaneous", true}, {"CropOverlay", - "Crop Tool", + LOC("$$$/AgDevelop/Menu/View/Crop=Crop"):gsub('&',''), "Go to Tool, Module, or Panel", true}, {"SpotRemoval", - "Spot Removal Tool", + LOC("$$$/AgDevelop/Menu/View/SpotRemoval=Spot Removal"):gsub('&',''), "Go to Tool, Module, or Panel", true}, {"RedEye", @@ -1208,7 +1224,7 @@ local MenuList = { "Go to Tool, Module, or Panel", true}, {"AdjustmentBrush", - "Adjustment Brush Tool", + LOC("$$$/AgDevelop/Menu/View/AdjustmentBrush=Adjustment Brush"), "Go to Tool, Module, or Panel", true}, {"SwToMlibrary", @@ -1272,72 +1288,74 @@ local MenuList = { "Go to Tool, Module, or Panel", true}, {"ShoVwloupe", - "Loupe", - "View Modes", + LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoVwgrid", - "Grid", - "View Modes", + LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoVwcompare", - "Compare", - "View Modes", + LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoVwsurvey", - "Survey", - "View Modes", + LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoVwpeople", - "People", - "View Modes", + LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoVwdevelop_loupe", - "Develop Loupe", - "View Modes", + LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoVwdevelop_before_after_horiz", - "Develop Bef/Aft Horizontal", - "View Modes", + LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoVwdevelop_before_after_vert", - "Develop Bef/Aft Vertical", - "View Modes", + LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoVwdevelop_before", - "Develop Before", - "View Modes", + LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoScndVwloupe", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), - "View Modes", + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoScndVwlive_loupe", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), - "View Modes", + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoScndVwlocked_loupe", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), - "View Modes", + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoScndVwgrid", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), - "View Modes", + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoScndVwcompare", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), - "View Modes", + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoScndVwsurvey", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), - "View Modes", + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, {"ShoScndVwslideshow", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), - "View Modes", + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, - {"ToggleScreenTwo", "Toggle on/off Second Screen", "View Modes", + {"ToggleScreenTwo", + LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), + LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, - {"profile1", "Profile 1", "View Modes", + {"profile1", "Profile 1", "Profiles", true}, {"profile2", "Profile 2", "Profiles", true}, diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/datastructure.txt b/Source/LRPlugin/MIDI2LR.lrplugin/datastructure.txt deleted file mode 100644 index 2972f94d7..000000000 --- a/Source/LRPlugin/MIDI2LR.lrplugin/datastructure.txt +++ /dev/null @@ -1,707 +0,0 @@ -{ - AutoBrightness = { - "Automatic Brightness", - 1250, - "adjustPanel" - } --[[table: 000000001A2CB450]], - AutoContrast = { - "Automatic Contrast", - 1260, - "adjustPanel" - } --[[table: 000000001A2CB040]], - AutoExposure = { - "Automatic Exposure", - 1270, - "adjustPanel" - } --[[table: 000000001A2CB0E0]], - AutoLateralCA = { - "Remove Chromatic Aberration", - 1000, - "lensCorrectionsPanel" - } --[[table: 000000001A2C9010]], - AutoShadows = { - "Automatic Shadows", - 1280, - "adjustPanel" - } --[[table: 000000001A2CB130]], - Blacks = { - "Blacks", - 80, - "adjustPanel" - } --[[table: 000000001A2C7620]], - BlueHue = { - "Blue Hue Calibration", - 980, - "calibratePanel" - } --[[table: 000000001A2C9420]], - BlueSaturation = { - "Blue Saturation Calibration", - 990, - "calibratePanel" - } --[[table: 000000001A2C8ED0]], - Brightness = { - "Brightness", - 1290, - "adjustPanel" - } --[[table: 000000001A2CA370]], - CameraProfile = { - "Camera Profile", - 1010, - "calibratePanel" - } --[[table: 000000001A2C9150]], - ChromaticAberrationB = { - "Blue Chromatic Aberration", - 1300, - "lensCorrectionsPanel" - } --[[table: 000000001A2CA230]], - ChromaticAberrationR = { - "Red Chromatic Aberration", - 1310, - "lensCorrectionsPanel" - } --[[table: 000000001A2CA5A0]], - Clarity = { - "Clarity", - 90, - "adjustPanel" - } --[[table: 000000001A2C76C0]], - ColorNoiseReduction = { - "Color Noise Reduction", - 630, - "detailPanel" - } --[[table: 000000001A2C79E0]], - ColorNoiseReductionDetail = { - "Color Noise Reduction Detail", - 640, - "detailPanel" - } --[[table: 000000001A2C8AC0]], - ColorNoiseReductionSmoothness = { - "Color Noise Reduction Smoothness", - 650, - "detailPanel" - } --[[table: 000000001A2C8B10]], - Contrast = { - "Contrast", - 60, - "adjustPanel" - } --[[table: 000000001A2C74E0]], - ConvertToGrayscale = { - "Convert to Grayscale", - 1020, - "mixerPanel" - } --[[table: 000000001A2C9BF0]], - CropAngle = { - "Crop Angle", - 1030, - "crop" - } --[[table: 000000001A2C9830]], - CropBottom = { - "Crop - Bottom", - 1040, - "crop" - } --[[table: 000000001A2C91A0]], - CropConstrainToWarp = { - "Constrain to Warp", - 1050, - "crop" - } --[[table: 000000001A2C9EC0]], - CropLeft = { - "Crop - Left", - 1060, - "crop" - } --[[table: 000000001A2C9240]], - CropRight = { - "Crop - Right", - 1070, - "crop" - } --[[table: 000000001A2CA000]], - CropTop = { - "Crop - Top", - 1080, - "crop" - } --[[table: 000000001A2CA0F0]], - Defringe = { - "Defringe", - 1320, - "lensCorrectionsPanel" - } --[[table: 000000001A2CB270]], - DefringeGreenAmount = { - "Defringe Green Amount", - 740, - "lensCorrectionsPanel" - } --[[table: 000000001A2C92E0]], - DefringeGreenHueHi = { - "Defringe Green Hue - High", - 760, - "lensCorrectionsPanel" - } --[[table: 000000001A2C9E70]], - DefringeGreenHueLo = { - "Defringe Green Hue - Low", - 750, - "lensCorrectionsPanel" - } --[[table: 000000001A2C97E0]], - DefringePurpleAmount = { - "Defringe Purple Amount", - 700, - "lensCorrectionsPanel" - } --[[table: 000000001A2C7B20]], - DefringePurpleHueHi = { - "Defringe Purple Hue - High", - 730, - "lensCorrectionsPanel" - } --[[table: 000000001A2C9F60]], - DefringePurpleHueLo = { - "Defringe Purple Hue - Low", - 710, - "lensCorrectionsPanel" - } --[[table: 000000001A2C9C90]], - Dehaze = { - "Dehaze Amount", - 830, - "effectsPanel" - } --[[table: 000000001A2C8F70]], - EnableCalibration = { - "Enable Calibration", - 1090, - "calibratePanel" - } --[[table: 000000001A2C9470]], - EnableCircularGradientBasedCorrections = { - "Enable Radial Filter", - 1100, - "circularGradient" - } --[[table: 000000001A2C94C0]], - EnableColorAdjustments = { - "Enable Color Adjustments", - 1110, - "mixerPanel" - } --[[table: 000000001A2C9600]], - EnableDetail = { - "Enable Detail", - 1120, - "detailPanel" - } --[[table: 000000001A2C9650]], - EnableEffects = { - "Enable Effects", - 1130, - "effectsPanel" - } --[[table: 000000001A2C96A0]], - EnableGradientBasedCorrections = { - "Enable Graduated Filter", - 1140, - "gradient" - } --[[table: 000000001A2C96F0]], - EnableGrayscaleMix = { - "Enable Grayscale Mix", - 1150, - "mixerPanel" - } --[[table: 000000001A2C9740]], - EnableLensCorrections = { - "Enable Lens Corrections", - 1160, - "lensCorrectionsPanel" - } --[[table: 000000001A2C9880]], - EnablePaintBasedCorrections = { - "Enable Brush Adjustments", - 1170, - "localized" - } --[[table: 000000001A2CAC80]], - EnableRedEye = { - "Enable Red-Eye", - 1180, - "redeye" - } --[[table: 000000001A2CA140]], - EnableRetouch = { - "Enable Spot Removal", - 1190, - "dust" - } --[[table: 000000001A2CA320]], - EnableSplitToning = { - "Enable Split Toning", - 1200, - "splitToningPanel" - } --[[table: 000000001A2CA910]], - Exposure = { - "Exposure", - 30, - "adjustPanel" - } --[[table: 000000001A2C7440]], - GrainAmount = { - "Grain Amount", - 900, - "effectsPanel" - } --[[table: 000000001A2C9060]], - GrainFrequency = { - "Grain Roughness", - 920, - "effectsPanel" - } --[[table: 000000001A2C90B0]], - GrainSize = { - "Grain Size", - 910, - "effectsPanel" - } --[[table: 000000001A2C9AB0]], - GrayMixerAqua = { - "Gray Mixer Aqua", - 470, - "mixerPanel" - } --[[table: 000000001A2C85C0]], - GrayMixerBlue = { - "Gray Mixer Blue", - 480, - "mixerPanel" - } --[[table: 000000001A2C8570]], - GrayMixerGreen = { - "Gray Mixer Green", - 460, - "mixerPanel" - } --[[table: 000000001A2C7940]], - GrayMixerMagenta = { - "Gray Mixer Magenta", - 500, - "mixerPanel" - } --[[table: 000000001A2C8110]], - GrayMixerOrange = { - "Gray Mixer Orange", - 440, - "mixerPanel" - } --[[table: 000000001A2C7EE0]], - GrayMixerPurple = { - "Gray Mixer Purple", - 490, - "mixerPanel" - } --[[table: 000000001A2C80C0]], - GrayMixerRed = { - "Gray Mixer Red", - 430, - "mixerPanel" - } --[[table: 000000001A2C8520]], - GrayMixerYellow = { - "Gray Mixer Yellow", - 450, - "mixerPanel" - } --[[table: 000000001A2C7DA0]], - GreenHue = { - "Green Hue Calibration", - 960, - "calibratePanel" - } --[[table: 000000001A2C8E80]], - GreenSaturation = { - "Green Saturation Calibration", - 970, - "calibratePanel" - } --[[table: 000000001A2C91F0]], - Highlights = { - "Highlights", - 40, - "adjustPanel" - } --[[table: 000000001A2C7490]], - HueAdjustmentAqua = { - "Hue Adjustment Aqua", - 310, - "mixerPanel" - } --[[table: 000000001A2C86B0]], - HueAdjustmentBlue = { - "Hue Adjustment Blue", - 320, - "mixerPanel" - } --[[table: 000000001A2C8070]], - HueAdjustmentGreen = { - "Hue Adjustment Green", - 300, - "mixerPanel" - } --[[table: 000000001A2C8430]], - HueAdjustmentMagenta = { - "Hue Adjustment Magenta", - 340, - "mixerPanel" - } --[[table: 000000001A2C8390]], - HueAdjustmentOrange = { - "Hue Adjustment Orange", - 280, - "mixerPanel" - } --[[table: 000000001A2C7CB0]], - HueAdjustmentPurple = { - "Hue Adjustment Purple", - 330, - "mixerPanel" - } --[[table: 000000001A2C8700]], - HueAdjustmentRed = { - "Hue Adjustment Red", - 270, - "mixerPanel" - } --[[table: 000000001A2C7C60]], - HueAdjustmentYellow = { - "Hue Adjustment Yellow", - 290, - "mixerPanel" - } --[[table: 000000001A2C8020]], - LensManualDistortionAmount = { - "Lens Manual Distortion Amount", - 690, - "lensCorrectionsPanel" - } --[[table: 000000001A2C7AD0]], - LensProfileChromaticAberrationScale = { - "Lens Profile Chromatic Aberration Scale", - 670, - "lensCorrectionsPanel" - } --[[table: 000000001A2C8CF0]], - LensProfileDistortionScale = { - "Lens Profile Distortion Scale", - 660, - "lensCorrectionsPanel" - } --[[table: 000000001A2C8BB0]], - LensProfileEnable = { - "Enable Lens Corrections", - 1210, - "lensCorrectionsPanel" - } --[[table: 000000001A2CB090]], - LensProfileSetup = { - "Lens Profile Setup", - 1330, - "lensCorrectionsPanel" - } --[[table: 000000001A2CAFA0]], - LensProfileVignettingScale = { - "Lens Profile Vignetting Scale", - 680, - "lensCorrectionsPanel" - } --[[table: 000000001A2C7A80]], - LuminanceAdjustmentAqua = { - "Luminance Adjustment Aqua", - 390, - "mixerPanel" - } --[[table: 000000001A2C87F0]], - LuminanceAdjustmentBlue = { - "Luminance Adjustment Blue", - 400, - "mixerPanel" - } --[[table: 000000001A2C7D00]], - LuminanceAdjustmentGreen = { - "Luminance Adjustment Green", - 380, - "mixerPanel" - } --[[table: 000000001A2C7BC0]], - LuminanceAdjustmentMagenta = { - "Luminance Adjustment Magenta", - 420, - "mixerPanel" - } --[[table: 000000001A2C7F80]], - LuminanceAdjustmentOrange = { - "Luminance Adjustment Orange", - 360, - "mixerPanel" - } --[[table: 000000001A2C7B70]], - LuminanceAdjustmentPurple = { - "Luminance Adjustment Purple", - 410, - "mixerPanel" - } --[[table: 000000001A2C7D50]], - LuminanceAdjustmentRed = { - "Luminance Adjustment Red", - 350, - "mixerPanel" - } --[[table: 000000001A2C7C10]], - LuminanceAdjustmentYellow = { - "Luminance Adjustment Yellow", - 370, - "mixerPanel" - } --[[table: 000000001A2C7FD0]], - LuminanceNoiseReductionContrast = { - "Luminance Noise Reduction Contrast", - 620, - "detailPanel" - } --[[table: 000000001A2C8C50]], - LuminanceNoiseReductionDetail = { - "Luminance Noise Reduction Detail", - 610, - "detailPanel" - } --[[table: 000000001A2C83E0]], - LuminanceSmoothing = { - "Luminance Smoothing", - 600, - "detailPanel" - } --[[table: 000000001A2C7A30]], - ParametricDarks = { - "Parametric Darks", - 120, - "tonePanel" - } --[[table: 000000001A2C7760]], - ParametricHighlightSplit = { - "Parametric Highlight Split", - 180, - "tonePanel" - } --[[table: 000000001A2C68B0]], - ParametricHighlights = { - "Parametric Highlights", - 150, - "tonePanel" - } --[[table: 000000001A2C66D0]], - ParametricLights = { - "Parametric Lights", - 130, - "tonePanel" - } --[[table: 000000001A2C7800]], - ParametricMidtoneSplit = { - "Parametric Midtone Split", - 170, - "tonePanel" - } --[[table: 000000001A2C6860]], - ParametricShadowSplit = { - "Parametric Shadow Split", - 160, - "tonePanel" - } --[[table: 000000001A2C6C70]], - ParametricShadows = { - "Parametric Shadows", - 140, - "tonePanel" - } --[[table: 000000001A2C6680]], - PerspectiveAspect = { - "Perspective Aspect", - 810, - "lensCorrectionsPanel" - } --[[table: 000000001A2C9970]], - PerspectiveHorizontal = { - "Perspective Horizontal", - 780, - "lensCorrectionsPanel" - } --[[table: 000000001A2C9B00]], - PerspectiveRotate = { - "Perspective Rotate", - 790, - "lensCorrectionsPanel" - } --[[table: 000000001A2C9920]], - PerspectiveScale = { - "Perspective Scale", - 800, - "lensCorrectionsPanel" - } --[[table: 000000001A2C8DE0]], - PerspectiveUpright = { - "Perspective Upright", - 820, - "lensCorrectionsPanel" - } --[[table: 000000001A2C9380]], - PerspectiveVertical = { - "Perspective Vertical", - 770, - "lensCorrectionsPanel" - } --[[table: 000000001A2C8FC0]], - PostCropVignetteAmount = { - "Post Crop Vignette Amount", - 840, - "effectsPanel" - } --[[table: 000000001A2C9D80]], - PostCropVignetteFeather = { - "Post Crop Vignette Feather", - 860, - "effectsPanel" - } --[[table: 000000001A2C9330]], - PostCropVignetteHighlightContrast = { - "Post Crop Vignette Highlight Contrast", - 890, - "effectsPanel" - } --[[table: 000000001A2C9560]], - PostCropVignetteMidpoint = { - "Post Crop Vignette Midpoint", - 850, - "effectsPanel" - } --[[table: 000000001A2C99C0]], - PostCropVignetteRoundness = { - "Post Crop Vignette Roundness", - 870, - "effectsPanel" - } --[[table: 000000001A2C9FB0]], - PostCropVignetteStyle = { - "Post Crop Vignette Style", - 880, - "effectsPanel" - } --[[table: 000000001A2CA0A0]], - ProcessVersion = { - "Process Version", - 1350, - "adjustPanel" - } --[[table: 000000001A2CA460]], - RedEyeInfo = { - "Red-Eye Information", - 1360, - "redeye" - } --[[table: 000000001A2CAD20]], - RedHue = { - "Red Hue Calibration", - 940, - "calibratePanel" - } --[[table: 000000001A2C8E30]], - RedSaturation = { - "Red Saturation Calibration", - 950, - "calibratePanel" - } --[[table: 000000001A2C9100]], - RetouchInfo = { - "Brush Adjustments", - 1370, - "localized" - } --[[table: 000000001A2CA690]], - Saturation = { - "Saturation", - 110, - "adjustPanel" - } --[[table: 000000001A2C6630]], - SaturationAdjustmentAqua = { - "Saturation Adjustment Aqua", - 230, - "mixerPanel" - } --[[table: 000000001A2C6C20]], - SaturationAdjustmentBlue = { - "Saturation Adjustment Blue", - 240, - "mixerPanel" - } --[[table: 000000001A2C6CC0]], - SaturationAdjustmentGreen = { - "Saturation Adjustment Green", - 220, - "mixerPanel" - } --[[table: 000000001A2C6D60]], - SaturationAdjustmentMagenta = { - "Saturation Adjustment Magenta", - 260, - "mixerPanel" - } --[[table: 000000001A2C6E00]], - SaturationAdjustmentOrange = { - "Saturation Adjustment Orange", - 200, - "mixerPanel" - } --[[table: 000000001A2C6900]], - SaturationAdjustmentPurple = { - "Saturation Adjustment Purple", - 250, - "mixerPanel" - } --[[table: 000000001A2C6D10]], - SaturationAdjustmentRed = { - "Saturation Adjustment Red", - 190, - "mixerPanel" - } --[[table: 000000001A2C6B30]], - SaturationAdjustmentYellow = { - "Saturation Adjustment Yellow", - 210, - "mixerPanel" - } --[[table: 000000001A2C6B80]], - ShadowTint = { - "Shadow Tint Calibration", - 930, - "calibratePanel" - } --[[table: 000000001A2C93D0]], - Shadows = { - "Shadows", - 50, - "adjustPanel" - } --[[table: 000000001A2C6950]], - SharpenDetail = { - "Sharpen Detail", - 580, - "detailPanel" - } --[[table: 000000001A2C89D0]], - SharpenEdgeMasking = { - "Sharpen Edge Masking", - 590, - "detailPanel" - } --[[table: 000000001A2C8A20]], - SharpenRadius = { - "Sharpen Radius", - 570, - "detailPanel" - } --[[table: 000000001A2C8C00]], - Sharpness = { - "Sharpness", - 560, - "detailPanel" - } --[[table: 000000001A2C82F0]], - SplitToningBalance = { - "Split Toning Balance", - 550, - "splitToningPanel" - } --[[table: 000000001A2C8930]], - SplitToningHighlightHue = { - "Split Toning Highlight Hue", - 530, - "splitToningPanel" - } --[[table: 000000001A2C8890]], - SplitToningHighlightSaturation = { - "Split Toning Highlight Saturation", - 540, - "splitToningPanel" - } --[[table: 000000001A2C82A0]], - SplitToningShadowHue = { - "Split Toning Shadow Hue", - 510, - "splitToningPanel" - } --[[table: 000000001A2C8200]], - SplitToningShadowSaturation = { - "Split Toning Shadow Saturation", - 520, - "splitToningPanel" - } --[[table: 000000001A2C8250]], - Temperature = { - "Temperature", - 10, - "adjustPanel" - } --[[table: 000000001A2C7030]], - Tint = { - "Tint", - 20, - "adjustPanel" - } --[[table: 000000001A2C6FE0]], - ToneCurve = { - "Tone Curve", - 1380, - "tonePanel" - } --[[table: 000000001A2CAAA0]], - ToneCurveName = { - "Tone Curve Name", - 1390, - "tonePanel" - } --[[table: 000000001A2CAC30]], - ToneCurvePV2012Blue = { - "Tone Curve PV 2012 Blue", - 1420, - "tonePanel" - } --[[table: 000000001A2CA960]], - ToneCurvePV2012Green = { - "Tone Curve PV 2012 Green", - 1430, - "tonePanel" - } --[[table: 000000001A2CA6E0]], - ToneCurvePV2012Red = { - "Tone Curve PV 2012 Red", - 1440, - "tonePanel" - } --[[table: 000000001A2CAD70]], - Vibrance = { - "Vibrance", - 100, - "adjustPanel" - } --[[table: 000000001A2C7710]], - VignetteAmount = { - "Vignette Amount", - 1220, - "lensCorrectionsPanel" - } --[[table: 000000001A2CA3C0]], - VignetteMidpoint = { - "Vignette Midpoint", - 1230, - "lensCorrectionsPanel" - } --[[table: 000000001A2CA8C0]], - WhiteBalance = { - "White Balance", - 1240, - "adjustPanel" - } --[[table: 000000001A2CACD0]], - Whites = { - "Whites", - 70, - "adjustPanel" - } --[[table: 000000001A2C67C0]], - orientation = { - "orientation", - 1340, - "" - } --[[table: 000000001A2CA410]] -} --[[table: 000000001A2C7170]] \ No newline at end of file From 896dc2158146302c9e7f03a58c760c070bd3320d Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 19 Jan 2016 07:19:55 -0800 Subject: [PATCH 10/87] move translation into async task Doesn't seem to be taking up any perceptible time to do translations, but this guarantees LR startup won't be slowed down. --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 201 ++++++++++-------- Source/LRPlugin/MIDI2LR.lrplugin/Info.lua | 2 +- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 82 ++++--- .../MIDI2LR.lrplugin/MenuListPreTrans.lua | 19 ++ 4 files changed, 181 insertions(+), 123 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 3d5b39ae5..4f77b4649 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -494,107 +494,126 @@ local function startServer(context) } end -do --save localized file for app - local LrFileUtils = import 'LrFileUtils' - local LrLocalization = import 'LrLocalization' - local LrPathUtils = import 'LrPathUtils' - local Info = require 'Info' - local versionmismatch = false - local datafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') - if ProgramPreferences.DataStructure == nil then - versionmismatch = true - else - for k,v in pairs(Info.VERSION) do - versionmismatch = versionmismatch or ProgramPreferences.DataStructure.version[k] ~= v - end - end - if versionmismatch or LrFileUtils.exists(datafile) ~= 'file' or - ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() - then - local serpent = require 'serpent' - local MenuListPreTrans = require 'MenuListPreTrans' - local file = io.open(datafile,'w') - file:write('local MenuList = ',serpent.block(MenuListPreTrans.MenuList, {comment = false}), [[ - - return { - MenuList = MenuList, -}]]) - file:close() - ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up - ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() - for k,v in pairs(Info.VERSION) do - ProgramPreferences.DataStructure.version[k] = v - end - end -end - -- Main task LrTasks.startAsyncTask( function() -- LrMobdebug.on() - LrFunctionContext.callWithContext( 'socket_remote', function( context ) - -- LrMobdebug.on() + do --save localized file for app + local LrFileUtils = import 'LrFileUtils' + local LrLocalization = import 'LrLocalization' + local LrPathUtils = import 'LrPathUtils' + local Info = require 'Info' + local versionmismatch = false + local datafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') + if ProgramPreferences.DataStructure == nil then + versionmismatch = true + else + for k,v in pairs(Info.VERSION) do + versionmismatch = versionmismatch or ProgramPreferences.DataStructure.version[k] ~= v + end + end + if versionmismatch or LrFileUtils.exists(datafile) ~= 'file' or + ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() + then + local serpent = require 'serpent' + local MenuListPreTrans = require 'MenuListPreTrans' + local file = io.open(datafile,'w') + file:write([=[ +--[[---------------------------------------------------------------------------- + This file was auto-generated by MIDI2LR and contains the translated menus used + by the app and the plugin. Edits to this file will be lost any time MIDI2LR + is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua + if you want to have persistent changes to the translations or menu structure. + +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - local client = LrSocket.bind { - functionContext = context, - plugin = _PLUGIN, - port = MIDI2LR.RECEIVE_PORT, - mode = 'receive', - onMessage = function(socket, message) - processMessage(message) - end, - onClosed = function( socket ) - -- MIDI2LR closed connection, allow for reconnection - socket:reconnect() +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. - -- calling SERVER:reconnect causes LR to hang for some reason... - MIDI2LR.SERVER:close() - startServer(context) - end, - onError = function(socket, err) - if err == 'timeout' then -- reconnect if timed out - socket:reconnect() - end - end - } +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. - startServer(context) - - math.randomseed(os.time()) - currentLoadVersion = math.random() --in case currentLoadVersion gets initialized to 0 each load - local loadVersion = currentLoadVersion - - -- add an observer for develop param changes--needs to occur in develop module - while (loadVersion == currentLoadVersion) and (LrApplicationView.getCurrentModuleName() ~= 'develop') do - LrTasks.sleep ( .29 ) - Profiles.checkProfile() - end --sleep away until ended or until develop module activated - LrDevelopController.revealAdjustedControls( true ) -- reveal affected parameter in panel track - LrDevelopController.addAdjustmentChangeObserver( - context, - MIDI2LR.PARAM_OBSERVER, - function ( observer ) - if LrApplicationView.getCurrentModuleName() ~= 'develop' then return end - for _,param in ipairs(Parameters.Order) do - local lrvalue = LrDevelopController.getValue(param) - if observer[param] ~= lrvalue and type(lrvalue) == 'number' then - MIDI2LR.SERVER:send(string.format('%s %g\n', param, develop_lerp_to_midi(param))) - observer[param] = lrvalue - MIDI2LR.LAST_PARAM = param - end - end - end - ) +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] +local MenuList = ]=],serpent.block(MenuListPreTrans.MenuList, {comment = false}), [[ + +return { + MenuList = MenuList, +}]]) + file:close() + ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up + ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() + for k,v in pairs(Info.VERSION) do + ProgramPreferences.DataStructure.version[k] = v + end + end + end --save localized file for app + + LrFunctionContext.callWithContext( 'socket_remote', function( context ) + -- LrMobdebug.on() + local client = LrSocket.bind { + functionContext = context, + plugin = _PLUGIN, + port = MIDI2LR.RECEIVE_PORT, + mode = 'receive', + onMessage = function(socket, message) + processMessage(message) + end, + onClosed = function( socket ) + -- MIDI2LR closed connection, allow for reconnection + socket:reconnect() - while (loadVersion == currentLoadVersion) do --detect halt or reload - LrTasks.sleep( .29 ) - Profiles.checkProfile() + -- calling SERVER:reconnect causes LR to hang for some reason... + MIDI2LR.SERVER:close() + startServer(context) + end, + onError = function(socket, err) + if err == 'timeout' then -- reconnect if timed out + socket:reconnect() + end end + } + + startServer(context) + + math.randomseed(os.time()) + currentLoadVersion = math.random() --in case currentLoadVersion gets initialized to 0 each load + local loadVersion = currentLoadVersion + + -- add an observer for develop param changes--needs to occur in develop module + while (loadVersion == currentLoadVersion) and (LrApplicationView.getCurrentModuleName() ~= 'develop') do + LrTasks.sleep ( .29 ) + Profiles.checkProfile() + end --sleep away until ended or until develop module activated + LrDevelopController.revealAdjustedControls( true ) -- reveal affected parameter in panel track + LrDevelopController.addAdjustmentChangeObserver( + context, + MIDI2LR.PARAM_OBSERVER, + function ( observer ) + if LrApplicationView.getCurrentModuleName() ~= 'develop' then return end + for _,param in ipairs(Parameters.Order) do + local lrvalue = LrDevelopController.getValue(param) + if observer[param] ~= lrvalue and type(lrvalue) == 'number' then + MIDI2LR.SERVER:send(string.format('%s %g\n', param, develop_lerp_to_midi(param))) + observer[param] = lrvalue + MIDI2LR.LAST_PARAM = param + end + end + end + ) - client:close() - MIDI2LR.SERVER:close() - end ) - end ) + while (loadVersion == currentLoadVersion) do --detect halt or reload + LrTasks.sleep( .29 ) + Profiles.checkProfile() + end + + client:close() + MIDI2LR.SERVER:close() + end ) +end ) LrTasks.startAsyncTask( function() if(WIN_ENV) then diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua index 57615aa40..ce4727645 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua @@ -40,5 +40,5 @@ return { file = "LaunchServer.lua" }, }, - VERSION = { major=0, minor=9, revision=3, build=5} + VERSION = { major=0, minor=9, revision=3, build=6} } diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index fb8cce8e1..f30137de0 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -1,3 +1,23 @@ +--[[---------------------------------------------------------------------------- + + This file was auto-generated by MIDI2LR and contains the translated menus used + by the app and the plugin. Edits to this file will be lost any time MIDI2LR + is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua + if you want to have persistent changes to the translations or menu structure. + +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. + +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] local MenuList = { { "WhiteBalanceAs_Shot", @@ -877,37 +897,37 @@ local MenuList = { }, { "UprightOff", - "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off", + "Perspective Correction Off", "Lens Corrections", true }, { "UprightAuto", - "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto", + "Perspective Correction Auto", "Lens Corrections", true }, { "UprightLevel", - "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level", + "Perspective Correction Level", "Lens Corrections", true }, { "UprightVertical", - "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical", + "Perspective Correction Vertical", "Lens Corrections", true }, { "UprightFull", - "Perspective Correction $$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full", + "Perspective Correction Full", "Lens Corrections", true }, { "ResetPerspectiveUpright", - "Reset Perspective Correction", + "Reset Upright Settings", "Lens Corrections", true }, @@ -1471,55 +1491,55 @@ local MenuList = { }, { "ToggleBlue", - "Toggle Blue Label", + "Label Blue Enable/Disable", "Photo Actions", true }, { "ToggleGreen", - "Toggle Green Label", + "Label Green Enable/Disable", "Photo Actions", true }, { "ToggleRed", - "Toggle Red Label", + "Label Red Enable/Disable", "Photo Actions", true }, { "TogglePurple", - "Toggle Purple Label", + "Label Purple Enable/Disable", "Photo Actions", true }, { "ToggleYellow", - "Toggle Yellow Label", + "Label Yellow Enable/Disable", "Photo Actions", true }, { "ResetAll", - "Reset ", + "Reset Settings", "Photo Actions", true }, { "ResetLast", - "Reset ", + "Reset Last Modified", "Photo Actions", true }, { "IncrementLastDevelopParameter", - "Increment Last Develop Parameter", + "Last Modified erhöhen ^2", "Photo Actions", true }, { "DecrementLastDevelopParameter", - "Decrement Last Develop Parameter", + "Last Modified decrease ^2", "Photo Actions", true }, @@ -1711,25 +1731,25 @@ local MenuList = { }, { "CropBottom", - "Crop Bottom", + "Crop - Bottom", "Miscellaneous", false }, { "CropLeft", - "Crop Left", + "Crop - Left", "Miscellaneous", false }, { "CropRight", - "Crop Right", + "Crop - Right", "Miscellaneous", false }, { "CropTop", - "Crop Top", + "Crop - Top", "Miscellaneous", false }, @@ -1933,55 +1953,55 @@ local MenuList = { }, { "ShoVwloupe", - "Loupe", + "Primary Display Loupe", "View Modes", true }, { "ShoVwgrid", - "Grid", + "Primary Display Grid", "View Modes", true }, { "ShoVwcompare", - "Compare", + "Primary Display Compare", "View Modes", true }, { "ShoVwsurvey", - "Survey", + "Primary Display Survey", "View Modes", true }, { "ShoVwpeople", - "People", + "Primary Display People", "View Modes", true }, { "ShoVwdevelop_loupe", - "Develop Loupe", + "Primary Display Loupe", "View Modes", true }, { "ShoVwdevelop_before_after_horiz", - "Develop Bef/Aft Horizontal", + "Primary Display Before/After Left/Right", "View Modes", true }, { "ShoVwdevelop_before_after_vert", - "Develop Bef/Aft Vertical", + "Primary Display Before/After Top/Bottom", "View Modes", true }, { "ShoVwdevelop_before", - "Develop Before", + "Primary Display Before", "View Modes", true }, @@ -2029,14 +2049,14 @@ local MenuList = { }, { "ToggleScreenTwo", - "Toggle on/off Second Screen", + "Secondary Display Show", "View Modes", true }, { "profile1", "Profile 1", - "View Modes", + "Profiles", true }, { @@ -2094,6 +2114,6 @@ local MenuList = { true } } - return { +return { MenuList = MenuList, } \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index a5ca1e7b7..d5dafbbe3 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -1,3 +1,22 @@ +--[[---------------------------------------------------------------------------- + +MenuListPreTrans.lua +Source of translations and menu for app and plugin + +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. + +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] + local MenuList = { {"WhiteBalanceAs_Shot", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), From d3808edda6786c6ecab91251c8a416e1fe4bdd93 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 19 Jan 2016 07:34:55 -0800 Subject: [PATCH 11/87] Clean up "last modified" translation whitespace --- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 4 ++-- Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index f30137de0..31a19e407 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -1533,13 +1533,13 @@ local MenuList = { }, { "IncrementLastDevelopParameter", - "Last Modified erhöhen ^2", + "Increase Last Modified", "Photo Actions", true }, { "DecrementLastDevelopParameter", - "Last Modified decrease ^2", + "Decrease Last Modified", "Photo Actions", true }, diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index d5dafbbe3..9908f642e 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -1027,11 +1027,11 @@ local MenuList = { "Photo Actions", true}, {"IncrementLastDevelopParameter", - LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 erhöhen: ^2",LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''), + LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 Increase: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), "Photo Actions", true}, {"DecrementLastDevelopParameter", - LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 decrease: ^2",LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''), + LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 Decrease: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), "Photo Actions", true}, {"Undo", From 532d84b7f9255e90c670328a11a44b1e4b938bd0 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 19 Jan 2016 08:07:53 -0800 Subject: [PATCH 12/87] assign random number to currentLoadVersion --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 3 ++- Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 4f77b4649..44991298c 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -41,7 +41,8 @@ local LrTasks = import 'LrTasks' local LrUndo = import 'LrUndo' local LrView = import 'LrView' -- signal for halt plugin if reloaded--LR doesn't kill main loop otherwise -currentLoadVersion = rawget (_G, 'currentLoadVersion') or 0 +math.randomseed(os.time()) +currentLoadVersion = rawget (_G, 'currentLoadVersion') or math.random() currentLoadVersion = currentLoadVersion + 1 MIDI2LR = {RECEIVE_PORT = 58763, SEND_PORT = 58764, PICKUP_THRESHOLD = 4, CONTROL_MAX = 127, BUTTON_ON = 127; --constants diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua index b0ad8bb0f..e9c19450c 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua @@ -27,7 +27,8 @@ return { progressFunction (i, LOC("$$$/AgPluginManager/Status/HttpServer/StopServer=Stopping Server")) if i == 0 then --main shut down steps -- signal main background loop - currentLoadVersion = rawget (_G, 'currentLoadVersion') or 0 + math.randomseed(os.time()) + currentLoadVersion = rawget (_G, 'currentLoadVersion') or math.random() currentLoadVersion = currentLoadVersion + 1 --signal halt to main background function --shut down app if(WIN_ENV) then From 60f6dee72a5630ab62cbd9383a706b1b4d31aeb6 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 19 Jan 2016 09:37:12 -0800 Subject: [PATCH 13/87] Added hash table for translations --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 10 ++++++++-- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 9 ++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 44991298c..c84e1c055 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -539,11 +539,17 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] -local MenuList = ]=],serpent.block(MenuListPreTrans.MenuList, {comment = false}), [[ +local MenuList = ]=],serpent.block(MenuListPreTrans.MenuList, {comment = false}), [==[ +local MenuListOrdered = {} +for i,v in ipairs(MenuList) do + MenuListOrdered[v[1]]={i*100,v[2],v[3],v[4]} +end + return { MenuList = MenuList, -}]]) + MenuListOrdered = MenuListOrdered, +}]==]) file:close() ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index 31a19e407..e6e561200 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -2113,7 +2113,14 @@ local MenuList = { "Profiles", true } -} +} + +local MenuListOrdered = {} +for i,v in ipairs(MenuList) do + MenuListOrdered[v[1]]={i*100,v[2],v[3],v[4]} +end + return { MenuList = MenuList, + MenuListOrdered = MenuListOrdered, } \ No newline at end of file From 070e3afceb32aaeac7327477fbe8a27c2752467d Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 19 Jan 2016 09:40:17 -0800 Subject: [PATCH 14/87] change identifier to properly show it is hashed not ordered --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 6 +++--- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index c84e1c055..c97224bd6 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -541,14 +541,14 @@ MIDI2LR. If not, see . ------------------------------------------------------------------------------]] local MenuList = ]=],serpent.block(MenuListPreTrans.MenuList, {comment = false}), [==[ -local MenuListOrdered = {} +local MenuListHashed = {} for i,v in ipairs(MenuList) do - MenuListOrdered[v[1]]={i*100,v[2],v[3],v[4]} + MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} end return { MenuList = MenuList, - MenuListOrdered = MenuListOrdered, + MenuListHashed = MenuListHashed, }]==]) file:close() ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index e6e561200..43ce85c0b 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -2115,12 +2115,12 @@ local MenuList = { } } -local MenuListOrdered = {} +local MenuListHashed = {} for i,v in ipairs(MenuList) do - MenuListOrdered[v[1]]={i*100,v[2],v[3],v[4]} + MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} end return { MenuList = MenuList, - MenuListOrdered = MenuListOrdered, + MenuListHashed = MenuListHashed, } \ No newline at end of file From f39f92d476795e2c2a327fff9b1d5907ff0cac98 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 19 Jan 2016 10:45:46 -0800 Subject: [PATCH 15/87] translation progress --- .../MIDI2LR.lrplugin/MenuListPreTrans.lua | 86 ++++++++++++------- 1 file changed, 53 insertions(+), 33 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index 9908f642e..4f60ccbca 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -1219,91 +1219,91 @@ local MenuList = { "Miscellaneous", true}, {"Loupe", - "Loupe Tool", - "Miscellaneous", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), + "Go to Tool, Module, or Panel", true}, {"CropOverlay", - LOC("$$$/AgDevelop/Menu/View/Crop=Crop"):gsub('&',''), + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop"), "Go to Tool, Module, or Panel", true}, {"SpotRemoval", - LOC("$$$/AgDevelop/Menu/View/SpotRemoval=Spot Removal"):gsub('&',''), + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), "Go to Tool, Module, or Panel", true}, {"RedEye", - "Red Eye Tool", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), "Go to Tool, Module, or Panel", true}, {"GraduatedFilter", - "Graduated Filter Tool", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), "Go to Tool, Module, or Panel", true}, {"RadialFilter", - "Radial Filter Tool", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), "Go to Tool, Module, or Panel", true}, {"AdjustmentBrush", - LOC("$$$/AgDevelop/Menu/View/AdjustmentBrush=Adjustment Brush"), + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), "Go to Tool, Module, or Panel", true}, {"SwToMlibrary", - "Library Module", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), "Go to Tool, Module, or Panel", true}, {"SwToMdevelop", - "Develop Module", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), "Go to Tool, Module, or Panel", true}, {"SwToMmap", - "Map Module", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), "Go to Tool, Module, or Panel", true}, {"SwToMbook", - "Book Module", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), "Go to Tool, Module, or Panel", true}, {"SwToMslideshow", - "Slideshow Module", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), "Go to Tool, Module, or Panel", true}, {"SwToMprint", - "Print Module", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), "Go to Tool, Module, or Panel", true}, {"SwToMweb", - "Web Module", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), "Go to Tool, Module, or Panel", true}, {"RevealPanelAdjust", - "Basic Adjustments Panel", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/BasicAdjustments=Basic Adjustments"), "Go to Tool, Module, or Panel", true}, {"RevealPanelTone", - "Tone Curve Panel", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/ToneCurve=Tone Curve"), "Go to Tool, Module, or Panel", true}, {"RevealPanelMixer", - "Mixer Panel", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), "Go to Tool, Module, or Panel", true}, {"RevealPanelSplit", - "Split Toning Panel", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/SplitToning=Split Toning"), "Go to Tool, Module, or Panel", true}, {"RevealPanelDetail", - "Detail Panel", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/Detail=Detail"), "Go to Tool, Module, or Panel", true}, {"RevealPanelLens", - "Lens Corrections Panel", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/LensCorrections=Lens Corrections"), "Go to Tool, Module, or Panel", true}, {"RevealPanelEffects", - "Effects Panel", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/Effects=Effects"), "Go to Tool, Module, or Panel", true}, {"RevealPanelCalibrate", - "Camera Calibration Panel", + LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/Calibration=Camera Calibration"), "Go to Tool, Module, or Panel", true}, {"ShoVwloupe", @@ -1374,25 +1374,45 @@ local MenuList = { LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), true}, - {"profile1", "Profile 1", "Profiles", + {"profile1", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 1", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, - {"profile2", "Profile 2", "Profiles", + {"profile2", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 2", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, - {"profile3", "Profile 3", "Profiles", + {"profile3", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 3", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, - {"profile4", "Profile 4", "Profiles", + {"profile4", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 4", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, - {"profile5", "Profile 5", "Profiles", + {"profile5", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 5", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, - {"profile6", "Profile 6", "Profiles", + {"profile6", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 6", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, - {"profile7", "Profile 7", "Profiles", + {"profile7", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 7", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, - {"profile8", "Profile 8", "Profiles", + {"profile8", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 8", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, - {"profile9", "Profile 9", "Profiles", + {"profile9", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 9", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, - {"profile10", "Profile 10", "Profiles", + {"profile10", + LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 10", + LOC("$$$/CRaw/Style/Profiles=Profiles"), true}, } From 5d184e51150ecbd9b26a9498cfa132a46f3400ea Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 19 Jan 2016 12:07:56 -0800 Subject: [PATCH 16/87] extend selection one photo added --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 2 ++ Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index c97224bd6..f0a58fb2c 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -269,6 +269,8 @@ local ACTIONS = { Ut.execFOM(LrDevelopController.revealPanel,'tonePanel') Profiles.changeProfile('tonePanel') end, + Select1Left = LrSelection.extendSelection('left',1), + Select1Right = LrSelection.extendSelection('right',1), SetRating0 = function() LrSelection.setRating(0) end, SetRating1 = function() LrSelection.setRating(1) end, SetRating2 = function() LrSelection.setRating(2) end, diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index 4f60ccbca..fa96ac783 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -958,6 +958,14 @@ local MenuList = { LOC("$$$/AgDevelopShortcuts/Previous_Photo=Previous Photo"), "Photo Actions", true}, + {"Select1Left", + LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), + 'Photo Actions', + true}, + {"Select1Right", + LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), + 'Photo Actions', + true}, {"VirtualCopy", LOC("$$$/AgLibrary/Bezel/CreateVirtualCopy=Create Virtual Copy"):gsub('&',''), "Photo Actions", From 566687db95541dc4ac3a7a6dda286e2a4b2a3116 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 19 Jan 2016 16:29:52 -0800 Subject: [PATCH 17/87] Wrap new actions in function --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index f0a58fb2c..a1347570d 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -269,8 +269,8 @@ local ACTIONS = { Ut.execFOM(LrDevelopController.revealPanel,'tonePanel') Profiles.changeProfile('tonePanel') end, - Select1Left = LrSelection.extendSelection('left',1), - Select1Right = LrSelection.extendSelection('right',1), + Select1Left = function() LrSelection.extendSelection('left',1) end, + Select1Right = function() LrSelection.extendSelection('right',1) end, SetRating0 = function() LrSelection.setRating(0) end, SetRating1 = function() LrSelection.setRating(1) end, SetRating2 = function() LrSelection.setRating(2) end, From 2b33ff479da86c57a8e2d3fc1e07cd6c8e484842 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 19 Jan 2016 13:21:20 -0800 Subject: [PATCH 18/87] formatting --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 6 +----- Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua | 2 -- Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua | 1 - Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua | 4 +--- Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua | 7 +------ Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua | 3 +-- 6 files changed, 4 insertions(+), 19 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index a1347570d..673ffd5e0 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -52,7 +52,6 @@ MIDI2LR = {RECEIVE_PORT = 58763, SEND_PORT = 58764, PICKUP_THRESHOLD = 4, CONTRO Preferences.Load() -------------end preferences section - local function PasteSelectedSettings () if MIDI2LR.Copied_Settings == nil or LrApplication.activeCatalog():getTargetPhoto() == nil then return end if ProgramPreferences.PastePopup then @@ -87,7 +86,6 @@ local function PasteSelectedSettings () end end - local function PasteSettings () if MIDI2LR.Copied_Settings == nil or LrApplication.activeCatalog():getTargetPhoto() == nil then return end LrTasks.startAsyncTask ( function () @@ -193,8 +191,7 @@ local function addToCollection() ) end end - -addToCollection = addToCollection() +addToCollection = addToCollection() --closure local ACTIONS = { CopySettings = CopySettings, @@ -380,7 +377,6 @@ local TOGGLE_PARAMETERS_01 = { --alternate on/off, but 0/1 rather than false/tru LensProfileEnable = true, } - local SETTINGS = { Pickup = function(enabled) MIDI2LR.PICKUP_ENABLED = (enabled == 1) end, } diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua index 58ae9bec7..aeb4b96d6 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua @@ -71,7 +71,6 @@ local function ClampValue(param) return nil end - -------------------------------------------------------------------------------- -- Provide rows of controls for dialog boxes. -- For the current photo type (HDR, raw, jpg, etc) will produce @@ -206,7 +205,6 @@ local function EndDialog(obstable, status) end end - --- @export return { --table of exports, setting table member name and module function it points to ClampValue = ClampValue, diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua index 568e46b28..ae4c20c64 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua @@ -190,7 +190,6 @@ local Names = { ToneCurvePV2012Red = {LOC("$$$/MIDI2LR/Parameters/ToneCurvePV2012Red=Tone Curve PV 2012 Red"), 1440, 'tonePanel'}, -- {0,0,255,255} } - local Order = {} for k,_ in pairs(Names) do table.insert(Order,k) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua index 9f77808e8..4613d6cc1 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua @@ -18,9 +18,7 @@ You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] local Parameters = require 'Parameters' -local LrView = import 'LrView' - - +local LrView = import 'LrView' local Duplicates = { -- will set each to its duplicate in EndDialog Exposure2012 = 'Exposure', diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua index 636f604ae..e05a6df50 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua @@ -38,11 +38,9 @@ local prefs = import 'LrPrefs'.prefsForPlugin() local Profiles = require 'Profiles' local serpent = require 'serpent' -- hidden - local changed = false local version = 1 - --------------note: test if can use t in place of t.param in metalimit2 local metalimit2 = { --assumes only new table members for each parameter are numeric, representing ranges __index = function(t,k) -- key is high value for the range -- always return t[k]! @@ -81,7 +79,6 @@ local function useDefaults() changed = true end - local function Save(ClearOld) --clear old optional parameter -- Limits.DiscardExcess() -- call for each 'class' currently only Limits if ClearOld then @@ -190,6 +187,4 @@ return { --commented out unused exports Load = Load, -- Reset = useDefaults, Save = Save, -} - - +} \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua index e9c19450c..5e041ad14 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua @@ -17,7 +17,6 @@ You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] - return { LrShutdownFunction = function(doneFunction, progressFunction) local LrShell = import 'LrShell' @@ -42,4 +41,4 @@ return { --tasks completed doneFunction() end -} +} \ No newline at end of file From 7801f157454d423c69c3ab3cef3d8c0c8c8a2d45 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Thu, 21 Jan 2016 23:12:12 -0800 Subject: [PATCH 19/87] move app start into startup sequence, use LR path utilities --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 673ffd5e0..b587ef85c 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -556,7 +556,7 @@ return { end end end --save localized file for app - + LrFunctionContext.callWithContext( 'socket_remote', function( context ) -- LrMobdebug.on() local client = LrSocket.bind { @@ -584,6 +584,12 @@ return { startServer(context) + if(WIN_ENV) then + LrShell.openFilesInApp({LrPathUtils.child(_PLUGIN.path, 'Info.lua')}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.exe')) + else + LrShell.openFilesInApp({LrPathUtils.child(_PLUGIN.path, 'Info.lua')}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.app')) + end + math.randomseed(os.time()) currentLoadVersion = math.random() --in case currentLoadVersion gets initialized to 0 each load local loadVersion = currentLoadVersion @@ -620,11 +626,3 @@ return { end ) end ) -LrTasks.startAsyncTask( function() - if(WIN_ENV) then - LrShell.openFilesInApp({_PLUGIN.path..'/Info.lua'}, _PLUGIN.path..'/MIDI2LR.exe') - else - LrShell.openFilesInApp({_PLUGIN.path..'/Info.lua'}, _PLUGIN.path..'/MIDI2LR.app') - end - end -) From 109c6f52341b7a21487298248235f289f9eb3a6b Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Thu, 21 Jan 2016 23:41:21 -0800 Subject: [PATCH 20/87] use lrstringutils --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 83 ++++++++++++------- Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua | 3 +- 2 files changed, 53 insertions(+), 33 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index b587ef85c..c93e05f5a 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -37,6 +37,7 @@ local LrFunctionContext = import 'LrFunctionContext' local LrSelection = import 'LrSelection' local LrShell = import 'LrShell' local LrSocket = import 'LrSocket' +local LrStringUtils = import 'LrStringUtils' local LrTasks = import 'LrTasks' local LrUndo = import 'LrUndo' local LrView = import 'LrView' @@ -395,6 +396,7 @@ end local function updateParam() --closure local lastclock, lastparam --tracking for pickup when scrubbing control rapidly + local value return function(param, midi_value) -- this function does a 'pickup' type of check -- that is, it will ensure the develop parameter is close @@ -418,11 +420,32 @@ local function updateParam() --closure lastclock = os.clock() lastparam = param end - local value = midi_lerp_to_develop(param, midi_value) + value = midi_lerp_to_develop(param, midi_value) MIDI2LR.PARAM_OBSERVER[param] = value LrDevelopController.setValue(param, value) MIDI2LR.LAST_PARAM = param end + if ProgramPreferences.ClientShowBezelOnChange then + if value == nil then -- didn't do an update--pickup failed, so show target value as well + value = midi_lerp_to_develop(param, midi_value) + local actualvalue = LrDevelopController.getValue(param) + local precision + if value = 0 then + precision = 0 + else + precision = math.max(0,3-math.floor(math.log10(math.abs(value)))) + end + LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToString(value,precision)..' '..LrStringUtils.numberToString(actualvalue,precision)) + else + if value = 0 then + precision = 0 + else + precision = math.max(0,3-math.floor(math.log10(math.abs(value)))) + end + LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToString(value,precision)) + end + end + Profiles.changeProfile(Parameters.Names[param][3]) end end updateParam = updateParam() --complete closure @@ -469,10 +492,6 @@ local function processMessage(message) Profiles.setFullPath(message:sub(message:find(' ',1,true)+1)) --value stops at first space else -- otherwise update a develop parameter updateParam(param, tonumber(value)) - if ProgramPreferences.ClientShowBezelOnChange then - LrDialogs.showBezel(Parameters.Names[param][1]..' '..midi_lerp_to_develop(param, tonumber(value))) - end - Profiles.changeProfile(Parameters.Names[param][3]) end end end @@ -496,10 +515,10 @@ end -- Main task LrTasks.startAsyncTask( function() -- LrMobdebug.on() + local LrPathUtils = import 'LrPathUtils' do --save localized file for app local LrFileUtils = import 'LrFileUtils' local LrLocalization = import 'LrLocalization' - local LrPathUtils = import 'LrPathUtils' local Info = require 'Info' local versionmismatch = false local datafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') @@ -517,37 +536,37 @@ LrTasks.startAsyncTask( function() local MenuListPreTrans = require 'MenuListPreTrans' local file = io.open(datafile,'w') file:write([=[ ---[[---------------------------------------------------------------------------- + --[[---------------------------------------------------------------------------- - This file was auto-generated by MIDI2LR and contains the translated menus used - by the app and the plugin. Edits to this file will be lost any time MIDI2LR - is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua - if you want to have persistent changes to the translations or menu structure. - -This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + This file was auto-generated by MIDI2LR and contains the translated menus used + by the app and the plugin. Edits to this file will be lost any time MIDI2LR + is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua + if you want to have persistent changes to the translations or menu structure. -MIDI2LR is free software: you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later version. + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. -MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. -You should have received a copy of the GNU General Public License along with -MIDI2LR. If not, see . -------------------------------------------------------------------------------]] -local MenuList = ]=],serpent.block(MenuListPreTrans.MenuList, {comment = false}), [==[ - -local MenuListHashed = {} -for i,v in ipairs(MenuList) do - MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} -end + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . + ------------------------------------------------------------------------------]] + local MenuList = ]=],serpent.block(MenuListPreTrans.MenuList, {comment = false}), [==[ + + local MenuListHashed = {} + for i,v in ipairs(MenuList) do + MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} + end -return { - MenuList = MenuList, - MenuListHashed = MenuListHashed, -}]==]) + return { + MenuList = MenuList, + MenuListHashed = MenuListHashed, + }]==]) file:close() ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua index 9dfb0656b..be4cd8b2b 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua @@ -24,6 +24,7 @@ local LrApplicationView = import 'LrApplicationView' local LrDevelopController = import 'LrDevelopController' local LrDialogs = import 'LrDialogs' local LrFileUtils = import 'LrFileUtils' +local LrStringUtils = import 'LrStringUtils' local LrView = import 'LrView' local ProfileTypes = { @@ -367,7 +368,7 @@ local function EndDialog(obstable, status) useDefaults() -- empty out prior settings for k in pairs(ProfileTypes) do if type(obstable['Profile'..k])=='string' then - ProgramPreferences.Profiles[k] = obstable['Profile'..k]:gsub("^%s*(.-)%s*$", "%1") + ProgramPreferences.Profiles[k] = LrStringUtils.trimWhitespace(obstable['Profile'..k]) end end ProgramPreferences.ProfilesShowBezelOnChange = obstable.ProfilesShowBezelOnChange From 672237fa38819710c4d64ebb76d87de74bf1368f Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 22 Jan 2016 13:12:53 -0800 Subject: [PATCH 21/87] use lrpathutils in shutdown.lua --- Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua index 5e041ad14..f32e290c9 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ShutDown.lua @@ -18,7 +18,8 @@ MIDI2LR. If not, see . ------------------------------------------------------------------------------]] return { - LrShutdownFunction = function(doneFunction, progressFunction) + LrShutdownFunction = function(doneFunction, progressFunction) + local LrPathUtils = import 'LrPathUtils' local LrShell = import 'LrShell' local LrTasks = import 'LrTasks' -- Report shutdown @@ -31,9 +32,9 @@ return { currentLoadVersion = currentLoadVersion + 1 --signal halt to main background function --shut down app if(WIN_ENV) then - LrShell.openFilesInApp({'--LRSHUTDOWN'}, _PLUGIN.path..'/MIDI2LR.exe') + LrShell.openFilesInApp({'--LRSHUTDOWN'}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.exe')) else - LrShell.openFilesInApp({'--LRSHUTDOWN'}, _PLUGIN.path..'/MIDI2LR.app') + LrShell.openFilesInApp({'--LRSHUTDOWN'}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.app')) end end LrTasks.sleep(1) From 3e78eb5e89d29a7d8387ffb5e4000ac85aa5e957 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 22 Jan 2016 13:29:05 -0800 Subject: [PATCH 22/87] change paste selective to use applydevelopsettings, move precision calculations to utilities change in paste selected is to ensure that complex settings (e.g., gradients) can be pasted. --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 49 ++++++++++--------- .../LRPlugin/MIDI2LR.lrplugin/Utilities.lua | 15 ++++++ 2 files changed, 41 insertions(+), 23 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index c93e05f5a..f9a54847e 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -73,18 +73,31 @@ local function PasteSelectedSettings () if LrApplicationView.getCurrentModuleName() ~= 'develop' then LrApplicationView.switchToModule('develop') end - for _,param in ipairs(Parameters.Order) do - if (ProgramPreferences.PasteList[param] and MIDI2LR.Copied_Settings[param]~=nil) then - MIDI2LR.PARAM_OBSERVER[param] = MIDI2LR.Copied_Settings[param] - LrDevelopController.setValue(param,MIDI2LR.Copied_Settings[param]) - end - end - for param in pairs(Paste.Duplicates) do - if (ProgramPreferences.PasteList[param] and MIDI2LR.Copied_Settings[param]~=nil) then - MIDI2LR.PARAM_OBSERVER[param] = MIDI2LR.Copied_Settings[param] - LrDevelopController.setValue(param,MIDI2LR.Copied_Settings[param]) + LrTasks.startAsyncTask ( + function () + local TargetSettings = LrApplication.activeCatalog():getTargetPhoto():getDevelopSettings() + for _,param in ipairs(Parameters.Order) do + if (ProgramPreferences.PasteList[param] and MIDI2LR.Copied_Settings[param]~=nil) then + TargetSettings[param] = MIDI2LR.Copied_Settings[param] + end + end + for param in pairs(Paste.Duplicates) do + if (ProgramPreferences.PasteList[param] and MIDI2LR.Copied_Settings[param]~=nil) then + TargetSettings[param] = MIDI2LR.Copied_Settings[param] + end + end + LrApplication.activeCatalog():withWriteAccessDo( + 'MIDI2LR: Paste selected settings', + function() LrApplication.activeCatalog():getTargetPhoto():applyDevelopSettings(TargetSettings) end, + { timeout = 4, + callback = function() + LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.")..' PasteSelectedSettings') + end, + asynchronous = true + } + ) end - end + ) end local function PasteSettings () @@ -429,20 +442,10 @@ local function updateParam() --closure if value == nil then -- didn't do an update--pickup failed, so show target value as well value = midi_lerp_to_develop(param, midi_value) local actualvalue = LrDevelopController.getValue(param) - local precision - if value = 0 then - precision = 0 - else - precision = math.max(0,3-math.floor(math.log10(math.abs(value)))) - end + local precision = Ut.precision(value) LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToString(value,precision)..' '..LrStringUtils.numberToString(actualvalue,precision)) else - if value = 0 then - precision = 0 - else - precision = math.max(0,3-math.floor(math.log10(math.abs(value)))) - end - LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToString(value,precision)) + LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToString(value,Ut.precision(value))) end end Profiles.changeProfile(Parameters.Names[param][3]) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Utilities.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Utilities.lua index 7c3f4d7c7..6176d2bb9 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Utilities.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Utilities.lua @@ -213,6 +213,20 @@ local function execFIM(F,Rnil,...) return Rnil end +-------------------------------------------------------------------------------- +-- Calculates number of digits to display to right of decimal point. +-- Tries to maintain 4 digits of precision +-- @tparam number value The value that will be displayed +-- @treturn number Number of digits to display to right of decimal point +-------------------------------------------------------------------------------- +local function precision(value) + if value == 0 then + return 0 + else + return math.max(0,3-math.floor(math.log10(math.abs(value)))) + end +end + --- @export return { --table of exports, setting table member name and module function it points to wrapFOM = wrapFOM, @@ -221,4 +235,5 @@ return { --table of exports, setting table member name and module function it po execFOM = execFOM, execFCM = execFCM, execFIM = execFIM, + precision = precision, } From e2f19ed4d7233eda847bb6172684309a7cef218d Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 22 Jan 2016 14:35:38 -0800 Subject: [PATCH 23/87] move more parameters into hash table, start dedicated utilities file for readability --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 214 ++++++------------ .../MIDI2LR.lrplugin/ClientUtilities.lua | 100 ++++++++ 2 files changed, 172 insertions(+), 142 deletions(-) create mode 100644 Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index f9a54847e..bd0f13c28 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -22,12 +22,13 @@ MIDI2LR. If not, see . local LrMobdebug = import 'LrMobdebug' LrMobdebug.start() --]]-----------end debug section -local Limits = require 'Limits' -local Parameters = require 'Parameters' -local Paste = require 'Paste' -local Preferences = require 'Preferences' -local Profiles = require 'Profiles' -local Ut = require 'Utilities' +local ClientUtilities = require 'ClientUtilities' +local Limits = require 'Limits' +local Parameters = require 'Parameters' +local Paste = require 'Paste' +local Preferences = require 'Preferences' +local Profiles = require 'Profiles' +local Ut = require 'Utilities' local LrApplication = import 'LrApplication' local LrApplicationView = import 'LrApplicationView' local LrBinding = import 'LrBinding' @@ -126,20 +127,6 @@ local function CopySettings () ) end -local function ApplyPreset(presetUuid) - if presetUuid == nil or LrApplication.activeCatalog():getTargetPhoto() == nil then return end - local preset = LrApplication.developPresetByUuid(presetUuid) - LrTasks.startAsyncTask ( function () - LrApplication.activeCatalog():withWriteAccessDo( - 'Apply preset '..preset:getName(), - function() LrApplication.activeCatalog():getTargetPhoto():applyDevelopPreset(preset) end, - { timeout = 4, - callback = function() LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.").. 'PastePreset.') end, - asynchronous = true } - ) - end ) -end - local function addToCollection() local catalog = LrApplication.activeCatalog() local quickname = catalog.kQuickCollectionIdentifier @@ -208,16 +195,55 @@ end addToCollection = addToCollection() --closure local ACTIONS = { + AdjustmentBrush = ClientUtilities.ToggleTool('localized'), + AutoLateralCA = ClientUtilities.Toggle01('AutoLateralCA'), + ConvertToGrayscale = ClientUtilities.ToggleTF('ConvertToGrayscale'), CopySettings = CopySettings, + CropOverlay = ClientUtilities.ToggleTool('crop'), DecreaseRating = LrSelection.decreaseRating, DecrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.decrement,MIDI2LR.LAST_PARAM) end, + EnableCalibration = ClientUtilities.ToggleTF('EnableCalibration'), + EnableCircularGradientBasedCorrections = ClientUtilities.ToggleTF('EnableCircularGradientBasedCorrections'), + EnableColorAdjustments = ClientUtilities.ToggleTF('EnableColorAdjustments'), + EnableDetail = ClientUtilities.ToggleTF('EnableDetail'), + EnableEffects = ClientUtilities.ToggleTF('EnableEffects'), + EnableGradientBasedCorrections = ClientUtilities.ToggleTF('EnableGradientBasedCorrections'), + EnableGrayscaleMix = ClientUtilities.ToggleTF('EnableGrayscaleMix'), + EnableLensCorrections = ClientUtilities.ToggleTF('EnableLensCorrections'), + EnablePaintBasedCorrections = ClientUtilities.ToggleTF('EnablePaintBasedCorrections'), + EnableRedEye = ClientUtilities.ToggleTF('EnableRedEye'), + EnableRetouch = ClientUtilities.ToggleTF('EnableRetouch'), + EnableSplitToning = ClientUtilities.ToggleTF('EnableSplitToning'), + GraduatedFilter = ClientUtilities.ToggleTool('gradient'), IncreaseRating = LrSelection.increaseRating, IncrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.increment,MIDI2LR.LAST_PARAM) end, + LensProfileEnable = ClientUtilities.Toggle01('LensProfileEnable'), + Loupe = ClientUtilities.ToggleTool('loupe'), Next = LrSelection.nextPhoto, PasteSelectedSettings = PasteSelectedSettings, PasteSettings = PasteSettings, Pick = LrSelection.flagAsPick, - Prev = LrSelection.previousPhoto, + Preset_1 = ClientUtilities.ApplyPreset(1), + Preset_2 = ClientUtilities.ApplyPreset(2), + Preset_3 = ClientUtilities.ApplyPreset(3), + Preset_4 = ClientUtilities.ApplyPreset(4), + Preset_5 = ClientUtilities.ApplyPreset(5), + Preset_6 = ClientUtilities.ApplyPreset(6), + Preset_7 = ClientUtilities.ApplyPreset(7), + Preset_8 = ClientUtilities.ApplyPreset(8), + Preset_9 = ClientUtilities.ApplyPreset(9), + Preset_10 = ClientUtilities.ApplyPreset(10), + Preset_11 = ClientUtilities.ApplyPreset(11), + Preset_12 = ClientUtilities.ApplyPreset(12), + Preset_13 = ClientUtilities.ApplyPreset(13), + Preset_14 = ClientUtilities.ApplyPreset(14), + Preset_15 = ClientUtilities.ApplyPreset(15), + Preset_16 = ClientUtilities.ApplyPreset(16), + Preset_17 = ClientUtilities.ApplyPreset(17), + Preset_18 = ClientUtilities.ApplyPreset(18), + Preset_19 = ClientUtilities.ApplyPreset(19), + Preset_20 = ClientUtilities.ApplyPreset(20), + Prev = LrSelection.previousPhoto, Profile_Adobe_Standard = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Adobe Standard'), Profile_Camera_Clear = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Clear'), Profile_Camera_Deep = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Deep'), @@ -237,6 +263,8 @@ local ACTIONS = { profile8 = function() Profiles.changeProfile('profile8', true) end, profile9 = function() Profiles.changeProfile('profile9', true) end, profile10 = function() Profiles.changeProfile('profile10', true) end, + RadialFilter = ClientUtilities.ToggleTool('circularGradient'), + RedEye = ClientUtilities.ToggleTool('redeye'), Redo = LrUndo.redo, Reject = LrSelection.flagAsReject, RemoveFlag = LrSelection.removeFlag, @@ -248,46 +276,22 @@ local ACTIONS = { ResetLast = function() Ut.execFOM(LrDevelopController.resetToDefault,MIDI2LR.LAST_PARAM) end, ResetRedeye = Ut.wrapFOM(LrDevelopController.resetRedeye), ResetSpotRem = Ut.wrapFOM(LrDevelopController.resetSpotRemoval), - RevealPanelAdjust = function() - Ut.execFOM(LrDevelopController.revealPanel,'adjustPanel') - Profiles.changeProfile('adjustPanel') - end, - RevealPanelCalibrate = function() - Ut.execFOM(LrDevelopController.revealPanel,'calibratePanel') - Profiles.changeProfile('calibratePanel') - end, - RevealPanelDetail = function() - Ut.execFOM(LrDevelopController.revealPanel,'detailPanel') - Profiles.changeProfile('detailPanel') - end, - RevealPanelEffects = function() - Ut.execFOM(LrDevelopController.revealPanel,'effectsPanel') - Profiles.changeProfile('effectsPanel') - end, - RevealPanelLens = function() - Ut.execFOM(LrDevelopController.revealPanel,'lensCorrectionsPanel') - Profiles.changeProfile('lensCorrectionsPanel') - end, - RevealPanelMixer = function() - Ut.execFOM(LrDevelopController.revealPanel,'mixerPanel') - Profiles.changeProfile('mixerPanel') - end, - RevealPanelSplit = function() - Ut.execFOM(LrDevelopController.revealPanel,'splitToningPanel') - Profiles.changeProfile('splitToningPanel') - end, - RevealPanelTone = function() - Ut.execFOM(LrDevelopController.revealPanel,'tonePanel') - Profiles.changeProfile('tonePanel') - end, - Select1Left = function() LrSelection.extendSelection('left',1) end, + RevealPanelAdjust = ClientUtilities.ChangePanel('adjustPanel'), + RevealPanelCalibrate = ClientUtilities.ChangePanel('calibratePanel'), + RevealPanelDetail = ClientUtilities.ChangePanel('detailPanel'), + RevealPanelEffects = ClientUtilities.ChangePanel('effectsPanel'), + RevealPanelLens = ClientUtilities.ChangePanel('lensCorrectionsPanel'), + RevealPanelMixer = ClientUtilities.ChangePanel('mixerPanel'), + RevealPanelSplit = ClientUtilities.ChangePanel('splitToningPanel'), + RevealPanelTone = ClientUtilities.ChangePanel('tonePanel'), + Select1Left = function() LrSelection.extendSelection('left',1) end, Select1Right = function() LrSelection.extendSelection('right',1) end, - SetRating0 = function() LrSelection.setRating(0) end, - SetRating1 = function() LrSelection.setRating(1) end, - SetRating2 = function() LrSelection.setRating(2) end, - SetRating3 = function() LrSelection.setRating(3) end, - SetRating4 = function() LrSelection.setRating(4) end, - SetRating5 = function() LrSelection.setRating(5) end, + SetRating0 = function() LrSelection.setRating(0) end, + SetRating1 = function() LrSelection.setRating(1) end, + SetRating2 = function() LrSelection.setRating(2) end, + SetRating3 = function() LrSelection.setRating(3) end, + SetRating4 = function() LrSelection.setRating(4) end, + SetRating5 = function() LrSelection.setRating(5) end, ShoScndVwloupe = function() LrApplicationView.showSecondaryView('loupe') end, ShoScndVwlive_loupe = function() LrApplicationView.showSecondaryView('live_loupe') end, ShoScndVwlocked_loupe = function() LrApplicationView.showSecondaryView('locked_loupe') end, @@ -304,34 +308,14 @@ local ACTIONS = { ShoVwdevelop_before_after_horiz = function() LrApplicationView.showView('develop_before_after_horiz') end, ShoVwdevelop_before_after_vert = function() LrApplicationView.showView('develop_before_after_vert') end, ShoVwdevelop_before = function() LrApplicationView.showView('develop_before') end, - SwToMlibrary = function() - LrApplicationView.switchToModule('library') - Profiles.changeProfile('library') - end, - SwToMdevelop = function() - LrApplicationView.switchToModule('develop') - Profiles.changeProfile('develop') - end, - SwToMmap = function() - LrApplicationView.switchToModule('map') - Profiles.changeProfile('map') - end, - SwToMbook = function() - LrApplicationView.switchToModule('book') - Profiles.changeProfile('book') - end, - SwToMslideshow = function() - LrApplicationView.switchToModule('slideshow') - Profiles.changeProfile('slideshow') - end, - SwToMprint = function() - LrApplicationView.switchToModule('print') - Profiles.changeProfile('print') - end, - SwToMweb = function() - LrApplicationView.switchToModule('web') - Profiles.changeProfile('web') - end, + SpotRemoval = ClientUtilities.ToggleTool('dust'), + SwToMlibrary = ClientUtilities.ChangeModule('library'), + SwToMdevelop = ClientUtilities.ChangeModule('develop'), + SwToMmap = ClientUtilities.ChangeModule('map'), + SwToMbook = ClientUtilities.ChangeModule('book'), + SwToMslideshow = ClientUtilities.ChangeModule('slideshow'), + SwToMprint = ClientUtilities.ChangeModule('print'), + SwToMweb = ClientUtilities.ChangeModule('web'), ToggleBlue = LrSelection.toggleBlueLabel, ToggleGreen = LrSelection.toggleGreenLabel, TogglePurple = LrSelection.togglePurpleLabel, @@ -360,37 +344,6 @@ local ACTIONS = { ZoomOutSmallStep = LrApplicationView.zoomOutSome, } -local TOOL_ALIASES = { - AdjustmentBrush = 'localized', - CropOverlay = 'crop', - GraduatedFilter = 'gradient', - Loupe = 'loupe', - RadialFilter = 'circularGradient', - RedEye = 'redeye', - SpotRemoval = 'dust', -} - -local TOGGLE_PARAMETERS = { --alternate on/off by button presses - ConvertToGrayscale = true, - EnableCalibration = true, - EnableCircularGradientBasedCorrections = true, - EnableColorAdjustments = true, - EnableDetail = true, - EnableEffects = true, - EnableGradientBasedCorrections = true, - EnableGrayscaleMix = true, - EnableLensCorrections = true, - EnablePaintBasedCorrections = true, - EnableRedEye = true, - EnableRetouch = true, - EnableSplitToning = true, -} - -local TOGGLE_PARAMETERS_01 = { --alternate on/off, but 0/1 rather than false/true - AutoLateralCA = true, - LensProfileEnable = true, -} - local SETTINGS = { Pickup = function(enabled) MIDI2LR.PICKUP_ENABLED = (enabled == 1) end, } @@ -458,33 +411,10 @@ local function processMessage(message) if type(message) == 'string' then -- messages are in the format 'param value' local _, _, param, value = message:find( '(%S+)%s(%S+)' ) - if(ACTIONS[param]) then -- perform a one time action if(tonumber(value) == MIDI2LR.BUTTON_ON) then ACTIONS[param]() end elseif(param:find('Reset') == 1) then -- perform a reset other than those explicitly coded in ACTIONS array if(tonumber(value) == MIDI2LR.BUTTON_ON) then Ut.execFOM(LrDevelopController.resetToDefault,param:sub(6)) end - elseif(param:find('Preset_') == 1) then --apply preset by # - if(tonumber(value) == MIDI2LR.BUTTON_ON) then ApplyPreset(ProgramPreferences.Presets[tonumber(param:sub(8))]) end - elseif(TOGGLE_PARAMETERS[param]) then --enable/disable - if(tonumber(value) == MIDI2LR.BUTTON_ON) then LrDevelopController.setValue(param,not Ut.execFOM(LrDevelopController.getValue,param)) end -- toggle parameters if button on - elseif(TOGGLE_PARAMETERS_01[param]) then --enable/disable - if(tonumber(value) == MIDI2LR.BUTTON_ON) then - if Ut.execFOM(LrDevelopController.getValue(param)) == 0 then - LrDevelopController.setValue(param,1) - else - LrDevelopController.setValue(param,0) - end - end - elseif(TOOL_ALIASES[param]) then -- switch to desired tool - if(tonumber(value) == MIDI2LR.BUTTON_ON) then - if(LrDevelopController.getSelectedTool() == TOOL_ALIASES[param]) then -- toggle between the tool/loupe - Ut.execFOM(LrDevelopController.selectTool,'loupe') - Profiles.changeProfile('loupe', true) - else - Ut.execFOM(LrDevelopController.selectTool,TOOL_ALIASES[param]) - Profiles.changeProfile(param, true) - end - end elseif(SETTINGS[param]) then SETTINGS[param](tonumber(value)) elseif (param == 'ChangedToDirectory') then diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua new file mode 100644 index 000000000..f2567738b --- /dev/null +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua @@ -0,0 +1,100 @@ +--[[---------------------------------------------------------------------------- + +ClientUtilities.lua + +Procedures used by Client.lua. Moved to separate file as size of Client.lua +became unwieldy. + +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. + +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] +local Profiles = require 'Profiles' +local Ut = require 'Utilities' +local LrApplication = import 'LrApplication' +local LrApplicationView = import 'LrApplicationView' +local LrDevelopController = import 'LrDevelopController' +local LrDialogs = import 'LrDialogs' +local LrTasks = import 'LrTasks' + +local function ApplyPreset(presetnumber) + return function() + local presetUuid = ProgramPreferences.Presets[presetnumber] + if presetUuid == nil or LrApplication.activeCatalog():getTargetPhoto() == nil then return end + local preset = LrApplication.developPresetByUuid(presetUuid) + LrTasks.startAsyncTask ( function () + LrApplication.activeCatalog():withWriteAccessDo( + 'Apply preset '..preset:getName(), + function() LrApplication.activeCatalog():getTargetPhoto():applyDevelopPreset(preset) end, + { timeout = 4, + callback = function() LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.").. 'PastePreset.') end, + asynchronous = true } + ) + end ) + end +end + +local function ChangePanel(panelname) + return function() + Ut.execFOM(LrDevelopController.revealPanel,panelname) + Profiles.changeProfile(panelname) + end +end + +local function ChangeModule(modulename) + return function() + LrApplicationView.switchToModule(modulename) + Profiles.changeProfile(modulename) + end +end + +local function Toggle01(param) + return function() + if Ut.execFOM(LrDevelopController.getValue(param)) == 0 then + LrDevelopController.setValue(param,1) + else + LrDevelopController.setValue(param,0) + end + end +end + +local function ToggleTF(param) + return function() + LrDevelopController.setValue(param,not Ut.execFOM(LrDevelopController.getValue,param)) + end +end + +local function ToggleTool(param) + return function() + if LrApplicationView.getCurrentModuleName() ~= 'develop' then + LrApplicationView.switchToModule('develop') + end + if(LrDevelopController.getSelectedTool() == param) then -- toggle between the tool/loupe + LrDevelopController.selectTool('loupe') + Profiles.changeProfile('loupe', true) + else + LrDevelopController.selectTool(param) + Profiles.changeProfile(param, true) + end + end +end + + +return { + ApplyPreset = ApplyPreset, + ChangeModule = ChangeModule, + ChangePanel = ChangePanel, + Toggle01 = Toggle01, + ToggleTF = ToggleTF, + ToggleTool = ToggleTool, + +} From a8b4755b4180208ea2c23a082e1d778780da7cfb Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 22 Jan 2016 16:04:25 -0800 Subject: [PATCH 24/87] change parameter parsing, move more out of processMessage loop --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 136 +++++++++--------- .../MIDI2LR.lrplugin/ClientUtilities.lua | 24 ++-- 2 files changed, 79 insertions(+), 81 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index bd0f13c28..310c16586 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -22,7 +22,7 @@ MIDI2LR. If not, see . local LrMobdebug = import 'LrMobdebug' LrMobdebug.start() --]]-----------end debug section -local ClientUtilities = require 'ClientUtilities' +local CU = require 'ClientUtilities' local Limits = require 'Limits' local Parameters = require 'Parameters' local Paste = require 'Paste' @@ -195,54 +195,54 @@ end addToCollection = addToCollection() --closure local ACTIONS = { - AdjustmentBrush = ClientUtilities.ToggleTool('localized'), - AutoLateralCA = ClientUtilities.Toggle01('AutoLateralCA'), - ConvertToGrayscale = ClientUtilities.ToggleTF('ConvertToGrayscale'), + AdjustmentBrush = CU.fToggleTool('localized'), + AutoLateralCA = CU.fToggle01('AutoLateralCA'), + ConvertToGrayscale = CU.fToggleTF('ConvertToGrayscale'), CopySettings = CopySettings, - CropOverlay = ClientUtilities.ToggleTool('crop'), + CropOverlay = CU.fToggleTool('crop'), DecreaseRating = LrSelection.decreaseRating, DecrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.decrement,MIDI2LR.LAST_PARAM) end, - EnableCalibration = ClientUtilities.ToggleTF('EnableCalibration'), - EnableCircularGradientBasedCorrections = ClientUtilities.ToggleTF('EnableCircularGradientBasedCorrections'), - EnableColorAdjustments = ClientUtilities.ToggleTF('EnableColorAdjustments'), - EnableDetail = ClientUtilities.ToggleTF('EnableDetail'), - EnableEffects = ClientUtilities.ToggleTF('EnableEffects'), - EnableGradientBasedCorrections = ClientUtilities.ToggleTF('EnableGradientBasedCorrections'), - EnableGrayscaleMix = ClientUtilities.ToggleTF('EnableGrayscaleMix'), - EnableLensCorrections = ClientUtilities.ToggleTF('EnableLensCorrections'), - EnablePaintBasedCorrections = ClientUtilities.ToggleTF('EnablePaintBasedCorrections'), - EnableRedEye = ClientUtilities.ToggleTF('EnableRedEye'), - EnableRetouch = ClientUtilities.ToggleTF('EnableRetouch'), - EnableSplitToning = ClientUtilities.ToggleTF('EnableSplitToning'), - GraduatedFilter = ClientUtilities.ToggleTool('gradient'), + EnableCalibration = CU.fToggleTF('EnableCalibration'), + EnableCircularGradientBasedCorrections = CU.fToggleTF('EnableCircularGradientBasedCorrections'), + EnableColorAdjustments = CU.fToggleTF('EnableColorAdjustments'), + EnableDetail = CU.fToggleTF('EnableDetail'), + EnableEffects = CU.fToggleTF('EnableEffects'), + EnableGradientBasedCorrections = CU.fToggleTF('EnableGradientBasedCorrections'), + EnableGrayscaleMix = CU.fToggleTF('EnableGrayscaleMix'), + EnableLensCorrections = CU.fToggleTF('EnableLensCorrections'), + EnablePaintBasedCorrections = CU.fToggleTF('EnablePaintBasedCorrections'), + EnableRedEye = CU.fToggleTF('EnableRedEye'), + EnableRetouch = CU.fToggleTF('EnableRetouch'), + EnableSplitToning = CU.fToggleTF('EnableSplitToning'), + GraduatedFilter = CU.fToggleTool('gradient'), IncreaseRating = LrSelection.increaseRating, IncrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.increment,MIDI2LR.LAST_PARAM) end, - LensProfileEnable = ClientUtilities.Toggle01('LensProfileEnable'), - Loupe = ClientUtilities.ToggleTool('loupe'), + LensProfileEnable = CU.fToggle01('LensProfileEnable'), + Loupe = CU.fToggleTool('loupe'), Next = LrSelection.nextPhoto, PasteSelectedSettings = PasteSelectedSettings, PasteSettings = PasteSettings, Pick = LrSelection.flagAsPick, - Preset_1 = ClientUtilities.ApplyPreset(1), - Preset_2 = ClientUtilities.ApplyPreset(2), - Preset_3 = ClientUtilities.ApplyPreset(3), - Preset_4 = ClientUtilities.ApplyPreset(4), - Preset_5 = ClientUtilities.ApplyPreset(5), - Preset_6 = ClientUtilities.ApplyPreset(6), - Preset_7 = ClientUtilities.ApplyPreset(7), - Preset_8 = ClientUtilities.ApplyPreset(8), - Preset_9 = ClientUtilities.ApplyPreset(9), - Preset_10 = ClientUtilities.ApplyPreset(10), - Preset_11 = ClientUtilities.ApplyPreset(11), - Preset_12 = ClientUtilities.ApplyPreset(12), - Preset_13 = ClientUtilities.ApplyPreset(13), - Preset_14 = ClientUtilities.ApplyPreset(14), - Preset_15 = ClientUtilities.ApplyPreset(15), - Preset_16 = ClientUtilities.ApplyPreset(16), - Preset_17 = ClientUtilities.ApplyPreset(17), - Preset_18 = ClientUtilities.ApplyPreset(18), - Preset_19 = ClientUtilities.ApplyPreset(19), - Preset_20 = ClientUtilities.ApplyPreset(20), + Preset_1 = CU.fApplyPreset(1), + Preset_2 = CU.fApplyPreset(2), + Preset_3 = CU.fApplyPreset(3), + Preset_4 = CU.fApplyPreset(4), + Preset_5 = CU.fApplyPreset(5), + Preset_6 = CU.fApplyPreset(6), + Preset_7 = CU.fApplyPreset(7), + Preset_8 = CU.fApplyPreset(8), + Preset_9 = CU.fApplyPreset(9), + Preset_10 = CU.fApplyPreset(10), + Preset_11 = CU.fApplyPreset(11), + Preset_12 = CU.fApplyPreset(12), + Preset_13 = CU.fApplyPreset(13), + Preset_14 = CU.fApplyPreset(14), + Preset_15 = CU.fApplyPreset(15), + Preset_16 = CU.fApplyPreset(16), + Preset_17 = CU.fApplyPreset(17), + Preset_18 = CU.fApplyPreset(18), + Preset_19 = CU.fApplyPreset(19), + Preset_20 = CU.fApplyPreset(20), Prev = LrSelection.previousPhoto, Profile_Adobe_Standard = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Adobe Standard'), Profile_Camera_Clear = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Clear'), @@ -263,8 +263,8 @@ local ACTIONS = { profile8 = function() Profiles.changeProfile('profile8', true) end, profile9 = function() Profiles.changeProfile('profile9', true) end, profile10 = function() Profiles.changeProfile('profile10', true) end, - RadialFilter = ClientUtilities.ToggleTool('circularGradient'), - RedEye = ClientUtilities.ToggleTool('redeye'), + RadialFilter = CU.fToggleTool('circularGradient'), + RedEye = CU.fToggleTool('redeye'), Redo = LrUndo.redo, Reject = LrSelection.flagAsReject, RemoveFlag = LrSelection.removeFlag, @@ -276,14 +276,14 @@ local ACTIONS = { ResetLast = function() Ut.execFOM(LrDevelopController.resetToDefault,MIDI2LR.LAST_PARAM) end, ResetRedeye = Ut.wrapFOM(LrDevelopController.resetRedeye), ResetSpotRem = Ut.wrapFOM(LrDevelopController.resetSpotRemoval), - RevealPanelAdjust = ClientUtilities.ChangePanel('adjustPanel'), - RevealPanelCalibrate = ClientUtilities.ChangePanel('calibratePanel'), - RevealPanelDetail = ClientUtilities.ChangePanel('detailPanel'), - RevealPanelEffects = ClientUtilities.ChangePanel('effectsPanel'), - RevealPanelLens = ClientUtilities.ChangePanel('lensCorrectionsPanel'), - RevealPanelMixer = ClientUtilities.ChangePanel('mixerPanel'), - RevealPanelSplit = ClientUtilities.ChangePanel('splitToningPanel'), - RevealPanelTone = ClientUtilities.ChangePanel('tonePanel'), + RevealPanelAdjust = CU.fChangePanel('adjustPanel'), + RevealPanelCalibrate = CU.fChangePanel('calibratePanel'), + RevealPanelDetail = CU.fChangePanel('detailPanel'), + RevealPanelEffects = CU.fChangePanel('effectsPanel'), + RevealPanelLens = CU.fChangePanel('lensCorrectionsPanel'), + RevealPanelMixer = CU.fChangePanel('mixerPanel'), + RevealPanelSplit = CU.fChangePanel('splitToningPanel'), + RevealPanelTone = CU.fChangePanel('tonePanel'), Select1Left = function() LrSelection.extendSelection('left',1) end, Select1Right = function() LrSelection.extendSelection('right',1) end, SetRating0 = function() LrSelection.setRating(0) end, @@ -308,14 +308,14 @@ local ACTIONS = { ShoVwdevelop_before_after_horiz = function() LrApplicationView.showView('develop_before_after_horiz') end, ShoVwdevelop_before_after_vert = function() LrApplicationView.showView('develop_before_after_vert') end, ShoVwdevelop_before = function() LrApplicationView.showView('develop_before') end, - SpotRemoval = ClientUtilities.ToggleTool('dust'), - SwToMlibrary = ClientUtilities.ChangeModule('library'), - SwToMdevelop = ClientUtilities.ChangeModule('develop'), - SwToMmap = ClientUtilities.ChangeModule('map'), - SwToMbook = ClientUtilities.ChangeModule('book'), - SwToMslideshow = ClientUtilities.ChangeModule('slideshow'), - SwToMprint = ClientUtilities.ChangeModule('print'), - SwToMweb = ClientUtilities.ChangeModule('web'), + SpotRemoval = CU.fToggleTool('dust'), + SwToMlibrary = CU.fChangeModule('library'), + SwToMdevelop = CU.fChangeModule('develop'), + SwToMmap = CU.fChangeModule('map'), + SwToMbook = CU.fChangeModule('book'), + SwToMslideshow = CU.fChangeModule('slideshow'), + SwToMprint = CU.fChangeModule('print'), + SwToMweb = CU.fChangeModule('web'), ToggleBlue = LrSelection.toggleBlueLabel, ToggleGreen = LrSelection.toggleGreenLabel, TogglePurple = LrSelection.togglePurpleLabel, @@ -345,7 +345,10 @@ local ACTIONS = { } local SETTINGS = { - Pickup = function(enabled) MIDI2LR.PICKUP_ENABLED = (enabled == 1) end, + ChangedToDirectory = function(value) Profiles.setDirectory(value) end, + ChangedToFile = function(value) Profiles.setFile(value) end, + ChangedToFullPath = function(value) Profiles.setFullPath(value) end, + Pickup = function(enabled) MIDI2LR.PICKUP_ENABLED = (tonumber(enabled) == 1) end, } local function midi_lerp_to_develop(param, midi_value) @@ -409,20 +412,15 @@ updateParam = updateParam() --complete closure -- message processor local function processMessage(message) if type(message) == 'string' then - -- messages are in the format 'param value' - local _, _, param, value = message:find( '(%S+)%s(%S+)' ) + local split = message:find(' ',1,true) + local param = message:sub(1,split-1) + local value = message:sub(split+1) if(ACTIONS[param]) then -- perform a one time action if(tonumber(value) == MIDI2LR.BUTTON_ON) then ACTIONS[param]() end elseif(param:find('Reset') == 1) then -- perform a reset other than those explicitly coded in ACTIONS array if(tonumber(value) == MIDI2LR.BUTTON_ON) then Ut.execFOM(LrDevelopController.resetToDefault,param:sub(6)) end - elseif(SETTINGS[param]) then - SETTINGS[param](tonumber(value)) - elseif (param == 'ChangedToDirectory') then - Profiles.setDirectory(message:sub(message:find(' ',1,true)+1)) - elseif (param == 'ChangedToFile') then - Profiles.setFile(message:sub(message:find(' ',1,true)+1)) - elseif (param == 'ChangedToFullPath') then - Profiles.setFullPath(message:sub(message:find(' ',1,true)+1)) --value stops at first space + elseif(SETTINGS[param]) then -- do something requiring the transmitted value to be known + SETTINGS[param](value) else -- otherwise update a develop parameter updateParam(param, tonumber(value)) end diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua index f2567738b..180318d10 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua @@ -26,7 +26,7 @@ local LrDevelopController = import 'LrDevelopController' local LrDialogs = import 'LrDialogs' local LrTasks = import 'LrTasks' -local function ApplyPreset(presetnumber) +local function fApplyPreset(presetnumber) return function() local presetUuid = ProgramPreferences.Presets[presetnumber] if presetUuid == nil or LrApplication.activeCatalog():getTargetPhoto() == nil then return end @@ -43,21 +43,21 @@ local function ApplyPreset(presetnumber) end end -local function ChangePanel(panelname) +local function fChangePanel(panelname) return function() Ut.execFOM(LrDevelopController.revealPanel,panelname) Profiles.changeProfile(panelname) end end -local function ChangeModule(modulename) +local function fChangeModule(modulename) return function() LrApplicationView.switchToModule(modulename) Profiles.changeProfile(modulename) end end -local function Toggle01(param) +local function fToggle01(param) return function() if Ut.execFOM(LrDevelopController.getValue(param)) == 0 then LrDevelopController.setValue(param,1) @@ -67,13 +67,13 @@ local function Toggle01(param) end end -local function ToggleTF(param) +local function fToggleTF(param) return function() LrDevelopController.setValue(param,not Ut.execFOM(LrDevelopController.getValue,param)) end end -local function ToggleTool(param) +local function fToggleTool(param) return function() if LrApplicationView.getCurrentModuleName() ~= 'develop' then LrApplicationView.switchToModule('develop') @@ -90,11 +90,11 @@ end return { - ApplyPreset = ApplyPreset, - ChangeModule = ChangeModule, - ChangePanel = ChangePanel, - Toggle01 = Toggle01, - ToggleTF = ToggleTF, - ToggleTool = ToggleTool, + fApplyPreset = fApplyPreset, + fChangeModule = fChangeModule, + fChangePanel = fChangePanel, + fToggle01 = fToggle01, + fToggleTF = fToggleTF, + fToggleTool = fToggleTool, } From 282dfab3913d2e70a319a2d5b26f930ba596f4ff Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 22 Jan 2016 22:01:14 -0800 Subject: [PATCH 25/87] use lrpathutils for launchserver.lua --- Source/LRPlugin/MIDI2LR.lrplugin/LaunchServer.lua | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/LaunchServer.lua b/Source/LRPlugin/MIDI2LR.lrplugin/LaunchServer.lua index c7811ac46..1b28d2836 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/LaunchServer.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/LaunchServer.lua @@ -16,13 +16,16 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] -local LrShell = import 'LrShell' -local LrTasks = import 'LrTasks' +local LrPathUtils = import 'LrPathUtils' +local LrShell = import 'LrShell' +local LrTasks = import 'LrTasks' -LrTasks.startAsyncTask( function() +LrTasks.startAsyncTask( + function() if(WIN_ENV) then - LrShell.openFilesInApp({_PLUGIN.path..'/Info.lua'}, _PLUGIN.path..'/MIDI2LR.exe') + LrShell.openFilesInApp({LrPathUtils.child(_PLUGIN.path, 'Info.lua')}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.exe')) else - LrShell.openFilesInApp({_PLUGIN.path..'/Info.lua'}, _PLUGIN.path..'/MIDI2LR.app') + LrShell.openFilesInApp({LrPathUtils.child(_PLUGIN.path, 'Info.lua')}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.app')) end -end) \ No newline at end of file + end +) \ No newline at end of file From ee2d0c21c76bcdc7067840435249cd058a0834b4 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 22 Jan 2016 22:21:34 -0800 Subject: [PATCH 26/87] whitespace --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 238 ++++++++++---------- 1 file changed, 119 insertions(+), 119 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 310c16586..28206593e 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -195,12 +195,12 @@ end addToCollection = addToCollection() --closure local ACTIONS = { - AdjustmentBrush = CU.fToggleTool('localized'), - AutoLateralCA = CU.fToggle01('AutoLateralCA'), - ConvertToGrayscale = CU.fToggleTF('ConvertToGrayscale'), - CopySettings = CopySettings, - CropOverlay = CU.fToggleTool('crop'), - DecreaseRating = LrSelection.decreaseRating, + AdjustmentBrush = CU.fToggleTool('localized'), + AutoLateralCA = CU.fToggle01('AutoLateralCA'), + ConvertToGrayscale = CU.fToggleTF('ConvertToGrayscale'), + CopySettings = CopySettings, + CropOverlay = CU.fToggleTool('crop'), + DecreaseRating = LrSelection.decreaseRating, DecrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.decrement,MIDI2LR.LAST_PARAM) end, EnableCalibration = CU.fToggleTF('EnableCalibration'), EnableCircularGradientBasedCorrections = CU.fToggleTF('EnableCircularGradientBasedCorrections'), @@ -214,35 +214,35 @@ local ACTIONS = { EnableRedEye = CU.fToggleTF('EnableRedEye'), EnableRetouch = CU.fToggleTF('EnableRetouch'), EnableSplitToning = CU.fToggleTF('EnableSplitToning'), - GraduatedFilter = CU.fToggleTool('gradient'), - IncreaseRating = LrSelection.increaseRating, + GraduatedFilter = CU.fToggleTool('gradient'), + IncreaseRating = LrSelection.increaseRating, IncrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.increment,MIDI2LR.LAST_PARAM) end, - LensProfileEnable = CU.fToggle01('LensProfileEnable'), - Loupe = CU.fToggleTool('loupe'), - Next = LrSelection.nextPhoto, - PasteSelectedSettings = PasteSelectedSettings, - PasteSettings = PasteSettings, - Pick = LrSelection.flagAsPick, - Preset_1 = CU.fApplyPreset(1), - Preset_2 = CU.fApplyPreset(2), - Preset_3 = CU.fApplyPreset(3), - Preset_4 = CU.fApplyPreset(4), - Preset_5 = CU.fApplyPreset(5), - Preset_6 = CU.fApplyPreset(6), - Preset_7 = CU.fApplyPreset(7), - Preset_8 = CU.fApplyPreset(8), - Preset_9 = CU.fApplyPreset(9), - Preset_10 = CU.fApplyPreset(10), - Preset_11 = CU.fApplyPreset(11), - Preset_12 = CU.fApplyPreset(12), - Preset_13 = CU.fApplyPreset(13), - Preset_14 = CU.fApplyPreset(14), - Preset_15 = CU.fApplyPreset(15), - Preset_16 = CU.fApplyPreset(16), - Preset_17 = CU.fApplyPreset(17), - Preset_18 = CU.fApplyPreset(18), - Preset_19 = CU.fApplyPreset(19), - Preset_20 = CU.fApplyPreset(20), + LensProfileEnable = CU.fToggle01('LensProfileEnable'), + Loupe = CU.fToggleTool('loupe'), + Next = LrSelection.nextPhoto, + PasteSelectedSettings = PasteSelectedSettings, + PasteSettings = PasteSettings, + Pick = LrSelection.flagAsPick, + Preset_1 = CU.fApplyPreset(1), + Preset_2 = CU.fApplyPreset(2), + Preset_3 = CU.fApplyPreset(3), + Preset_4 = CU.fApplyPreset(4), + Preset_5 = CU.fApplyPreset(5), + Preset_6 = CU.fApplyPreset(6), + Preset_7 = CU.fApplyPreset(7), + Preset_8 = CU.fApplyPreset(8), + Preset_9 = CU.fApplyPreset(9), + Preset_10 = CU.fApplyPreset(10), + Preset_11 = CU.fApplyPreset(11), + Preset_12 = CU.fApplyPreset(12), + Preset_13 = CU.fApplyPreset(13), + Preset_14 = CU.fApplyPreset(14), + Preset_15 = CU.fApplyPreset(15), + Preset_16 = CU.fApplyPreset(16), + Preset_17 = CU.fApplyPreset(17), + Preset_18 = CU.fApplyPreset(18), + Preset_19 = CU.fApplyPreset(19), + Preset_20 = CU.fApplyPreset(20), Prev = LrSelection.previousPhoto, Profile_Adobe_Standard = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Adobe Standard'), Profile_Camera_Clear = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Clear'), @@ -253,95 +253,95 @@ local ACTIONS = { Profile_Camera_Portrait = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Portrait'), Profile_Camera_Standard = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Standard'), Profile_Camera_Vivid = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Vivid'), - profile1 = function() Profiles.changeProfile('profile1', true) end, - profile2 = function() Profiles.changeProfile('profile2', true) end, - profile3 = function() Profiles.changeProfile('profile3', true) end, - profile4 = function() Profiles.changeProfile('profile4', true) end, - profile5 = function() Profiles.changeProfile('profile5', true) end, - profile6 = function() Profiles.changeProfile('profile6', true) end, - profile7 = function() Profiles.changeProfile('profile7', true) end, - profile8 = function() Profiles.changeProfile('profile8', true) end, - profile9 = function() Profiles.changeProfile('profile9', true) end, - profile10 = function() Profiles.changeProfile('profile10', true) end, - RadialFilter = CU.fToggleTool('circularGradient'), - RedEye = CU.fToggleTool('redeye'), - Redo = LrUndo.redo, - Reject = LrSelection.flagAsReject, - RemoveFlag = LrSelection.removeFlag, - ResetAll = Ut.wrapFOM(LrDevelopController.resetAllDevelopAdjustments), - ResetBrushing = Ut.wrapFOM(LrDevelopController.resetBrushing), - ResetCircGrad = Ut.wrapFOM(LrDevelopController.resetCircularGradient), - ResetCrop = Ut.wrapFOM(LrDevelopController.resetCrop), - ResetGradient = Ut.wrapFOM(LrDevelopController.resetGradient), - ResetLast = function() Ut.execFOM(LrDevelopController.resetToDefault,MIDI2LR.LAST_PARAM) end, - ResetRedeye = Ut.wrapFOM(LrDevelopController.resetRedeye), - ResetSpotRem = Ut.wrapFOM(LrDevelopController.resetSpotRemoval), - RevealPanelAdjust = CU.fChangePanel('adjustPanel'), - RevealPanelCalibrate = CU.fChangePanel('calibratePanel'), - RevealPanelDetail = CU.fChangePanel('detailPanel'), - RevealPanelEffects = CU.fChangePanel('effectsPanel'), - RevealPanelLens = CU.fChangePanel('lensCorrectionsPanel'), - RevealPanelMixer = CU.fChangePanel('mixerPanel'), - RevealPanelSplit = CU.fChangePanel('splitToningPanel'), - RevealPanelTone = CU.fChangePanel('tonePanel'), - Select1Left = function() LrSelection.extendSelection('left',1) end, - Select1Right = function() LrSelection.extendSelection('right',1) end, - SetRating0 = function() LrSelection.setRating(0) end, - SetRating1 = function() LrSelection.setRating(1) end, - SetRating2 = function() LrSelection.setRating(2) end, - SetRating3 = function() LrSelection.setRating(3) end, - SetRating4 = function() LrSelection.setRating(4) end, - SetRating5 = function() LrSelection.setRating(5) end, - ShoScndVwloupe = function() LrApplicationView.showSecondaryView('loupe') end, - ShoScndVwlive_loupe = function() LrApplicationView.showSecondaryView('live_loupe') end, - ShoScndVwlocked_loupe = function() LrApplicationView.showSecondaryView('locked_loupe') end, - ShoScndVwgrid = function() LrApplicationView.showSecondaryView('grid') end, - ShoScndVwcompare = function() LrApplicationView.showSecondaryView('compare') end, - ShoScndVwsurvey = function() LrApplicationView.showSecondaryView('survey') end, - ShoScndVwslideshow = function() LrApplicationView.showSecondaryView('slideshow') end, - ShoVwloupe = function() LrApplicationView.showView('loupe') end, - ShoVwgrid = function() LrApplicationView.showView('grid') end, - ShoVwcompare = function() LrApplicationView.showView('compare') end, - ShoVwsurvey = function() LrApplicationView.showView('survey') end, - ShoVwpeople = function() LrApplicationView.showView('people') end, + profile1 = function() Profiles.changeProfile('profile1', true) end, + profile2 = function() Profiles.changeProfile('profile2', true) end, + profile3 = function() Profiles.changeProfile('profile3', true) end, + profile4 = function() Profiles.changeProfile('profile4', true) end, + profile5 = function() Profiles.changeProfile('profile5', true) end, + profile6 = function() Profiles.changeProfile('profile6', true) end, + profile7 = function() Profiles.changeProfile('profile7', true) end, + profile8 = function() Profiles.changeProfile('profile8', true) end, + profile9 = function() Profiles.changeProfile('profile9', true) end, + profile10 = function() Profiles.changeProfile('profile10', true) end, + RadialFilter = CU.fToggleTool('circularGradient'), + RedEye = CU.fToggleTool('redeye'), + Redo = LrUndo.redo, + Reject = LrSelection.flagAsReject, + RemoveFlag = LrSelection.removeFlag, + ResetAll = Ut.wrapFOM(LrDevelopController.resetAllDevelopAdjustments), + ResetBrushing = Ut.wrapFOM(LrDevelopController.resetBrushing), + ResetCircGrad = Ut.wrapFOM(LrDevelopController.resetCircularGradient), + ResetCrop = Ut.wrapFOM(LrDevelopController.resetCrop), + ResetGradient = Ut.wrapFOM(LrDevelopController.resetGradient), + ResetLast = function() Ut.execFOM(LrDevelopController.resetToDefault,MIDI2LR.LAST_PARAM) end, + ResetRedeye = Ut.wrapFOM(LrDevelopController.resetRedeye), + ResetSpotRem = Ut.wrapFOM(LrDevelopController.resetSpotRemoval), + RevealPanelAdjust = CU.fChangePanel('adjustPanel'), + RevealPanelCalibrate = CU.fChangePanel('calibratePanel'), + RevealPanelDetail = CU.fChangePanel('detailPanel'), + RevealPanelEffects = CU.fChangePanel('effectsPanel'), + RevealPanelLens = CU.fChangePanel('lensCorrectionsPanel'), + RevealPanelMixer = CU.fChangePanel('mixerPanel'), + RevealPanelSplit = CU.fChangePanel('splitToningPanel'), + RevealPanelTone = CU.fChangePanel('tonePanel'), + Select1Left = function() LrSelection.extendSelection('left',1) end, + Select1Right = function() LrSelection.extendSelection('right',1) end, + SetRating0 = function() LrSelection.setRating(0) end, + SetRating1 = function() LrSelection.setRating(1) end, + SetRating2 = function() LrSelection.setRating(2) end, + SetRating3 = function() LrSelection.setRating(3) end, + SetRating4 = function() LrSelection.setRating(4) end, + SetRating5 = function() LrSelection.setRating(5) end, + ShoScndVwloupe = function() LrApplicationView.showSecondaryView('loupe') end, + ShoScndVwlive_loupe = function() LrApplicationView.showSecondaryView('live_loupe') end, + ShoScndVwlocked_loupe = function() LrApplicationView.showSecondaryView('locked_loupe') end, + ShoScndVwgrid = function() LrApplicationView.showSecondaryView('grid') end, + ShoScndVwcompare = function() LrApplicationView.showSecondaryView('compare') end, + ShoScndVwsurvey = function() LrApplicationView.showSecondaryView('survey') end, + ShoScndVwslideshow = function() LrApplicationView.showSecondaryView('slideshow') end, + ShoVwloupe = function() LrApplicationView.showView('loupe') end, + ShoVwgrid = function() LrApplicationView.showView('grid') end, + ShoVwcompare = function() LrApplicationView.showView('compare') end, + ShoVwsurvey = function() LrApplicationView.showView('survey') end, + ShoVwpeople = function() LrApplicationView.showView('people') end, ShoVwdevelop_loupe = function() LrApplicationView.showView('develop_loupe') end, ShoVwdevelop_before_after_horiz = function() LrApplicationView.showView('develop_before_after_horiz') end, ShoVwdevelop_before_after_vert = function() LrApplicationView.showView('develop_before_after_vert') end, ShoVwdevelop_before = function() LrApplicationView.showView('develop_before') end, - SpotRemoval = CU.fToggleTool('dust'), - SwToMlibrary = CU.fChangeModule('library'), - SwToMdevelop = CU.fChangeModule('develop'), - SwToMmap = CU.fChangeModule('map'), - SwToMbook = CU.fChangeModule('book'), - SwToMslideshow = CU.fChangeModule('slideshow'), - SwToMprint = CU.fChangeModule('print'), - SwToMweb = CU.fChangeModule('web'), - ToggleBlue = LrSelection.toggleBlueLabel, - ToggleGreen = LrSelection.toggleGreenLabel, - TogglePurple = LrSelection.togglePurpleLabel, - ToggleRed = LrSelection.toggleRedLabel, - ToggleScreenTwo = LrApplicationView.toggleSecondaryDisplay, - ToggleYellow = LrSelection.toggleYellowLabel, - ToggleZoomOffOn = LrApplicationView.toggleZoom, - Undo = LrUndo.undo, - UprightAuto = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',1), - UprightFull = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',2), - UprightLevel = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',3), - UprightOff = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',0), - UprightVertical = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',4), - VirtualCopy = function() LrApplication.activeCatalog():createVirtualCopies() end, - WhiteBalanceAs_Shot = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','As Shot'), - WhiteBalanceAuto = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Auto'), - WhiteBalanceCloudy = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Cloudy'), - WhiteBalanceDaylight = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Daylight'), - WhiteBalanceFlash = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Flash'), - WhiteBalanceFluorescent = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Fluorescent'), - WhiteBalanceShade = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Shade'), - WhiteBalanceTungsten = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Tungsten'), - ZoomInLargeStep = LrApplicationView.zoomIn, - ZoomInSmallStep = LrApplicationView.zoomInSome, - ZoomOutLargeStep = LrApplicationView.zoomOut, - ZoomOutSmallStep = LrApplicationView.zoomOutSome, + SpotRemoval = CU.fToggleTool('dust'), + SwToMlibrary = CU.fChangeModule('library'), + SwToMdevelop = CU.fChangeModule('develop'), + SwToMmap = CU.fChangeModule('map'), + SwToMbook = CU.fChangeModule('book'), + SwToMslideshow = CU.fChangeModule('slideshow'), + SwToMprint = CU.fChangeModule('print'), + SwToMweb = CU.fChangeModule('web'), + ToggleBlue = LrSelection.toggleBlueLabel, + ToggleGreen = LrSelection.toggleGreenLabel, + TogglePurple = LrSelection.togglePurpleLabel, + ToggleRed = LrSelection.toggleRedLabel, + ToggleScreenTwo = LrApplicationView.toggleSecondaryDisplay, + ToggleYellow = LrSelection.toggleYellowLabel, + ToggleZoomOffOn = LrApplicationView.toggleZoom, + Undo = LrUndo.undo, + UprightAuto = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',1), + UprightFull = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',2), + UprightLevel = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',3), + UprightOff = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',0), + UprightVertical = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',4), + VirtualCopy = function() LrApplication.activeCatalog():createVirtualCopies() end, + WhiteBalanceAs_Shot = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','As Shot'), + WhiteBalanceAuto = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Auto'), + WhiteBalanceCloudy = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Cloudy'), + WhiteBalanceDaylight = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Daylight'), + WhiteBalanceFlash = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Flash'), + WhiteBalanceFluorescent = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Fluorescent'), + WhiteBalanceShade = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Shade'), + WhiteBalanceTungsten = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Tungsten'), + ZoomInLargeStep = LrApplicationView.zoomIn, + ZoomInSmallStep = LrApplicationView.zoomInSome, + ZoomOutLargeStep = LrApplicationView.zoomOut, + ZoomOutSmallStep = LrApplicationView.zoomOutSome, } local SETTINGS = { From a27f075c10c49d9642fb5953a422e427d70f0d7a Mon Sep 17 00:00:00 2001 From: jewest Date: Sat, 23 Jan 2016 09:28:17 +0100 Subject: [PATCH 27/87] adding the new the observer and subject interface. --- Source/Pattern/Observer.cpp | 12 ++++++++++ Source/Pattern/Observer.h | 32 +++++++++++++++++++++++++ Source/Pattern/Subject.cpp | 48 +++++++++++++++++++++++++++++++++++++ Source/Pattern/Subject.h | 38 +++++++++++++++++++++++++++++ 4 files changed, 130 insertions(+) create mode 100644 Source/Pattern/Observer.cpp create mode 100644 Source/Pattern/Observer.h create mode 100644 Source/Pattern/Subject.cpp create mode 100644 Source/Pattern/Subject.h diff --git a/Source/Pattern/Observer.cpp b/Source/Pattern/Observer.cpp new file mode 100644 index 000000000..fc406b041 --- /dev/null +++ b/Source/Pattern/Observer.cpp @@ -0,0 +1,12 @@ +/* + ============================================================================== + + Observer.cpp + Created: 23 Jan 2016 9:01:16am + Author: Jeffrey + + ============================================================================== +*/ + +#include "Observer.h" + diff --git a/Source/Pattern/Observer.h b/Source/Pattern/Observer.h new file mode 100644 index 000000000..88e5072aa --- /dev/null +++ b/Source/Pattern/Observer.h @@ -0,0 +1,32 @@ +/* + ============================================================================== + + Observer.h + Created: 23 Jan 2016 9:01:16am + Author: Jeffrey + + ============================================================================== +*/ + +#ifndef OBSERVER_H_INCLUDED +#define OBSERVER_H_INCLUDED + +#include "Subject.h" + +// forward declaration of the subject interface +class Subject; + +class Observer +{ +public: + Observer() {} + virtual ~Observer() {} + // the changed function is pure virtual as the overloaded object needs to implement it. + virtual void Changed(Subject *changed) = 0; +protected: +private: +}; + + + +#endif // OBSERVER_H_INCLUDED diff --git a/Source/Pattern/Subject.cpp b/Source/Pattern/Subject.cpp new file mode 100644 index 000000000..abbe7be52 --- /dev/null +++ b/Source/Pattern/Subject.cpp @@ -0,0 +1,48 @@ +/* + ============================================================================== + + Subject.cpp + Created: 23 Jan 2016 9:00:58am + Author: Jeffrey + + ============================================================================== +*/ + +#include "Subject.h" + +Subject::Subject() +{ +} + +Subject::~Subject() +{ +} + +void Subject::RegisterObserver(Observer * observer) +{ + //add to the vector + m_observerArray.push_back(observer); +} + +void Subject::UnregisterObserver(Observer *observer) +{ + // using the for loop instead of the for ( auto &i : v ) as items will be removed + for (vector::iterator it = m_observerArray.begin(); it != m_observerArray.end(); ++it) + { + //check if the pointers are the same + if ((*it) == observer) + { + //erase and assign the iterator to the new position + it = m_observerArray.erase(it); + } + } +} + +void Subject::Notify(void) +{ + //check if the array is not empty. + if (!m_observerArray.empty()) + { + + } +} diff --git a/Source/Pattern/Subject.h b/Source/Pattern/Subject.h new file mode 100644 index 000000000..6eb0441e7 --- /dev/null +++ b/Source/Pattern/Subject.h @@ -0,0 +1,38 @@ +/* + ============================================================================== + + Subject.h + Created: 23 Jan 2016 9:00:58am + Author: Jeffrey + + ============================================================================== +*/ + +#ifndef SUBJECT_H_INCLUDED +#define SUBJECT_H_INCLUDED + +#include "Observer.h" +#include + +using namespace std; + +class Observer; + +class Subject +{ +public: + Subject(); + virtual ~Subject(); + void RegisterObserver(Observer *observer); + void UnregisterObserver(Observer *observer); +protected: + void Notify(void); +private: + vector m_observerArray; +}; + + + + + +#endif // SUBJECT_H_INCLUDED From d224c075ccdedb85f6d68fb187bcdd5a65f37ca8 Mon Sep 17 00:00:00 2001 From: jewest Date: Sat, 23 Jan 2016 10:07:12 +0100 Subject: [PATCH 28/87] first changes of the internal structures. code is currently not compiling. --- Source/CommandMap.cpp | 10 +---- Source/CommandMap.h | 14 +++---- Source/LR_IPC_In.cpp | 3 +- Source/LR_IPC_In.h | 13 ++----- Source/LR_IPC_Out.cpp | 3 +- Source/LR_IPC_Out.h | 11 ++---- Source/Main.cpp | 16 ++++++-- Source/ProfileManager.cpp | 79 +++++++++++++++++++++------------------ Source/ProfileManager.h | 10 +++-- Source/SettingsManager.h | 6 +-- 10 files changed, 81 insertions(+), 84 deletions(-) diff --git a/Source/CommandMap.cpp b/Source/CommandMap.cpp index 14a225c52..19b7dfeea 100644 --- a/Source/CommandMap.cpp +++ b/Source/CommandMap.cpp @@ -23,19 +23,11 @@ MIDI2LR. If not, see . #include "CommandMap.h" #include "LRCommands.h" -const int CommandMap::UNMAPPED_INDEX = 0; - -CommandMap::CommandMap() +CommandMap::CommandMap() : Subject() { } -CommandMap& CommandMap::getInstance() -{ - static CommandMap instance; - return instance; -} - void CommandMap::addCommandforMessage(unsigned int command, const MIDI_Message &msg) { // adds a msg to the msg:command map, and it's associated command to the command:msg map diff --git a/Source/CommandMap.h b/Source/CommandMap.h index f8f99e830..fd45201fd 100644 --- a/Source/CommandMap.h +++ b/Source/CommandMap.h @@ -25,6 +25,7 @@ MIDI2LR. If not, see . #include "../JuceLibraryCode/JuceHeader.h" #include +#include "Pattern\Subject.h" // encapsulates a MIDI message (Note or CC) struct MIDI_Message @@ -82,12 +83,11 @@ namespace std { }; } -class CommandMap +class CommandMap : public Subject { public: - static const int UNMAPPED_INDEX; - - static CommandMap& getInstance(); + CommandMap(); + virtual ~CommandMap() {} // adds an entry to the msg:command map, and a corresponding entry to the command:msg map // will look up the string by the index (but it is preferred to directly use the String) @@ -118,11 +118,7 @@ class CommandMap void toXMLDocument(File& file) const; private: - CommandMap(); - - CommandMap(CommandMap const&) = delete; - void operator=(CommandMap const&) = delete; - + std::unordered_map _messageMap; std::unordered_map _commandStringMap; }; diff --git a/Source/LR_IPC_In.cpp b/Source/LR_IPC_In.cpp index daf4b1b19..f9dc3d14f 100644 --- a/Source/LR_IPC_In.cpp +++ b/Source/LR_IPC_In.cpp @@ -24,7 +24,8 @@ MIDI2LR. If not, see . #include "ProfileManager.h" #include "Logger.h" -const int LR_IPC_IN::LR_IN_PORT = 58764; +//define the communication port +#define LR_IN_PORT 58764 LR_IPC_IN& LR_IPC_IN::getInstance() { diff --git a/Source/LR_IPC_In.h b/Source/LR_IPC_In.h index 924539dfb..9f8fd5af0 100644 --- a/Source/LR_IPC_In.h +++ b/Source/LR_IPC_In.h @@ -30,11 +30,9 @@ class LR_IPC_IN : public StreamingSocket, public Timer, public Thread { -public: - static const int LR_IN_PORT; - - static LR_IPC_IN& getInstance(); - +public: + LR_IPC_IN(); + virtual ~LR_IPC_IN(); // closes the socket void shutdown(); @@ -47,11 +45,6 @@ class LR_IPC_IN : public StreamingSocket, // Timer callback virtual void timerCallback() override; private: - LR_IPC_IN(); - - LR_IPC_IN(LR_IPC_IN const&) = delete; - void operator=(LR_IPC_IN const&) = delete; - // process a line received from the socket void processLine(const String& line); diff --git a/Source/LR_IPC_Out.cpp b/Source/LR_IPC_Out.cpp index 80659e7de..4201e37c6 100644 --- a/Source/LR_IPC_Out.cpp +++ b/Source/LR_IPC_Out.cpp @@ -24,7 +24,8 @@ MIDI2LR. If not, see . #include "LRCommands.h" #include "Tools.h" -const int LR_IPC_OUT::LR_OUT_PORT = 58763; +// define the port used to +#define LR_OUT_PORT 58763 LR_IPC_OUT& LR_IPC_OUT::getInstance() { diff --git a/Source/LR_IPC_Out.h b/Source/LR_IPC_Out.h index 25dcfa3d4..a8e9485a2 100644 --- a/Source/LR_IPC_Out.h +++ b/Source/LR_IPC_Out.h @@ -43,10 +43,8 @@ class LR_IPC_OUT : public InterprocessConnection, public Timer { public: - static const int LR_OUT_PORT; - - static LR_IPC_OUT& getInstance(); - + LR_IPC_OUT(); + virtual ~LR_IPC_OUT(); // closes the socket void shutdown(); @@ -70,10 +68,9 @@ class LR_IPC_OUT : public InterprocessConnection, // Timer callback virtual void timerCallback() override; private: - LR_IPC_OUT(); + + - LR_IPC_OUT(LR_IPC_OUT const&) = delete; - void operator=(LR_IPC_OUT const&) = delete; Array _listeners; int _valueToSend; diff --git a/Source/Main.cpp b/Source/Main.cpp index 3b13331fa..8fed13c3f 100644 --- a/Source/Main.cpp +++ b/Source/Main.cpp @@ -30,6 +30,7 @@ MIDI2LR. If not, see . #include "LR_IPC_IN.h" #include "VersionChecker.h" #include "MainWindow.h" +#include "CommandMap.h" #define SHUT_DOWN_STRING "--LRSHUTDOWN" @@ -47,7 +48,10 @@ class MIDI2LRApplication : public JUCEApplication { if (commandLine != SHUT_DOWN_STRING) { - + + //set the reference to the command map + m_profileManager.SetCommandMap(&m_commandMap); + mainWindow = new MainWindow(getApplicationName()); mainWindow->Init(); // Check for latest version @@ -65,10 +69,10 @@ class MIDI2LRApplication : public JUCEApplication { // Save the current profile as default.xml File defaultProfile = File::getSpecialLocation(File::currentExecutableFile).getSiblingFile("default.xml"); - CommandMap::getInstance().toXMLDocument(defaultProfile); + m_commandMap.toXMLDocument(defaultProfile); LR_IPC_OUT::getInstance().shutdown(); - LR_IPC_IN::getInstance().shutdown(); + m_lr_IPC_IN.shutdown(); mainWindow = nullptr; // (deletes our window) quit(); } @@ -99,6 +103,12 @@ class MIDI2LRApplication : public JUCEApplication private: ScopedPointer mainWindow; VersionChecker _versionChecker; + + // the array with the commands + CommandMap m_commandMap; + LR_IPC_IN m_lr_IPC_IN; + LR_IPC_OUT m_lr_IPC_OUT; + ProfileManager m_profileManager; }; //============================================================================== diff --git a/Source/ProfileManager.cpp b/Source/ProfileManager.cpp index 585e0c948..076291beb 100644 --- a/Source/ProfileManager.cpp +++ b/Source/ProfileManager.cpp @@ -20,16 +20,9 @@ MIDI2LR. If not, see . ============================================================================== */ #include "ProfileManager.h" -#include "CommandMap.h" #include "LRCommands.h" -ProfileManager& ProfileManager::getInstance() -{ - static ProfileManager instance; - return instance; -} - -ProfileManager::ProfileManager() : _currentProfileIdx(0) +ProfileManager::ProfileManager() : _currentProfileIdx(0), m_commandMap(NULL) { MIDIProcessor::getInstance().addMIDICommandListener(this); // add ourselves as a listener to LR_IPC_OUT so that we can send plugin settings on connection @@ -107,41 +100,47 @@ void ProfileManager::handleMidiCC(int midiChannel, int controller, int value) { const MIDI_Message cc(midiChannel, controller, true); - // return if the value isn't 0 or 127, or the command isn't a valid profile-related command - if ((value != 0 && value != 127) || !CommandMap::getInstance().messageExistsInMap(cc)) - return; - - if (CommandMap::getInstance().getCommandforMessage(cc) == "Previous Profile") - { - _switchState = SWITCH_STATE::PREV; - triggerAsyncUpdate(); - } - else if (CommandMap::getInstance().getCommandforMessage(cc) == "Next Profile") - { - _switchState = SWITCH_STATE::NEXT; - triggerAsyncUpdate(); - } - + if (m_commandMap) + { + // return if the value isn't 0 or 127, or the command isn't a valid profile-related command + if ((value != 0 && value != 127) || !m_commandMap->messageExistsInMap(cc)) + return; + + if (m_commandMap->getCommandforMessage(cc) == "Previous Profile") + { + _switchState = SWITCH_STATE::PREV; + triggerAsyncUpdate(); + } + else if (m_commandMap->getCommandforMessage(cc) == "Next Profile") + { + _switchState = SWITCH_STATE::NEXT; + triggerAsyncUpdate(); + } + } } void ProfileManager::handleMidiNote(int midiChannel, int note) { const MIDI_Message note_msg(midiChannel, note, false); - // return if the command isn't a valid profile-related command - if (!CommandMap::getInstance().messageExistsInMap(note_msg)) - return; - - if (CommandMap::getInstance().getCommandforMessage(note_msg) == "Previous Profile") - { - _switchState = SWITCH_STATE::PREV; - triggerAsyncUpdate(); - } - else if (CommandMap::getInstance().getCommandforMessage(note_msg) == "Next Profile") - { - _switchState = SWITCH_STATE::NEXT; - triggerAsyncUpdate(); - } + if (m_commandMap) + { + + // return if the command isn't a valid profile-related command + if (!m_commandMap->messageExistsInMap(note_msg)) + return; + + if (m_commandMap->getCommandforMessage(note_msg) == "Previous Profile") + { + _switchState = SWITCH_STATE::PREV; + triggerAsyncUpdate(); + } + else if (m_commandMap->getCommandforMessage(note_msg) == "Next Profile") + { + _switchState = SWITCH_STATE::NEXT; + triggerAsyncUpdate(); + } + } } void ProfileManager::handleAsyncUpdate() @@ -170,4 +169,10 @@ void ProfileManager::connected() void ProfileManager::disconnected() { +} + +void ProfileManager::SetCommandMap(CommandMap *mapCommand) +{ + //copy the pointer + m_commandMap = mapCommand; } \ No newline at end of file diff --git a/Source/ProfileManager.h b/Source/ProfileManager.h index de47c6427..63885e959 100644 --- a/Source/ProfileManager.h +++ b/Source/ProfileManager.h @@ -25,6 +25,7 @@ MIDI2LR. If not, see . #include "../JuceLibraryCode/JuceHeader.h" #include "MIDIProcessor.h" #include "LR_IPC_OUT.h" +#include "CommandMap.h" class ProfileChangeListener { @@ -38,8 +39,9 @@ class ProfileChangeListener class ProfileManager : public MIDICommandListener, public AsyncUpdater, public LRConnectionListener { -public: - static ProfileManager& getInstance(); +public: + ProfileManager(); + virtual ~ProfileManager(); void addListener(ProfileChangeListener *listener); // sets the default profile directory and scans its contents for profiles @@ -70,6 +72,7 @@ class ProfileManager : public MIDICommandListener, // LRConnectionListener interface virtual void connected() override; virtual void disconnected() override; + void SetCommandMap(CommandMap *map); private: enum class SWITCH_STATE @@ -79,7 +82,7 @@ class ProfileManager : public MIDICommandListener, NEXT, }; - ProfileManager(); + ProfileManager(ProfileManager const&) = delete; void operator=(ProfileManager const&) = delete; @@ -89,6 +92,7 @@ class ProfileManager : public MIDICommandListener, Array _listeners; int _currentProfileIdx; SWITCH_STATE _switchState; + CommandMap *m_commandMap; }; diff --git a/Source/SettingsManager.h b/Source/SettingsManager.h index 770c17155..3f283b930 100644 --- a/Source/SettingsManager.h +++ b/Source/SettingsManager.h @@ -29,7 +29,8 @@ MIDI2LR. If not, see . class SettingsManager : public LRConnectionListener { public: - static SettingsManager& getInstance(); + SettingsManager(); + virtual ~SettingsManager(); bool getPickupEnabled() const; void setPickupEnabled(bool enabled); @@ -45,10 +46,7 @@ class SettingsManager : public LRConnectionListener void setAutoHideTime(int newTime); private: - SettingsManager(); - SettingsManager(SettingsManager const&) = delete; - void operator=(SettingsManager const&) = delete; ScopedPointer _propertiesFile; }; From bec267eb9e247d0455caa33c2ebb9b8b638fff35 Mon Sep 17 00:00:00 2001 From: jewest Date: Sat, 23 Jan 2016 14:16:54 +0100 Subject: [PATCH 29/87] adding new commandmap functions. long way to go as the data and interface are completely merged into 1. A lot of code that is used to initialize the object are done in the constructor the object. This code will be moved to the correct init function. --- Source/CommandTableModel.cpp | 35 ++++++++++++++++++++++++++--------- Source/CommandTableModel.h | 3 ++- Source/Main.cpp | 6 +++--- Source/MainComponent.cpp | 6 ++++++ Source/MainComponent.h | 1 + Source/MainWindow.cpp | 8 ++++++-- Source/MainWindow.h | 4 ++-- 7 files changed, 46 insertions(+), 17 deletions(-) diff --git a/Source/CommandTableModel.cpp b/Source/CommandTableModel.cpp index 7080866aa..399931ae0 100644 --- a/Source/CommandTableModel.cpp +++ b/Source/CommandTableModel.cpp @@ -17,7 +17,7 @@ MIDI2LR. If not, see . #include "CommandTableModel.h" #include "LRCommands.h" -CommandTableModel::CommandTableModel() : _rows(0) +CommandTableModel::CommandTableModel() : _rows(0), m_commandMap(NULL) { } @@ -60,9 +60,13 @@ Component *CommandTableModel::refreshComponentForCell(int rowNumber, int columnI commandSelect = new CommandMenu(_commands[rowNumber]); else commandSelect->setMsg(_commands[rowNumber]); - // add 1 because 0 is reserved for no selection - commandSelect->setSelectedItem(LRCommandList::getIndexOfCommand(CommandMap::getInstance().getCommandforMessage(_commands[rowNumber])) + 1); + if (m_commandMap) + { + // add 1 because 0 is reserved for no selection + commandSelect->setSelectedItem(LRCommandList::getIndexOfCommand(m_commandMap->getCommandforMessage(_commands[rowNumber])) + 1); + } + return commandSelect; } else @@ -72,12 +76,14 @@ Component *CommandTableModel::refreshComponentForCell(int rowNumber, int columnI void CommandTableModel::addRow(int midi_channel, int midi_data, bool isCC) { MIDI_Message msg(midi_channel, midi_data, isCC); - - if (!CommandMap::getInstance().messageExistsInMap(msg)) + if (m_commandMap) { - _commands.push_back(msg); - CommandMap::getInstance().addCommandforMessage(0, msg); // add an entry for 'no command' - _rows++; + if (!m_commandMap->messageExistsInMap(msg)) + { + _commands.push_back(msg); + m_commandMap->addCommandforMessage(0, msg); // add an entry for 'no command' + _rows++; + } } } @@ -105,7 +111,12 @@ void CommandTableModel::removeRow(int row) void CommandTableModel::removeAllRows() { _commands.clear(); - CommandMap::getInstance().clearMap(); + + if (m_commandMap) + { + m_commandMap->clearMap(); + } + _rows = 0; } @@ -144,4 +155,10 @@ void CommandTableModel::buildFromXml(XmlElement *root) } setting = setting->getNextElement(); } +} + +void CommandTableModel::SetCommandMap(CommandMap *mapCommand) +{ + //copy the pointer + m_commandMap = mapCommand; } \ No newline at end of file diff --git a/Source/CommandTableModel.h b/Source/CommandTableModel.h index 202dd9456..2bd785ecf 100644 --- a/Source/CommandTableModel.h +++ b/Source/CommandTableModel.h @@ -47,10 +47,11 @@ class CommandTableModel : public TableListBoxModel // returns the index of the row associated to a particular MIDI message int getRowForMessage(int midi_channel, int midi_data, bool isCC) const; + void SetCommandMap(CommandMap *mapCommand); private: int _rows; - std::vector _commands; + CommandMap *m_commandMap; //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CommandTableModel) diff --git a/Source/Main.cpp b/Source/Main.cpp index 8fed13c3f..14ca685e1 100644 --- a/Source/Main.cpp +++ b/Source/Main.cpp @@ -53,7 +53,8 @@ class MIDI2LRApplication : public JUCEApplication m_profileManager.SetCommandMap(&m_commandMap); mainWindow = new MainWindow(getApplicationName()); - mainWindow->Init(); + mainWindow->Init(m_commandMap); + // Check for latest version _versionChecker.startThread(); } @@ -70,8 +71,7 @@ class MIDI2LRApplication : public JUCEApplication // Save the current profile as default.xml File defaultProfile = File::getSpecialLocation(File::currentExecutableFile).getSiblingFile("default.xml"); m_commandMap.toXMLDocument(defaultProfile); - - LR_IPC_OUT::getInstance().shutdown(); + m_lr_IPC_OUT.shutdown(); m_lr_IPC_IN.shutdown(); mainWindow = nullptr; // (deletes our window) quit(); diff --git a/Source/MainComponent.cpp b/Source/MainComponent.cpp index 701e6cbd6..9a948bc4c 100644 --- a/Source/MainComponent.cpp +++ b/Source/MainComponent.cpp @@ -346,4 +346,10 @@ void MainContentComponent::SetTimerText(int timeValue) m_currentStatus.setText("", NotificationType::dontSendNotification); } +} + +void MainContentComponent::SetCommandMap(CommandMap *commandMap) +{ + //call the function of the sub component. + _commandTableModel.SetCommandMap(commandMap); } \ No newline at end of file diff --git a/Source/MainComponent.h b/Source/MainComponent.h index 356d3b630..01f4aaae2 100644 --- a/Source/MainComponent.h +++ b/Source/MainComponent.h @@ -72,6 +72,7 @@ class MainContentComponent: public Component, // ProfileChangeListener interface virtual void profileChanged(XmlElement* elem, const String& filename) override; void SetTimerText(int timeValue); + void SetCommandMap(CommandMap *commandMap); protected: void SetLabelSettings(Label &lblToSet); diff --git a/Source/MainWindow.cpp b/Source/MainWindow.cpp index 931b94758..509b9c17f 100644 --- a/Source/MainWindow.cpp +++ b/Source/MainWindow.cpp @@ -54,12 +54,16 @@ void MainWindow::timerCallback(void) } -void MainWindow::Init(void) +void MainWindow::Init(CommandMap *commandMap) { // get the auto time setting m_autoHideCounter = SettingsManager::getInstance().getAutoHideTime(); //start timing this->startTimer(1000); - + + if (m_windowContent) + { + m_windowContent->SetCommandMap(commandMap); + } } \ No newline at end of file diff --git a/Source/MainWindow.h b/Source/MainWindow.h index 990f751da..8ea7ddf49 100644 --- a/Source/MainWindow.h +++ b/Source/MainWindow.h @@ -41,7 +41,7 @@ MIDI2LR. If not, see . { setUsingNativeTitleBar(true); m_windowContent = new MainContentComponent(); - + setContentOwned(m_windowContent, true); centreWithSize(getWidth(), getHeight()); @@ -56,7 +56,7 @@ MIDI2LR. If not, see . JUCEApplication::getInstance()->systemRequestedQuit(); } - void Init(void); + void Init(CommandMap *commandMap); /* Note: Be careful if you override any DocumentWindow methods - the base class uses a lot of them, so by overriding you might break its functionality. From dfd626441a7a4c71e46ee38ec6132685b111bf95 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 23 Jan 2016 07:09:23 -0800 Subject: [PATCH 30/87] added recursion guard to parameter observer --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 23 ++++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 28206593e..d050be2ee 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -508,6 +508,19 @@ LrTasks.startAsyncTask( function() end --save localized file for app LrFunctionContext.callWithContext( 'socket_remote', function( context ) + local LrRecursionGuard = import 'LrRecursionGuard' + local guard = LrRecursionGuard('AdjustmentChangeObserver') + --call following within guard + local function AdjustmentChangeObserver(observer) + for _,param in ipairs(Parameters.Order) do + local lrvalue = LrDevelopController.getValue(param) + if observer[param] ~= lrvalue and type(lrvalue) == 'number' then + MIDI2LR.SERVER:send(string.format('%s %g\n', param, develop_lerp_to_midi(param))) + observer[param] = lrvalue + MIDI2LR.LAST_PARAM = param + end + end + end -- LrMobdebug.on() local client = LrSocket.bind { functionContext = context, @@ -554,14 +567,8 @@ LrTasks.startAsyncTask( function() context, MIDI2LR.PARAM_OBSERVER, function ( observer ) - if LrApplicationView.getCurrentModuleName() ~= 'develop' then return end - for _,param in ipairs(Parameters.Order) do - local lrvalue = LrDevelopController.getValue(param) - if observer[param] ~= lrvalue and type(lrvalue) == 'number' then - MIDI2LR.SERVER:send(string.format('%s %g\n', param, develop_lerp_to_midi(param))) - observer[param] = lrvalue - MIDI2LR.LAST_PARAM = param - end + if LrApplicationView.getCurrentModuleName() == 'develop' then + guard:performWithGuard(AdjustmentChangeObserver,observer) end end ) From f2f0be6db6d2141806340726bcc47fb44b97bfda Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 23 Jan 2016 07:37:27 -0800 Subject: [PATCH 31/87] moved startServer declaration into main task --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 40 +++++++++++---------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index d050be2ee..06c42dca5 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -36,8 +36,6 @@ local LrDevelopController = import 'LrDevelopController' local LrDialogs = import 'LrDialogs' local LrFunctionContext = import 'LrFunctionContext' local LrSelection = import 'LrSelection' -local LrShell = import 'LrShell' -local LrSocket = import 'LrSocket' local LrStringUtils = import 'LrStringUtils' local LrTasks = import 'LrTasks' local LrUndo = import 'LrUndo' @@ -427,28 +425,14 @@ local function processMessage(message) end end -local function startServer(context) - MIDI2LR.SERVER = LrSocket.bind { - functionContext = context, - plugin = _PLUGIN, - port = MIDI2LR.SEND_PORT, - mode = 'send', - onClosed = function( socket ) -- this callback never seems to get called... - -- MIDI2LR closed connection, allow for reconnection - -- socket:reconnect() - end, - onError = function( socket, err ) - socket:reconnect() - end, - } -end + -- Main task LrTasks.startAsyncTask( function() -- LrMobdebug.on() local LrPathUtils = import 'LrPathUtils' do --save localized file for app - local LrFileUtils = import 'LrFileUtils' + local LrFileUtils = import 'LrFileUtils' local LrLocalization = import 'LrLocalization' local Info = require 'Info' local versionmismatch = false @@ -508,7 +492,9 @@ LrTasks.startAsyncTask( function() end --save localized file for app LrFunctionContext.callWithContext( 'socket_remote', function( context ) - local LrRecursionGuard = import 'LrRecursionGuard' + local LrRecursionGuard = import 'LrRecursionGuard' + local LrShell = import 'LrShell' + local LrSocket = import 'LrSocket' local guard = LrRecursionGuard('AdjustmentChangeObserver') --call following within guard local function AdjustmentChangeObserver(observer) @@ -521,6 +507,22 @@ LrTasks.startAsyncTask( function() end end end + -- wrapped in function so can be called when connection lost + local function startServer(context) + MIDI2LR.SERVER = LrSocket.bind { + functionContext = context, + plugin = _PLUGIN, + port = MIDI2LR.SEND_PORT, + mode = 'send', + onClosed = function( socket ) -- this callback never seems to get called... + -- MIDI2LR closed connection, allow for reconnection + -- socket:reconnect() + end, + onError = function( socket, err ) + socket:reconnect() + end, + } + end -- LrMobdebug.on() local client = LrSocket.bind { functionContext = context, From 8c69e5a90e88af5794da768d3fb2c28fbe3a19f6 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 23 Jan 2016 12:39:03 -0800 Subject: [PATCH 32/87] moved more functions in ClientUtilities --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 155 +----------------- .../MIDI2LR.lrplugin/ClientUtilities.lua | 150 +++++++++++++++++ 2 files changed, 154 insertions(+), 151 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 06c42dca5..41b62dda7 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -25,21 +25,17 @@ LrMobdebug.start() local CU = require 'ClientUtilities' local Limits = require 'Limits' local Parameters = require 'Parameters' -local Paste = require 'Paste' local Preferences = require 'Preferences' local Profiles = require 'Profiles' local Ut = require 'Utilities' local LrApplication = import 'LrApplication' local LrApplicationView = import 'LrApplicationView' -local LrBinding = import 'LrBinding' local LrDevelopController = import 'LrDevelopController' local LrDialogs = import 'LrDialogs' -local LrFunctionContext = import 'LrFunctionContext' local LrSelection = import 'LrSelection' local LrStringUtils = import 'LrStringUtils' local LrTasks = import 'LrTasks' local LrUndo = import 'LrUndo' -local LrView = import 'LrView' -- signal for halt plugin if reloaded--LR doesn't kill main loop otherwise math.randomseed(os.time()) currentLoadVersion = rawget (_G, 'currentLoadVersion') or math.random() @@ -47,156 +43,14 @@ currentLoadVersion = currentLoadVersion + 1 MIDI2LR = {RECEIVE_PORT = 58763, SEND_PORT = 58764, PICKUP_THRESHOLD = 4, CONTROL_MAX = 127, BUTTON_ON = 127; --constants LAST_PARAM = '', PARAM_OBSERVER = {}, PICKUP_ENABLED = true, SERVER = {} } --non-local but in MIDI2LR namespace - -------------preferences Preferences.Load() -------------end preferences section - -local function PasteSelectedSettings () - if MIDI2LR.Copied_Settings == nil or LrApplication.activeCatalog():getTargetPhoto() == nil then return end - if ProgramPreferences.PastePopup then - LrFunctionContext.callWithContext( "checkPaste", - function( context ) - local f = LrView.osFactory() - local properties = LrBinding.makePropertyTable( context ) - local result = LrDialogs.presentModalDialog ( - { - title = LOC('$$$/MIDI2LR/Options/pastesel=Paste selections') , - contents = f:view{ bind_to_object = properties, Paste.StartDialog(properties,f) } - } - ) - Paste.EndDialog (properties,result) - end - ) - end - if LrApplicationView.getCurrentModuleName() ~= 'develop' then - LrApplicationView.switchToModule('develop') - end - LrTasks.startAsyncTask ( - function () - local TargetSettings = LrApplication.activeCatalog():getTargetPhoto():getDevelopSettings() - for _,param in ipairs(Parameters.Order) do - if (ProgramPreferences.PasteList[param] and MIDI2LR.Copied_Settings[param]~=nil) then - TargetSettings[param] = MIDI2LR.Copied_Settings[param] - end - end - for param in pairs(Paste.Duplicates) do - if (ProgramPreferences.PasteList[param] and MIDI2LR.Copied_Settings[param]~=nil) then - TargetSettings[param] = MIDI2LR.Copied_Settings[param] - end - end - LrApplication.activeCatalog():withWriteAccessDo( - 'MIDI2LR: Paste selected settings', - function() LrApplication.activeCatalog():getTargetPhoto():applyDevelopSettings(TargetSettings) end, - { timeout = 4, - callback = function() - LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.")..' PasteSelectedSettings') - end, - asynchronous = true - } - ) - end - ) -end - -local function PasteSettings () - if MIDI2LR.Copied_Settings == nil or LrApplication.activeCatalog():getTargetPhoto() == nil then return end - LrTasks.startAsyncTask ( function () - LrApplication.activeCatalog():withWriteAccessDo( - 'MIDI2LR: Paste settings', - function() LrApplication.activeCatalog():getTargetPhoto():applyDevelopSettings(MIDI2LR.Copied_Settings) end, - { timeout = 4, - callback = function() - LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.")..' PasteSettings') - end, - asynchronous = true - } - ) - end - ) -end - -local function CopySettings () - if LrApplication.activeCatalog():getTargetPhoto() == nil then return end - LrTasks.startAsyncTask ( - function () - MIDI2LR.Copied_Settings = LrApplication.activeCatalog():getTargetPhoto():getDevelopSettings() - end - ) -end - -local function addToCollection() - local catalog = LrApplication.activeCatalog() - local quickname = catalog.kQuickCollectionIdentifier - local targetname = catalog.kTargetCollection - local quickcollection, targetcollection - LrTasks.startAsyncTask ( - function () - LrApplication.activeCatalog():withWriteAccessDo( - '', - function() - quickcollection = catalog:createCollection(quickname,nil,true) - targetcollection = catalog:createCollection(targetname,nil,true) - end, - { timeout = 4, - callback = function() LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.")..' GetCollection.') end, - asynchronous = true - } - ) - end - ) - return function(collectiontype,photos) - if LrApplication.activeCatalog():getTargetPhoto() == nil then return end - local CollectionName - if collectiontype == 'quick' then - CollectionName = "$$$/AgLibrary/ThumbnailBadge/AddToQuickCollection=Add to Quick Collection." - else - CollectionName = "$$$/AgLibrary/ThumbnailBadge/AddToTargetCollection=Add to Target Collection" - end - LrTasks.startAsyncTask ( - function () - LrApplication.activeCatalog():withWriteAccessDo( - CollectionName, - function() - if LrApplication.activeCatalog() ~= catalog then - catalog = LrApplication.activeCatalog() - quickname = catalog.kQuickCollectionIdentifier - targetname = catalog.kTargetCollection - quickcollection = catalog:createCollection(quickname,nil,true) - targetcollection = catalog:createCollection(targetname,nil,true) - elseif catalog.kTargetCollection ~= targetname and collectiontype ~= 'quick' then - targetcollection = catalog:createCollection(targetname,nil,true) - end - local usecollection - if collectiontype == 'quick' then - usecollection = quickcollection - else - usecollection = targetcollection - end - if type(photos)==table then - usecollection:addPhotos(photos) - else - usecollection:addPhotos {photos} - end - end, - { timeout = 4, - callback = function() - LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.")..' AddToCollection.') - end, - asynchronous = true - } - ) - end - ) - end -end -addToCollection = addToCollection() --closure - local ACTIONS = { AdjustmentBrush = CU.fToggleTool('localized'), AutoLateralCA = CU.fToggle01('AutoLateralCA'), ConvertToGrayscale = CU.fToggleTF('ConvertToGrayscale'), - CopySettings = CopySettings, + CopySettings = CU.CopySettings, CropOverlay = CU.fToggleTool('crop'), DecreaseRating = LrSelection.decreaseRating, DecrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.decrement,MIDI2LR.LAST_PARAM) end, @@ -218,8 +72,8 @@ local ACTIONS = { LensProfileEnable = CU.fToggle01('LensProfileEnable'), Loupe = CU.fToggleTool('loupe'), Next = LrSelection.nextPhoto, - PasteSelectedSettings = PasteSelectedSettings, - PasteSettings = PasteSettings, + PasteSelectedSettings = CU.PasteSelectedSettings, + PasteSettings = CU.PasteSettings, Pick = LrSelection.flagAsPick, Preset_1 = CU.fApplyPreset(1), Preset_2 = CU.fApplyPreset(2), @@ -425,11 +279,10 @@ local function processMessage(message) end end - - -- Main task LrTasks.startAsyncTask( function() -- LrMobdebug.on() + local LrFunctionContext = import 'LrFunctionContext' local LrPathUtils = import 'LrPathUtils' do --save localized file for app local LrFileUtils = import 'LrFileUtils' diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua index 180318d10..188655be1 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua @@ -18,13 +18,18 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] +local Parameters = require 'Parameters' +local Paste = require 'Paste' local Profiles = require 'Profiles' local Ut = require 'Utilities' local LrApplication = import 'LrApplication' local LrApplicationView = import 'LrApplicationView' +local LrBinding = import 'LrBinding' local LrDevelopController = import 'LrDevelopController' +local LrFunctionContext = import 'LrFunctionContext' local LrDialogs = import 'LrDialogs' local LrTasks = import 'LrTasks' +local LrView = import 'LrView' local function fApplyPreset(presetnumber) return function() @@ -89,12 +94,157 @@ local function fToggleTool(param) end +local function PasteSelectedSettings () + if MIDI2LR.Copied_Settings == nil or LrApplication.activeCatalog():getTargetPhoto() == nil then return end + if ProgramPreferences.PastePopup then + LrFunctionContext.callWithContext( "checkPaste", + function( context ) + local f = LrView.osFactory() + local properties = LrBinding.makePropertyTable( context ) + local result = LrDialogs.presentModalDialog ( + { + title = LOC('$$$/MIDI2LR/Options/pastesel=Paste selections') , + contents = f:view{ bind_to_object = properties, Paste.StartDialog(properties,f) } + } + ) + Paste.EndDialog (properties,result) + end + ) + end + if LrApplicationView.getCurrentModuleName() ~= 'develop' then + LrApplicationView.switchToModule('develop') + end + LrTasks.startAsyncTask ( + function () + local TargetSettings = LrApplication.activeCatalog():getTargetPhoto():getDevelopSettings() + for _,param in ipairs(Parameters.Order) do + if (ProgramPreferences.PasteList[param] and MIDI2LR.Copied_Settings[param]~=nil) then + TargetSettings[param] = MIDI2LR.Copied_Settings[param] + end + end + for param in pairs(Paste.Duplicates) do + if (ProgramPreferences.PasteList[param] and MIDI2LR.Copied_Settings[param]~=nil) then + TargetSettings[param] = MIDI2LR.Copied_Settings[param] + end + end + LrApplication.activeCatalog():withWriteAccessDo( + 'MIDI2LR: Paste selected settings', + function() LrApplication.activeCatalog():getTargetPhoto():applyDevelopSettings(TargetSettings) end, + { timeout = 4, + callback = function() + LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.")..' PasteSelectedSettings') + end, + asynchronous = true + } + ) + end + ) +end + +local function PasteSettings () + if MIDI2LR.Copied_Settings == nil or LrApplication.activeCatalog():getTargetPhoto() == nil then return end + LrTasks.startAsyncTask ( function () + LrApplication.activeCatalog():withWriteAccessDo( + 'MIDI2LR: Paste settings', + function() LrApplication.activeCatalog():getTargetPhoto():applyDevelopSettings(MIDI2LR.Copied_Settings) end, + { timeout = 4, + callback = function() + LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.")..' PasteSettings') + end, + asynchronous = true + } + ) + end + ) +end + +local function CopySettings () + if LrApplication.activeCatalog():getTargetPhoto() == nil then return end + LrTasks.startAsyncTask ( + function () + MIDI2LR.Copied_Settings = LrApplication.activeCatalog():getTargetPhoto():getDevelopSettings() + end + ) +end + +local function addToCollection() + local catalog = LrApplication.activeCatalog() + local quickname = catalog.kQuickCollectionIdentifier + local targetname = catalog.kTargetCollection + local quickcollection, targetcollection + LrTasks.startAsyncTask ( + function () + LrApplication.activeCatalog():withWriteAccessDo( + '', + function() + quickcollection = catalog:createCollection(quickname,nil,true) + targetcollection = catalog:createCollection(targetname,nil,true) + end, + { timeout = 4, + callback = function() LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.")..' GetCollection.') end, + asynchronous = true + } + ) + end + ) + return function(collectiontype,photos) + if LrApplication.activeCatalog():getTargetPhoto() == nil then return end + local CollectionName + if collectiontype == 'quick' then + CollectionName = "$$$/AgLibrary/ThumbnailBadge/AddToQuickCollection=Add to Quick Collection." + else + CollectionName = "$$$/AgLibrary/ThumbnailBadge/AddToTargetCollection=Add to Target Collection" + end + LrTasks.startAsyncTask ( + function () + LrApplication.activeCatalog():withWriteAccessDo( + CollectionName, + function() + if LrApplication.activeCatalog() ~= catalog then + catalog = LrApplication.activeCatalog() + quickname = catalog.kQuickCollectionIdentifier + targetname = catalog.kTargetCollection + quickcollection = catalog:createCollection(quickname,nil,true) + targetcollection = catalog:createCollection(targetname,nil,true) + elseif catalog.kTargetCollection ~= targetname and collectiontype ~= 'quick' then + targetcollection = catalog:createCollection(targetname,nil,true) + end + local usecollection + if collectiontype == 'quick' then + usecollection = quickcollection + else + usecollection = targetcollection + end + if type(photos)==table then + usecollection:addPhotos(photos) + else + usecollection:addPhotos {photos} + end + end, + { timeout = 4, + callback = function() + LrDialogs.showError(LOC("$$$/AgCustomMetadataRegistry/UpdateCatalog/Error=The catalog could not be updated with additional module metadata.")..' AddToCollection.') + end, + asynchronous = true + } + ) + end + ) + end +end +addToCollection = addToCollection() --closure + + return { + addToCollection = addToCollection, + CopySettings = CopySettings, fApplyPreset = fApplyPreset, fChangeModule = fChangeModule, fChangePanel = fChangePanel, fToggle01 = fToggle01, fToggleTF = fToggleTF, fToggleTool = fToggleTool, + PasteSelectedSettings = PasteSelectedSettings, + PasteSettings = PasteSettings, } From 9fc1e945e57bdcdc03261ce5ab0397ab1140e291 Mon Sep 17 00:00:00 2001 From: Jeffrey Westgeest Date: Sat, 23 Jan 2016 23:04:28 +0100 Subject: [PATCH 33/87] adding the command map to multiple objects. --- Source/CommandTableModel.cpp | 24 ++++++++++----- Source/CommandTableModel.h | 2 +- Source/LR_IPC_In.cpp | 60 ++++++++++++++++++++---------------- Source/LR_IPC_In.h | 3 +- Source/LR_IPC_Out.cpp | 56 ++++++++++++++++++--------------- Source/LR_IPC_Out.h | 6 ++-- Source/Main.cpp | 1 + Source/ProfileManager.cpp | 10 +++++- Source/ProfileManager.h | 2 +- Source/SettingsManager.cpp | 6 ---- 10 files changed, 98 insertions(+), 72 deletions(-) diff --git a/Source/CommandTableModel.cpp b/Source/CommandTableModel.cpp index 399931ae0..4f7ed8e6f 100644 --- a/Source/CommandTableModel.cpp +++ b/Source/CommandTableModel.cpp @@ -104,7 +104,10 @@ void CommandTableModel::removeRow(int row) { MIDI_Message msg = _commands[row]; _commands.erase(_commands.begin() + row); - CommandMap::getInstance().removeMessage(msg); + if (m_commandMap) + { + m_commandMap->removeMessage(msg); + } _rows--; } @@ -128,7 +131,7 @@ void CommandTableModel::buildFromXml(XmlElement *root) removeAllRows(); XmlElement* setting = root->getFirstChildElement(); - while (setting) + while ((setting) && (m_commandMap)) { if (setting->hasAttribute("controller")) { @@ -137,10 +140,13 @@ void CommandTableModel::buildFromXml(XmlElement *root) // older versions of MIDI2LR stored the index of the string, so we should attempt to parse this as well if (setting->getIntAttribute("command", -1) != -1) - CommandMap::getInstance().addCommandforMessage(setting->getIntAttribute("command"), cc); + { + m_commandMap->addCommandforMessage(setting->getIntAttribute("command"), cc); + } else - CommandMap::getInstance().addCommandforMessage(setting->getStringAttribute("command_string"), cc); - + { + m_commandMap->addCommandforMessage(setting->getStringAttribute("command_string"), cc); + } } else if (setting->hasAttribute("note")) { @@ -149,9 +155,13 @@ void CommandTableModel::buildFromXml(XmlElement *root) // older versions of MIDI2LR stored the index of the string, so we should attempt to parse this as well if (setting->getIntAttribute("command", -1) != -1) - CommandMap::getInstance().addCommandforMessage(setting->getIntAttribute("command"), note); + { + m_commandMap->addCommandforMessage(setting->getIntAttribute("command"), note); + } else - CommandMap::getInstance().addCommandforMessage(setting->getStringAttribute("command_string"), note); + { + m_commandMap->addCommandforMessage(setting->getStringAttribute("command_string"), note); + } } setting = setting->getNextElement(); } diff --git a/Source/CommandTableModel.h b/Source/CommandTableModel.h index 2bd785ecf..301e62d79 100644 --- a/Source/CommandTableModel.h +++ b/Source/CommandTableModel.h @@ -47,7 +47,7 @@ class CommandTableModel : public TableListBoxModel // returns the index of the row associated to a particular MIDI message int getRowForMessage(int midi_channel, int midi_data, bool isCC) const; - void SetCommandMap(CommandMap *mapCommand); + private: int _rows; std::vector _commands; diff --git a/Source/LR_IPC_In.cpp b/Source/LR_IPC_In.cpp index f9dc3d14f..d8e518d75 100644 --- a/Source/LR_IPC_In.cpp +++ b/Source/LR_IPC_In.cpp @@ -27,14 +27,8 @@ MIDI2LR. If not, see . //define the communication port #define LR_IN_PORT 58764 -LR_IPC_IN& LR_IPC_IN::getInstance() -{ - static LR_IPC_IN instance; - return instance; -} - LR_IPC_IN::LR_IPC_IN() : StreamingSocket(), -Thread("LR_IPC_IN") +Thread("LR_IPC_IN"), m_commandMap(NULL) { startTimer(1000); MIDISender::getInstance(); // enumerate MIDI output devices @@ -56,6 +50,11 @@ void LR_IPC_IN::timerCallback() } } +void LR_IPC_IN::SetCommandMap(CommandMap * mapCommand) +{ + m_commandMap = mapCommand; +} + void LR_IPC_IN::run() { while (!threadShouldExit()) @@ -97,34 +96,41 @@ void LR_IPC_IN::processLine(const String& line) String valueString = line.replace(line.upToFirstOccurrenceOf(" ", true, true), "", true); auto value = valueString.getIntValue(); - if (command == String("SwitchProfile")) + if (m_commandMap) { - ProfileManager::getInstance().switchToProfile(valueString.trim()); + + if (command == String("SwitchProfile")) + { + ProfileManager::getInstance().switchToProfile(valueString.trim()); + } + else + { + + // store updates in map + parameterMap[command] = value; + + // send associated CC messages to MIDI OUT devices + if (m_commandMap->commandHasAssociatedMessage(command)) + { + const MIDI_Message& msg = m_commandMap->getMessageForCommand(command); + MIDISender::getInstance().sendCC(msg.channel, msg.controller, value); + } + } } - else - { - - // store updates in map - parameterMap[command] = value; - - // send associated CC messages to MIDI OUT devices - if (CommandMap::getInstance().commandHasAssociatedMessage(command)) - { - const MIDI_Message& msg = CommandMap::getInstance().getMessageForCommand(command); - MIDISender::getInstance().sendCC(msg.channel, msg.controller, value); - } - } } void LR_IPC_IN::refreshMIDIOutput() { - // send associated CC messages to MIDI OUT devices - for (auto mapEntry : parameterMap) + if (m_commandMap) { - if (CommandMap::getInstance().commandHasAssociatedMessage(mapEntry.first)) + // send associated CC messages to MIDI OUT devices + for (auto mapEntry : parameterMap) { - const MIDI_Message& msg = CommandMap::getInstance().getMessageForCommand(mapEntry.first); - MIDISender::getInstance().sendCC(msg.channel, msg.controller, mapEntry.second); + if (m_commandMap->commandHasAssociatedMessage(mapEntry.first)) + { + const MIDI_Message& msg = m_commandMap->getMessageForCommand(mapEntry.first); + MIDISender::getInstance().sendCC(msg.channel, msg.controller, mapEntry.second); + } } } } \ No newline at end of file diff --git a/Source/LR_IPC_In.h b/Source/LR_IPC_In.h index 9f8fd5af0..377c731e7 100644 --- a/Source/LR_IPC_In.h +++ b/Source/LR_IPC_In.h @@ -44,10 +44,11 @@ class LR_IPC_IN : public StreamingSocket, // Timer callback virtual void timerCallback() override; + void SetCommandMap(CommandMap *mapCommand); private: // process a line received from the socket void processLine(const String& line); - + CommandMap *m_commandMap; std::unordered_map parameterMap; }; diff --git a/Source/LR_IPC_Out.cpp b/Source/LR_IPC_Out.cpp index 4201e37c6..eda639de8 100644 --- a/Source/LR_IPC_Out.cpp +++ b/Source/LR_IPC_Out.cpp @@ -27,12 +27,6 @@ MIDI2LR. If not, see . // define the port used to #define LR_OUT_PORT 58763 -LR_IPC_OUT& LR_IPC_OUT::getInstance() -{ - static LR_IPC_OUT instance; - return instance; -} - LR_IPC_OUT::LR_IPC_OUT() : InterprocessConnection() { MIDIProcessor::getInstance().addMIDICommandListener(this); @@ -51,6 +45,11 @@ void LR_IPC_OUT::timerCallback() connectToSocket("127.0.0.1", LR_OUT_PORT, 100); } +void LR_IPC_OUT::SetCommandMap(CommandMap * mapCommand) +{ + m_commandMap = mapCommand; +} + void LR_IPC_OUT::addListener(LRConnectionListener *listener) { _listeners.addIfNotAlreadyThere(listener); @@ -96,30 +95,37 @@ void LR_IPC_OUT::handleMidiCC(int midiChannel, int controller, int value) { MIDI_Message cc(midiChannel, controller, true); - if (!CommandMap::getInstance().messageExistsInMap(cc) || - CommandMap::getInstance().getCommandforMessage(cc) == "Unmapped" || - find(LRCommandList::NextPrevProfile.begin(), - LRCommandList::NextPrevProfile.end(), - CommandMap::getInstance().getCommandforMessage(cc)) != LRCommandList::NextPrevProfile.end()) - return; - - _commandToSend = CommandMap::getInstance().getCommandforMessage(cc); - _valueToSend = value; - handleAsyncUpdate(); + if (m_commandMap) + { + if (!m_commandMap->messageExistsInMap(cc) || + m_commandMap->getCommandforMessage(cc) == "Unmapped" || + find(LRCommandList::NextPrevProfile.begin(), + LRCommandList::NextPrevProfile.end(), + m_commandMap->getCommandforMessage(cc)) != LRCommandList::NextPrevProfile.end()) + return; + + _commandToSend = m_commandMap->getCommandforMessage(cc); + _valueToSend = value; + handleAsyncUpdate(); + } } void LR_IPC_OUT::handleMidiNote(int midiChannel, int note) { MIDI_Message note_msg(midiChannel, note, false); - if (!CommandMap::getInstance().messageExistsInMap(note_msg) || - CommandMap::getInstance().getCommandforMessage(note_msg) == "Unmapped" || - find(LRCommandList::NextPrevProfile.begin(), - LRCommandList::NextPrevProfile.end(), - CommandMap::getInstance().getCommandforMessage(note_msg)) != LRCommandList::NextPrevProfile.end()) - return; + if (m_commandMap) + { + + if (!m_commandMap->messageExistsInMap(note_msg) || + m_commandMap->getCommandforMessage(note_msg) == "Unmapped" || + find(LRCommandList::NextPrevProfile.begin(), + LRCommandList::NextPrevProfile.end(), + m_commandMap->getCommandforMessage(note_msg)) != LRCommandList::NextPrevProfile.end()) + return; - _commandToSend = CommandMap::getInstance().getCommandforMessage(note_msg); - _valueToSend = 127; - handleAsyncUpdate(); + _commandToSend = m_commandMap->getCommandforMessage(note_msg); + _valueToSend = 127; + handleAsyncUpdate(); + } } \ No newline at end of file diff --git a/Source/LR_IPC_Out.h b/Source/LR_IPC_Out.h index a8e9485a2..44de67a34 100644 --- a/Source/LR_IPC_Out.h +++ b/Source/LR_IPC_Out.h @@ -24,6 +24,7 @@ MIDI2LR. If not, see . #include "../JuceLibraryCode/JuceHeader.h" #include "MIDIProcessor.h" +#include "CommandMap.h" class LRConnectionListener { @@ -67,11 +68,10 @@ class LR_IPC_OUT : public InterprocessConnection, // Timer callback virtual void timerCallback() override; + void SetCommandMap(CommandMap *mapCommand); private: - - - + CommandMap *m_commandMap; Array _listeners; int _valueToSend; String _commandToSend; diff --git a/Source/Main.cpp b/Source/Main.cpp index 14ca685e1..6d4696e2a 100644 --- a/Source/Main.cpp +++ b/Source/Main.cpp @@ -50,6 +50,7 @@ class MIDI2LRApplication : public JUCEApplication { //set the reference to the command map + m_profileManager.Init(m_lr_IPC_IN, m_lr_IPC_OUT) m_profileManager.SetCommandMap(&m_commandMap); mainWindow = new MainWindow(getApplicationName()); diff --git a/Source/ProfileManager.cpp b/Source/ProfileManager.cpp index 076291beb..4676e44e2 100644 --- a/Source/ProfileManager.cpp +++ b/Source/ProfileManager.cpp @@ -175,4 +175,12 @@ void ProfileManager::SetCommandMap(CommandMap *mapCommand) { //copy the pointer m_commandMap = mapCommand; -} \ No newline at end of file +} + +void ProfileManager::Init(LR_IPC_IN * in, LR_IPC_OUT *out, CommandMap *commandMap) +{ + + m_commandMap = commandMap; + m_l + +} diff --git a/Source/ProfileManager.h b/Source/ProfileManager.h index 63885e959..1e8b2013e 100644 --- a/Source/ProfileManager.h +++ b/Source/ProfileManager.h @@ -73,7 +73,7 @@ class ProfileManager : public MIDICommandListener, virtual void connected() override; virtual void disconnected() override; void SetCommandMap(CommandMap *map); - + void Init(LR_IPC_IN *in, LR_IPC_OUT out, CommandMap commandMap); private: enum class SWITCH_STATE { diff --git a/Source/SettingsManager.cpp b/Source/SettingsManager.cpp index d804dfd03..8055406c4 100644 --- a/Source/SettingsManager.cpp +++ b/Source/SettingsManager.cpp @@ -45,12 +45,6 @@ SettingsManager::SettingsManager() ProfileManager::getInstance().setProfileDirectory(profileDir); } -SettingsManager& SettingsManager::getInstance() -{ - static SettingsManager instance; - return instance; -} - void SettingsManager::setPickupEnabled(bool enabled) { _propertiesFile->setValue("pickup_enabled", enabled); From c456cfea03613ae7cae8aa2b093b57e208487f1b Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 23 Jan 2016 16:49:51 -0800 Subject: [PATCH 34/87] add local adjustments to plugin need to do same to app --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 2 +- .../MIDI2LR.lrplugin/MenuListPreTrans.lua | 184 ++++++++++++++---- .../LRPlugin/MIDI2LR.lrplugin/Parameters.lua | 24 +++ 3 files changed, 169 insertions(+), 41 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 41b62dda7..38e3795fa 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -351,7 +351,7 @@ LrTasks.startAsyncTask( function() local guard = LrRecursionGuard('AdjustmentChangeObserver') --call following within guard local function AdjustmentChangeObserver(observer) - for _,param in ipairs(Parameters.Order) do + for _,param in ipairs(Parameters.Iterate) do local lrvalue = LrDevelopController.getValue(param) if observer[param] ~= lrvalue and type(lrvalue) == 'number' then MIDI2LR.SERVER:send(string.format('%s %g\n', param, develop_lerp_to_midi(param))) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index fa96ac783..ca99e88a4 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -1142,6 +1142,150 @@ local MenuList = { LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."20", LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), true}, + {"local_Temperature", + "Local Temperature (PV2012)", + "Localized Adjustments", + false}, + {"local_Tint", + "Local Tint (PV2012)", + "Localized Adjustments", + false}, + {"local_Exposure", + "Local Exposure (PV2010 and PV2012)", + "Localized Adjustments", + false}, + {"local_Contrast", + "Local Contrast (PV2010 and PV2012)", + "Localized Adjustments", + false}, + {"local_Highlights", + "Local Highlights (PV2012)", + "Localized Adjustments", + false}, + {"local_Shadows", + "Local Shadows (PV2012)", + "Localized Adjustments", + false}, + {"local_Clarity", + "Local Clarity (PV2010 and PV2012)", + "Localized Adjustments", + false}, + {"local_Saturation", + "Local Saturation (PV2010 and PV2012)", + "Localized Adjustments", + false}, + {"local_Sharpness", + "Local Sharpness (PV2010 and PV 2012)", + "Localized Adjustments", + false}, + {"local_LuminanceNoise", + "Local Luminance Noise (PV2012)", + "Localized Adjusments", + false}, + {"local_Moire", + "Local Moire (PV2012)", + "Localized Adjustments", + false}, + {"local_Defringe", + "Local Defringe (PV2012)", + "Localized Adjustments", + false}, + {"local_ToningLuminance", + "Local Toning Luminance (PV2010)", + "Localized Adjustments", + false}, + {"Resetlocal_Temperature", + "Reset Local Temperature (PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_Tint", + "Reset Local Tint (PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_Exposure", + "Reset Local Exposure (PV2010 and PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_Contrast", + "Reset Local Contrast (PV2010 and PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_Highlights", + "Reset Local Highlights (PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_Shadows", + "Reset Local Shadows (PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_Clarity", + "Reset Local Clarity (PV2010 and PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_Saturation", + "Reset Local Saturation (PV2010 and PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_Sharpness", + "Reset Local Sharpness (PV2010 and PV 2012)", + "Localized Adjustments", + true}, + {"Resetlocal_LuminanceNoise", + "Reset Local Luminance Noise (PV2012)", + "Localized Adjusments", + true}, + {"Resetlocal_Moire", + "Reset Local Moire (PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_Defringe", + "Reset Local Defringe (PV2012)", + "Localized Adjustments", + true}, + {"Resetlocal_ToningLuminance", + "Reset Local Toning Luminance (PV2010)", + "Localized Adjustments", + true}, + {"EnableCircularGradientBasedCorrections", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), + "Localized Adjustments", + true}, + {"EnableGradientBasedCorrections", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), + "Localized Adjustments", + true}, + {"EnablePaintBasedCorrections", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), + "Localized Adjustments", + true}, + {"EnableRedEye", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), + "Localized Adjustments", + true}, + {"EnableRetouch", + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), + "Localized Adjustments", + true}, + {"ResetCircGrad", + LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), + "Localized Adjustments", + true}, + {"ResetGradient", + LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), + "Localized Adjustments", + true}, + {"ResetBrushing", + LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), + "Localized Adjustments", + true}, + {"ResetRedeye", + LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), + "Localized Adjustments", + true}, + {"ResetSpotRem", + LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), + "Localized Adjustments", + true}, {"ZoomInLargeStep", LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomIn=Zoom In"), "Miscellaneous", @@ -1186,46 +1330,6 @@ local MenuList = { LOC("$$$/AgLibrary/Ops/ResetCrop=Reset Crop"), "Miscellaneous", true}, - {"EnableCircularGradientBasedCorrections", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), - "Miscellaneous", - true}, - {"EnableGradientBasedCorrections", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), - "Miscellaneous", - true}, - {"EnablePaintBasedCorrections", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), - "Miscellaneous", - true}, - {"EnableRedEye", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), - "Miscellaneous", - true}, - {"EnableRetouch", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), - "Miscellaneous", - true}, - {"ResetCircGrad", - LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), - "Miscellaneous", - true}, - {"ResetGradient", - LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), - "Miscellaneous", - true}, - {"ResetBrushing", - LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), - "Miscellaneous", - true}, - {"ResetRedeye", - LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), - "Miscellaneous", - true}, - {"ResetSpotRem", - LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), - "Miscellaneous", - true}, {"Loupe", LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), "Go to Tool, Module, or Panel", diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua index ae4c20c64..ed72c442d 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua @@ -206,8 +206,32 @@ setmetatable(Names, end, } ) +local localAdjustments = { + "local_Temperature", + "local_Tint", + "local_Exposure", + "local_Contrast", + "local_Highlights", + "local_Shadows", + "local_Clarity", + "local_Saturation", + "local_Sharpness", + "local_LuminanceNoise", + "local_Moire", + "local_Defringe", + "local_ToningLuminance", +} +local Iterate = {} --this table is used when iterating over all available adjustment parameters--has local adjustments not used in copy/paste +for i,k in ipairs(Order) do + Iterate[i] = k +end +for _,k in ipairs(localAdjustments) do + table.insert(Iterate,k) +end + return { + Iterate = Iterate, Names = Names, Order = Order } From 64dc008807778cc113cca5386be022e40635da28 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 23 Jan 2016 19:18:55 -0800 Subject: [PATCH 35/87] local adjustments added to app --- Source/CommandMenu.cpp | 2 + Source/LRCommands.cpp | 98 +++++++++++++++++++++++++++++++++--------- Source/LRCommands.h | 1 + 3 files changed, 81 insertions(+), 20 deletions(-) diff --git a/Source/CommandMenu.cpp b/Source/CommandMenu.cpp index 495b04ebc..135a96e00 100644 --- a/Source/CommandMenu.cpp +++ b/Source/CommandMenu.cpp @@ -56,6 +56,7 @@ void CommandMenu::buttonClicked(Button* UNUSED_ARG(button)) "Camera Calibration", "Photo Actions", "Develop Presets", + "Local Adjustments", "Miscellaneous", "Go To Tool, Module, or Panel", "View Modes", @@ -74,6 +75,7 @@ void CommandMenu::buttonClicked(Button* UNUSED_ARG(button)) LRCommandList::CalibrateStringList, LRCommandList::SelectionList, LRCommandList::PresetsList, + LRCommandList::LocalList, LRCommandList::MiscList, LRCommandList::TMPList, LRCommandList::ViewModesList, diff --git a/Source/LRCommands.cpp b/Source/LRCommands.cpp index 4900bf761..32d63b5a7 100644 --- a/Source/LRCommands.cpp +++ b/Source/LRCommands.cpp @@ -340,6 +340,45 @@ const std::vector LRCommandList::PresetsList = { "Preset 20", }; +const std::vector LRCommandList::LocalList = { + "Local Temperature (PV2012)", + "Local Tint (PV2012)", + "Local Exposure (PV2010 and PV2012)", + "Local Contrast (PV2010 and PV2012)", + "Local Highlights (PV2012)", + "Local Shadows (PV2012)", + "Local Clarity (PV2010 and PV2012)", + "Local Saturation (PV2010 and PV2012)", + "Local Sharpness (PV2010 and PV 2012)", + "Local Luminance Noise (PV2012)", + "Local Moire (PV2012)", + "Local Defringe (PV2012)", + "Local Toning Luminance (PV2010)", + "Reset Local Temperature (PV2012)", + "Reset Local Tint (PV2012)", + "Reset Local Exposure (PV2010 and PV2012)", + "Reset Local Contrast (PV2010 and PV2012)", + "Reset Local Highlights (PV2012)", + "Reset Local Shadows (PV2012)", + "Reset Local Clarity (PV2010 and PV2012)", + "Reset Local Saturation (PV2010 and PV2012)", + "Reset Local Sharpness (PV2010 and PV 2012)", + "Reset Local Luminance Noise (PV2012)", + "Reset Local Moire (PV2012)", + "Reset Local Defringe (PV2012)", + "Reset Local Toning Luminance (PV2010)", + "Enable/Disable Radial Filter", + "Enable/Disable Graduated Filter", + "Enable/Disable Brush Adjustments", + "Enable/Disable Red-Eye", + "Enable/Disable Spot Removal", + "Reset Radial Filter", //ResetCircGrad + "Reset Graduated Filter", //ResetGradient + "Reset Brush Adjustments", //ResetBrushing + "Reset Red-Eye", //ResetRedeye + "Reset Spot Removal", //ResetSpotRem +}; + const std::vector LRCommandList::MiscList = { "Zoom In Large Step", "Zoom In Small Step", @@ -357,17 +396,7 @@ const std::vector LRCommandList::MiscList = { "Reset Crop Left", "Reset Crop Right", "Reset Crop Top", // Resets don't work for crop */ - "Enable/Disable Radial Filter", - "Enable/Disable Graduated Filter", - "Enable/Disable Brush Adjustments", - "Enable/Disable Red-Eye", - "Enable/Disable Spot Removal", - "Reset Radial Filter", //ResetCircGrad - "Reset Graduated Filter", //ResetGradient - "Reset Brush Adjustments", //ResetBrushing - "Reset Red-Eye", //ResetRedeye - "Reset Spot Removal", //ResetSpotRem }; const std::vector LRCommandList::TMPList = { @@ -732,6 +761,44 @@ const std::vector LRCommandList::LRStringList = { "Preset_19", "Preset_20", + /* Local Adjustments */ + "local_Temperature", + "local_Tint", + "local_Exposure", + "local_Contrast", + "local_Highlights", + "local_Shadows", + "local_Clarity", + "local_Saturation", + "local_Sharpness", + "local_LuminanceNoise", + "local_Moire", + "local_Defringe", + "local_ToningLuminance", + "Resetlocal_Temperature", + "Resetlocal_Tint", + "Resetlocal_Exposure", + "Resetlocal_Contrast", + "Resetlocal_Highlights", + "Resetlocal_Shadows", + "Resetlocal_Clarity", + "Resetlocal_Saturation", + "Resetlocal_Sharpness", + "Resetlocal_LuminanceNoise", + "Resetlocal_Moire", + "Resetlocal_Defringe", + "Resetlocal_ToningLuminance", + "EnableCircularGradientBasedCorrections", + "EnableGradientBasedCorrections", + "EnablePaintBasedCorrections", + "EnableRedEye", + "EnableRetouch", + "ResetCircGrad", + "ResetGradient", + "ResetBrushing", + "ResetRedeye", + "ResetSpotRem", + /* Misc */ "ZoomInLargeStep", "ZoomInSmallStep", @@ -749,16 +816,7 @@ const std::vector LRCommandList::LRStringList = { "ResetCropLeft", "ResetCropRight", "ResetCropTop", // resets don't work for crop*/ - "EnableCircularGradientBasedCorrections", - "EnableGradientBasedCorrections", - "EnablePaintBasedCorrections", - "EnableRedEye", - "EnableRetouch", - "ResetCircGrad", - "ResetGradient", - "ResetBrushing", - "ResetRedeye", - "ResetSpotRem", + /* TMP (Tools Modules Panels) */ "Loupe", diff --git a/Source/LRCommands.h b/Source/LRCommands.h index ff6d9b39c..3f510b6e7 100644 --- a/Source/LRCommands.h +++ b/Source/LRCommands.h @@ -45,6 +45,7 @@ class LRCommandList // Sectioned and readable LR tool string static const std::vector SelectionList; static const std::vector PresetsList; + static const std::vector LocalList; static const std::vector MiscList; static const std::vector TMPList; static const std::vector ViewModesList; From 6d33a12f6d7ee119ae25f47a7565913e33c7a939 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 23 Jan 2016 20:15:40 -0800 Subject: [PATCH 36/87] whitespace --- .../MIDI2LR.lrplugin/ClientUtilities.lua | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua index 188655be1..cdd2ac000 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua @@ -19,17 +19,17 @@ You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] local Parameters = require 'Parameters' -local Paste = require 'Paste' -local Profiles = require 'Profiles' -local Ut = require 'Utilities' -local LrApplication = import 'LrApplication' -local LrApplicationView = import 'LrApplicationView' -local LrBinding = import 'LrBinding' +local Paste = require 'Paste' +local Profiles = require 'Profiles' +local Ut = require 'Utilities' +local LrApplication = import 'LrApplication' +local LrApplicationView = import 'LrApplicationView' +local LrBinding = import 'LrBinding' local LrDevelopController = import 'LrDevelopController' -local LrFunctionContext = import 'LrFunctionContext' -local LrDialogs = import 'LrDialogs' -local LrTasks = import 'LrTasks' -local LrView = import 'LrView' +local LrDialogs = import 'LrDialogs' +local LrFunctionContext = import 'LrFunctionContext' +local LrTasks = import 'LrTasks' +local LrView = import 'LrView' local function fApplyPreset(presetnumber) return function() From 09998b94da77e932837db715a0d2905151477a74 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 23 Jan 2016 20:16:17 -0800 Subject: [PATCH 37/87] add separators to number display on bezel --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 38e3795fa..974aed032 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -251,9 +251,9 @@ local function updateParam() --closure value = midi_lerp_to_develop(param, midi_value) local actualvalue = LrDevelopController.getValue(param) local precision = Ut.precision(value) - LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToString(value,precision)..' '..LrStringUtils.numberToString(actualvalue,precision)) + LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToStringWithSeparators(value,precision)..' '..LrStringUtils.numberToStringWithSeparators(actualvalue,precision)) else - LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToString(value,Ut.precision(value))) + LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToStringWithSeparators(value,Ut.precision(value))) end end Profiles.changeProfile(Parameters.Names[param][3]) From fb8b655723def1551daace2dce840d90aeef7ea0 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 23 Jan 2016 20:22:04 -0800 Subject: [PATCH 38/87] 'value' shouldn't be upvalue in updateParam --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 974aed032..8ef4c5933 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -217,8 +217,8 @@ end local function updateParam() --closure local lastclock, lastparam --tracking for pickup when scrubbing control rapidly - local value return function(param, midi_value) + local value -- this function does a 'pickup' type of check -- that is, it will ensure the develop parameter is close -- to what the inputted command value is before updating it From 521cdb87a397b552e41bf694ce99c8e1a00ff823 Mon Sep 17 00:00:00 2001 From: jewest Date: Sun, 24 Jan 2016 08:34:54 +0100 Subject: [PATCH 39/87] changing the SetCommandMap to Init as more parameters need to be added. --- Source/CommandTableModel.cpp | 2 +- Source/CommandTableModel.h | 2 +- Source/LR_IPC_In.cpp | 2 +- Source/LR_IPC_In.h | 2 +- Source/LR_IPC_Out.cpp | 2 +- Source/LR_IPC_Out.h | 2 +- Source/ProfileManager.cpp | 6 +----- Source/ProfileManager.h | 6 +++--- 8 files changed, 10 insertions(+), 14 deletions(-) diff --git a/Source/CommandTableModel.cpp b/Source/CommandTableModel.cpp index 4f7ed8e6f..ae700963e 100644 --- a/Source/CommandTableModel.cpp +++ b/Source/CommandTableModel.cpp @@ -167,7 +167,7 @@ void CommandTableModel::buildFromXml(XmlElement *root) } } -void CommandTableModel::SetCommandMap(CommandMap *mapCommand) +void CommandTableModel::Init(CommandMap *mapCommand) { //copy the pointer m_commandMap = mapCommand; diff --git a/Source/CommandTableModel.h b/Source/CommandTableModel.h index 301e62d79..e23f06481 100644 --- a/Source/CommandTableModel.h +++ b/Source/CommandTableModel.h @@ -47,7 +47,7 @@ class CommandTableModel : public TableListBoxModel // returns the index of the row associated to a particular MIDI message int getRowForMessage(int midi_channel, int midi_data, bool isCC) const; - + void Init(CommandMap *mapCommand); private: int _rows; std::vector _commands; diff --git a/Source/LR_IPC_In.cpp b/Source/LR_IPC_In.cpp index d8e518d75..7d831a19f 100644 --- a/Source/LR_IPC_In.cpp +++ b/Source/LR_IPC_In.cpp @@ -50,7 +50,7 @@ void LR_IPC_IN::timerCallback() } } -void LR_IPC_IN::SetCommandMap(CommandMap * mapCommand) +void LR_IPC_IN::Init(CommandMap * mapCommand) { m_commandMap = mapCommand; } diff --git a/Source/LR_IPC_In.h b/Source/LR_IPC_In.h index 377c731e7..d2df92832 100644 --- a/Source/LR_IPC_In.h +++ b/Source/LR_IPC_In.h @@ -44,7 +44,7 @@ class LR_IPC_IN : public StreamingSocket, // Timer callback virtual void timerCallback() override; - void SetCommandMap(CommandMap *mapCommand); + void Init(CommandMap *mapCommand); private: // process a line received from the socket void processLine(const String& line); diff --git a/Source/LR_IPC_Out.cpp b/Source/LR_IPC_Out.cpp index eda639de8..901935877 100644 --- a/Source/LR_IPC_Out.cpp +++ b/Source/LR_IPC_Out.cpp @@ -45,7 +45,7 @@ void LR_IPC_OUT::timerCallback() connectToSocket("127.0.0.1", LR_OUT_PORT, 100); } -void LR_IPC_OUT::SetCommandMap(CommandMap * mapCommand) +void LR_IPC_OUT::Init(CommandMap * mapCommand) { m_commandMap = mapCommand; } diff --git a/Source/LR_IPC_Out.h b/Source/LR_IPC_Out.h index 44de67a34..6053ac3d5 100644 --- a/Source/LR_IPC_Out.h +++ b/Source/LR_IPC_Out.h @@ -68,7 +68,7 @@ class LR_IPC_OUT : public InterprocessConnection, // Timer callback virtual void timerCallback() override; - void SetCommandMap(CommandMap *mapCommand); + void Init(CommandMap *mapCommand); private: CommandMap *m_commandMap; diff --git a/Source/ProfileManager.cpp b/Source/ProfileManager.cpp index 4676e44e2..279781b6f 100644 --- a/Source/ProfileManager.cpp +++ b/Source/ProfileManager.cpp @@ -171,11 +171,7 @@ void ProfileManager::disconnected() } -void ProfileManager::SetCommandMap(CommandMap *mapCommand) -{ - //copy the pointer - m_commandMap = mapCommand; -} + void ProfileManager::Init(LR_IPC_IN * in, LR_IPC_OUT *out, CommandMap *commandMap) { diff --git a/Source/ProfileManager.h b/Source/ProfileManager.h index 1e8b2013e..8eb1d975f 100644 --- a/Source/ProfileManager.h +++ b/Source/ProfileManager.h @@ -71,9 +71,8 @@ class ProfileManager : public MIDICommandListener, // LRConnectionListener interface virtual void connected() override; - virtual void disconnected() override; - void SetCommandMap(CommandMap *map); - void Init(LR_IPC_IN *in, LR_IPC_OUT out, CommandMap commandMap); + virtual void disconnected() override; + void Init(LR_IPC_OUT *out, CommandMap *commandMap); private: enum class SWITCH_STATE { @@ -93,6 +92,7 @@ class ProfileManager : public MIDICommandListener, int _currentProfileIdx; SWITCH_STATE _switchState; CommandMap *m_commandMap; + LR_IPC_OUT *m_lr_IPC_OUT; }; From 565bda8440704b09ba99a194371daa6637c4ce9f Mon Sep 17 00:00:00 2001 From: jewest Date: Sun, 24 Jan 2016 09:06:59 +0100 Subject: [PATCH 40/87] Adding multiple init functions. Code is currently not compiling. --- Source/CommandMenu.cpp | 22 ++- Source/CommandMenu.h | 3 +- Source/LR_IPC_In.cpp | 16 ++- Source/LR_IPC_In.h | 4 +- Source/LR_IPC_Out.cpp | 4 +- Source/Main.cpp | 9 +- Source/MainComponent.cpp | 288 ++++++++++++++++++++------------------ Source/MainComponent.h | 10 +- Source/MainWindow.cpp | 2 +- Source/ProfileManager.cpp | 22 ++- 10 files changed, 212 insertions(+), 168 deletions(-) diff --git a/Source/CommandMenu.cpp b/Source/CommandMenu.cpp index 495b04ebc..76b7a056f 100644 --- a/Source/CommandMenu.cpp +++ b/Source/CommandMenu.cpp @@ -27,9 +27,9 @@ MIDI2LR. If not, see . CommandMenu::CommandMenu(const MIDI_Message& msg): _msg(msg), _selectedItem(std::numeric_limits::max()), -TextButton("Unmapped") +TextButton("Unmapped"), m_commandMap(NULL) { - addListener(this); + } void CommandMenu::setMsg(const MIDI_Message& msg) @@ -89,9 +89,9 @@ void CommandMenu::buttonClicked(Button* UNUSED_ARG(button)) for (auto cmd : menuEntries[menuIdx]) { bool alreadyMapped = false; - if (idx - 1 < LRCommandList::LRStringList.size()) + if ((idx - 1 < LRCommandList::LRStringList.size()) && (m_commandMap)) { - alreadyMapped = CommandMap::getInstance().commandHasAssociatedMessage(LRCommandList::LRStringList[idx - 1]); + alreadyMapped = m_commandMap->commandHasAssociatedMessage(LRCommandList::LRStringList[idx - 1]); } // add each submenu entry, ticking the previously selected entry and disabling a previously mapped entry @@ -108,11 +108,12 @@ void CommandMenu::buttonClicked(Button* UNUSED_ARG(button)) subMenuTickSet |= (_selectedItem < idx && !subMenuTickSet); } - if (unsigned int result = mainMenu.show()) + unsigned int result = mainMenu.show(); + if ((result) && (m_commandMap)) { // user chose a different command, remove previous command mapping associated to this menu if (_selectedItem < std::numeric_limits::max()) - CommandMap::getInstance().removeMessage(_msg); + m_commandMap->removeMessage(_msg); if (result - 1 < LRCommandList::LRStringList.size()) setButtonText(LRCommandList::LRStringList[result - 1]); @@ -122,7 +123,7 @@ void CommandMenu::buttonClicked(Button* UNUSED_ARG(button)) _selectedItem = result; // Map the selected command to the CC - CommandMap::getInstance().addCommandforMessage(result - 1, _msg); + m_commandMap->addCommandforMessage(result - 1, _msg); } } @@ -133,4 +134,11 @@ void CommandMenu::setSelectedItem(unsigned int idx) setButtonText(LRCommandList::LRStringList[idx - 1]); else setButtonText(LRCommandList::NextPrevProfile[idx - 1 - LRCommandList::LRStringList.size()]); +} + +void CommandMenu::Init(CommandMap *mapCommand) +{ + //copy the pointer + m_commandMap = mapCommand; + addListener(this); } \ No newline at end of file diff --git a/Source/CommandMenu.h b/Source/CommandMenu.h index 5982fa634..0240cf462 100644 --- a/Source/CommandMenu.h +++ b/Source/CommandMenu.h @@ -39,10 +39,11 @@ class CommandMenu : public TextButton, // ButtonListener interface virtual void buttonClicked(Button* button) override; - + void Init(CommandMap *mapCommand); private: MIDI_Message _msg; size_t _selectedItem; + CommandMap *m_commandMap; }; diff --git a/Source/LR_IPC_In.cpp b/Source/LR_IPC_In.cpp index 7d831a19f..d6c1bf2f7 100644 --- a/Source/LR_IPC_In.cpp +++ b/Source/LR_IPC_In.cpp @@ -21,16 +21,16 @@ MIDI2LR. If not, see . */ #include "LR_IPC_In.h" #include "MIDISender.h" -#include "ProfileManager.h" + #include "Logger.h" //define the communication port #define LR_IN_PORT 58764 LR_IPC_IN::LR_IPC_IN() : StreamingSocket(), -Thread("LR_IPC_IN"), m_commandMap(NULL) +Thread("LR_IPC_IN"), m_commandMap(NULL), m_profileManager(NULL) { - startTimer(1000); + MIDISender::getInstance(); // enumerate MIDI output devices } @@ -50,9 +50,12 @@ void LR_IPC_IN::timerCallback() } } -void LR_IPC_IN::Init(CommandMap * mapCommand) +void LR_IPC_IN::Init(CommandMap * mapCommand, ProfileManager *profileManager) { m_commandMap = mapCommand; + m_profileManager = profileManager; + //start the timer + startTimer(1000); } void LR_IPC_IN::run() @@ -101,7 +104,10 @@ void LR_IPC_IN::processLine(const String& line) if (command == String("SwitchProfile")) { - ProfileManager::getInstance().switchToProfile(valueString.trim()); + if (m_profileManager) + { + m_profileManager->switchToProfile(valueString.trim()); + } } else { diff --git a/Source/LR_IPC_In.h b/Source/LR_IPC_In.h index d2df92832..4b110346d 100644 --- a/Source/LR_IPC_In.h +++ b/Source/LR_IPC_In.h @@ -25,6 +25,7 @@ MIDI2LR. If not, see . #include "../JuceLibraryCode/JuceHeader.h" #include #include "CommandMap.h" +#include "ProfileManager.h" class LR_IPC_IN : public StreamingSocket, public Timer, @@ -44,11 +45,12 @@ class LR_IPC_IN : public StreamingSocket, // Timer callback virtual void timerCallback() override; - void Init(CommandMap *mapCommand); + void Init(CommandMap *mapCommand, ProfileManager *profileManager); private: // process a line received from the socket void processLine(const String& line); CommandMap *m_commandMap; + ProfileManager *m_profileManager; std::unordered_map parameterMap; }; diff --git a/Source/LR_IPC_Out.cpp b/Source/LR_IPC_Out.cpp index 901935877..f8a39e4fe 100644 --- a/Source/LR_IPC_Out.cpp +++ b/Source/LR_IPC_Out.cpp @@ -30,7 +30,7 @@ MIDI2LR. If not, see . LR_IPC_OUT::LR_IPC_OUT() : InterprocessConnection() { MIDIProcessor::getInstance().addMIDICommandListener(this); - startTimer(1000); + } void LR_IPC_OUT::shutdown() @@ -48,6 +48,8 @@ void LR_IPC_OUT::timerCallback() void LR_IPC_OUT::Init(CommandMap * mapCommand) { m_commandMap = mapCommand; + //start the timer + startTimer(1000); } void LR_IPC_OUT::addListener(LRConnectionListener *listener) diff --git a/Source/Main.cpp b/Source/Main.cpp index 6d4696e2a..190ba4593 100644 --- a/Source/Main.cpp +++ b/Source/Main.cpp @@ -48,13 +48,14 @@ class MIDI2LRApplication : public JUCEApplication { if (commandLine != SHUT_DOWN_STRING) { - + m_lr_IPC_OUT.Init(&m_commandMap); //set the reference to the command map - m_profileManager.Init(m_lr_IPC_IN, m_lr_IPC_OUT) - m_profileManager.SetCommandMap(&m_commandMap); + m_profileManager.Init(&m_lr_IPC_OUT, &m_commandMap); + //init the IPC_In + m_lr_IPC_IN.Init(&m_commandMap, &m_profileManager); mainWindow = new MainWindow(getApplicationName()); - mainWindow->Init(m_commandMap); + mainWindow->Init(&m_commandMap); // Check for latest version _versionChecker.startThread(); diff --git a/Source/MainComponent.cpp b/Source/MainComponent.cpp index 9a948bc4c..8e5d003cd 100644 --- a/Source/MainComponent.cpp +++ b/Source/MainComponent.cpp @@ -40,143 +40,12 @@ _versionLabel("Version", "Version " + String(ProjectInfo::versionString)), _settingsButton("Settings"), _profileNameLabel("ProfileNameLabel", ""), - m_currentStatus("CurrentStatus", "no extra info") + m_currentStatus("CurrentStatus", "no extra info"), + m_commandMap(NULL), + m_lr_IPC_IN(NULL), + m_lr_IPC_OUT(NULL) { - - // Get and set our app settings - // The causes the other objects to be initialized correctly. - SettingsManager::getInstance(); - - // Add ourselves as a listener for MIDI commands - MIDIProcessor::getInstance().addMIDICommandListener(this); - - // Add ourselves as a listener for LR_IPC_OUT events - LR_IPC_OUT::getInstance().addListener(this); - - // Start LR_IPC_IN - LR_IPC_IN::getInstance(); - - // Add ourselves as a listener for profile changes - ProfileManager::getInstance().addListener(this); - - //Set the component size - setSize(MAIN_WIDTH, MAIN_HEIGHT); - - // Main title - _titleLabel.setFont(Font(36.f, Font::bold)); - _titleLabel.setEditable(false); - _titleLabel.setColour(Label::textColourId, Colours::darkgrey); - _titleLabel.setComponentEffect(&_titleShadow); - _titleLabel.setBounds(MAIN_LEFT, 10, MAIN_WIDTH - 2*MAIN_LEFT, 30); - addToLayout(&_titleLabel, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_titleLabel); - - // Version label - SetLabelSettings(_versionLabel); - _versionLabel.setBounds(MAIN_LEFT, 40, MAIN_WIDTH - 2 * MAIN_LEFT, 10); - addToLayout(&_versionLabel, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_versionLabel); - - - // Connection status - _connectionLabel.setFont(Font(12.f, Font::bold)); - _connectionLabel.setEditable(false); - _connectionLabel.setColour(Label::backgroundColourId, Colours::red); - _connectionLabel.setColour(Label::textColourId, Colours::black); - _connectionLabel.setJustificationType(Justification::centred); - _connectionLabel.setBounds(200, 15, MAIN_WIDTH - MAIN_LEFT - 200, 20); - addToLayout(&_connectionLabel, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_connectionLabel); - - //get the button width - long buttonWidth = (MAIN_WIDTH - 2 * MAIN_LEFT - SPACEBETWEENBUTTON * 2) / 3; - - // Load button - _loadButton.addListener(this); - _loadButton.setBounds(MAIN_LEFT, 60, buttonWidth, 20); - addToLayout(&_loadButton, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_loadButton); - - // Save button - _saveButton.addListener(this); - _saveButton.setBounds(MAIN_LEFT + buttonWidth + SPACEBETWEENBUTTON, 60, buttonWidth, 20); - addToLayout(&_saveButton, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_saveButton); - - // Settings button - _settingsButton.addListener(this); - _settingsButton.setBounds(MAIN_LEFT + buttonWidth*2 + SPACEBETWEENBUTTON*2, 60, buttonWidth, 20); - addToLayout(&_settingsButton, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_settingsButton); - - - - // Command Table - _commandTable.setModel(&_commandTableModel); - _commandTable.setBounds(MAIN_LEFT , 100, MAIN_WIDTH - MAIN_LEFT*2, MAIN_HEIGHT - 210); - addToLayout(&_commandTable, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_commandTable); - - - long labelWidth = (MAIN_WIDTH - MAIN_LEFT * 2) / 2; - - - // Profile name label - SetLabelSettings(_profileNameLabel); - _profileNameLabel.setBounds(MAIN_LEFT, MAIN_HEIGHT - 100, labelWidth, 20); - addToLayout(&_profileNameLabel, anchorMidLeft, anchorMidRight); - _profileNameLabel.setJustificationType(Justification::centred); - addAndMakeVisible(_profileNameLabel); - - // Last MIDI command - _commandLabel.setFont(Font(12.f, Font::bold)); - _commandLabel.setEditable(false); - _commandLabel.setColour(Label::textColourId, Colours::darkgrey); - _commandLabel.setBounds(MAIN_LEFT + labelWidth, MAIN_HEIGHT - 100, labelWidth, 20); - addToLayout(&_commandLabel, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_commandLabel); - - // Remove row button - _removeRowButton.addListener(this); - _removeRowButton.setBounds(MAIN_LEFT, MAIN_HEIGHT - 75, MAIN_WIDTH - MAIN_LEFT * 2, 20); - addToLayout(&_removeRowButton, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_removeRowButton); - - - // Rescan MIDI button - _rescanButton.addListener(this); - _rescanButton.setBounds(MAIN_LEFT, MAIN_HEIGHT - 50, MAIN_WIDTH - MAIN_LEFT * 2, 20); - addToLayout(&_rescanButton, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_rescanButton); - - // adding the current status label, used for counting down. - m_currentStatus.setBounds(MAIN_LEFT, MAIN_HEIGHT - 30, MAIN_WIDTH - MAIN_LEFT * 2, 20); - addToLayout(&m_currentStatus, anchorMidLeft, anchorMidRight); - m_currentStatus.setJustificationType(Justification::centred); - SetLabelSettings(m_currentStatus); - addAndMakeVisible(m_currentStatus); - - _systemTrayComponent.setIconImage(ImageCache::getFromMemory(BinaryData::MIDI2LR_png, BinaryData::MIDI2LR_pngSize)); - - // Try to load a default.xml if the user has not set a profile directory - if (SettingsManager::getInstance().getProfileDirectory().isEmpty()) - { - File defaultProfile = File::getSpecialLocation(File::currentExecutableFile).getSiblingFile("default.xml"); - ScopedPointer elem = XmlDocument::parse(defaultProfile); - if (elem) - { - _commandTableModel.buildFromXml(elem); - _commandTable.updateContent(); - } - } - else - { - // otherwise use the last profile from the profile directory - ProfileManager::getInstance().switchToProfile(0); - } - - // turn it on - activateLayout(); + } MainContentComponent::~MainContentComponent() @@ -348,8 +217,151 @@ void MainContentComponent::SetTimerText(int timeValue) } -void MainContentComponent::SetCommandMap(CommandMap *commandMap) +void MainContentComponent::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out) { + //copy the pointers + m_commandMap = commandMap; + m_lr_IPC_IN = in; + m_lr_IPC_OUT = out; + //call the function of the sub component. - _commandTableModel.SetCommandMap(commandMap); + _commandTableModel.Init(commandMap); + + + + // Add ourselves as a listener for MIDI commands + MIDIProcessor::getInstance().addMIDICommandListener(this); + + if (m_lr_IPC_OUT) + { + // Add ourselves as a listener for LR_IPC_OUT events + m_lr_IPC_OUT->addListener(this); + } + // Start LR_IPC_IN + LR_IPC_IN::getInstance(); + + // Add ourselves as a listener for profile changes + ProfileManager::getInstance().addListener(this); + + //Set the component size + setSize(MAIN_WIDTH, MAIN_HEIGHT); + + // Main title + _titleLabel.setFont(Font(36.f, Font::bold)); + _titleLabel.setEditable(false); + _titleLabel.setColour(Label::textColourId, Colours::darkgrey); + _titleLabel.setComponentEffect(&_titleShadow); + _titleLabel.setBounds(MAIN_LEFT, 10, MAIN_WIDTH - 2 * MAIN_LEFT, 30); + addToLayout(&_titleLabel, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_titleLabel); + + // Version label + SetLabelSettings(_versionLabel); + _versionLabel.setBounds(MAIN_LEFT, 40, MAIN_WIDTH - 2 * MAIN_LEFT, 10); + addToLayout(&_versionLabel, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_versionLabel); + + + // Connection status + _connectionLabel.setFont(Font(12.f, Font::bold)); + _connectionLabel.setEditable(false); + _connectionLabel.setColour(Label::backgroundColourId, Colours::red); + _connectionLabel.setColour(Label::textColourId, Colours::black); + _connectionLabel.setJustificationType(Justification::centred); + _connectionLabel.setBounds(200, 15, MAIN_WIDTH - MAIN_LEFT - 200, 20); + addToLayout(&_connectionLabel, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_connectionLabel); + + //get the button width + long buttonWidth = (MAIN_WIDTH - 2 * MAIN_LEFT - SPACEBETWEENBUTTON * 2) / 3; + + // Load button + _loadButton.addListener(this); + _loadButton.setBounds(MAIN_LEFT, 60, buttonWidth, 20); + addToLayout(&_loadButton, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_loadButton); + + // Save button + _saveButton.addListener(this); + _saveButton.setBounds(MAIN_LEFT + buttonWidth + SPACEBETWEENBUTTON, 60, buttonWidth, 20); + addToLayout(&_saveButton, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_saveButton); + + // Settings button + _settingsButton.addListener(this); + _settingsButton.setBounds(MAIN_LEFT + buttonWidth * 2 + SPACEBETWEENBUTTON * 2, 60, buttonWidth, 20); + addToLayout(&_settingsButton, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_settingsButton); + + + + // Command Table + _commandTable.setModel(&_commandTableModel); + _commandTable.setBounds(MAIN_LEFT, 100, MAIN_WIDTH - MAIN_LEFT * 2, MAIN_HEIGHT - 210); + addToLayout(&_commandTable, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_commandTable); + + + long labelWidth = (MAIN_WIDTH - MAIN_LEFT * 2) / 2; + + + // Profile name label + SetLabelSettings(_profileNameLabel); + _profileNameLabel.setBounds(MAIN_LEFT, MAIN_HEIGHT - 100, labelWidth, 20); + addToLayout(&_profileNameLabel, anchorMidLeft, anchorMidRight); + _profileNameLabel.setJustificationType(Justification::centred); + addAndMakeVisible(_profileNameLabel); + + // Last MIDI command + _commandLabel.setFont(Font(12.f, Font::bold)); + _commandLabel.setEditable(false); + _commandLabel.setColour(Label::textColourId, Colours::darkgrey); + _commandLabel.setBounds(MAIN_LEFT + labelWidth, MAIN_HEIGHT - 100, labelWidth, 20); + addToLayout(&_commandLabel, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_commandLabel); + + // Remove row button + _removeRowButton.addListener(this); + _removeRowButton.setBounds(MAIN_LEFT, MAIN_HEIGHT - 75, MAIN_WIDTH - MAIN_LEFT * 2, 20); + addToLayout(&_removeRowButton, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_removeRowButton); + + + // Rescan MIDI button + _rescanButton.addListener(this); + _rescanButton.setBounds(MAIN_LEFT, MAIN_HEIGHT - 50, MAIN_WIDTH - MAIN_LEFT * 2, 20); + addToLayout(&_rescanButton, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_rescanButton); + + // adding the current status label, used for counting down. + m_currentStatus.setBounds(MAIN_LEFT, MAIN_HEIGHT - 30, MAIN_WIDTH - MAIN_LEFT * 2, 20); + addToLayout(&m_currentStatus, anchorMidLeft, anchorMidRight); + m_currentStatus.setJustificationType(Justification::centred); + SetLabelSettings(m_currentStatus); + addAndMakeVisible(m_currentStatus); + + _systemTrayComponent.setIconImage(ImageCache::getFromMemory(BinaryData::MIDI2LR_png, BinaryData::MIDI2LR_pngSize)); + + // Try to load a default.xml if the user has not set a profile directory + if (SettingsManager::getInstance().getProfileDirectory().isEmpty()) + { + File defaultProfile = File::getSpecialLocation(File::currentExecutableFile).getSiblingFile("default.xml"); + ScopedPointer elem = XmlDocument::parse(defaultProfile); + if (elem) + { + _commandTableModel.buildFromXml(elem); + _commandTable.updateContent(); + } + } + else + { + // otherwise use the last profile from the profile directory + ProfileManager::getInstance().switchToProfile(0); + } + + // turn it on + activateLayout(); + + + } \ No newline at end of file diff --git a/Source/MainComponent.h b/Source/MainComponent.h index 01f4aaae2..145cdd268 100644 --- a/Source/MainComponent.h +++ b/Source/MainComponent.h @@ -31,7 +31,9 @@ MIDI2LR. If not, see . #include "LR_IPC_OUT.h" #include "ProfileManager.h" #include "ResizableLayout.h" - +#include "CommandMap.h" +#include "LR_IPC_In.h" +#include "LR_IPC_Out.h" //============================================================================== /* This component lives inside our window, and this is where you should put all @@ -72,7 +74,7 @@ class MainContentComponent: public Component, // ProfileChangeListener interface virtual void profileChanged(XmlElement* elem, const String& filename) override; void SetTimerText(int timeValue); - void SetCommandMap(CommandMap *commandMap); + void Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out); protected: void SetLabelSettings(Label &lblToSet); @@ -98,7 +100,9 @@ class MainContentComponent: public Component, int _rowToSelect; Label m_currentStatus; - + CommandMap *m_commandMap; + LR_IPC_IN *m_lr_IPC_IN; + LR_IPC_OUT *m_lr_IPC_OUT; //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(MainContentComponent) diff --git a/Source/MainWindow.cpp b/Source/MainWindow.cpp index 509b9c17f..cb1b68dfd 100644 --- a/Source/MainWindow.cpp +++ b/Source/MainWindow.cpp @@ -64,6 +64,6 @@ void MainWindow::Init(CommandMap *commandMap) if (m_windowContent) { - m_windowContent->SetCommandMap(commandMap); + m_windowContent->Init(commandMap); } } \ No newline at end of file diff --git a/Source/ProfileManager.cpp b/Source/ProfileManager.cpp index 279781b6f..62fe2404a 100644 --- a/Source/ProfileManager.cpp +++ b/Source/ProfileManager.cpp @@ -22,11 +22,10 @@ MIDI2LR. If not, see . #include "ProfileManager.h" #include "LRCommands.h" -ProfileManager::ProfileManager() : _currentProfileIdx(0), m_commandMap(NULL) +ProfileManager::ProfileManager() : _currentProfileIdx(0), m_commandMap(NULL), m_lr_IPC_OUT(NULL) { MIDIProcessor::getInstance().addMIDICommandListener(this); - // add ourselves as a listener to LR_IPC_OUT so that we can send plugin settings on connection - LR_IPC_OUT::getInstance().addListener(this); + } void ProfileManager::addListener(ProfileChangeListener *listener) @@ -163,7 +162,10 @@ void ProfileManager::handleAsyncUpdate() void ProfileManager::connected() { String command = String("ChangedToDirectory ") + File::addTrailingSeparator(_profileLocation.getFullPathName()) + String("\n"); - LR_IPC_OUT::getInstance().sendCommand(command); + if (m_lr_IPC_OUT) + { + m_lr_IPC_OUT->sendCommand(command); + } } void ProfileManager::disconnected() @@ -173,10 +175,16 @@ void ProfileManager::disconnected() -void ProfileManager::Init(LR_IPC_IN * in, LR_IPC_OUT *out, CommandMap *commandMap) +void ProfileManager::Init(LR_IPC_OUT *out, CommandMap *commandMap) { - + //copy the pointers m_commandMap = commandMap; - m_l + m_lr_IPC_OUT = out; + + if (m_lr_IPC_OUT) + { + // add ourselves as a listener to LR_IPC_OUT so that we can send plugin settings on connection + m_lr_IPC_OUT->addListener(this); + } } From 53814fafea4f0842c5807f8891b409ccc4724c2c Mon Sep 17 00:00:00 2001 From: jewest Date: Sun, 24 Jan 2016 11:47:42 +0100 Subject: [PATCH 41/87] * updated jucer file * code changes to the new structure. --- .../MacOSX/MIDI2LR.xcodeproj/project.pbxproj | 26 +++++++++---- Builds/VisualStudio2015/MIDI2LR.vcxproj | 4 ++ .../VisualStudio2015/MIDI2LR.vcxproj.filters | 12 ++++++ MIDI2LR.jucer | 4 ++ Source/Main.cpp | 2 +- Source/MainComponent.cpp | 38 ++++++++++++------- Source/MainComponent.h | 3 +- Source/MainWindow.cpp | 14 +++++-- Source/MainWindow.h | 2 +- Source/ProfileManager.cpp | 13 +++++-- Source/SettingsManager.cpp | 38 ++++++++++++++----- Source/SettingsManager.h | 4 +- 12 files changed, 118 insertions(+), 42 deletions(-) diff --git a/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj b/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj index 6f172bb56..0ce5376eb 100644 --- a/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj @@ -31,10 +31,12 @@ D69B7302D8FB7CA7D3177E8B = {isa = PBXBuildFile; fileRef = 3E4802F0F4805A7E7EB2B145; }; BE7E7EF06FF4053F4417663C = {isa = PBXBuildFile; fileRef = 788447911A56FA34C9F8468E; }; 92A115CF461BA5CFDF750CA7 = {isa = PBXBuildFile; fileRef = CFE017FDA090DB4518F95826; }; + 8B92D87A2DC28454888C4715 = {isa = PBXBuildFile; fileRef = 48F669CB142112056FE1F824; }; 1CBFBED27592AE60502C81C3 = {isa = PBXBuildFile; fileRef = 5205E1551934B25B9956903B; }; 9E93D02BAAABEC609B0C971E = {isa = PBXBuildFile; fileRef = 8AF22C33AD756CE92BD78342; }; 8584B2E7A0E81121CB3AD270 = {isa = PBXBuildFile; fileRef = AD396CA18E78352CDACA5B11; }; 1540FF38AD9DA033678B9E98 = {isa = PBXBuildFile; fileRef = 65E2C6C9B28AA3EC1CC7C8FC; }; + FA0C76F8332B7BF723F4028C = {isa = PBXBuildFile; fileRef = 1940EA1FB0546F34D8D5E1F6; }; 030A0FF64880E45F1120D6F5 = {isa = PBXBuildFile; fileRef = 8A8EAF03FF5DECFB9DFA6B3A; }; CC30A9FC4414ABFB45AB7DCC = {isa = PBXBuildFile; fileRef = 6E89AD5369AA123E9CA80EF2; }; 21BB56FADCEF5D0529B5EAF2 = {isa = PBXBuildFile; fileRef = 52CFE46C8A0C45DF1E78214E; }; @@ -123,6 +125,7 @@ 152FF5E4CA1548F346F87BC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../JuceLibraryCode/modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; 153CA9FCCFBA656F21158D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../JuceLibraryCode/modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 155059FD2E1678B3DF7F443D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../JuceLibraryCode/modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15FA0B7C67097A38DF3129CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Subject.h; path = ../../Source/Pattern/Subject.h; sourceTree = "SOURCE_ROOT"; }; 161702CC648B03B4088D10F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; 16205FA380E952BCE89E79AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 16298BEA0621050945CBC003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../JuceLibraryCode/modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -130,6 +133,7 @@ 16555B585BD49AB7E54EE2E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../JuceLibraryCode/modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; 1694DEB0227D496CA295924D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../JuceLibraryCode/modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 178D82D3958E586B30F8779C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../JuceLibraryCode/modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 1940EA1FB0546F34D8D5E1F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Subject.cpp; path = ../../Source/Pattern/Subject.cpp; sourceTree = "SOURCE_ROOT"; }; 1966C7765223EE1AC2235431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; 196A06E04ABFE37429A8AD61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../JuceLibraryCode/modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; 198B1451663D200CEA7A1862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../JuceLibraryCode/modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -292,6 +296,7 @@ 47BBF6835986B68246DB64BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../JuceLibraryCode/modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; 48850D0FD455E7CD2C7E7D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 488A37C1B3B96ECCE82B27FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "LR_IPC_Out.h"; path = "../../Source/LR_IPC_Out.h"; sourceTree = "SOURCE_ROOT"; }; + 48F669CB142112056FE1F824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Observer.cpp; path = ../../Source/Pattern/Observer.cpp; sourceTree = "SOURCE_ROOT"; }; 492331B0AB87CA4A9A31F975 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../JuceLibraryCode/modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; 4950D57DAE7F737898EC8147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../JuceLibraryCode/modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4966DE403A6E2883A1C8C701 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../JuceLibraryCode/modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -435,6 +440,7 @@ 731F2522F2E008F512D624CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../JuceLibraryCode/modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 737123F87F63056306D39024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; 737AA541D5D2F41F56BA4DC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 73A8B8FFA4D555679DB720D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Observer.h; path = ../../Source/Pattern/Observer.h; sourceTree = "SOURCE_ROOT"; }; 74116C3B2C7D3523BE81E443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; 742A1248E99B2EBCC195286E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../JuceLibraryCode/modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; 743048CBBE531BEAC6E493EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; @@ -858,26 +864,26 @@ F6D931EB0604AD60E9F70F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; F6E69B09CECE5CD5E419FF91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../JuceLibraryCode/modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; F74E49635ECD2D78F0F97E48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + F7AC3BBBFC22AE94744A5FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../JuceLibraryCode/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; F7B3F9A2CBFB9A15A2BDC3AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../JuceLibraryCode/modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; F8385941A9268BD0CE800D7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../JuceLibraryCode/modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; F84D0C9D4F1A55ABC83A24EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; F853C5D2773568F07A0A62FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F854ED33440050DBCFD409D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - F9C397433875F6000E177FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../JuceLibraryCode/modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - FB0F7EFEC1238ADBF04AF564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; - FB26AB13320E7FE23471AFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; - FCC634EDF1A744741FBB6CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../JuceLibraryCode/modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; - FD6C1589BB9EF20BD7D7154B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - 6A030DC000B789816E435FB9 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MIDI2LR.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - F7AC3BBBFC22AE94744A5FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../JuceLibraryCode/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; F86C88FD31DFABC3488E0610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../JuceLibraryCode/modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; F8EEBC8817E57089C3738FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../JuceLibraryCode/modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9C397433875F6000E177FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../JuceLibraryCode/modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; F9C76C2AD6FFF19F9AA24E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../JuceLibraryCode/modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + FD6C1589BB9EF20BD7D7154B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 6A030DC000B789816E435FB9 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MIDI2LR.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; F9EA1B41D7B25061F00749C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../JuceLibraryCode/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; FA2E55FDDA089D2D3C6C3A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../JuceLibraryCode/modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; FACA2C908814935559DC53D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../JuceLibraryCode/modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; FAE0378833BE8E21E5B5C55D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../JuceLibraryCode/modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + FB0F7EFEC1238ADBF04AF564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB26AB13320E7FE23471AFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; FBF43EF8AE84E0B52F5F970A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../JuceLibraryCode/modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCC634EDF1A744741FBB6CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../JuceLibraryCode/modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; FCDA131360F7FA86744367C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../JuceLibraryCode/modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; FCE088A62EF464C171C91BFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../JuceLibraryCode/modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; FD135BAD216676566B9AB735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../JuceLibraryCode/modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -915,6 +921,8 @@ 8B48AA4158D30D069C86D2CD, CFE017FDA090DB4518F95826, E03CBAF954A7A416CC4C5EFB, + 48F669CB142112056FE1F824, + 73A8B8FFA4D555679DB720D1, 5205E1551934B25B9956903B, 8F2F3EF8BC150F74514D10FE, 8AF22C33AD756CE92BD78342, @@ -923,6 +931,8 @@ 6C172730F53564B934CB040F, 65E2C6C9B28AA3EC1CC7C8FC, AAD7763B1A01636F834617D5, + 1940EA1FB0546F34D8D5E1F6, + 15FA0B7C67097A38DF3129CC, DD30AF4CB8E5661E88A3D998, 8A8EAF03FF5DECFB9DFA6B3A, C767DD9CCF0D2A54A87C281A, ); name = Source; sourceTree = ""; }; @@ -2004,10 +2014,12 @@ D69B7302D8FB7CA7D3177E8B, BE7E7EF06FF4053F4417663C, 92A115CF461BA5CFDF750CA7, + 8B92D87A2DC28454888C4715, 1CBFBED27592AE60502C81C3, 9E93D02BAAABEC609B0C971E, 8584B2E7A0E81121CB3AD270, 1540FF38AD9DA033678B9E98, + FA0C76F8332B7BF723F4028C, 030A0FF64880E45F1120D6F5, CC30A9FC4414ABFB45AB7DCC, 21BB56FADCEF5D0529B5EAF2, diff --git a/Builds/VisualStudio2015/MIDI2LR.vcxproj b/Builds/VisualStudio2015/MIDI2LR.vcxproj index 6d5ce866a..21c3d9fac 100644 --- a/Builds/VisualStudio2015/MIDI2LR.vcxproj +++ b/Builds/VisualStudio2015/MIDI2LR.vcxproj @@ -142,10 +142,12 @@ + + true @@ -1200,10 +1202,12 @@ + + diff --git a/Builds/VisualStudio2015/MIDI2LR.vcxproj.filters b/Builds/VisualStudio2015/MIDI2LR.vcxproj.filters index b4f090755..65d5f8a0a 100644 --- a/Builds/VisualStudio2015/MIDI2LR.vcxproj.filters +++ b/Builds/VisualStudio2015/MIDI2LR.vcxproj.filters @@ -292,6 +292,9 @@ MIDI2LR\Source + + MIDI2LR\Source + MIDI2LR\Source @@ -304,6 +307,9 @@ MIDI2LR\Source + + MIDI2LR\Source + MIDI2LR\Source @@ -1470,6 +1476,9 @@ MIDI2LR\Source + + MIDI2LR\Source + MIDI2LR\Source @@ -1482,6 +1491,9 @@ MIDI2LR\Source + + MIDI2LR\Source + MIDI2LR\Source diff --git a/MIDI2LR.jucer b/MIDI2LR.jucer index d8eb86fb2..d9a938505 100644 --- a/MIDI2LR.jucer +++ b/MIDI2LR.jucer @@ -36,6 +36,8 @@ + + + + diff --git a/Source/Main.cpp b/Source/Main.cpp index 190ba4593..a7cd54309 100644 --- a/Source/Main.cpp +++ b/Source/Main.cpp @@ -55,7 +55,7 @@ class MIDI2LRApplication : public JUCEApplication m_lr_IPC_IN.Init(&m_commandMap, &m_profileManager); mainWindow = new MainWindow(getApplicationName()); - mainWindow->Init(&m_commandMap); + mainWindow->Init(&m_commandMap, m_lr_IPC_IN, m_lr_IPC_OUT, , m_profileManager, ); // Check for latest version _versionChecker.startThread(); diff --git a/Source/MainComponent.cpp b/Source/MainComponent.cpp index 8e5d003cd..8f5249703 100644 --- a/Source/MainComponent.cpp +++ b/Source/MainComponent.cpp @@ -17,7 +17,7 @@ MIDI2LR. If not, see . #include "MainComponent.h" #include "LR_IPC_IN.h" #include "MIDISender.h" -#include "SettingsManager.h" + #include "SettingsComponent.h" #define MAIN_WIDTH 400 @@ -121,7 +121,10 @@ void MainContentComponent::buttonClicked(Button* button) MIDIProcessor::getInstance().rescanDevices(); MIDISender::getInstance().rescanDevices(); // Send new CC parameters to MIDI Out devices - LR_IPC_IN::getInstance().refreshMIDIOutput(); + if (m_lr_IPC_IN) + { + m_lr_IPC_IN->refreshMIDIOutput(); + } } else if (button == &_removeRowButton) { @@ -201,7 +204,10 @@ void MainContentComponent::profileChanged(XmlElement* elem, const String& filena _systemTrayComponent.showInfoBubble(filename, "Profile loaded"); // Send new CC parameters to MIDI Out devices - LR_IPC_IN::getInstance().refreshMIDIOutput(); + if (m_lr_IPC_IN) + { + m_lr_IPC_IN->refreshMIDIOutput(); + } } void MainContentComponent::SetTimerText(int timeValue) @@ -217,7 +223,7 @@ void MainContentComponent::SetTimerText(int timeValue) } -void MainContentComponent::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out) +void MainContentComponent::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager) { //copy the pointers m_commandMap = commandMap; @@ -226,22 +232,24 @@ void MainContentComponent::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OU //call the function of the sub component. _commandTableModel.Init(commandMap); - - - - // Add ourselves as a listener for MIDI commands - MIDIProcessor::getInstance().addMIDICommandListener(this); - + + if (midiProcessor) + { + // Add ourselves as a listener for MIDI commands + midiProcessor->addMIDICommandListener(this); + } + if (m_lr_IPC_OUT) { // Add ourselves as a listener for LR_IPC_OUT events m_lr_IPC_OUT->addListener(this); } - // Start LR_IPC_IN - LR_IPC_IN::getInstance(); - // Add ourselves as a listener for profile changes - ProfileManager::getInstance().addListener(this); + if (profileManager) + { + // Add ourselves as a listener for profile changes + profileManager->addListener(this); + } //Set the component size setSize(MAIN_WIDTH, MAIN_HEIGHT); @@ -342,6 +350,8 @@ void MainContentComponent::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OU _systemTrayComponent.setIconImage(ImageCache::getFromMemory(BinaryData::MIDI2LR_png, BinaryData::MIDI2LR_pngSize)); + + // Try to load a default.xml if the user has not set a profile directory if (SettingsManager::getInstance().getProfileDirectory().isEmpty()) { diff --git a/Source/MainComponent.h b/Source/MainComponent.h index 145cdd268..fa0cc400c 100644 --- a/Source/MainComponent.h +++ b/Source/MainComponent.h @@ -34,6 +34,7 @@ MIDI2LR. If not, see . #include "CommandMap.h" #include "LR_IPC_In.h" #include "LR_IPC_Out.h" +#include "SettingsManager.h" //============================================================================== /* This component lives inside our window, and this is where you should put all @@ -74,7 +75,7 @@ class MainContentComponent: public Component, // ProfileChangeListener interface virtual void profileChanged(XmlElement* elem, const String& filename) override; void SetTimerText(int timeValue); - void Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out); + void Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager); protected: void SetLabelSettings(Label &lblToSet); diff --git a/Source/MainWindow.cpp b/Source/MainWindow.cpp index cb1b68dfd..3e2af7559 100644 --- a/Source/MainWindow.cpp +++ b/Source/MainWindow.cpp @@ -54,16 +54,24 @@ void MainWindow::timerCallback(void) } -void MainWindow::Init(CommandMap *commandMap) +void MainWindow::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager) { // get the auto time setting - m_autoHideCounter = SettingsManager::getInstance().getAutoHideTime(); + if (settingsManager) + { + m_autoHideCounter = settingsManager->getAutoHideTime(); + } + else + { + m_autoHideCounter = 0; + } + //start timing this->startTimer(1000); if (m_windowContent) { - m_windowContent->Init(commandMap); + m_windowContent->Init(commandMap,in, out, midiProcessor, profileManager, settingsManager); } } \ No newline at end of file diff --git a/Source/MainWindow.h b/Source/MainWindow.h index 8ea7ddf49..d37b7ba49 100644 --- a/Source/MainWindow.h +++ b/Source/MainWindow.h @@ -56,7 +56,7 @@ MIDI2LR. If not, see . JUCEApplication::getInstance()->systemRequestedQuit(); } - void Init(CommandMap *commandMap); + void Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager); /* Note: Be careful if you override any DocumentWindow methods - the base class uses a lot of them, so by overriding you might break its functionality. diff --git a/Source/ProfileManager.cpp b/Source/ProfileManager.cpp index 62fe2404a..2acba8db3 100644 --- a/Source/ProfileManager.cpp +++ b/Source/ProfileManager.cpp @@ -72,10 +72,15 @@ void ProfileManager::switchToProfile(const String& profile) ScopedPointer elem = XmlDocument::parse(profileFile); for (auto listener : _listeners) listener->profileChanged(elem, profile); - String command = String("ChangedToDirectory ") + File::addTrailingSeparator(_profileLocation.getFullPathName()) + String("\n"); - LR_IPC_OUT::getInstance().sendCommand(command); - command = String("ChangedToFile ") + profile + String("\n"); - LR_IPC_OUT::getInstance().sendCommand(command); + + if (m_lr_IPC_OUT) + { + String command = String("ChangedToDirectory ") + File::addTrailingSeparator(_profileLocation.getFullPathName()) + String("\n"); + m_lr_IPC_OUT->sendCommand(command); + command = String("ChangedToFile ") + profile + String("\n"); + m_lr_IPC_OUT->sendCommand(command); + } + } } diff --git a/Source/SettingsManager.cpp b/Source/SettingsManager.cpp index 8055406c4..8190aa197 100644 --- a/Source/SettingsManager.cpp +++ b/Source/SettingsManager.cpp @@ -26,7 +26,7 @@ MIDI2LR. If not, see . -SettingsManager::SettingsManager() +SettingsManager::SettingsManager() : m_lr_IPC_OUT(NULL) { PropertiesFile::Options opts; opts.applicationName = "MIDI2LR"; @@ -37,12 +37,6 @@ SettingsManager::SettingsManager() _propertiesFile = new PropertiesFile(opts); - // add ourselves as a listener to LR_IPC_OUT so that we can send plugin settings on connection - LR_IPC_OUT::getInstance().addListener(this); - - // set the profile directory - File profileDir(getProfileDirectory()); - ProfileManager::getInstance().setProfileDirectory(profileDir); } void SettingsManager::setPickupEnabled(bool enabled) @@ -51,7 +45,12 @@ void SettingsManager::setPickupEnabled(bool enabled) _propertiesFile->saveIfNeeded(); String command = String::formatted("Pickup %d\n", enabled); - LR_IPC_OUT::getInstance().sendCommand(command); + + if (m_lr_IPC_OUT) + { + m_lr_IPC_OUT->sendCommand(command); + } + } bool SettingsManager::getPickupEnabled() const @@ -76,7 +75,12 @@ void SettingsManager::setProfileDirectory(const String& profileDirStr) void SettingsManager::connected() { String command = String::formatted("Pickup %d\n", getPickupEnabled()); - LR_IPC_OUT::getInstance().sendCommand(command); + + if (m_lr_IPC_OUT) + { + m_lr_IPC_OUT->sendCommand(command); + } + } void SettingsManager::disconnected() @@ -95,3 +99,19 @@ void SettingsManager::setAutoHideTime(int newTime) _propertiesFile->saveIfNeeded(); } + +void SettingsManager::Init(LR_IPC_OUT *lr_IPC_OUT) +{ + m_lr_IPC_OUT = lr_IPC_OUT; + + if (m_lr_IPC_OUT) + { + // add ourselves as a listener to LR_IPC_OUT so that we can send plugin settings on connection + m_lr_IPC_OUT->addListener(this); + } + + // set the profile directory + File profileDir(getProfileDirectory()); + ProfileManager::getInstance().setProfileDirectory(profileDir); + +} \ No newline at end of file diff --git a/Source/SettingsManager.h b/Source/SettingsManager.h index 3f283b930..246c81e84 100644 --- a/Source/SettingsManager.h +++ b/Source/SettingsManager.h @@ -44,10 +44,10 @@ class SettingsManager : public LRConnectionListener int getAutoHideTime() const; void setAutoHideTime(int newTime); - + void Init(LR_IPC_OUT *lr_IPC_OUT); private: - + LR_IPC_OUT *m_lr_IPC_OUT; ScopedPointer _propertiesFile; }; From d55a9669a2424ce9abce92f142d9b01044a237bb Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 24 Jan 2016 09:55:09 -0800 Subject: [PATCH 42/87] consolidate frequently-used translations --- .../MIDI2LR.lrplugin/MenuListPreTrans.lua | 1088 +++++++++-------- 1 file changed, 555 insertions(+), 533 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index ca99e88a4..46f8ea14f 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -17,946 +17,968 @@ You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] +local basicTone = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone") +local calibration = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration") +local colorAdjustments = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments") +local detail = LOC("$$$/AgDevelop/Panel/Detail=Detail") +local developPreset = LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset") +local developPresets = LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets") +local effects = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects") +local gotoToolModulePanel = "Go to Tool, Module, or Panel" +local lensCorrections = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections") +local localizedAdjustments = "Localized Adjustments" +local miscellaneous = "Miscellaneous" +local photoActions = "Photo Actions" +local profile = LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:") +local profiles = LOC("$$$/CRaw/Style/Profiles=Profiles") +local reset = LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset") +local resetColorAdjustments = reset..' '..colorAdjustments +local show = LOC("$$$/AgLibrary/LibraryInfo/Show=Show") +local splitToning = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning") +local toneCurve = LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve") +local viewModes = LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes") +local whiteBalance = LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance") + local MenuList = { {"WhiteBalanceAs_Shot", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), + basicTone, true}, {"WhiteBalanceAuto", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), + basicTone, true}, {"WhiteBalanceCloudy", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), + basicTone, true}, {"WhiteBalanceDaylight", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), + basicTone, true}, {"WhiteBalanceFlash", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), + basicTone, true}, {"WhiteBalanceFluorescent", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), + basicTone, true}, {"WhiteBalanceShade", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), + basicTone, true}, {"WhiteBalanceTungsten", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), + basicTone, true}, {"Temperature", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Tint", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Exposure", LOC("$$$/AgCameraRawUI/Exposure=Exposure"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Contrast", LOC("$$$/AgCameraRawUI/Contrast=Contrast"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Highlights", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Shadows", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Whites", LOC("$$$/AgCameraRawUI/Whites=Whites"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Blacks", LOC("$$$/AgCameraRawUI/Blacks=Blacks"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Clarity", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Vibrance", LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"Saturation", LOC("$$$/AgCameraRawUI/Saturation=Saturation"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + basicTone, false}, {"ResetTemperature", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), + basicTone, true}, {"ResetTint", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), + basicTone, true}, {"ResetExposure", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), + basicTone, true}, {"ResetContrast", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), + basicTone, true}, {"ResetHighlights", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), + basicTone, true}, {"ResetShadows", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), + basicTone, true}, {"ResetWhites", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), + basicTone, true}, {"ResetBlacks", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), + basicTone, true}, {"ResetClarity", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), + basicTone, true}, {"ResetVibrance", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), + basicTone, true}, {"ResetSaturation", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), + reset..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), + basicTone, true}, {"ParametricDarks", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + toneCurve, false}, {"ParametricLights", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + toneCurve, false}, {"ParametricShadows", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + toneCurve, false}, {"ParametricHighlights", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + toneCurve, false}, {"ParametricShadowSplit", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + toneCurve, false}, {"ParametricMidtoneSplit", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + toneCurve, false}, {"ParametricHighlightSplit", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + toneCurve, false}, {"ResetParametricDarks", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), + toneCurve, true}, {"ResetParametricLights", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), + toneCurve, true}, {"ResetParametricShadows", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), + toneCurve, true}, {"ResetParametricHighlights", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), + toneCurve, true}, {"ResetParametricShadowSplit", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), + toneCurve, true}, {"ResetParametricMidtoneSplit", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), + toneCurve, true}, {"ResetParametricHighlightSplit", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), - LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), + toneCurve, true}, {"EnableColorAdjustments", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableColorAdjustments=Enable Color Adjustments"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, true}, {"SaturationAdjustmentRed", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"SaturationAdjustmentOrange", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"SaturationAdjustmentYellow", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"SaturationAdjustmentGreen", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"SaturationAdjustmentAqua", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"SaturationAdjustmentBlue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"SaturationAdjustmentPurple", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"SaturationAdjustmentMagenta", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"HueAdjustmentRed", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"HueAdjustmentOrange", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"HueAdjustmentYellow", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"HueAdjustmentGreen", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"HueAdjustmentAqua", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"HueAdjustmentBlue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"HueAdjustmentPurple", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"HueAdjustmentMagenta", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"LuminanceAdjustmentRed", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"LuminanceAdjustmentOrange", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"LuminanceAdjustmentYellow", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"LuminanceAdjustmentGreen", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"LuminanceAdjustmentAqua", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"LuminanceAdjustmentBlue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"LuminanceAdjustmentPurple", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"LuminanceAdjustmentMagenta", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"ConvertToGrayscale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ConvertToGrayscale=Convert to Grayscale"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, true}, {"EnableGrayscaleMix", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGrayscaleMix=Enable Grayscale Mix"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, true}, {"GrayMixerRed", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"GrayMixerOrange", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"GrayMixerYellow", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"GrayMixerGreen", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"GrayMixerAqua", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"GrayMixerBlue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"GrayMixerPurple", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"GrayMixerMagenta", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + colorAdjustments, false}, {"ResetSaturationAdjustmentRed", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), + resetColorAdjustments, true}, {"ResetSaturationAdjustmentOrange", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), + resetColorAdjustments, true}, {"ResetSaturationAdjustmentYellow", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), + resetColorAdjustments, true}, {"ResetSaturationAdjustmentGreen", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), + resetColorAdjustments, true}, {"ResetSaturationAdjustmentAqua", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), + resetColorAdjustments, true}, {"ResetSaturationAdjustmentBlue", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), + resetColorAdjustments, true}, {"ResetSaturationAdjustmentPurple", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), + resetColorAdjustments, true}, {"ResetSaturationAdjustmentMagenta", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), + resetColorAdjustments, true}, {"ResetHueAdjustmentRed", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), + resetColorAdjustments, true}, {"ResetHueAdjustmentOrange", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), + resetColorAdjustments, true}, {"ResetHueAdjustmentYellow", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), + resetColorAdjustments, true}, {"ResetHueAdjustmentGreen", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), + resetColorAdjustments, true}, {"ResetHueAdjustmentAqua", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), + resetColorAdjustments, true}, {"ResetHueAdjustmentBlue", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), + resetColorAdjustments, true}, {"ResetHueAdjustmentPurple", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), + resetColorAdjustments, true}, {"ResetHueAdjustmentMagenta", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), + resetColorAdjustments, true}, {"ResetLuminanceAdjustmentRed", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), + resetColorAdjustments, true}, {"ResetLuminanceAdjustmentOrange", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), + resetColorAdjustments, true}, {"ResetLuminanceAdjustmentYellow", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), + resetColorAdjustments, true}, {"ResetLuminanceAdjustmentGreen", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), + resetColorAdjustments, true}, {"ResetLuminanceAdjustmentAqua", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), + resetColorAdjustments, true}, {"ResetLuminanceAdjustmentBlue", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), + resetColorAdjustments, true}, {"ResetLuminanceAdjustmentPurple", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), + resetColorAdjustments, true}, {"ResetLuminanceAdjustmentMagenta", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), + resetColorAdjustments, true}, {"ResetGrayMixerRed", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), + resetColorAdjustments, true}, {"ResetGrayMixerOrange", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), + resetColorAdjustments, true}, {"ResetGrayMixerYellow", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), + resetColorAdjustments, true}, {"ResetGrayMixerGreen", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), + resetColorAdjustments, true}, {"ResetGrayMixerAqua", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), + resetColorAdjustments, true}, {"ResetGrayMixerBlue", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), + resetColorAdjustments, true}, {"ResetGrayMixerPurple", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), + resetColorAdjustments, true}, {"ResetGrayMixerMagenta", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), + resetColorAdjustments, true}, {"EnableSplitToning", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSplitToning=Enable Split Toning"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + splitToning, true}, {"SplitToningShadowHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + splitToning, false}, {"SplitToningShadowSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + splitToning, false}, {"SplitToningHighlightHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + splitToning, false}, {"SplitToningHighlightSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + splitToning, false}, {"SplitToningBalance", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + splitToning, false}, {"ResetSplitToningShadowHue", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), + splitToning, true}, {"ResetSplitToningShadowSaturation", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), + splitToning, true}, {"ResetSplitToningHighlightHue", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), + splitToning, true}, {"ResetSplitToningHighlightSaturation", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), + splitToning, true}, {"ResetSplitToningBalance", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), + splitToning, true}, {"EnableDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, true}, {"Sharpness", LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"SharpenRadius", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"SharpenDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"SharpenEdgeMasking", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"LuminanceSmoothing", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"LuminanceNoiseReductionDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"LuminanceNoiseReductionContrast", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"ColorNoiseReduction", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"ColorNoiseReductionDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"ColorNoiseReductionSmoothness", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + detail, false}, {"ResetSharpness", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), + detail, true}, {"ResetSharpenRadius", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), + detail, true}, {"ResetSharpenDetail", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), + detail, true}, {"ResetSharpenEdgeMasking", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), + detail, true}, {"ResetLuminanceSmoothing", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), + detail, true}, {"ResetLuminanceNoiseReductionDetail", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), + detail, true}, {"ResetLuminanceNoiseReductionContrast", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), + detail, true}, {"ResetColorNoiseReduction", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), + detail, true}, {"ResetColorNoiseReductionDetail", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), + detail, true}, {"ResetColorNoiseReductionSmoothness", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), - LOC("$$$/AgDevelop/Panel/Detail=Detail"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), + detail, true}, {"EnableLensCorrections", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, true}, {"LensProfileEnable", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileEnable=Lens Profile Enable"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, true}, {"AutoLateralCA", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RemoveChromaticAberration=Remove Chromatic Aberration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, true}, {"UprightOff", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, true}, {"UprightAuto", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, true}, {"UprightLevel", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, true}, {"UprightVertical", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, true}, {"UprightFull", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, true}, {"ResetPerspectiveUpright", LOC("$$$/AgCameraRawNamedSettings/Ops/ResetUprightSettings=Reset Upright Settings"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, true}, {"LensProfileDistortionScale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"LensProfileChromaticAberrationScale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"LensProfileVignettingScale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"ResetLensProfileDistortionScale", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), + lensCorrections, true}, {"ResetLensProfileChromaticAberrationScale", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), + lensCorrections, true}, {"ResetLensProfileVignettingScale", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), + lensCorrections, true}, {"DefringePurpleAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"DefringePurpleHueLo", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"DefringePurpleHueHi", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"DefringeGreenAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"DefringeGreenHueLo", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"DefringeGreenHueHi", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"ResetDefringePurpleAmount", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), + lensCorrections, true}, {"ResetDefringePurpleHueLo", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, true}, {"ResetDefringePurpleHueHi", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, true}, {"ResetDefringeGreenAmount", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), + lensCorrections, true}, {"ResetDefringeGreenHueLo", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, true}, {"ResetDefringeGreenHueHi", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, true}, {"LensManualDistortionAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"PerspectiveVertical", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"PerspectiveHorizontal", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"PerspectiveRotate", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"PerspectiveScale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"PerspectiveAspect", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"VignetteAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"VignetteMidpoint", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + lensCorrections, false}, {"ResetLensManualDistortionAmount", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), + lensCorrections, true}, {"ResetPerspectiveVertical", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), + lensCorrections, true}, {"ResetPerspectiveHorizontal", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), + lensCorrections, true}, {"ResetPerspectiveRotate", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), + lensCorrections, true}, {"ResetPerspectiveScale", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), + lensCorrections, true}, {"ResetPerspectiveAspect", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), + lensCorrections, true}, {"ResetVignetteAmount", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), + lensCorrections, true}, {"ResetVignetteMidpoint", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), + lensCorrections, true}, {"EnableEffects", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableEffects=Enable Effects"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, true}, {"Dehaze", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"PostCropVignetteAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"PostCropVignetteMidpoint", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"PostCropVignetteFeather", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"PostCropVignetteRoundness", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"PostCropVignetteStyle", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"PostCropVignetteHighlightContrast", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"GrainAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"GrainSize", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"GrainFrequency", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + effects, false}, {"ResetDehaze", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), + effects, true}, {"ResetPostCropVignetteAmount", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), + effects, true}, {"ResetPostCropVignetteMidpoint", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), + effects, true}, {"ResetPostCropVignetteFeather", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), + effects, true}, {"ResetPostCropVignetteRoundness", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), + effects, true}, {"ResetPostCropVignetteStyle", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), + effects, true}, {"ResetPostCropVignetteHighlightContrast", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), + effects, true}, {"ResetGrainAmount", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), + effects, true}, {"ResetGrainSize", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), + effects, true}, {"ResetGrainFrequency", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), + effects, true}, {"EnableCalibration", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableCalibration=Enable Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"Profile_Adobe_Standard", LOC("$$$/CRaw/Style/Profile/AdobeStandard=Adobe Standard"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"Profile_Camera_Clear", LOC("$$$/CRaw/Style/Profile/CameraClear=Camera Clear"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"Profile_Camera_Deep", LOC("$$$/CRaw/Style/Profile/CameraDeep=Camera Deep"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"Profile_Camera_Landscape", LOC("$$$/CRaw/Style/Profile/CameraLandscape=Camera Landscape"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"Profile_Camera_Light", LOC("$$$/CRaw/Style/Profile/CameraLight=Camera Light"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"Profile_Camera_Neutral", LOC("$$$/CRaw/Style/Profile/CameraNeutral=Camera Neutral"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"Profile_Camera_Portrait", LOC("$$$/CRaw/Style/Profile/CameraPortrait=Camera Portrait"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"Profile_Camera_Standard", LOC("$$$/CRaw/Style/Profile/CameraStandard=Camera Standard"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"Profile_Camera_Vivid", LOC("$$$/CRaw/Style/Profile/CameraVivid=Camera Vivid"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, true}, {"ShadowTint", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, false}, {"RedHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, false}, {"RedSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, false}, {"GreenHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, false}, {"GreenSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, false}, {"BlueHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, false}, {"BlueSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + calibration, false}, {"ResetShadowTint", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), + calibration, false}, {"ResetRedHue", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), + calibration, false}, {"ResetRedSaturation", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), + calibration, false}, {"ResetGreenHue", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), + calibration, false}, {"ResetGreenSaturation", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), + calibration, false}, {"ResetBlueHue", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), + calibration, false}, {"ResetBlueSaturation", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), + calibration, false}, {"Pick", LOC("$$$/AgLibrary/Help/Shortcuts/SetPick=Set Pick Flag"), - "Photo Actions", + photoActions, true}, {"Reject", LOC("$$$/AgLibrary/Help/Shortcuts/SetReject=Set Rejected Flag"), - "Photo Actions", + photoActions, true}, {"Next", LOC("$$$/AgDevelopShortcuts/Next_Photo=Next Photo"), - "Photo Actions", + photoActions, true}, {"Prev", LOC("$$$/AgDevelopShortcuts/Previous_Photo=Previous Photo"), - "Photo Actions", + photoActions, true}, {"Select1Left", LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), @@ -968,215 +990,215 @@ local MenuList = { true}, {"VirtualCopy", LOC("$$$/AgLibrary/Bezel/CreateVirtualCopy=Create Virtual Copy"):gsub('&',''), - "Photo Actions", + photoActions, true}, {"RemoveFlag", LOC("$$$/AgLibrary/Menu/Photo/SetPick/Unflagged=Unflagged"):gsub('&',''), - "Photo Actions", + photoActions, true}, {"IncreaseRating", LOC("$$$/AgLibrary/Ops/IncreaseRating=Increase Rating"), - "Photo Actions", + photoActions, true}, {"DecreaseRating", LOC("$$$/AgLibrary/Ops/DecreaseRating=Decrease Rating"), - "Photo Actions", + photoActions, true}, {"SetRating0", LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), - "Photo Actions", + photoActions, true}, {"SetRating1", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), - "Photo Actions", + photoActions, true}, {"SetRating2", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), - "Photo Actions", + photoActions, true}, {"SetRating3", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), - "Photo Actions", + photoActions, true}, {"SetRating4", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), - "Photo Actions", + photoActions, true}, {"SetRating5", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), - "Photo Actions", + photoActions, true}, {"ToggleBlue", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelBlue=Blue")), - "Photo Actions", + photoActions, true}, {"ToggleGreen", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelGreen=Green")), - "Photo Actions", + photoActions, true}, {"ToggleRed", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelRed=Red")), - "Photo Actions", + photoActions, true}, {"TogglePurple", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelPurple=Purple")), - "Photo Actions", + photoActions, true}, {"ToggleYellow", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelYellow=Yellow")), - "Photo Actions", + photoActions, true}, {"ResetAll", LOC("$$$/AgCameraRawNamedSettings/Ops/ResetSettings=Reset Settings"), - "Photo Actions", + photoActions, true}, {"ResetLast", - LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset")..' '..LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified"):gsub(':',''), - "Photo Actions", + reset..' '..LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified"):gsub(':',''), + photoActions, true}, {"IncrementLastDevelopParameter", LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 Increase: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), - "Photo Actions", + photoActions, true}, {"DecrementLastDevelopParameter", LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 Decrease: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), - "Photo Actions", + photoActions, true}, {"Undo", LOC("$$$/AgCameraRawController/SoftProofingVirtualCopyPrompt/Undo=Undo"), - "Photo Actions", + photoActions, true}, {"Redo", LOC("$$$/Bezel/RedoTitle=Redo"), - "Photo Actions", + photoActions, true}, {"CopySettings", "Copy Settings", - "Photo Actions", + photoActions, true}, {"PasteSettings", LOC("$$$/AgCameraRawNamedSettings/Ops/PasteSettings=Paste Settings"), - "Photo Actions", + photoActions, true}, {"PasteSelectedSettings", "Paste Selected Settings", - "Photo Actions", + photoActions, true}, {"Preset_1", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."1", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 1", + developPresets, true}, {"Preset_2", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."2", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 2", + developPresets, true}, {"Preset_3", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."3", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 3", + developPresets, true}, {"Preset_4", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."4", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 4", + developPresets, true}, {"Preset_5", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."5", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 5", + developPresets, true}, {"Preset_6", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."6", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 6", + developPresets, true}, {"Preset_7", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."7", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 7", + developPresets, true}, {"Preset_8", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."8", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 8", + developPresets, true}, {"Preset_9", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."9", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 9", + developPresets, true}, {"Preset_10", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."10", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 10", + developPresets, true}, {"Preset_11", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."11", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 11", + developPresets, true}, {"Preset_12", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."12", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 12", + developPresets, true}, {"Preset_13", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."13", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 13", + developPresets, true}, {"Preset_14", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."14", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 14", + developPresets, true}, {"Preset_15", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."15", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 15", + developPresets, true}, {"Preset_16", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."16", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 16", + developPresets, true}, {"Preset_17", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."17", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 17", + developPresets, true}, {"Preset_18", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."18", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 18", + developPresets, true}, {"Preset_19", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."19", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 19", + developPresets, true}, {"Preset_20", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset")..' '.."20", - LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets"), + developPreset.." 20", + developPresets, true}, {"local_Temperature", "Local Temperature (PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_Tint", "Local Tint (PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_Exposure", "Local Exposure (PV2010 and PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_Contrast", "Local Contrast (PV2010 and PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_Highlights", "Local Highlights (PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_Shadows", "Local Shadows (PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_Clarity", "Local Clarity (PV2010 and PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_Saturation", "Local Saturation (PV2010 and PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_Sharpness", "Local Sharpness (PV2010 and PV 2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_LuminanceNoise", "Local Luminance Noise (PV2012)", @@ -1184,51 +1206,51 @@ local MenuList = { false}, {"local_Moire", "Local Moire (PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_Defringe", "Local Defringe (PV2012)", - "Localized Adjustments", + localizedAdjustments, false}, {"local_ToningLuminance", "Local Toning Luminance (PV2010)", - "Localized Adjustments", + localizedAdjustments, false}, {"Resetlocal_Temperature", "Reset Local Temperature (PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_Tint", "Reset Local Tint (PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_Exposure", "Reset Local Exposure (PV2010 and PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_Contrast", "Reset Local Contrast (PV2010 and PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_Highlights", "Reset Local Highlights (PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_Shadows", "Reset Local Shadows (PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_Clarity", "Reset Local Clarity (PV2010 and PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_Saturation", "Reset Local Saturation (PV2010 and PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_Sharpness", "Reset Local Sharpness (PV2010 and PV 2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_LuminanceNoise", "Reset Local Luminance Noise (PV2012)", @@ -1236,295 +1258,295 @@ local MenuList = { true}, {"Resetlocal_Moire", "Reset Local Moire (PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_Defringe", "Reset Local Defringe (PV2012)", - "Localized Adjustments", + localizedAdjustments, true}, {"Resetlocal_ToningLuminance", "Reset Local Toning Luminance (PV2010)", - "Localized Adjustments", + localizedAdjustments, true}, {"EnableCircularGradientBasedCorrections", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), - "Localized Adjustments", + localizedAdjustments, true}, {"EnableGradientBasedCorrections", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), - "Localized Adjustments", + localizedAdjustments, true}, {"EnablePaintBasedCorrections", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), - "Localized Adjustments", + localizedAdjustments, true}, {"EnableRedEye", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), - "Localized Adjustments", + localizedAdjustments, true}, {"EnableRetouch", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), - "Localized Adjustments", + localizedAdjustments, true}, {"ResetCircGrad", LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), - "Localized Adjustments", + localizedAdjustments, true}, {"ResetGradient", LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), - "Localized Adjustments", + localizedAdjustments, true}, {"ResetBrushing", LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), - "Localized Adjustments", + localizedAdjustments, true}, {"ResetRedeye", LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), - "Localized Adjustments", + localizedAdjustments, true}, {"ResetSpotRem", LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), - "Localized Adjustments", + localizedAdjustments, true}, {"ZoomInLargeStep", LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomIn=Zoom In"), - "Miscellaneous", + miscellaneous, true}, {"ZoomInSmallStep", LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomInSome=Zoom In Some"), - "Miscellaneous", + miscellaneous, true}, {"ZoomOutSmallStep", LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOutSome=Zoom Out Some"), - "Miscellaneous", + miscellaneous, true}, {"ZoomOutLargeStep", LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOut=Zoom Out"), - "Miscellaneous", + miscellaneous, true}, {"ToggleZoomOffOn", "Toggle Zoom Off/On", - "Miscellaneous", + miscellaneous, true}, {"CropAngle", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropAngle=Crop Angle"), - "Miscellaneous", + miscellaneous, false}, {"CropBottom", LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), - "Miscellaneous", + miscellaneous, false}, {"CropLeft", LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), - "Miscellaneous", + miscellaneous, false}, {"CropRight", LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), - "Miscellaneous", + miscellaneous, false}, {"CropTop", LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), - "Miscellaneous", + miscellaneous, false}, {"ResetCrop", LOC("$$$/AgLibrary/Ops/ResetCrop=Reset Crop"), - "Miscellaneous", + miscellaneous, true}, {"Loupe", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), + gotoToolModulePanel, true}, {"CropOverlay", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop"), + gotoToolModulePanel, true}, {"SpotRemoval", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), + gotoToolModulePanel, true}, {"RedEye", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), + gotoToolModulePanel, true}, {"GraduatedFilter", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), + gotoToolModulePanel, true}, {"RadialFilter", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), + gotoToolModulePanel, true}, {"AdjustmentBrush", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), + gotoToolModulePanel, true}, {"SwToMlibrary", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), + gotoToolModulePanel, true}, {"SwToMdevelop", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), + gotoToolModulePanel, true}, {"SwToMmap", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), + gotoToolModulePanel, true}, {"SwToMbook", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), + gotoToolModulePanel, true}, {"SwToMslideshow", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), + gotoToolModulePanel, true}, {"SwToMprint", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), + gotoToolModulePanel, true}, {"SwToMweb", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), - "Go to Tool, Module, or Panel", + show..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), + gotoToolModulePanel, true}, {"RevealPanelAdjust", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/BasicAdjustments=Basic Adjustments"), - "Go to Tool, Module, or Panel", + show..' '..basicTone, + gotoToolModulePanel, true}, {"RevealPanelTone", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/ToneCurve=Tone Curve"), - "Go to Tool, Module, or Panel", + show..' '..toneCurve, + gotoToolModulePanel, true}, {"RevealPanelMixer", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments"), - "Go to Tool, Module, or Panel", + show..' '..colorAdjustments, + gotoToolModulePanel, true}, {"RevealPanelSplit", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/SplitToning=Split Toning"), - "Go to Tool, Module, or Panel", + show..' '..splitToning, + gotoToolModulePanel, true}, {"RevealPanelDetail", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/Detail=Detail"), - "Go to Tool, Module, or Panel", + show..' '..detail, + gotoToolModulePanel, true}, {"RevealPanelLens", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/LensCorrections=Lens Corrections"), - "Go to Tool, Module, or Panel", + show..' '..lensCorrections, + gotoToolModulePanel, true}, {"RevealPanelEffects", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/Effects=Effects"), - "Go to Tool, Module, or Panel", + show..' '..effects, + gotoToolModulePanel, true}, {"RevealPanelCalibrate", - LOC("$$$/AgLibrary/LibraryInfo/Show=Show")..' '..LOC("$$$/AgDevelop/Panel/Calibration=Camera Calibration"), - "Go to Tool, Module, or Panel", + show..' '..calibration, + gotoToolModulePanel, true}, {"ShoVwloupe", LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoVwgrid", LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoVwcompare", LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoVwsurvey", LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoVwpeople", LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoVwdevelop_loupe", LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoVwdevelop_before_after_horiz", LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoVwdevelop_before_after_vert", LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoVwdevelop_before", LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoScndVwloupe", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoScndVwlive_loupe", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoScndVwlocked_loupe", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoScndVwgrid", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoScndVwcompare", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoScndVwsurvey", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ShoScndVwslideshow", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"ToggleScreenTwo", LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), - LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes"), + viewModes, true}, {"profile1", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 1", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 1", + profiles, true}, {"profile2", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 2", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 2", + profiles, true}, {"profile3", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 3", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 3", + profiles, true}, {"profile4", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 4", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 4", + profiles, true}, {"profile5", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 5", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 5", + profiles, true}, {"profile6", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 6", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 6", + profiles, true}, {"profile7", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 7", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 7", + profiles, true}, {"profile8", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 8", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 8", + profiles, true}, {"profile9", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 9", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 9", + profiles, true}, {"profile10", - LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:").." 10", - LOC("$$$/CRaw/Style/Profiles=Profiles"), + profile.." 10", + profiles, true}, } From 5aaa849664a40a965fae0564bac422a57873612a Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 24 Jan 2016 14:39:57 -0800 Subject: [PATCH 43/87] build 7 --- Source/LRPlugin/MIDI2LR.lrplugin/Info.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua index ce4727645..f92fdcca8 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua @@ -40,5 +40,5 @@ return { file = "LaunchServer.lua" }, }, - VERSION = { major=0, minor=9, revision=3, build=6} + VERSION = { major=0, minor=9, revision=3, build=7} } From 6a8428073b8796d5712d223ffd14a8d400b2d170 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 24 Jan 2016 16:23:42 -0800 Subject: [PATCH 44/87] fix display of limits when checkbox added Lua ignores additional return values when the function isn't placed last in the list. --- Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua | 11 +- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 379 +++++++++++++----- Source/LRPlugin/MIDI2LR.lrplugin/Options.lua | 2 +- 3 files changed, 278 insertions(+), 114 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua index aeb4b96d6..f153407e5 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua @@ -175,18 +175,15 @@ end --DiscardExcess local function StartDialog(obstable,f) local limitsCanBeSet = (LrApplication.activeCatalog():getTargetPhoto() ~= nil) and (LrApplicationView.getCurrentModuleName() == 'develop') - local retval = {} if limitsCanBeSet then - for p in pairs(Parameters) do + for _,p in ipairs(DisplayOrder) do local min,max = GetMinMax(p) obstable['Limits'..p..'Low'] = min obstable['Limits'..p..'High'] = max end - for _,v in ipairs(OptionsRows(f,obstable)) do - table.insert(retval,v) - end + return OptionsRows(f,obstable) end - return unpack(retval) + return nil end local function EndDialog(obstable, status) @@ -210,7 +207,7 @@ return { --table of exports, setting table member name and module function it po ClampValue = ClampValue, DiscardExcess = DiscardExcess, GetMinMax = GetMinMax, --- OptionsRows = OptionsRows, + -- OptionsRows = OptionsRows, Parameters = Parameters, StartDialog = StartDialog, EndDialog = EndDialog, diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index 43ce85c0b..1c007753a 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -1,24 +1,24 @@ ---[[---------------------------------------------------------------------------- + --[[---------------------------------------------------------------------------- - This file was auto-generated by MIDI2LR and contains the translated menus used - by the app and the plugin. Edits to this file will be lost any time MIDI2LR - is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua - if you want to have persistent changes to the translations or menu structure. - -This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + This file was auto-generated by MIDI2LR and contains the translated menus used + by the app and the plugin. Edits to this file will be lost any time MIDI2LR + is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua + if you want to have persistent changes to the translations or menu structure. -MIDI2LR is free software: you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later version. + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. -MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. -You should have received a copy of the GNU General Public License along with -MIDI2LR. If not, see . -------------------------------------------------------------------------------]] -local MenuList = { + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . + ------------------------------------------------------------------------------]] + local MenuList = { { "WhiteBalanceAs_Shot", "White Balance As Shot", @@ -1429,6 +1429,18 @@ local MenuList = { "Photo Actions", true }, + { + "Select1Left", + "Add to Selection Left", + "Photo Actions", + true + }, + { + "Select1Right", + "Add to Selection Right", + "Photo Actions", + true + }, { "VirtualCopy", "Create Virtual Copy", @@ -1694,260 +1706,416 @@ local MenuList = { true }, { - "ZoomInLargeStep", - "Zoom In", - "Miscellaneous", - true + "local_Temperature", + "Local Temperature (PV2012)", + "Localized Adjustments", + false }, { - "ZoomInSmallStep", - "Zoom In Some", - "Miscellaneous", - true + "local_Tint", + "Local Tint (PV2012)", + "Localized Adjustments", + false }, { - "ZoomOutSmallStep", - "Zoom Out Some", - "Miscellaneous", - true + "local_Exposure", + "Local Exposure (PV2010 and PV2012)", + "Localized Adjustments", + false }, { - "ZoomOutLargeStep", - "Zoom Out", - "Miscellaneous", - true + "local_Contrast", + "Local Contrast (PV2010 and PV2012)", + "Localized Adjustments", + false }, { - "ToggleZoomOffOn", - "Toggle Zoom Off/On", - "Miscellaneous", - true + "local_Highlights", + "Local Highlights (PV2012)", + "Localized Adjustments", + false }, { - "CropAngle", - "Crop Angle", - "Miscellaneous", + "local_Shadows", + "Local Shadows (PV2012)", + "Localized Adjustments", false }, { - "CropBottom", - "Crop - Bottom", - "Miscellaneous", + "local_Clarity", + "Local Clarity (PV2010 and PV2012)", + "Localized Adjustments", false }, { - "CropLeft", - "Crop - Left", - "Miscellaneous", + "local_Saturation", + "Local Saturation (PV2010 and PV2012)", + "Localized Adjustments", false }, { - "CropRight", - "Crop - Right", - "Miscellaneous", + "local_Sharpness", + "Local Sharpness (PV2010 and PV 2012)", + "Localized Adjustments", false }, { - "CropTop", - "Crop - Top", - "Miscellaneous", + "local_LuminanceNoise", + "Local Luminance Noise (PV2012)", + "Localized Adjusments", false }, { - "ResetCrop", - "Reset Crop", - "Miscellaneous", + "local_Moire", + "Local Moire (PV2012)", + "Localized Adjustments", + false + }, + { + "local_Defringe", + "Local Defringe (PV2012)", + "Localized Adjustments", + false + }, + { + "local_ToningLuminance", + "Local Toning Luminance (PV2010)", + "Localized Adjustments", + false + }, + { + "Resetlocal_Temperature", + "Reset Local Temperature (PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_Tint", + "Reset Local Tint (PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_Exposure", + "Reset Local Exposure (PV2010 and PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_Contrast", + "Reset Local Contrast (PV2010 and PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_Highlights", + "Reset Local Highlights (PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_Shadows", + "Reset Local Shadows (PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_Clarity", + "Reset Local Clarity (PV2010 and PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_Saturation", + "Reset Local Saturation (PV2010 and PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_Sharpness", + "Reset Local Sharpness (PV2010 and PV 2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_LuminanceNoise", + "Reset Local Luminance Noise (PV2012)", + "Localized Adjusments", + true + }, + { + "Resetlocal_Moire", + "Reset Local Moire (PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_Defringe", + "Reset Local Defringe (PV2012)", + "Localized Adjustments", + true + }, + { + "Resetlocal_ToningLuminance", + "Reset Local Toning Luminance (PV2010)", + "Localized Adjustments", true }, { "EnableCircularGradientBasedCorrections", "Enable Radial Filter", - "Miscellaneous", + "Localized Adjustments", true }, { "EnableGradientBasedCorrections", "Enable Graduated Filter", - "Miscellaneous", + "Localized Adjustments", true }, { "EnablePaintBasedCorrections", "Enable Brush Adjustments", - "Miscellaneous", + "Localized Adjustments", true }, { "EnableRedEye", "Enable Red-Eye", - "Miscellaneous", + "Localized Adjustments", true }, { "EnableRetouch", "Enable Spot Removal", - "Miscellaneous", + "Localized Adjustments", true }, { "ResetCircGrad", "Reset Radial Filters", - "Miscellaneous", + "Localized Adjustments", true }, { "ResetGradient", "Reset Graduated Filters", - "Miscellaneous", + "Localized Adjustments", true }, { "ResetBrushing", "Reset Brush Corrections", - "Miscellaneous", + "Localized Adjustments", true }, { "ResetRedeye", "Reset Red-Eye", - "Miscellaneous", + "Localized Adjustments", true }, { "ResetSpotRem", "Reset Spot Removal", + "Localized Adjustments", + true + }, + { + "ZoomInLargeStep", + "Zoom In", "Miscellaneous", true }, { - "Loupe", - "Loupe Tool", + "ZoomInSmallStep", + "Zoom In Some", + "Miscellaneous", + true + }, + { + "ZoomOutSmallStep", + "Zoom Out Some", "Miscellaneous", true }, + { + "ZoomOutLargeStep", + "Zoom Out", + "Miscellaneous", + true + }, + { + "ToggleZoomOffOn", + "Toggle Zoom Off/On", + "Miscellaneous", + true + }, + { + "CropAngle", + "Crop Angle", + "Miscellaneous", + false + }, + { + "CropBottom", + "Crop - Bottom", + "Miscellaneous", + false + }, + { + "CropLeft", + "Crop - Left", + "Miscellaneous", + false + }, + { + "CropRight", + "Crop - Right", + "Miscellaneous", + false + }, + { + "CropTop", + "Crop - Top", + "Miscellaneous", + false + }, + { + "ResetCrop", + "Reset Crop", + "Miscellaneous", + true + }, + { + "Loupe", + "Show Loupe", + "Go to Tool, Module, or Panel", + true + }, { "CropOverlay", - "Crop", + "Show Crop", "Go to Tool, Module, or Panel", true }, { "SpotRemoval", - "Spot Removal", + "Show Spot Removal", "Go to Tool, Module, or Panel", true }, { "RedEye", - "Red Eye Tool", + "Show Red-Eye Correction", "Go to Tool, Module, or Panel", true }, { "GraduatedFilter", - "Graduated Filter Tool", + "Show Graduated Filters", "Go to Tool, Module, or Panel", true }, { "RadialFilter", - "Radial Filter Tool", + "Show Radial Filters", "Go to Tool, Module, or Panel", true }, { "AdjustmentBrush", - "Adjustment Brush", + "Show Brush Adjustments", "Go to Tool, Module, or Panel", true }, { "SwToMlibrary", - "Library Module", + "Show Library", "Go to Tool, Module, or Panel", true }, { "SwToMdevelop", - "Develop Module", + "Show Develop", "Go to Tool, Module, or Panel", true }, { "SwToMmap", - "Map Module", + "Show Map", "Go to Tool, Module, or Panel", true }, { "SwToMbook", - "Book Module", + "Show Book", "Go to Tool, Module, or Panel", true }, { "SwToMslideshow", - "Slideshow Module", + "Show Slideshow", "Go to Tool, Module, or Panel", true }, { "SwToMprint", - "Print Module", + "Show Print", "Go to Tool, Module, or Panel", true }, { "SwToMweb", - "Web Module", + "Show Web", "Go to Tool, Module, or Panel", true }, { "RevealPanelAdjust", - "Basic Adjustments Panel", + "Show Basic Tone", "Go to Tool, Module, or Panel", true }, { "RevealPanelTone", - "Tone Curve Panel", + "Show Tone Curve", "Go to Tool, Module, or Panel", true }, { "RevealPanelMixer", - "Mixer Panel", + "Show Color Adjustments", "Go to Tool, Module, or Panel", true }, { "RevealPanelSplit", - "Split Toning Panel", + "Show Split Toning", "Go to Tool, Module, or Panel", true }, { "RevealPanelDetail", - "Detail Panel", + "Show Detail", "Go to Tool, Module, or Panel", true }, { "RevealPanelLens", - "Lens Corrections Panel", + "Show Lens Corrections", "Go to Tool, Module, or Panel", true }, { "RevealPanelEffects", - "Effects Panel", + "Show Effects", "Go to Tool, Module, or Panel", true }, { "RevealPanelCalibrate", - "Camera Calibration Panel", + "Show Calibration", "Go to Tool, Module, or Panel", true }, @@ -2055,72 +2223,71 @@ local MenuList = { }, { "profile1", - "Profile 1", + "Profile: 1", "Profiles", true }, { "profile2", - "Profile 2", + "Profile: 2", "Profiles", true }, { "profile3", - "Profile 3", + "Profile: 3", "Profiles", true }, { "profile4", - "Profile 4", + "Profile: 4", "Profiles", true }, { "profile5", - "Profile 5", + "Profile: 5", "Profiles", true }, { "profile6", - "Profile 6", + "Profile: 6", "Profiles", true }, { "profile7", - "Profile 7", + "Profile: 7", "Profiles", true }, { "profile8", - "Profile 8", + "Profile: 8", "Profiles", true }, { "profile9", - "Profile 9", + "Profile: 9", "Profiles", true }, { "profile10", - "Profile 10", + "Profile: 10", "Profiles", true } } + local MenuListHashed = {} + for i,v in ipairs(MenuList) do + MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} + end -local MenuListHashed = {} -for i,v in ipairs(MenuList) do - MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} -end - -return { - MenuList = MenuList, - MenuListHashed = MenuListHashed, -} \ No newline at end of file + return { + MenuList = MenuList, + MenuListHashed = MenuListHashed, + } \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Options.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Options.lua index 26b268659..cd109148b 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Options.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Options.lua @@ -58,7 +58,7 @@ local function setOptions() f:tab_view_item { title = LOC("$$$/AgPrint/ProfileMenu/Other=Other..."), identifier = 'othersettings', - Limits.StartDialog(properties,f), + f:view(Limits.StartDialog(properties,f)), f:checkbox {title = LOC("$$$/AgDocument/ModulePicker/Settings/ShowStatusAndActivity=Show status and activity"), value = LrView.bind('ClientShowBezelOnChange')} }, -- tab_view_item }, -- tab_view From 3c8a20536c7a8e2b14a140809691d3594b838eef Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 24 Jan 2016 16:45:57 -0800 Subject: [PATCH 45/87] use MenuList for bezel data, update version to 0.9.4.1 --- Builds/MacOSX/Info.plist | 4 ++-- .../MacOSX/MIDI2LR.xcodeproj/project.pbxproj | 8 +++---- Builds/VisualStudio2015/MIDI2LR.vcxproj | 4 ++-- Builds/VisualStudio2015/resources.rc | 6 +++--- JuceLibraryCode/JuceHeader.h | 4 ++-- MIDI2LR.jucer | 2 +- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 21 ++++++++++--------- Source/LRPlugin/MIDI2LR.lrplugin/Info.lua | 2 +- 8 files changed, 26 insertions(+), 25 deletions(-) diff --git a/Builds/MacOSX/Info.plist b/Builds/MacOSX/Info.plist index 730840077..7ba3cb2b8 100644 --- a/Builds/MacOSX/Info.plist +++ b/Builds/MacOSX/Info.plist @@ -16,9 +16,9 @@ CFBundleSignature ???? CFBundleShortVersionString - 0.9.3 + 0.9.4.1 CFBundleVersion - 0.9.3 + 0.9.4.1 NSHumanReadableCopyright NSHighResolutionCapable diff --git a/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj b/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj index 376bd2e01..e5fc1b5a2 100644 --- a/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj @@ -1916,8 +1916,8 @@ "_NDEBUG=1", "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=0.9.3", - "JUCE_APP_VERSION_HEX=0x903", ); + "JUCE_APP_VERSION=0.9.4.1", + "JUCE_APP_VERSION_HEX=0x90401", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "$(inherited)"); @@ -1940,8 +1940,8 @@ "_NDEBUG=1", "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=0.9.3", - "JUCE_APP_VERSION_HEX=0x903", ); + "JUCE_APP_VERSION=0.9.4.1", + "JUCE_APP_VERSION_HEX=0x90401", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "$(inherited)"); diff --git a/Builds/VisualStudio2015/MIDI2LR.vcxproj b/Builds/VisualStudio2015/MIDI2LR.vcxproj index b40f072b0..c82eeedee 100644 --- a/Builds/VisualStudio2015/MIDI2LR.vcxproj +++ b/Builds/VisualStudio2015/MIDI2LR.vcxproj @@ -56,7 +56,7 @@ Disabled EditAndContinue ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.3;JUCE_APP_VERSION_HEX=0x903;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.4.1;JUCE_APP_VERSION_HEX=0x90401;%(PreprocessorDefinitions) MultiThreadedDebug true @@ -97,7 +97,7 @@ Full ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.3;JUCE_APP_VERSION_HEX=0x903;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.4.1;JUCE_APP_VERSION_HEX=0x90401;%(PreprocessorDefinitions) MultiThreaded true diff --git a/Builds/VisualStudio2015/resources.rc b/Builds/VisualStudio2015/resources.rc index 94e969f11..bc843c308 100644 --- a/Builds/VisualStudio2015/resources.rc +++ b/Builds/VisualStudio2015/resources.rc @@ -7,16 +7,16 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 0,9,3,0 +FILEVERSION 0,9,4,1 BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904E4" BEGIN VALUE "FileDescription", "MIDI2LR\0" - VALUE "FileVersion", "0.9.3\0" + VALUE "FileVersion", "0.9.4.1\0" VALUE "ProductName", "MIDI2LR\0" - VALUE "ProductVersion", "0.9.3\0" + VALUE "ProductVersion", "0.9.4.1\0" END END diff --git a/JuceLibraryCode/JuceHeader.h b/JuceLibraryCode/JuceHeader.h index 677f83a00..66a5b0802 100644 --- a/JuceLibraryCode/JuceHeader.h +++ b/JuceLibraryCode/JuceHeader.h @@ -35,8 +35,8 @@ namespace ProjectInfo { const char* const projectName = "MIDI2LR"; - const char* const versionString = "0.9.3"; - const int versionNumber = 0x903; + const char* const versionString = "0.9.4.1"; + const int versionNumber = 0x90401; } #endif diff --git a/MIDI2LR.jucer b/MIDI2LR.jucer index 8d32013d2..ba054f49c 100644 --- a/MIDI2LR.jucer +++ b/MIDI2LR.jucer @@ -1,6 +1,6 @@ - diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 8ef4c5933..39798b60d 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -24,6 +24,7 @@ LrMobdebug.start() --]]-----------end debug section local CU = require 'ClientUtilities' local Limits = require 'Limits' +local MenuList = require 'MenuList' local Parameters = require 'Parameters' local Preferences = require 'Preferences' local Profiles = require 'Profiles' @@ -251,9 +252,9 @@ local function updateParam() --closure value = midi_lerp_to_develop(param, midi_value) local actualvalue = LrDevelopController.getValue(param) local precision = Ut.precision(value) - LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToStringWithSeparators(value,precision)..' '..LrStringUtils.numberToStringWithSeparators(actualvalue,precision)) + LrDialogs.showBezel(MenuList.MenuListHashed[param][2]..' '..LrStringUtils.numberToStringWithSeparators(value,precision)..' '..LrStringUtils.numberToStringWithSeparators(actualvalue,precision)) else - LrDialogs.showBezel(Parameters.Names[param][1]..' '..LrStringUtils.numberToStringWithSeparators(value,Ut.precision(value))) + LrDialogs.showBezel(MenuList.MenuListHashed[param][2]..' '..LrStringUtils.numberToStringWithSeparators(value,Ut.precision(value))) end end Profiles.changeProfile(Parameters.Names[param][3]) @@ -326,15 +327,15 @@ LrTasks.startAsyncTask( function() ------------------------------------------------------------------------------]] local MenuList = ]=],serpent.block(MenuListPreTrans.MenuList, {comment = false}), [==[ - local MenuListHashed = {} - for i,v in ipairs(MenuList) do - MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} - end +local MenuListHashed = {} +for i,v in ipairs(MenuList) do + MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} + end - return { - MenuList = MenuList, - MenuListHashed = MenuListHashed, - }]==]) +return { + MenuList = MenuList, + MenuListHashed = MenuListHashed, +}]==]) file:close() ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua index f92fdcca8..76dfd5b42 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua @@ -40,5 +40,5 @@ return { file = "LaunchServer.lua" }, }, - VERSION = { major=0, minor=9, revision=3, build=7} + VERSION = { major=0, minor=9, revision=4, build=2} } From 9afbc88ce22b563200f3dd1de8867f8703881015 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 24 Jan 2016 16:46:45 -0800 Subject: [PATCH 46/87] fix build number --- Source/LRPlugin/MIDI2LR.lrplugin/Info.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua index 76dfd5b42..bb951ea33 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua @@ -40,5 +40,5 @@ return { file = "LaunchServer.lua" }, }, - VERSION = { major=0, minor=9, revision=4, build=2} + VERSION = { major=0, minor=9, revision=4, build=1} } From ade98553c38e30e3691ed79f85151cec03433a61 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Mon, 25 Jan 2016 19:33:09 -0800 Subject: [PATCH 47/87] moving documentation generation into menulistpretrans.lua --- .../MIDI2LR.lrplugin/MenuListPreTrans.lua | 1962 ++++++++++++++--- 1 file changed, 1710 insertions(+), 252 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index 46f8ea14f..1575fd892 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -20,6 +20,7 @@ MIDI2LR. If not, see . local basicTone = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone") local calibration = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration") local colorAdjustments = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments") +local crop = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop") local detail = LOC("$$$/AgDevelop/Panel/Detail=Detail") local developPreset = LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset") local developPresets = LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets") @@ -29,1525 +30,2982 @@ local lensCorrections = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCo local localizedAdjustments = "Localized Adjustments" local miscellaneous = "Miscellaneous" local photoActions = "Photo Actions" +local primaryDisplay = LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display") local profile = LOC("$$$/AgDevelop/CameraRawPanel/Profile=Profile:") local profiles = LOC("$$$/CRaw/Style/Profiles=Profiles") local reset = LOC("$$$/AgDevelop/LensCorrection/Upright/Reset=Reset") local resetColorAdjustments = reset..' '..colorAdjustments +local secondaryDisplay = LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display") local show = LOC("$$$/AgLibrary/LibraryInfo/Show=Show") local splitToning = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning") local toneCurve = LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve") local viewModes = LOC("$$$/AgDevelop/Toolbar/ViewModesTool=View Modes") local whiteBalance = LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance") +--[[---------------------------------------------------------------------------- + +MenuList structure +>command +>user-friendly name +>menu group +>button or variable (true if button) +>include in selective paste settings (true if include) [exclude localized adj] +>include in send back values to MIDI controller (true if send back) +>Documentation right column +>experimental (true/false), results in user-friendly name flagged in documentation + +Need another structure containing items not included in Menulist (primarily items +from copy/paste selective that are arrays, but also items that are continuous +in lightroom but assigned to buttons in app (e.g., upright mode). These items +would be added to copy/paste options but not send back values. + +unicode to UTF8 decimal mapping at http://www.utf8-chartable.de/unicode-utf8-table.pl +local interrobang = '\226\128\189' +local referencemark = '\226\128\187' +local ldquo = '\226\128\156' +local rdquo = '\226\128\157' +local lsquo = '\226\128\152' +local rsquo = '\226\128\153' +local mdash = '\226\128\148' +------------------------------------------------------------------------------]] + local MenuList = { {"WhiteBalanceAs_Shot", whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), basicTone, + true, + false, + false, + "Use Temperature and Tint as determined by camera. *button*", true}, {"WhiteBalanceAuto", whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), basicTone, + true, + false, + false, + "Have Lightroom determine Temperature and Tint. *button*", true}, {"WhiteBalanceCloudy", whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), basicTone, + true, + false, + false, + "Use cloudy white balance. *button*", true}, {"WhiteBalanceDaylight", whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), basicTone, + true, + false, + false, + "Use daylight white balance. *button*", true}, {"WhiteBalanceFlash", whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), basicTone, + true, + false, + false, + "Use flash white balance. *button*", true}, {"WhiteBalanceFluorescent", whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), basicTone, + true, + false, + false, + "Use fluorescent white balance. *button*", true}, {"WhiteBalanceShade", whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), basicTone, + true, + false, + false, + "Use shade white balance. *button*", true}, {"WhiteBalanceTungsten", whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), basicTone, + true, + false, + false, + "Use tungsten white balance. *button*", true}, {"Temperature", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), basicTone, + false, + true, + true, + "Fine-tunes the white balance using the Kelvin color temperature scale. Move the slider to the left to make the photo appear cooler, and right to warm the photo colors.", false}, {"Tint", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), basicTone, + false, + true, + true, + "Fine-tunes the white balance to compensate for a green or magenta tint. Move the slider to the left (negative values) to add green to the photo; move it to the right (positive values) to add magenta.", false}, {"Exposure", LOC("$$$/AgCameraRawUI/Exposure=Exposure"), basicTone, + false, + true, + true, + "Sets the overall image brightness. Adjust the slider until the photo looks good and the image is the desired brightness.", false}, {"Contrast", LOC("$$$/AgCameraRawUI/Contrast=Contrast"), basicTone, + false, + true, + true, + "Increases or decreases image contrast, mainly affecting midtones. When you increase contrast, the middle-to-dark image areas become darker, and the middle-to-light image areas become lighter. The image tones are inversely affected as you decrease contrast.", false}, {"Highlights", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..'(Recovery in PV2003 and PV2010)', basicTone, + false, + true, + true, + "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.", false}, {"Shadows", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..'(Fill Light in PV2003 and PV2010)', basicTone, + false, + true, + true, + "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.", false}, {"Whites", - LOC("$$$/AgCameraRawUI/Whites=Whites"), + LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)', basicTone, + false, + true, + true, + "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping.", false}, {"Blacks", LOC("$$$/AgCameraRawUI/Blacks=Blacks"), basicTone, + false, + true, + true, + "Specifies which image values map to black. Moving the slider to the right increases the areas that become black, sometimes creating the impression of increased image contrast. The greatest effect is in the shadows, with much less change in the midtones and highlights.", false}, {"Clarity", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), basicTone, + false, + true, + true, + "Adds depth to an image by increasing local contrast. When using this setting, it is best to zoom in to 100% or greater.", false}, {"Vibrance", LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), basicTone, + false, + true, + true, + "Adjusts the saturation so that clipping is minimized as colors approach full saturation, changing the saturation of all lower-saturated colors with less effect on the higher-saturated colors. Vibrance also prevents skin tones from becoming over saturated.", false}, {"Saturation", LOC("$$$/AgCameraRawUI/Saturation=Saturation"), basicTone, + false, + true, + true, + "Adjusts the saturation of all image colors equally from –100 (monochrome) to +100 (double the saturation).", false}, {"ResetTemperature", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), basicTone, - true}, + true, + false, + false}, {"ResetTint", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetExposure", reset..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetContrast", reset..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetHighlights", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetShadows", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetWhites", reset..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetBlacks", reset..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetClarity", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetVibrance", reset..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSaturation", reset..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), basicTone, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ParametricDarks", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), toneCurve, + false, + true, + true, + "Adjust darks.", false}, {"ParametricLights", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), toneCurve, + false, + true, + true, + "Adjust lights.", false}, {"ParametricShadows", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), toneCurve, + false, + true, + true, + "Adjust shadows.", false}, {"ParametricHighlights", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), toneCurve, + false, + true, + true, + "Adjust highlights.", false}, {"ParametricShadowSplit", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), toneCurve, + false, + true, + true, + "Move division between shadows and darks.", false}, {"ParametricMidtoneSplit", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), toneCurve, + false, + true, + true, + "Move division between darks and lights.", false}, {"ParametricHighlightSplit", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), toneCurve, + false, + true, + true, + "Move division between lights and highlights.", false}, {"ResetParametricDarks", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), toneCurve, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetParametricLights", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), toneCurve, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetParametricShadows", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), toneCurve, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetParametricHighlights", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), toneCurve, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetParametricShadowSplit", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), toneCurve, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetParametricMidtoneSplit", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), toneCurve, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetParametricHighlightSplit", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), toneCurve, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"EnableColorAdjustments", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableColorAdjustments=Enable Color Adjustments"), colorAdjustments, + true, + false, + false, + "Enable or disable color adjustments. *button*", true}, {"SaturationAdjustmentRed", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), colorAdjustments, + false, + true, + true, + "Changes the color vividness or purity of the color.", false}, {"SaturationAdjustmentOrange", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), colorAdjustments, + false, + true, + true, + "Changes the color vividness or purity of the color.", false}, {"SaturationAdjustmentYellow", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), colorAdjustments, + false, + true, + true, + "Changes the color vividness or purity of the color.", false}, {"SaturationAdjustmentGreen", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), colorAdjustments, + false, + true, + true, + "Changes the color vividness or purity of the color.", false}, {"SaturationAdjustmentAqua", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), colorAdjustments, + false, + true, + true, + "Changes the color vividness or purity of the color.", false}, {"SaturationAdjustmentBlue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), colorAdjustments, + false, + true, + true, + "Changes the color vividness or purity of the color.", false}, {"SaturationAdjustmentPurple", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), colorAdjustments, + false, + true, + true, + "Changes the color vividness or purity of the color.", false}, {"SaturationAdjustmentMagenta", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), colorAdjustments, + false, + true, + true, + "Changes the color vividness or purity of the color.", false}, {"HueAdjustmentRed", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), colorAdjustments, + false, + true, + true, + "Changes the color.", false}, {"HueAdjustmentOrange", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), colorAdjustments, + false, + true, + true, + "Changes the color.", false}, {"HueAdjustmentYellow", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), colorAdjustments, + false, + true, + true, + "Changes the color.", false}, {"HueAdjustmentGreen", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), colorAdjustments, + false, + true, + true, + "Changes the color.", false}, {"HueAdjustmentAqua", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), colorAdjustments, + false, + true, + true, + "Changes the color.", false}, {"HueAdjustmentBlue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), colorAdjustments, + false, + true, + true, + "Changes the color.", false}, {"HueAdjustmentPurple", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), colorAdjustments, + false, + true, + true, + "Changes the color.", false}, {"HueAdjustmentMagenta", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), colorAdjustments, + false, + true, + true, + "Changes the color.", false}, {"LuminanceAdjustmentRed", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), colorAdjustments, + false, + true, + true, + "Changes the brightness of the color range.", false}, {"LuminanceAdjustmentOrange", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), colorAdjustments, + false, + true, + true, + "Changes the brightness of the color range.", false}, {"LuminanceAdjustmentYellow", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), colorAdjustments, + false, + true, + true, + "Changes the brightness of the color range.", false}, {"LuminanceAdjustmentGreen", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), colorAdjustments, + false, + true, + true, + "Changes the brightness of the color range.", false}, {"LuminanceAdjustmentAqua", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), colorAdjustments, + false, + true, + true, + "Changes the brightness of the color range.", false}, {"LuminanceAdjustmentBlue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), colorAdjustments, + false, + true, + true, + "Changes the brightness of the color range.", false}, {"LuminanceAdjustmentPurple", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), colorAdjustments, + false, + true, + true, + "Changes the brightness of the color range.", false}, {"LuminanceAdjustmentMagenta", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), colorAdjustments, + false, + true, + true, + "Changes the brightness of the color range.", false}, {"ConvertToGrayscale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ConvertToGrayscale=Convert to Grayscale"), colorAdjustments, + true, + false, + false, + "Enable/disable gray scale conversion. *button*", true}, {"EnableGrayscaleMix", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGrayscaleMix=Enable Grayscale Mix"), colorAdjustments, + true, + false, + false + "Enable or disable black and white mix. *button*", true}, {"GrayMixerRed", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), colorAdjustments, + false, + true, + true, + "Red contribution to luminance.", false}, {"GrayMixerOrange", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), colorAdjustments, + false, + true, + true, + "Orange contribution to luminance.", false}, {"GrayMixerYellow", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), colorAdjustments, + false, + true, + true, + "Yellow contribution to luminance.", false}, {"GrayMixerGreen", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), colorAdjustments, + false, + true, + true, + "Green contribution to luminance.", false}, {"GrayMixerAqua", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), colorAdjustments, + false, + true, + true, + "Aqua contribution to luminance.", false}, {"GrayMixerBlue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), colorAdjustments, + false, + true, + true, + "Blue contribution to luminance.", false}, {"GrayMixerPurple", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), colorAdjustments, + false, + true, + true, + "Purple contribution to luminance.", false}, {"GrayMixerMagenta", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), colorAdjustments, + false, + true, + true, + "Magenta contribution to luminance.", false}, {"ResetSaturationAdjustmentRed", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSaturationAdjustmentOrange", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSaturationAdjustmentYellow", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSaturationAdjustmentGreen", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSaturationAdjustmentAqua", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSaturationAdjustmentBlue", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSaturationAdjustmentPurple", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSaturationAdjustmentMagenta", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetHueAdjustmentRed", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetHueAdjustmentOrange", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetHueAdjustmentYellow", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetHueAdjustmentGreen", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetHueAdjustmentAqua", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetHueAdjustmentBlue", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetHueAdjustmentPurple", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetHueAdjustmentMagenta", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceAdjustmentRed", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceAdjustmentOrange", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceAdjustmentYellow", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceAdjustmentGreen", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceAdjustmentAqua", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceAdjustmentBlue", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceAdjustmentPurple", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceAdjustmentMagenta", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrayMixerRed", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrayMixerOrange", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrayMixerYellow", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrayMixerGreen", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrayMixerAqua", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrayMixerBlue", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrayMixerPurple", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrayMixerMagenta", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), resetColorAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"EnableSplitToning", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSplitToning=Enable Split Toning"), splitToning, + true, + false, + false, + "Enable or disable split toning effects. *button*", true}, {"SplitToningShadowHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), splitToning, + false, + true, + true, + "Color of the tone for shadows.", false}, {"SplitToningShadowSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), splitToning, + false, + true, + true, + "Strength of the effect.", false}, {"SplitToningHighlightHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), splitToning, + false, + true, + true, + "Color of the tone for highlights.", false}, {"SplitToningHighlightSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), splitToning, + false, + true, + true, + "Strength of the effect.", false}, {"SplitToningBalance", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), splitToning, + false, + true, + true, + "Set the Balance slider to balance the effect between the Highlight and Shadow sliders. Positive values increase the effect of the Highlight sliders; negative values increase the effect of the Shadow sliders.", false}, {"ResetSplitToningShadowHue", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), splitToning, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSplitToningShadowSaturation", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), splitToning, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSplitToningHighlightHue", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), splitToning, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSplitToningHighlightSaturation", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), splitToning, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSplitToningBalance", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), splitToning, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"EnableDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), detail, + true, + false, + false, + "Enable or disable noise reduction and sharpening. *button*", true}, {"Sharpness", LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), detail, + false, + true, + true, + "Adjusts edge definition. Increase the Amount value to increase sharpening. A value of zero (0) turns off sharpening. In general, set Amount to a lower value for cleaner images. The adjustment locates pixels that differ from surrounding pixels based on the threshold you specify and increases the pixels’ contrast by the amount you specify.", false}, {"SharpenRadius", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), detail, + false, + true, + true, + "Adjusts the size of the details that sharpening is applied to. Photos with very fine details may need a lower radius setting. Photos with larger details may be able to use a larger radius. Using too large a radius generally results in unnatural-looking results.", false}, {"SharpenDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), detail, + false, + true, + true, + "Adjusts how much high-frequency information is sharpened in the image and how much the sharpening process emphasizes edges. Lower settings primarily sharpen edges to remove blurring. Higher values are useful for making the textures in the image more pronounced.", false}, {"SharpenEdgeMasking", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), detail, + false, + true, + true, + "Controls an edge mask. With a setting of zero (0), everything in the image receives the same amount of sharpening. With a setting of 100, sharpening is mostly restricted to those areas near the strongest edges.", false}, {"LuminanceSmoothing", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), detail, + false, + true, + true, + "Reduces luminance noise.", false}, {"LuminanceNoiseReductionDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), detail, + false, + true, + true, + "Controls the luminance noise threshold. Useful for very noisy photos. Higher values preserve more detail but may produce noisier results. Lower values produce cleaner results but may also remove some detail.", false}, {"LuminanceNoiseReductionContrast", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), detail, + false, + true, + true, + "Controls luminance contrast. Useful for very noisy photos. Higher values preserve contrast but may produce noisy blotches or mottling. Lower values produce smoother results but may also have less contrast.", false}, {"ColorNoiseReduction", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), detail, + false, + true, + true, + "Reduces color noise.", false}, {"ColorNoiseReductionDetail", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), detail, + false, + true, + true, + "Controls the color noise threshold. Higher values protect thin, detailed color edges but may result in color speckling. Lower values remove color speckles but may result in color bleeding.", false}, {"ColorNoiseReductionSmoothness", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), detail, + false, + true, + true, + "Increasing this can prevent artifacts especially in the lower frequencies.", false}, {"ResetSharpness", reset..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSharpenRadius", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSharpenDetail", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetSharpenEdgeMasking", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceSmoothing", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceNoiseReductionDetail", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLuminanceNoiseReductionContrast", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetColorNoiseReduction", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetColorNoiseReductionDetail", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetColorNoiseReductionSmoothness", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), detail, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"EnableLensCorrections", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), lensCorrections, + true, + false, + false, + "Enable or disable all lens corrections. *button*", true}, {"LensProfileEnable", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileEnable=Lens Profile Enable"), lensCorrections, + true, + false, + false, + "Automatic correction using a stored lens profile.", true}, {"AutoLateralCA", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RemoveChromaticAberration=Remove Chromatic Aberration"), lensCorrections, + true, + false, + false, + "Automatically corrects blue-yellow and red-green fringes (lateral chromatic aberration).", true}, {"UprightOff", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off"), lensCorrections, - true}, + true, + false, + false, + "Upright mode off. *button*", + false}, {"UprightAuto", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto"), lensCorrections, - true}, + true, + false, + false, + "Balanced level, aspect ratio, and perspective corrections. *button*", + false}, {"UprightLevel", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level"), lensCorrections, - true}, + true, + false, + false, + "Perspective corrections are weighted toward horizontal details. *button*", + false}, {"UprightVertical", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical"), lensCorrections, - true}, + true, + false, + false, + "Perspective corrections are weighted toward vertical details. *button*", + false}, {"UprightFull", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full"), lensCorrections, - true}, + true, + false, + false, + "Combination of full Level, Vertical, and Auto perspective corrections. *button*", + false}, {"ResetPerspectiveUpright", LOC("$$$/AgCameraRawNamedSettings/Ops/ResetUprightSettings=Reset Upright Settings"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"LensProfileDistortionScale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), lensCorrections, + false, + true, + true, + "The default value 100 applies 100% of the distortion correction in the profile. Values over 100 apply greater correction to the distortion; values under 100 apply less correction to the distortion.", false}, {"LensProfileChromaticAberrationScale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), lensCorrections, + false, + true, + true, + "The default value 100 applies 100% of the chromatic aberration correction in the profile. Values over 100 apply greater correction to color fringing; values under 100 apply less correction to color fringing.", false}, {"LensProfileVignettingScale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), lensCorrections, + false, + true, + true, + "The default value 100 applies 100% of the vignetting correction in the profile. Values over 100 apply greater correction to vignetting; values under 100 apply less correction to vignetting.", false}, {"ResetLensProfileDistortionScale", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLensProfileChromaticAberrationScale", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetLensProfileVignettingScale", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"DefringePurpleAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), lensCorrections, + false, + true, + true, + "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units.", false}, {"DefringePurpleHueLo", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), lensCorrections, + false, + true, + true, + "", false}, {"DefringePurpleHueHi", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), lensCorrections, + false, + true, + true, + "", false}, {"DefringeGreenAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), lensCorrections, + false, + true, + true, + "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units. The default spacing for the green sliders is narrow to protect green/yellow image colors, like foliage.", false}, {"DefringeGreenHueLo", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), lensCorrections, + false, + true, + true, + "", false}, {"DefringeGreenHueHi", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), lensCorrections, + false, + true, + true, + "", false}, {"ResetDefringePurpleAmount", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetDefringePurpleHueLo", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetDefringePurpleHueHi", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetDefringeGreenAmount", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetDefringeGreenHueLo", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetDefringeGreenHueHi", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"LensManualDistortionAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), lensCorrections, + false, + true, + true, + "Drag to the right to correct barrel distortion and straighten lines that bend away from the center. Drag to the left to correct pincushion distortion and straighten lines that bend toward the center.", false}, {"PerspectiveVertical", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), lensCorrections, + false, + true, + true, + "Corrects perspective caused by tilting the camera up or down. Makes vertical lines appear parallel.", false}, {"PerspectiveHorizontal", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), lensCorrections, + false, + true, + true, + "Corrects perspective caused by angling the camera left or right. Makes horizontal lines parallel.", false}, {"PerspectiveRotate", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), lensCorrections, + false, + true, + true, + "Corrects for camera tilt. Uses the center of the original, uncropped photo as the axis of rotation.", false}, {"PerspectiveScale", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), lensCorrections, + false, + true, + true, + "Adjusts the image scale up or down. Helps to remove empty areas caused by perspective corrections and distortions. Displays areas of the image that extend beyond the crop boundary.", false}, {"PerspectiveAspect", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), lensCorrections, + false, + true, + true, + "Adjusts the amount the image is stretched horizontally or vertically.", false}, {"VignetteAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), lensCorrections, - false}, + false, + true, + true, + "Sets the amount of lightening or darkening along the edges of an image. Corrects images that have darkened corners caused by lens faults or improper lens shading.", + true}, {"VignetteMidpoint", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), lensCorrections, - false}, + false, + true, + true, + "Specifies the width of area affected by the Amount slider. Specify a lower number to affect more of the image. Specify a higher number to restrict the effect to the edges of the image.", + true}, {"ResetLensManualDistortionAmount", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPerspectiveVertical", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPerspectiveHorizontal", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPerspectiveRotate", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPerspectiveScale", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPerspectiveAspect", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), lensCorrections, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetVignetteAmount", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), lensCorrections, + true, + false, + false, + "Reset to default. *button*", true}, {"ResetVignetteMidpoint", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), lensCorrections, + true, + false, + false, + "Reset to default. *button*", true}, {"EnableEffects", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableEffects=Enable Effects"), effects, + true, + false, + false, + "Enable or disable effects. *button*", true}, {"Dehaze", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), effects, + false, + true, + true, + "Controls the amount of haze in a photograph. Drag to the right to remove haze; drag to the left to add haze.", false}, {"PostCropVignetteAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), effects, + false, + true, + true, + "Negative values darken the corners of the photo. Positive values lighten the corners.", false}, {"PostCropVignetteMidpoint", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), effects, + false, + true, + true, + "Lower values apply the Amount adjustment to a larger area away from the corners. Higher values restrict the adjustment to an area closer to the corners.", false}, {"PostCropVignetteFeather", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), effects, + false, + true, + true, + "Lower values reduce softening between the vignette and the vignette’s surrounding pixels. Higher values increase the softening.", false}, {"PostCropVignetteRoundness", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), effects, + false, + true, + true, + "Lower values make the vignette effect more oval. Higher values make the vignette effect more circular.", false}, {"PostCropVignetteStyle", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), effects, + false, + true, + true, + "Cycles through: **Highlight Priority** Enables highlight recovery but can lead to color shifts in darkened areas of a photo. Suitable for photos with bright image areas such as clipped specular highlights. **Color Priority** Minimizes color shifts in darkened areas of a photo but cannot perform highlight recovery. **Paint Overlay** Mixes the cropped image values with black or white pixels. Can result in a flat appearance.", false}, {"PostCropVignetteHighlightContrast", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), effects, + false, + true, + true, + "(Highlight Priority and Color Priority only) Controls the degree of highlight contrast preserved when Amount is negative. Suitable for photos with small highlights, such as candles and lamps.", false}, {"GrainAmount", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), effects, + false, + true, + true, + "Controls the amount of grain applied to the image. Drag to the right to increase the amount. Set to zero to disable grain.", false}, {"GrainSize", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), effects, + false, + true, + true, + "Controls grain particle size. At sizes of 25 or greater, blue is added to make the effect look better with noise reduction.", false}, {"GrainFrequency", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), effects, + false, + true, + true, + " Controls the regularity of the grain. Drag to the left to make the grain more uniform; drag to the right to make the grain more uneven.", false}, {"ResetDehaze", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPostCropVignetteAmount", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPostCropVignetteMidpoint", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPostCropVignetteFeather", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPostCropVignetteRoundness", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPostCropVignetteStyle", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetPostCropVignetteHighlightContrast", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrainAmount", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrainSize", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"ResetGrainFrequency", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), effects, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"EnableCalibration", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableCalibration=Enable Calibration"), calibration, + true, + false, + false, + "Enable or disable custom camera calibration. *button*", true}, {"Profile_Adobe_Standard", LOC("$$$/CRaw/Style/Profile/AdobeStandard=Adobe Standard"), calibration, + true, + false, + false, + "Applies the Adobe Standard profile. *button*", true}, {"Profile_Camera_Clear", LOC("$$$/CRaw/Style/Profile/CameraClear=Camera Clear"), calibration, + true, + false, + false, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", true}, {"Profile_Camera_Deep", LOC("$$$/CRaw/Style/Profile/CameraDeep=Camera Deep"), calibration, + true, + false, + false, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", true}, {"Profile_Camera_Landscape", LOC("$$$/CRaw/Style/Profile/CameraLandscape=Camera Landscape"), calibration, + true, + false, + false, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", true}, {"Profile_Camera_Light", LOC("$$$/CRaw/Style/Profile/CameraLight=Camera Light"), calibration, + true, + false, + false, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", true}, {"Profile_Camera_Neutral", LOC("$$$/CRaw/Style/Profile/CameraNeutral=Camera Neutral"), calibration, + true, + false, + false, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", true}, {"Profile_Camera_Portrait", LOC("$$$/CRaw/Style/Profile/CameraPortrait=Camera Portrait"), calibration, + true, + false, + false, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", true}, {"Profile_Camera_Standard", LOC("$$$/CRaw/Style/Profile/CameraStandard=Camera Standard"), calibration, + true, + false, + false, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", true}, {"Profile_Camera_Vivid", LOC("$$$/CRaw/Style/Profile/CameraVivid=Camera Vivid"), calibration, + true, + false, + false, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", true}, {"ShadowTint", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), calibration, + false, + true, + true, + "Corrects for any green or magenta tint in the shadow areas of the photo.", false}, {"RedHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), calibration, + false, + true, + true, + "For the red primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", false}, {"RedSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), calibration, + false, + true, + true, + "For the red primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", false}, {"GreenHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), calibration, + false, + true, + true, + "For the green primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", false}, {"GreenSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), calibration, + false, + true, + true, + "For the green primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", false}, {"BlueHue", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), calibration, + false, + true, + true, + "For the blue primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", false}, {"BlueSaturation", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), calibration, + false, + true, + true, + "For the blue primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", false}, {"ResetShadowTint", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), calibration, + false, + true, + true, + "Reset to default. *button*", false}, {"ResetRedHue", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), calibration, + false, + true, + true, + "Reset to default. *button*", false}, {"ResetRedSaturation", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), calibration, + false, + true, + true, + "Reset to default. *button*", false}, {"ResetGreenHue", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), calibration, + false, + true, + true, + "Reset to default. *button*", false}, {"ResetGreenSaturation", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), calibration, + false, + true, + true, + "Reset to default. *button*", false}, {"ResetBlueHue", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), calibration, + false, + true, + true, + "Reset to default. *button*", false}, {"ResetBlueSaturation", reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), calibration, + false, + true, + true, + "Reset to default. *button*", false}, {"Pick", LOC("$$$/AgLibrary/Help/Shortcuts/SetPick=Set Pick Flag"), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"Reject", LOC("$$$/AgLibrary/Help/Shortcuts/SetReject=Set Rejected Flag"), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"Next", LOC("$$$/AgDevelopShortcuts/Next_Photo=Next Photo"), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"Prev", LOC("$$$/AgDevelopShortcuts/Previous_Photo=Previous Photo"), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"Select1Left", LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), 'Photo Actions', - true}, + true, + false, + false, + "Extend selection one picture to the left. *button*", + false}, {"Select1Right", LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), 'Photo Actions', - true}, + true, + false, + false, + "Extend selection one picture to the right. *button*", + false}, {"VirtualCopy", LOC("$$$/AgLibrary/Bezel/CreateVirtualCopy=Create Virtual Copy"):gsub('&',''), photoActions, - true}, + true, + false, + false, + "Creates a virtual copy for each of the currently selected photos and videos. The new virtual copies will be selected. *button*", + false}, {"RemoveFlag", LOC("$$$/AgLibrary/Menu/Photo/SetPick/Unflagged=Unflagged"):gsub('&',''), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"IncreaseRating", LOC("$$$/AgLibrary/Ops/IncreaseRating=Increase Rating"), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"DecreaseRating", LOC("$$$/AgLibrary/Ops/DecreaseRating=Decrease Rating"), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"SetRating0", LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"SetRating1", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"SetRating2", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"SetRating3", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"SetRating4", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"SetRating5", LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"ToggleBlue", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelBlue=Blue")), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"ToggleGreen", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelGreen=Green")), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"ToggleRed", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelRed=Red")), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"TogglePurple", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelPurple=Purple")), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"ToggleYellow", LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelYellow=Yellow")), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"ResetAll", LOC("$$$/AgCameraRawNamedSettings/Ops/ResetSettings=Reset Settings"), photoActions, - true}, + true, + false, + false, + "Reset to defaults. *button*", + false}, {"ResetLast", reset..' '..LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified"):gsub(':',''), photoActions, - true}, + true, + false, + false, + "Resets the last parameter that was adjusted by an encoder or fader to default. *button*", + false}, {"IncrementLastDevelopParameter", LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 Increase: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), photoActions, - true}, + true, + false, + false, + "Increments the last parameter that was adjusted by an encoder or fader. *button*", + false}, {"DecrementLastDevelopParameter", LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 Decrease: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), photoActions, - true}, + true, + false, + false, + "Decrements the last parameter that was adjusted by an encoder or fader. *button*", + false}, {"Undo", LOC("$$$/AgCameraRawController/SoftProofingVirtualCopyPrompt/Undo=Undo"), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"Redo", LOC("$$$/Bezel/RedoTitle=Redo"), photoActions, - true}, + true, + false, + false, + "*button*", + false}, {"CopySettings", "Copy Settings", photoActions, - true}, + true, + false, + false, + "Copies all develop settings. Application will remember last copy operation and use that for all paste operations until a new *Copy Settings* is done or the application is restarted. *button*", + false}, {"PasteSettings", LOC("$$$/AgCameraRawNamedSettings/Ops/PasteSettings=Paste Settings"), photoActions, - true}, + true, + false, + false, + "Pastes all develop settings. *button*", + false}, {"PasteSelectedSettings", "Paste Selected Settings", photoActions, - true}, + true, + false, + false, + "Pastes only those settings checked in the **Options⇢Paste Selections** dialog. *button*", + false}, {"Preset_1", developPreset.." 1", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_2", developPreset.." 2", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_3", developPreset.." 3", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_4", developPreset.." 4", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_5", developPreset.." 5", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_6", developPreset.." 6", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_7", developPreset.." 7", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_8", developPreset.." 8", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_9", developPreset.." 9", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_10", developPreset.." 10", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_11", developPreset.." 11", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_12", developPreset.." 12", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_13", developPreset.." 13", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_14", developPreset.." 14", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_15", developPreset.." 15", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_16", developPreset.." 16", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_17", developPreset.." 17", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_18", developPreset.." 18", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_19", developPreset.." 19", developPresets, - true}, + true, + false, + false, + "", + false}, {"Preset_20", developPreset.." 20", developPresets, - true}, + true, + false, + false, + "", + false}, {"local_Temperature", "Local Temperature (PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Temperature for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Tint", "Local Tint (PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Tint for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Exposure", "Local Exposure (PV2010 and PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Exposure for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Contrast", "Local Contrast (PV2010 and PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Contrast for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Highlights", "Local Highlights (PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Highlights for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Shadows", "Local Shadows (PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Shadows for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Clarity", "Local Clarity (PV2010 and PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Clarity for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Saturation", "Local Saturation (PV2010 and PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Saturation for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Sharpness", "Local Sharpness (PV2010 and PV 2012)", localizedAdjustments, + false, + false, + true, + "Adjust Sharpness for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_LuminanceNoise", "Local Luminance Noise (PV2012)", "Localized Adjusments", + false, + false, + true, + "Adjust Luminance Noise for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Moire", "Local Moire (PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Moire for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_Defringe", "Local Defringe (PV2012)", localizedAdjustments, + false, + false, + true, + "Adjust Defringe for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"local_ToningLuminance", "Local Toning Luminance (PV2010)", localizedAdjustments, + false, + false, + true, + "Adjust Toning Luminance for the currently active tool: Brush, Radial Filter, or Graduated Filter.", false}, {"Resetlocal_Temperature", "Reset Local Temperature (PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Tint", "Reset Local Tint (PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Exposure", "Reset Local Exposure (PV2010 and PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Contrast", "Reset Local Contrast (PV2010 and PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Highlights", "Reset Local Highlights (PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Shadows", "Reset Local Shadows (PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Clarity", "Reset Local Clarity (PV2010 and PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Saturation", "Reset Local Saturation (PV2010 and PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Sharpness", "Reset Local Sharpness (PV2010 and PV 2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_LuminanceNoise", "Reset Local Luminance Noise (PV2012)", "Localized Adjusments", - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Moire", "Reset Local Moire (PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_Defringe", "Reset Local Defringe (PV2012)", localizedAdjustments, - true}, + true, + false, + false, + "Reset to default. *button*", + false}, {"Resetlocal_ToningLuminance", "Reset Local Toning Luminance (PV2010)", localizedAdjustments, - true}, - {"EnableCircularGradientBasedCorrections", + true, + false, + false, + "Reset to default. *button*", + false}, + {"EnableCircularGradientBasedCorrections", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), localizedAdjustments, + true, + false, + false, + "Enable or disable radial filter. *button*", true}, {"EnableGradientBasedCorrections", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), localizedAdjustments, + true, + false, + false, + "Enable or disable graduated filter. *button*", true}, {"EnablePaintBasedCorrections", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), localizedAdjustments, + true, + false, + false, + "Enable or disable brush adjustments. *button*", true}, {"EnableRedEye", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), localizedAdjustments, + true, + false, + false, + "Enable or disable red eye correction. *button*", true}, {"EnableRetouch", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), localizedAdjustments, + true, + false, + false, + "Enable or disable spot removal. *button*", true}, {"ResetCircGrad", LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), localizedAdjustments, - true}, + true, + false, + false, + "Delete radial filter. *button*", + false}, {"ResetGradient", LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), localizedAdjustments, - true}, + true, + false, + false, + "Delete graduated filter. *button*", + false}, {"ResetBrushing", LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), localizedAdjustments, - true}, + true, + false, + false, + "Delete brush adjustments. *button*", + false}, {"ResetRedeye", LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), localizedAdjustments, - true}, + true, + false, + false, + "Delete red eye correction. *button*", + false}, {"ResetSpotRem", LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), localizedAdjustments, - true}, + true, + false, + false, + "Delete spot removal. *button*", + false}, {"ZoomInLargeStep", LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomIn=Zoom In"), miscellaneous, - true}, + true, + false, + false, + "*button*", + false}, {"ZoomInSmallStep", LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomInSome=Zoom In Some"), miscellaneous, - true}, + true, + false, + false, + "*button*", + false}, {"ZoomOutSmallStep", LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOutSome=Zoom Out Some"), miscellaneous, - true}, + true, + false, + false, + "*button*", + false}, {"ZoomOutLargeStep", LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOut=Zoom Out"), miscellaneous, - true}, + true, + false, + false, + "*button*", + false}, {"ToggleZoomOffOn", "Toggle Zoom Off/On", miscellaneous, - true}, + true, + false, + false, + "*button*", + false}, {"CropAngle", LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropAngle=Crop Angle"), miscellaneous, - false}, + false, + true, + true, + "Rotate crop rectangle. This control is constrained to picture boundaries even when \226\128\156constrain to image\226\128\157 is not selected. It also causes the aspect ratio of the crop to change. It may be better to use the [Perspective Rotate in the Lens Corrections](https://github.com/rsjaffe/MIDI2LR/wiki/Commands:-Lens-Correction) set of actions.", + true}, {"CropBottom", - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), + crop..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), miscellaneous, - false}, + false, + true, + true, + "Adjust bottom of crop rectangle.", + true}, {"CropLeft", - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), + crop..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), miscellaneous, - false}, + false, + true, + true, + "Adjust left side of crop rectangle.", + true}, {"CropRight", - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), + crop..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), miscellaneous, - false}, + false, + true, + true, + "Adjust right side of crop rectangle.", + true}, {"CropTop", - LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), + crop..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), miscellaneous, - false}, + false, + true, + true, + "Adjust top of crop rectangle.", + true}, {"ResetCrop", LOC("$$$/AgLibrary/Ops/ResetCrop=Reset Crop"), miscellaneous, - true}, + true, + false, + false, + "Reset the crop angle and frame for the current photo. *button*", + false}, {"Loupe", show..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), gotoToolModulePanel, - true}, + true, + false, + false}, {"CropOverlay", - show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop"), + show..' '..crop, gotoToolModulePanel, - true}, + true, + false, + false}, {"SpotRemoval", show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), gotoToolModulePanel, - true}, + true, + false, + false}, {"RedEye", show..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), gotoToolModulePanel, - true}, + true, + false, + false}, {"GraduatedFilter", show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), gotoToolModulePanel, - true}, + true, + false, + false}, {"RadialFilter", show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), gotoToolModulePanel, - true}, + true, + false, + false}, {"AdjustmentBrush", show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), gotoToolModulePanel, - true}, + true, + false, + false}, {"SwToMlibrary", show..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), gotoToolModulePanel, - true}, + true, + false, + false}, {"SwToMdevelop", show..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), gotoToolModulePanel, - true}, + true, + false, + false}, {"SwToMmap", show..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), gotoToolModulePanel, - true}, + true, + false, + false}, {"SwToMbook", show..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), gotoToolModulePanel, - true}, + true, + false, + false}, {"SwToMslideshow", show..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), gotoToolModulePanel, - true}, + true, + false, + false}, {"SwToMprint", show..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), gotoToolModulePanel, - true}, + true, + false, + false}, {"SwToMweb", show..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), gotoToolModulePanel, - true}, + true, + false, + false}, {"RevealPanelAdjust", show..' '..basicTone, gotoToolModulePanel, - true}, + true, + false, + false}, {"RevealPanelTone", show..' '..toneCurve, gotoToolModulePanel, - true}, + true, + false, + false}, {"RevealPanelMixer", show..' '..colorAdjustments, gotoToolModulePanel, - true}, + true, + false, + false}, {"RevealPanelSplit", show..' '..splitToning, gotoToolModulePanel, - true}, + true, + false, + false}, {"RevealPanelDetail", show..' '..detail, gotoToolModulePanel, - true}, + true, + false, + false}, {"RevealPanelLens", show..' '..lensCorrections, gotoToolModulePanel, - true}, + true, + false, + false}, {"RevealPanelEffects", show..' '..effects, gotoToolModulePanel, - true}, + true, + false, + false}, {"RevealPanelCalibrate", show..' '..calibration, gotoToolModulePanel, - true}, + true, + false, + false}, {"ShoVwloupe", - LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), viewModes, - true}, + true, + false, + false}, {"ShoVwgrid", - LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), viewModes, - true}, + true, + false, + false}, {"ShoVwcompare", - LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), viewModes, - true}, + true, + false, + false}, {"ShoVwsurvey", - LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), viewModes, - true}, + true, + false, + false}, {"ShoVwpeople", - LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), viewModes, - true}, + true, + false, + false}, {"ShoVwdevelop_loupe", - LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), viewModes, - true}, + true, + false, + false}, {"ShoVwdevelop_before_after_horiz", - LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), viewModes, - true}, + true, + false, + false}, {"ShoVwdevelop_before_after_vert", - LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), viewModes, - true}, + true, + false, + false}, {"ShoVwdevelop_before", - LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display")..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), viewModes, - true}, + true, + false, + false}, {"ShoScndVwloupe", - LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), viewModes, - true}, + true, + false, + false}, {"ShoScndVwlive_loupe", - LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), viewModes, - true}, + true, + false, + false}, {"ShoScndVwlocked_loupe", - LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), viewModes, - true}, + true, + false, + false}, {"ShoScndVwgrid", - LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), viewModes, - true}, + true, + false, + false}, {"ShoScndVwcompare", - LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), viewModes, - true}, + true, + false, + false}, {"ShoScndVwsurvey", - LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), viewModes, - true}, + true, + false, + false}, {"ShoScndVwslideshow", - LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), viewModes, - true}, + true, + false, + false}, {"ToggleScreenTwo", - LOC("$$$/AgApplication/Menu/Window/SecondaryDisplay=Secondary Display")..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), viewModes, - true}, + true, + false, + false}, {"profile1", profile.." 1", profiles, - true}, + true, + false, + false, + "", + false}, {"profile2", profile.." 2", profiles, - true}, + true, + false, + false, + "", + false}, {"profile3", profile.." 3", profiles, - true}, + true, + false, + false, + "", + false}, {"profile4", profile.." 4", profiles, - true}, + true, + false, + false, + "", + false}, {"profile5", profile.." 5", profiles, - true}, + true, + false, + false, + "", + false}, {"profile6", profile.." 6", profiles, - true}, + true, + false, + false, + "", + false}, {"profile7", profile.." 7", profiles, - true}, + true, + false, + false, + "", + false}, {"profile8", profile.." 8", profiles, - true}, + true, + false, + false, + "", + false}, {"profile9", profile.." 9", profiles, - true}, + true, + false, + false, + "", + false}, {"profile10", profile.." 10", profiles, - true}, + true, + false, + false, + "", + false}, } return { From 3cc4d549bc866d9da3391748a384681d9dc64c69 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Mon, 25 Jan 2016 19:40:09 -0800 Subject: [PATCH 48/87] inlined message processor --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 36 +++++++++------------ 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 39798b60d..91f84849c 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -262,24 +262,6 @@ local function updateParam() --closure end updateParam = updateParam() --complete closure --- message processor -local function processMessage(message) - if type(message) == 'string' then - local split = message:find(' ',1,true) - local param = message:sub(1,split-1) - local value = message:sub(split+1) - if(ACTIONS[param]) then -- perform a one time action - if(tonumber(value) == MIDI2LR.BUTTON_ON) then ACTIONS[param]() end - elseif(param:find('Reset') == 1) then -- perform a reset other than those explicitly coded in ACTIONS array - if(tonumber(value) == MIDI2LR.BUTTON_ON) then Ut.execFOM(LrDevelopController.resetToDefault,param:sub(6)) end - elseif(SETTINGS[param]) then -- do something requiring the transmitted value to be known - SETTINGS[param](value) - else -- otherwise update a develop parameter - updateParam(param, tonumber(value)) - end - end -end - -- Main task LrTasks.startAsyncTask( function() -- LrMobdebug.on() @@ -383,13 +365,25 @@ return { plugin = _PLUGIN, port = MIDI2LR.RECEIVE_PORT, mode = 'receive', - onMessage = function(socket, message) - processMessage(message) + onMessage = function(socket, message) --message processor + if type(message) == 'string' then + local split = message:find(' ',1,true) + local param = message:sub(1,split-1) + local value = message:sub(split+1) + if(ACTIONS[param]) then -- perform a one time action + if(tonumber(value) == MIDI2LR.BUTTON_ON) then ACTIONS[param]() end + elseif(param:find('Reset') == 1) then -- perform a reset other than those explicitly coded in ACTIONS array + if(tonumber(value) == MIDI2LR.BUTTON_ON) then Ut.execFOM(LrDevelopController.resetToDefault,param:sub(6)) end + elseif(SETTINGS[param]) then -- do something requiring the transmitted value to be known + SETTINGS[param](value) + else -- otherwise update a develop parameter + updateParam(param, tonumber(value)) + end + end end, onClosed = function( socket ) -- MIDI2LR closed connection, allow for reconnection socket:reconnect() - -- calling SERVER:reconnect causes LR to hang for some reason... MIDI2LR.SERVER:close() startServer(context) From a3d4ec31ea5d565b99cd247c0579b68a05b972ee Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 26 Jan 2016 07:34:40 -0800 Subject: [PATCH 49/87] finished menulist for app and documentation --- .../MIDI2LR.lrplugin/MenuListPreTrans.lua | 88 ++++++++++++++++++- 1 file changed, 86 insertions(+), 2 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index 1575fd892..a64c023f2 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -17,6 +17,8 @@ You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] +--local function LOC(str) return str end--for debugging + local basicTone = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone") local calibration = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration") local colorAdjustments = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments") @@ -69,7 +71,7 @@ local rsquo = '\226\128\153' local mdash = '\226\128\148' ------------------------------------------------------------------------------]] -local MenuList = { +local DataBase = { {"WhiteBalanceAs_Shot", whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), basicTone, @@ -633,7 +635,7 @@ local MenuList = { colorAdjustments, true, false, - false + false, "Enable or disable black and white mix. *button*", true}, {"GrayMixerRed", @@ -2697,234 +2699,312 @@ local MenuList = { gotoToolModulePanel, true, false, + false, + "Select Loupe View mode in Develop Module. Repeated press toggles in and out of Loupe View. *button*", false}, {"CropOverlay", show..' '..crop, gotoToolModulePanel, true, false, + false, + "Select Crop Overlay mode in Develop Module. Repeated press toggles Loupe View. *button*", false}, {"SpotRemoval", show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), gotoToolModulePanel, true, false, + false, + "Select Spot Removal mode in Develop Module. Repeated press toggles Loupe View. *button*", false}, {"RedEye", show..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), gotoToolModulePanel, true, false, + false, + "Select Red Eye mode in Develop Module. Repeated press toggles Loupe View. *button*", false}, {"GraduatedFilter", show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), gotoToolModulePanel, true, false, + false, + "Select Graduated Filter mode in Develop Module. Repeated press toggles Loupe View. *button*", false}, {"RadialFilter", show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), gotoToolModulePanel, true, false, + false, + "Select Radial Filter View mode in Develop Module. Repeated press toggles Loupe View. *button*", false}, {"AdjustmentBrush", show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), gotoToolModulePanel, true, false, + false, + "Select Adjustment Brush mode in Develop Module. Repeated press toggles Loupe View. *button*", false}, {"SwToMlibrary", show..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), gotoToolModulePanel, true, false, + false, + "Switch to Library module. *button*", false}, {"SwToMdevelop", show..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), gotoToolModulePanel, true, false, + false, + "Switch to Develop module. *button*", false}, {"SwToMmap", show..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), gotoToolModulePanel, true, false, + false, + "Switch to Map module. *button*", false}, {"SwToMbook", show..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), gotoToolModulePanel, true, false, + false, + "Switch to Book module. *button*", false}, {"SwToMslideshow", show..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), gotoToolModulePanel, true, false, + false, + "Switch to Slideshow module. *button*", false}, {"SwToMprint", show..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), gotoToolModulePanel, true, false, + false, + "Switch to Print module. *button*", false}, {"SwToMweb", show..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), gotoToolModulePanel, true, false, + false, + "Switch to Web module. *button*", false}, {"RevealPanelAdjust", show..' '..basicTone, gotoToolModulePanel, true, false, + false, + "Open Basic Adjustments Panel in Develop Module. *button*", false}, {"RevealPanelTone", show..' '..toneCurve, gotoToolModulePanel, true, false, + false, + "Open Tone Curve Panel in Develop Module. *button*", false}, {"RevealPanelMixer", show..' '..colorAdjustments, gotoToolModulePanel, true, false, + false, + "Open Mixer Panel in Develop Module. *button*", false}, {"RevealPanelSplit", show..' '..splitToning, gotoToolModulePanel, true, false, + false, + "Open Split Toning Panel in Develop Module. *button*", false}, {"RevealPanelDetail", show..' '..detail, gotoToolModulePanel, true, false, + false, + "Open Detail Panel in Develop Module. *button*", false}, {"RevealPanelLens", show..' '..lensCorrections, gotoToolModulePanel, true, false, + false, + "Open Lens Corrections Panel in Develop Module. *button*", false}, {"RevealPanelEffects", show..' '..effects, gotoToolModulePanel, true, false, + false, + "Open Effects Panel in Develop Module. *button*", false}, {"RevealPanelCalibrate", show..' '..calibration, gotoToolModulePanel, true, false, + false, + "Open Camera Calibration Panel in Develop Module. *button*", false}, {"ShoVwloupe", primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), viewModes, true, false, + false, + "Displays a single photo. Zoom levels up to 11:1 are available. *button*", false}, {"ShoVwgrid", primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), viewModes, true, false, + false, + "Displays photos as thumbnails in cells, which can be viewed in compact and expanded sizes. *button*", false}, {"ShoVwcompare", primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), viewModes, true, false, + false, + "Displays photos side by side so that you can evaluate them. *button*", false}, {"ShoVwsurvey", primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), viewModes, true, false, + false, + "Displays the active photo with selected photos so that you can evaluate them. The active photo has the lightest colored cell. *button*", false}, {"ShoVwpeople", primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), viewModes, true, false, + false, + "In the People view, the different faces are organized by people stacks. *button*", false}, {"ShoVwdevelop_loupe", primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), viewModes, true, false, + false, + "*button*", false}, {"ShoVwdevelop_before_after_horiz", primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), viewModes, true, false, + false, + "*button*", false}, {"ShoVwdevelop_before_after_vert", primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), viewModes, true, false, + false, + "*button*", false}, {"ShoVwdevelop_before", primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), viewModes, true, false, + false, + "*button*", false}, {"ShoScndVwloupe", secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), viewModes, true, false, + false, + "Shows Loupe view on the secondary screen, or hides the secondary screen if Loupe view was previously being shown. *button*", false}, {"ShoScndVwlive_loupe", secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), viewModes, true, false, + false, + "Shows Live Loupe view on the secondary screen, or hides the secondary screen if Live Loupe view was previously being shown. *button*", false}, {"ShoScndVwlocked_loupe", secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), viewModes, true, false, + false, + "Shows Locked Loupe view on the secondary screen, or hides the secondary screen if Locked Loupe view was previously being shown. *button*", false}, {"ShoScndVwgrid", secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), viewModes, true, false, + false, + "Shows Grid view on the secondary screen, or hides the secondary screen if Grid view was previously being shown. *button*", false}, {"ShoScndVwcompare", secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), viewModes, true, false, + false, + "Shows Compare view on the secondary screen, or hides the secondary screen if Compare view was previously being shown. *button*", false}, {"ShoScndVwsurvey", secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), viewModes, true, false, + false, + "Shows Survey view on the secondary screen, or hides the secondary screen if Survey view was previously being shown. *button*", false}, {"ShoScndVwslideshow", secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), viewModes, true, false, + false, + "Shows Slideshow view on the secondary screen, or hides the secondary screen if Slideshow view was previously being shown. *button*", false}, {"ToggleScreenTwo", secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), viewModes, true, false, + false, + "Toggles the the secondary window on/off. *button*", false}, {"profile1", profile.." 1", @@ -3007,6 +3087,10 @@ local MenuList = { "", false}, } +local MenuList = {} +for _,v in pairs(DataBase) do + table.insert(MenuList,{v[1],v[2],v[3],v[4]}) +end return { MenuList = MenuList, From d16e0a1ceae9c7f0e8845cd7850eb319f7ee5bfd Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 26 Jan 2016 11:48:30 -0800 Subject: [PATCH 50/87] Move file generation into menulistpretrans --- .../MIDI2LR.lrplugin/MenuListPreTrans.lua | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua index a64c023f2..d4ad22ff6 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua @@ -3087,11 +3087,39 @@ local DataBase = { "", false}, } + local MenuList = {} for _,v in pairs(DataBase) do table.insert(MenuList,{v[1],v[2],v[3],v[4]}) end +local serpent = require 'serpent' +local LrPathUtils = import 'LrPathUtils' +local datafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') +local file = io.open(datafile,'w') +file:write([=[ +--[[---------------------------------------------------------------------------- +This file was auto-generated by MIDI2LR and contains the translated menus used +by the app and the plugin. Edits to this file will be lost any time MIDI2LR +is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua +if you want to have persistent changes to the translations or menu structure. +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] +local MenuList = ]=],serpent.block(MenuList, {comment = false}), [==[ +local MenuListHashed = {} +for i,v in ipairs(MenuList) do + MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} + end return { MenuList = MenuList, -} \ No newline at end of file + MenuListHashed = MenuListHashed, +}]==]) +file:close() From 310f0eba77e80c3ae6270522724abaef7580a389 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 26 Jan 2016 11:51:41 -0800 Subject: [PATCH 51/87] Move file generation into menulistpretrans --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 51 ++++----------------- 1 file changed, 8 insertions(+), 43 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 91f84849c..be8f85957 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -283,51 +283,16 @@ LrTasks.startAsyncTask( function() if versionmismatch or LrFileUtils.exists(datafile) ~= 'file' or ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() then - local serpent = require 'serpent' - local MenuListPreTrans = require 'MenuListPreTrans' - local file = io.open(datafile,'w') - file:write([=[ - --[[---------------------------------------------------------------------------- - - This file was auto-generated by MIDI2LR and contains the translated menus used - by the app and the plugin. Edits to this file will be lost any time MIDI2LR - is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua - if you want to have persistent changes to the translations or menu structure. - - This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - - MIDI2LR is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or (at your option) any later version. - - MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - MIDI2LR. If not, see . - ------------------------------------------------------------------------------]] - local MenuList = ]=],serpent.block(MenuListPreTrans.MenuList, {comment = false}), [==[ - -local MenuListHashed = {} -for i,v in ipairs(MenuList) do - MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} - end - -return { - MenuList = MenuList, - MenuListHashed = MenuListHashed, -}]==]) - file:close() - ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up - ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() - for k,v in pairs(Info.VERSION) do - ProgramPreferences.DataStructure.version[k] = v + require 'MenuListPreTrans' + ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up + ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() + for k,v in pairs(Info.VERSION) do + ProgramPreferences.DataStructure.version[k] = v + end end - end - end --save localized file for app + end --save localized file for app - LrFunctionContext.callWithContext( 'socket_remote', function( context ) + LrFunctionContext.callWithContext( 'socket_remote', function( context ) local LrRecursionGuard = import 'LrRecursionGuard' local LrShell = import 'LrShell' local LrSocket = import 'LrSocket' From ddf11d28ffba00daf09da8c7777b19b96a5d7ac9 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 26 Jan 2016 11:56:28 -0800 Subject: [PATCH 52/87] Clean up new file creation code --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index be8f85957..de8479c3e 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -281,14 +281,14 @@ LrTasks.startAsyncTask( function() end end if versionmismatch or LrFileUtils.exists(datafile) ~= 'file' or - ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() + ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() then require 'MenuListPreTrans' - ProgramPreferences.DataStructure = {version={},language = ''} --empty it out, fill it up - ProgramPreferences.DataStructure.language = LrLocalization.currentLanguage() + ProgramPreferences.DataStructure = {version={},language = LrLocalization.currentLanguage()} for k,v in pairs(Info.VERSION) do ProgramPreferences.DataStructure.version[k] = v end + Preferences.Save() --ensure that new version/language info saved end end --save localized file for app From 3a5a4f0753db543e6d624740ad6623d14952cd4f Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 26 Jan 2016 12:10:20 -0800 Subject: [PATCH 53/87] rename MenuListPretrans --- .../MIDI2LR.lrplugin/{MenuListPreTrans.lua => Database.lua} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Source/LRPlugin/MIDI2LR.lrplugin/{MenuListPreTrans.lua => Database.lua} (100%) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua similarity index 100% rename from Source/LRPlugin/MIDI2LR.lrplugin/MenuListPreTrans.lua rename to Source/LRPlugin/MIDI2LR.lrplugin/Database.lua From c88fd7b7542d637e51d6d6f98b43e0a608089c51 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Tue, 26 Jan 2016 12:10:58 -0800 Subject: [PATCH 54/87] change menulistpretrans to 'database' --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index de8479c3e..dfb75e799 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -283,7 +283,7 @@ LrTasks.startAsyncTask( function() if versionmismatch or LrFileUtils.exists(datafile) ~= 'file' or ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() then - require 'MenuListPreTrans' + require 'Database' ProgramPreferences.DataStructure = {version={},language = LrLocalization.currentLanguage()} for k,v in pairs(Info.VERSION) do ProgramPreferences.DataStructure.version[k] = v From 24ea07ca3cb5f19bf7002c70102f48764d7e65d5 Mon Sep 17 00:00:00 2001 From: jewest Date: Tue, 26 Jan 2016 21:43:03 +0100 Subject: [PATCH 55/87] The code is fully compiling and the first tests seems to be ok. Code still needs to be fully tested. --- Source/CommandMenu.cpp | 2 +- Source/CommandTableModel.cpp | 2 +- Source/LR_IPC_In.cpp | 18 ++-- Source/LR_IPC_In.h | 6 +- Source/LR_IPC_Out.cpp | 15 ++- Source/LR_IPC_Out.h | 4 +- Source/MIDIProcessor.cpp | 18 ++-- Source/MIDIProcessor.h | 14 +-- Source/MIDISender.cpp | 12 +-- Source/MIDISender.h | 14 +-- Source/Main.cpp | 20 +++- Source/MainComponent.cpp | 120 ++++++++++++++++-------- Source/MainComponent.h | 8 +- Source/MainWindow.cpp | 4 +- Source/MainWindow.h | 2 +- Source/ProfileManager.cpp | 11 ++- Source/ProfileManager.h | 4 +- Source/SettingsComponent.cpp | 175 +++++++++++++++++++---------------- Source/SettingsComponent.h | 5 +- Source/SettingsManager.cpp | 22 +++-- Source/SettingsManager.h | 5 +- 21 files changed, 289 insertions(+), 192 deletions(-) diff --git a/Source/CommandMenu.cpp b/Source/CommandMenu.cpp index 76b7a056f..2cdbe8497 100644 --- a/Source/CommandMenu.cpp +++ b/Source/CommandMenu.cpp @@ -27,7 +27,7 @@ MIDI2LR. If not, see . CommandMenu::CommandMenu(const MIDI_Message& msg): _msg(msg), _selectedItem(std::numeric_limits::max()), -TextButton("Unmapped"), m_commandMap(NULL) +TextButton("Unmapped"), m_commandMap(nullptr) { } diff --git a/Source/CommandTableModel.cpp b/Source/CommandTableModel.cpp index ae700963e..b010dfba5 100644 --- a/Source/CommandTableModel.cpp +++ b/Source/CommandTableModel.cpp @@ -17,7 +17,7 @@ MIDI2LR. If not, see . #include "CommandTableModel.h" #include "LRCommands.h" -CommandTableModel::CommandTableModel() : _rows(0), m_commandMap(NULL) +CommandTableModel::CommandTableModel() : _rows(0), m_commandMap(nullptr) { } diff --git a/Source/LR_IPC_In.cpp b/Source/LR_IPC_In.cpp index d6c1bf2f7..ec707de34 100644 --- a/Source/LR_IPC_In.cpp +++ b/Source/LR_IPC_In.cpp @@ -20,7 +20,7 @@ MIDI2LR. If not, see . ============================================================================== */ #include "LR_IPC_In.h" -#include "MIDISender.h" + #include "Logger.h" @@ -28,10 +28,9 @@ MIDI2LR. If not, see . #define LR_IN_PORT 58764 LR_IPC_IN::LR_IPC_IN() : StreamingSocket(), -Thread("LR_IPC_IN"), m_commandMap(NULL), m_profileManager(NULL) +Thread("LR_IPC_IN"), m_commandMap(nullptr), m_profileManager(nullptr), m_midiSender(nullptr) { - MIDISender::getInstance(); // enumerate MIDI output devices } void LR_IPC_IN::shutdown() @@ -50,10 +49,11 @@ void LR_IPC_IN::timerCallback() } } -void LR_IPC_IN::Init(CommandMap * mapCommand, ProfileManager *profileManager) +void LR_IPC_IN::Init(CommandMap * mapCommand, ProfileManager *profileManager, MIDISender *midiSender) { m_commandMap = mapCommand; m_profileManager = profileManager; + m_midiSender = midiSender; //start the timer startTimer(1000); } @@ -119,7 +119,11 @@ void LR_IPC_IN::processLine(const String& line) if (m_commandMap->commandHasAssociatedMessage(command)) { const MIDI_Message& msg = m_commandMap->getMessageForCommand(command); - MIDISender::getInstance().sendCC(msg.channel, msg.controller, value); + + if (m_midiSender) + { + m_midiSender->sendCC(msg.channel, msg.controller, value); + } } } } @@ -132,10 +136,10 @@ void LR_IPC_IN::refreshMIDIOutput() // send associated CC messages to MIDI OUT devices for (auto mapEntry : parameterMap) { - if (m_commandMap->commandHasAssociatedMessage(mapEntry.first)) + if ((m_commandMap->commandHasAssociatedMessage(mapEntry.first)) && (m_midiSender)) { const MIDI_Message& msg = m_commandMap->getMessageForCommand(mapEntry.first); - MIDISender::getInstance().sendCC(msg.channel, msg.controller, mapEntry.second); + m_midiSender->sendCC(msg.channel, msg.controller, mapEntry.second); } } } diff --git a/Source/LR_IPC_In.h b/Source/LR_IPC_In.h index 4b110346d..4ee1c20d5 100644 --- a/Source/LR_IPC_In.h +++ b/Source/LR_IPC_In.h @@ -26,6 +26,7 @@ MIDI2LR. If not, see . #include #include "CommandMap.h" #include "ProfileManager.h" +#include "MIDISender.h" class LR_IPC_IN : public StreamingSocket, public Timer, @@ -33,7 +34,7 @@ class LR_IPC_IN : public StreamingSocket, { public: LR_IPC_IN(); - virtual ~LR_IPC_IN(); + virtual ~LR_IPC_IN() {}; // closes the socket void shutdown(); @@ -45,12 +46,13 @@ class LR_IPC_IN : public StreamingSocket, // Timer callback virtual void timerCallback() override; - void Init(CommandMap *mapCommand, ProfileManager *profileManager); + void Init(CommandMap *mapCommand, ProfileManager *profileManager, MIDISender *midiSender); private: // process a line received from the socket void processLine(const String& line); CommandMap *m_commandMap; ProfileManager *m_profileManager; + MIDISender *m_midiSender; std::unordered_map parameterMap; }; diff --git a/Source/LR_IPC_Out.cpp b/Source/LR_IPC_Out.cpp index f8a39e4fe..dc0746ec9 100644 --- a/Source/LR_IPC_Out.cpp +++ b/Source/LR_IPC_Out.cpp @@ -29,8 +29,7 @@ MIDI2LR. If not, see . LR_IPC_OUT::LR_IPC_OUT() : InterprocessConnection() { - MIDIProcessor::getInstance().addMIDICommandListener(this); - + } void LR_IPC_OUT::shutdown() @@ -45,11 +44,21 @@ void LR_IPC_OUT::timerCallback() connectToSocket("127.0.0.1", LR_OUT_PORT, 100); } -void LR_IPC_OUT::Init(CommandMap * mapCommand) +void LR_IPC_OUT::Init(CommandMap * mapCommand, MIDIProcessor *midiProcessor) { + //copy the pointer m_commandMap = mapCommand; + + if (midiProcessor) + { + midiProcessor->addMIDICommandListener(this); + } + + //start the timer startTimer(1000); + + } void LR_IPC_OUT::addListener(LRConnectionListener *listener) diff --git a/Source/LR_IPC_Out.h b/Source/LR_IPC_Out.h index 6053ac3d5..87a2add7a 100644 --- a/Source/LR_IPC_Out.h +++ b/Source/LR_IPC_Out.h @@ -45,7 +45,7 @@ class LR_IPC_OUT : public InterprocessConnection, { public: LR_IPC_OUT(); - virtual ~LR_IPC_OUT(); + virtual ~LR_IPC_OUT() {}; // closes the socket void shutdown(); @@ -68,7 +68,7 @@ class LR_IPC_OUT : public InterprocessConnection, // Timer callback virtual void timerCallback() override; - void Init(CommandMap *mapCommand); + void Init(CommandMap *mapCommand, MIDIProcessor *midiProcessor); private: CommandMap *m_commandMap; diff --git a/Source/MIDIProcessor.cpp b/Source/MIDIProcessor.cpp index c7e5bb9ec..5ece069c5 100644 --- a/Source/MIDIProcessor.cpp +++ b/Source/MIDIProcessor.cpp @@ -22,15 +22,19 @@ MIDI2LR. If not, see . #include "MIDIProcessor.h" #include "Tools.h" -MIDIProcessor& MIDIProcessor::getInstance() +MIDIProcessor::MIDIProcessor() { - static MIDIProcessor instance; - return instance; + } -MIDIProcessor::MIDIProcessor() +MIDIProcessor::~MIDIProcessor() { - initDevices(); + +} + +void MIDIProcessor::Init(void) +{ + initDevices(); } void MIDIProcessor::initDevices() @@ -54,10 +58,6 @@ void MIDIProcessor::rescanDevices() initDevices(); } -MIDIProcessor::~MIDIProcessor() -{ -} - void MIDIProcessor::handleIncomingMidiMessage(MidiInput * UNUSED_ARG(device), const MidiMessage &msg) { if (msg.isController()) diff --git a/Source/MIDIProcessor.h b/Source/MIDIProcessor.h index a5c54d4d6..6c6d072ba 100644 --- a/Source/MIDIProcessor.h +++ b/Source/MIDIProcessor.h @@ -36,8 +36,9 @@ class MIDICommandListener class MIDIProcessor : public MidiInputCallback { public: - static MIDIProcessor& getInstance(); - + MIDIProcessor(); + virtual ~MIDIProcessor(); + // overriden from MidiInputCallback void handleIncomingMidiMessage(MidiInput*, const MidiMessage&) override; @@ -45,14 +46,9 @@ class MIDIProcessor : public MidiInputCallback // re-enumerates MIDI IN devices void rescanDevices(); - + void Init(void); private: - MIDIProcessor(); - ~MIDIProcessor(); - - MIDIProcessor(MIDIProcessor const&) = delete; - void operator=(MIDIProcessor const&) = delete; - + void initDevices(); Array _listeners; diff --git a/Source/MIDISender.cpp b/Source/MIDISender.cpp index 8c7a4f6c0..0e32e8ed7 100644 --- a/Source/MIDISender.cpp +++ b/Source/MIDISender.cpp @@ -23,7 +23,7 @@ MIDI2LR. If not, see . MIDISender::MIDISender() { - initDevices(); + } void MIDISender::initDevices() @@ -42,11 +42,6 @@ void MIDISender::rescanDevices() initDevices(); } -MIDISender& MIDISender::getInstance() -{ - static MIDISender instance; - return instance; -} MIDISender::~MIDISender() { @@ -57,4 +52,9 @@ void MIDISender::sendCC(int midi_channel, int controller, int value) { for (auto dev : _outputDevices) dev->sendMessageNow(MidiMessage::controllerEvent(midi_channel, controller, value)); +} + +void MIDISender::Init(void) +{ + initDevices(); } \ No newline at end of file diff --git a/Source/MIDISender.h b/Source/MIDISender.h index 5f74d8833..fd54653a0 100644 --- a/Source/MIDISender.h +++ b/Source/MIDISender.h @@ -27,20 +27,16 @@ MIDI2LR. If not, see . class MIDISender { public: - static MIDISender& getInstance(); - - // sends a CC message to all output devices + MIDISender(); + virtual ~MIDISender(); + // sends a CC message to all output devices void sendCC(int midi_channel, int controller, int value); // re-enumerates MIDI OUT devices void rescanDevices(); + void Init(); private: - MIDISender(); - ~MIDISender(); - - MIDISender(MIDISender const&) = delete; - void operator=(MIDISender const&) = delete; - + OwnedArray _outputDevices; void initDevices(); diff --git a/Source/Main.cpp b/Source/Main.cpp index a7cd54309..32ba24edd 100644 --- a/Source/Main.cpp +++ b/Source/Main.cpp @@ -31,6 +31,8 @@ MIDI2LR. If not, see . #include "VersionChecker.h" #include "MainWindow.h" #include "CommandMap.h" +#include "SettingsManager.h" +#include "MIDISender.h" #define SHUT_DOWN_STRING "--LRSHUTDOWN" @@ -48,14 +50,21 @@ class MIDI2LRApplication : public JUCEApplication { if (commandLine != SHUT_DOWN_STRING) { - m_lr_IPC_OUT.Init(&m_commandMap); + + m_midiProcessor.Init(); + m_midiSender.Init(); + + m_lr_IPC_OUT.Init(&m_commandMap, &m_midiProcessor); //set the reference to the command map - m_profileManager.Init(&m_lr_IPC_OUT, &m_commandMap); + m_profileManager.Init(&m_lr_IPC_OUT, &m_commandMap, &m_midiProcessor); //init the IPC_In - m_lr_IPC_IN.Init(&m_commandMap, &m_profileManager); + m_lr_IPC_IN.Init(&m_commandMap, &m_profileManager, &m_midiSender); + + // init the settings manager + m_settingsManager.Init(&m_lr_IPC_OUT, &m_profileManager); mainWindow = new MainWindow(getApplicationName()); - mainWindow->Init(&m_commandMap, m_lr_IPC_IN, m_lr_IPC_OUT, , m_profileManager, ); + mainWindow->Init(&m_commandMap, &m_lr_IPC_IN, &m_lr_IPC_OUT, &m_midiProcessor, &m_profileManager, &m_settingsManager, &m_midiSender); // Check for latest version _versionChecker.startThread(); @@ -111,6 +120,9 @@ class MIDI2LRApplication : public JUCEApplication LR_IPC_IN m_lr_IPC_IN; LR_IPC_OUT m_lr_IPC_OUT; ProfileManager m_profileManager; + SettingsManager m_settingsManager; + MIDIProcessor m_midiProcessor; + MIDISender m_midiSender; }; //============================================================================== diff --git a/Source/MainComponent.cpp b/Source/MainComponent.cpp index 8f5249703..10c52b386 100644 --- a/Source/MainComponent.cpp +++ b/Source/MainComponent.cpp @@ -41,9 +41,12 @@ _versionLabel("Version", "Version " + _settingsButton("Settings"), _profileNameLabel("ProfileNameLabel", ""), m_currentStatus("CurrentStatus", "no extra info"), - m_commandMap(NULL), - m_lr_IPC_IN(NULL), - m_lr_IPC_OUT(NULL) + m_commandMap(nullptr), + m_lr_IPC_IN(nullptr), + m_lr_IPC_OUT(nullptr), + m_settingsManager(nullptr), + m_midiProcessor(nullptr), + m_midiSender(nullptr) { } @@ -117,10 +120,18 @@ void MainContentComponent::buttonClicked(Button* button) { if (button == &_rescanButton) { - // Re-enumerate MIDI IN and OUT devices - MIDIProcessor::getInstance().rescanDevices(); - MIDISender::getInstance().rescanDevices(); - // Send new CC parameters to MIDI Out devices + // Re-enumerate MIDI IN and OUT devices + + if (m_midiProcessor) + { + m_midiProcessor->rescanDevices(); + } + + if (m_midiSender) + { + m_midiSender->rescanDevices(); + } + // Send new CC parameters to MIDI Out devices if (m_lr_IPC_IN) { m_lr_IPC_IN->refreshMIDIOutput(); @@ -136,12 +147,22 @@ void MainContentComponent::buttonClicked(Button* button) } else if (button == &_saveButton) { - bool profileDirSet = SettingsManager::getInstance().getProfileDirectory().isNotEmpty(); + + File profileDir; + + if (m_settingsManager) + { + profileDir = m_settingsManager->getProfileDirectory(); + } + + if (!profileDir.exists()) + { + profileDir = File::getCurrentWorkingDirectory(); + } + WildcardFileFilter wildcardFilter("*.xml", String::empty, "MIDI2LR profiles"); FileBrowserComponent browser(FileBrowserComponent::canSelectFiles | FileBrowserComponent::saveMode | - FileBrowserComponent::warnAboutOverwriting, - profileDirSet ? SettingsManager::getInstance().getProfileDirectory() : File::getCurrentWorkingDirectory(), - &wildcardFilter, nullptr); + FileBrowserComponent::warnAboutOverwriting, profileDir, &wildcardFilter, nullptr); FileChooserDialogBox dialogBox("Save profile", "Enter filename to save profile", browser, @@ -150,22 +171,31 @@ void MainContentComponent::buttonClicked(Button* button) if (dialogBox.show()) { File selectedFile = browser.getSelectedFile(0).withFileExtension("xml"); - CommandMap::getInstance().toXMLDocument(selectedFile); + + if (m_commandMap) + { + m_commandMap->toXMLDocument(selectedFile); + } } } else if (button == &_loadButton) { - bool profileDirSet = SettingsManager::getInstance().getProfileDirectory().isNotEmpty(); + File profileDir; + + if (m_settingsManager) + { + profileDir = m_settingsManager->getProfileDirectory(); + } + + if (!profileDir.exists()) + { + profileDir = File::getCurrentWorkingDirectory(); + } + + WildcardFileFilter wildcardFilter("*.xml", String::empty, "MIDI2LR profiles"); - FileBrowserComponent browser(FileBrowserComponent::canSelectFiles | FileBrowserComponent::openMode, - profileDirSet ? SettingsManager::getInstance().getProfileDirectory() : File::getCurrentWorkingDirectory(), - &wildcardFilter, - nullptr); - FileChooserDialogBox dialogBox("Open profile", - "Select a profile to open", - browser, - true, - Colours::lightgrey); + FileBrowserComponent browser(FileBrowserComponent::canSelectFiles | FileBrowserComponent::openMode, profileDir, &wildcardFilter, nullptr); + FileChooserDialogBox dialogBox("Open profile", "Select a profile to open", browser, true, Colours::lightgrey); if (dialogBox.show()) { @@ -174,7 +204,11 @@ void MainContentComponent::buttonClicked(Button* button) { File newprofile = browser.getSelectedFile(0); String command = String("ChangedToFullPath ") + newprofile.getFullPathName() + "\n"; - LR_IPC_OUT::getInstance().sendCommand(command); + + if (m_lr_IPC_OUT) + { + m_lr_IPC_OUT->sendCommand(command); + } _profileNameLabel.setText(newprofile.getFileName(), NotificationType::dontSendNotification); _commandTableModel.buildFromXml(elem); _commandTable.updateContent(); @@ -186,7 +220,10 @@ void MainContentComponent::buttonClicked(Button* button) { DialogWindow::LaunchOptions dwOpt; dwOpt.dialogTitle = "Settings"; - dwOpt.content.setOwned(new SettingsComponent()); + //create new object + SettingsComponent *comp = new SettingsComponent(); + comp->Init(m_settingsManager); + dwOpt.content.setOwned(comp); dwOpt.content->setSize(400, 300); dwOpt.escapeKeyTriggersCloseButton = true; dwOpt.useNativeTitleBar = false; @@ -223,12 +260,15 @@ void MainContentComponent::SetTimerText(int timeValue) } -void MainContentComponent::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager) +void MainContentComponent::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager, MIDISender *midiSender) { //copy the pointers m_commandMap = commandMap; m_lr_IPC_IN = in; m_lr_IPC_OUT = out; + m_settingsManager = settingsManager; + m_midiProcessor = midiProcessor; + m_midiSender = midiSender; //call the function of the sub component. _commandTableModel.Init(commandMap); @@ -351,24 +391,26 @@ void MainContentComponent::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OU _systemTrayComponent.setIconImage(ImageCache::getFromMemory(BinaryData::MIDI2LR_png, BinaryData::MIDI2LR_pngSize)); - - // Try to load a default.xml if the user has not set a profile directory - if (SettingsManager::getInstance().getProfileDirectory().isEmpty()) + if (m_settingsManager) { - File defaultProfile = File::getSpecialLocation(File::currentExecutableFile).getSiblingFile("default.xml"); - ScopedPointer elem = XmlDocument::parse(defaultProfile); - if (elem) + // Try to load a default.xml if the user has not set a profile directory + if (m_settingsManager->getProfileDirectory().isEmpty()) { - _commandTableModel.buildFromXml(elem); - _commandTable.updateContent(); + File defaultProfile = File::getSpecialLocation(File::currentExecutableFile).getSiblingFile("default.xml"); + ScopedPointer elem = XmlDocument::parse(defaultProfile); + if (elem) + { + _commandTableModel.buildFromXml(elem); + _commandTable.updateContent(); + } } - } - else - { - // otherwise use the last profile from the profile directory - ProfileManager::getInstance().switchToProfile(0); - } + else if (profileManager) + { + // otherwise use the last profile from the profile directory + profileManager->switchToProfile(0); + } + } // turn it on activateLayout(); diff --git a/Source/MainComponent.h b/Source/MainComponent.h index fa0cc400c..8c8a80750 100644 --- a/Source/MainComponent.h +++ b/Source/MainComponent.h @@ -51,7 +51,7 @@ class MainContentComponent: public Component, { public: MainContentComponent(); - ~MainContentComponent(); + virtual ~MainContentComponent(); void paint (Graphics&); @@ -75,7 +75,7 @@ class MainContentComponent: public Component, // ProfileChangeListener interface virtual void profileChanged(XmlElement* elem, const String& filename) override; void SetTimerText(int timeValue); - void Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager); + void Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager, MIDISender *midiSender); protected: void SetLabelSettings(Label &lblToSet); @@ -104,6 +104,10 @@ class MainContentComponent: public Component, CommandMap *m_commandMap; LR_IPC_IN *m_lr_IPC_IN; LR_IPC_OUT *m_lr_IPC_OUT; + SettingsManager *m_settingsManager; + MIDIProcessor *m_midiProcessor; + MIDISender *m_midiSender; + //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(MainContentComponent) diff --git a/Source/MainWindow.cpp b/Source/MainWindow.cpp index 3e2af7559..25c22f888 100644 --- a/Source/MainWindow.cpp +++ b/Source/MainWindow.cpp @@ -54,7 +54,7 @@ void MainWindow::timerCallback(void) } -void MainWindow::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager) +void MainWindow::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager, MIDISender *midiSender) { // get the auto time setting @@ -72,6 +72,6 @@ void MainWindow::Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MI if (m_windowContent) { - m_windowContent->Init(commandMap,in, out, midiProcessor, profileManager, settingsManager); + m_windowContent->Init(commandMap,in, out, midiProcessor, profileManager, settingsManager, midiSender); } } \ No newline at end of file diff --git a/Source/MainWindow.h b/Source/MainWindow.h index d37b7ba49..12a8c5c77 100644 --- a/Source/MainWindow.h +++ b/Source/MainWindow.h @@ -56,7 +56,7 @@ MIDI2LR. If not, see . JUCEApplication::getInstance()->systemRequestedQuit(); } - void Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager); + void Init(CommandMap *commandMap, LR_IPC_IN *in, LR_IPC_OUT *out, MIDIProcessor *midiProcessor, ProfileManager *profileManager, SettingsManager *settingsManager, MIDISender *midiSender); /* Note: Be careful if you override any DocumentWindow methods - the base class uses a lot of them, so by overriding you might break its functionality. diff --git a/Source/ProfileManager.cpp b/Source/ProfileManager.cpp index 2acba8db3..7c69e25c4 100644 --- a/Source/ProfileManager.cpp +++ b/Source/ProfileManager.cpp @@ -22,9 +22,9 @@ MIDI2LR. If not, see . #include "ProfileManager.h" #include "LRCommands.h" -ProfileManager::ProfileManager() : _currentProfileIdx(0), m_commandMap(NULL), m_lr_IPC_OUT(NULL) +ProfileManager::ProfileManager() : _currentProfileIdx(0), m_commandMap(nullptr), m_lr_IPC_OUT(nullptr) { - MIDIProcessor::getInstance().addMIDICommandListener(this); + } @@ -179,8 +179,7 @@ void ProfileManager::disconnected() } - -void ProfileManager::Init(LR_IPC_OUT *out, CommandMap *commandMap) +void ProfileManager::Init(LR_IPC_OUT *out, CommandMap *commandMap, MIDIProcessor *midiProcessor) { //copy the pointers m_commandMap = commandMap; @@ -192,4 +191,8 @@ void ProfileManager::Init(LR_IPC_OUT *out, CommandMap *commandMap) m_lr_IPC_OUT->addListener(this); } + if (midiProcessor) + { + midiProcessor->addMIDICommandListener(this); + } } diff --git a/Source/ProfileManager.h b/Source/ProfileManager.h index 8eb1d975f..78afd7b98 100644 --- a/Source/ProfileManager.h +++ b/Source/ProfileManager.h @@ -41,7 +41,7 @@ class ProfileManager : public MIDICommandListener, { public: ProfileManager(); - virtual ~ProfileManager(); + virtual ~ProfileManager() {}; void addListener(ProfileChangeListener *listener); // sets the default profile directory and scans its contents for profiles @@ -72,7 +72,7 @@ class ProfileManager : public MIDICommandListener, // LRConnectionListener interface virtual void connected() override; virtual void disconnected() override; - void Init(LR_IPC_OUT *out, CommandMap *commandMap); + void Init(LR_IPC_OUT *out, CommandMap *commandMap, MIDIProcessor *midiProcessor); private: enum class SWITCH_STATE { diff --git a/Source/SettingsComponent.cpp b/Source/SettingsComponent.cpp index 51ace0be2..4e181938c 100644 --- a/Source/SettingsComponent.cpp +++ b/Source/SettingsComponent.cpp @@ -21,7 +21,7 @@ MIDI2LR. If not, see . */ #include "../JuceLibraryCode/JuceHeader.h" #include "SettingsComponent.h" -#include "SettingsManager.h" + #define SETTINGS_LEFT 20 #define SETTING_WIDTH 400 @@ -30,84 +30,15 @@ MIDI2LR. If not, see . SettingsComponent::SettingsComponent() : ResizableLayout(this), _pickupEnabled("Enable Pickup Mode"), _pickupLabel("PickupLabel", ""), _profileLocationButton("Choose Profile Folder"), -_profileLocationLabel("Profile Label", SettingsManager::getInstance().getProfileDirectory()), +_profileLocationLabel("Profile Label"), m_autoHideGroup(), m_pickupGroup(), m_profileGroup(), -m_autoHideExplainLabel() +m_autoHideExplainLabel(), +m_settingsManager(nullptr) { - // for layouts to work you must start at some size - // place controls in a location that is initially correct. - setSize(SETTING_WIDTH, SETTING_HEIGHT); - - - m_pickupGroup.setText("Pick up"); - m_pickupGroup.setBounds(0, 0, SETTING_WIDTH, 100); - addToLayout(&m_pickupGroup, anchorMidLeft, anchorMidRight); - addAndMakeVisible(m_pickupGroup); - - _pickupLabel.setFont(Font(12.f, Font::bold)); - _pickupLabel.setText("Disabling the pickup mode may be better for touchscreen interfaces and may solve issues with LR not picking up fast fader/knob movements", NotificationType::dontSendNotification); - _pickupLabel.setBounds(SETTINGS_LEFT, 15, SETTING_WIDTH - 2*SETTINGS_LEFT, 50); - addToLayout(&_pickupLabel, anchorMidLeft, anchorMidRight); - _pickupLabel.setEditable(false); - _pickupLabel.setColour(Label::textColourId, Colours::darkgrey); - addAndMakeVisible(_pickupLabel); - - - _pickupEnabled.addListener(this); - _pickupEnabled.setToggleState(SettingsManager::getInstance().getPickupEnabled(), NotificationType::dontSendNotification); - _pickupEnabled.setBounds(SETTINGS_LEFT, 60, SETTING_WIDTH - 2 * SETTINGS_LEFT, 32); - addToLayout(&_pickupEnabled, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_pickupEnabled); - - // ---------------------------- profile section ----------------------------------- - m_profileGroup.setText("Profile"); - m_profileGroup.setBounds(0, 100, SETTING_WIDTH, 100); - addToLayout(&m_profileGroup, anchorMidLeft, anchorMidRight); - addAndMakeVisible(m_profileGroup); - - - _profileLocationButton.addListener(this); - _profileLocationButton.setBounds(SETTINGS_LEFT, 120, SETTING_WIDTH - 2*SETTINGS_LEFT, 25); - addToLayout(&_profileLocationButton, anchorMidLeft, anchorMidRight); - addAndMakeVisible(_profileLocationButton); - - _profileLocationLabel.setEditable(false); - _profileLocationLabel.setBounds(SETTINGS_LEFT, 145, SETTING_WIDTH - 2 * SETTINGS_LEFT, 30); - addToLayout(&_profileLocationLabel, anchorMidLeft, anchorMidRight); - _profileLocationLabel.setColour(Label::textColourId, Colours::darkgrey); - addAndMakeVisible(_profileLocationLabel); - - - -////// ----------------------- auto hide section ------------------------------------ - m_autoHideGroup.setText("Auto hide"); - m_autoHideGroup.setBounds(0, 200, SETTING_WIDTH, 100); - addToLayout(&m_autoHideGroup, anchorMidLeft, anchorMidRight); - addAndMakeVisible(m_autoHideGroup); - - m_autoHideExplainLabel.setFont(Font(12.f, Font::bold)); - m_autoHideExplainLabel.setText("Autohide the plugin window in x seconds, select 0 for disabling autohide", NotificationType::dontSendNotification); - m_autoHideExplainLabel.setBounds(SETTINGS_LEFT, 215, SETTING_WIDTH - 2*SETTINGS_LEFT, 50); - addToLayout(&m_autoHideExplainLabel, anchorMidLeft, anchorMidRight); - m_autoHideExplainLabel.setEditable(false); - m_autoHideExplainLabel.setFont(Font(12.f, Font::bold)); - m_autoHideExplainLabel.setColour(Label::textColourId, Colours::darkgrey); - addAndMakeVisible(m_autoHideExplainLabel); - - m_autoHideSetting.setBounds(SETTINGS_LEFT, 245, SETTING_WIDTH - 2 * SETTINGS_LEFT, 50); - m_autoHideSetting.setRange(0, 10, 1); - m_autoHideSetting.setValue(SettingsManager::getInstance().getAutoHideTime(), NotificationType::dontSendNotification); - - addToLayout(&m_autoHideSetting, anchorMidLeft, anchorMidRight); - //add this as the lister for the data - m_autoHideSetting.addListener(this); - addAndMakeVisible(m_autoHideSetting); - // turn it on - activateLayout(); } SettingsComponent::~SettingsComponent() @@ -123,7 +54,12 @@ void SettingsComponent::paint(Graphics& g) void SettingsComponent::buttonClicked(Button* button) { if (button == &_pickupEnabled) - SettingsManager::getInstance().setPickupEnabled(_pickupEnabled.getToggleState()); + { + if (m_settingsManager) + { + m_settingsManager->setPickupEnabled(_pickupEnabled.getToggleState()); + } + } else if (button == &_profileLocationButton) { FileBrowserComponent browser(FileBrowserComponent::canSelectDirectories | FileBrowserComponent::openMode, @@ -139,7 +75,10 @@ void SettingsComponent::buttonClicked(Button* button) if (dialogBox.show()) { String profileLoc = browser.getSelectedFile(0).getFullPathName(); - SettingsManager::getInstance().setProfileDirectory(profileLoc); + if (m_settingsManager) + { + m_settingsManager->setProfileDirectory(profileLoc); + } _profileLocationLabel.setText(profileLoc, NotificationType::dontSendNotification); } } @@ -155,11 +94,91 @@ void SettingsComponent::sliderValueChanged(Slider* slider) //get the rounded setting int newSetting = (int)m_autoHideSetting.getValue(); - SettingsManager::getInstance().setAutoHideTime(newSetting); - + if (m_settingsManager) + { + m_settingsManager->setAutoHideTime(newSetting); + } } - } +} +void SettingsComponent::Init(SettingsManager *settingsManager) +{ + //copy the pointer + m_settingsManager = settingsManager; + + // for layouts to work you must start at some size + // place controls in a location that is initially correct. + setSize(SETTING_WIDTH, SETTING_HEIGHT); + + if (m_settingsManager) + { + m_pickupGroup.setText("Pick up"); + m_pickupGroup.setBounds(0, 0, SETTING_WIDTH, 100); + addToLayout(&m_pickupGroup, anchorMidLeft, anchorMidRight); + addAndMakeVisible(m_pickupGroup); + + _pickupLabel.setFont(Font(12.f, Font::bold)); + _pickupLabel.setText("Disabling the pickup mode may be better for touchscreen interfaces and may solve issues with LR not picking up fast fader/knob movements", NotificationType::dontSendNotification); + _pickupLabel.setBounds(SETTINGS_LEFT, 15, SETTING_WIDTH - 2 * SETTINGS_LEFT, 50); + addToLayout(&_pickupLabel, anchorMidLeft, anchorMidRight); + _pickupLabel.setEditable(false); + _pickupLabel.setColour(Label::textColourId, Colours::darkgrey); + addAndMakeVisible(_pickupLabel); + + + _pickupEnabled.addListener(this); + _pickupEnabled.setToggleState(m_settingsManager->getPickupEnabled(), NotificationType::dontSendNotification); + _pickupEnabled.setBounds(SETTINGS_LEFT, 60, SETTING_WIDTH - 2 * SETTINGS_LEFT, 32); + addToLayout(&_pickupEnabled, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_pickupEnabled); + + // ---------------------------- profile section ----------------------------------- + m_profileGroup.setText("Profile"); + m_profileGroup.setBounds(0, 100, SETTING_WIDTH, 100); + addToLayout(&m_profileGroup, anchorMidLeft, anchorMidRight); + addAndMakeVisible(m_profileGroup); + + + _profileLocationButton.addListener(this); + _profileLocationButton.setBounds(SETTINGS_LEFT, 120, SETTING_WIDTH - 2 * SETTINGS_LEFT, 25); + addToLayout(&_profileLocationButton, anchorMidLeft, anchorMidRight); + addAndMakeVisible(_profileLocationButton); + + _profileLocationLabel.setEditable(false); + _profileLocationLabel.setBounds(SETTINGS_LEFT, 145, SETTING_WIDTH - 2 * SETTINGS_LEFT, 30); + addToLayout(&_profileLocationLabel, anchorMidLeft, anchorMidRight); + _profileLocationLabel.setColour(Label::textColourId, Colours::darkgrey); + addAndMakeVisible(_profileLocationLabel); + _profileLocationLabel.setText(m_settingsManager->getProfileDirectory(), NotificationType::dontSendNotification); + + + ////// ----------------------- auto hide section ------------------------------------ + m_autoHideGroup.setText("Auto hide"); + m_autoHideGroup.setBounds(0, 200, SETTING_WIDTH, 100); + addToLayout(&m_autoHideGroup, anchorMidLeft, anchorMidRight); + addAndMakeVisible(m_autoHideGroup); + + + m_autoHideExplainLabel.setFont(Font(12.f, Font::bold)); + m_autoHideExplainLabel.setText("Autohide the plugin window in x seconds, select 0 for disabling autohide", NotificationType::dontSendNotification); + m_autoHideExplainLabel.setBounds(SETTINGS_LEFT, 215, SETTING_WIDTH - 2 * SETTINGS_LEFT, 50); + addToLayout(&m_autoHideExplainLabel, anchorMidLeft, anchorMidRight); + m_autoHideExplainLabel.setEditable(false); + m_autoHideExplainLabel.setFont(Font(12.f, Font::bold)); + m_autoHideExplainLabel.setColour(Label::textColourId, Colours::darkgrey); + addAndMakeVisible(m_autoHideExplainLabel); + + m_autoHideSetting.setBounds(SETTINGS_LEFT, 245, SETTING_WIDTH - 2 * SETTINGS_LEFT, 50); + m_autoHideSetting.setRange(0, 10, 1); + m_autoHideSetting.setValue(m_settingsManager->getAutoHideTime(), NotificationType::dontSendNotification); + + addToLayout(&m_autoHideSetting, anchorMidLeft, anchorMidRight); + //add this as the lister for the data + m_autoHideSetting.addListener(this); + addAndMakeVisible(m_autoHideSetting); + // turn it on + activateLayout(); + } } \ No newline at end of file diff --git a/Source/SettingsComponent.h b/Source/SettingsComponent.h index 096229363..27d4a350c 100644 --- a/Source/SettingsComponent.h +++ b/Source/SettingsComponent.h @@ -24,7 +24,7 @@ MIDI2LR. If not, see . #include "../JuceLibraryCode/JuceHeader.h" #include "ResizableLayout.h" - +#include "SettingsManager.h" //============================================================================== /* */ @@ -42,7 +42,7 @@ class SettingsComponent : public Component, virtual void buttonClicked(Button* button) override; virtual void sliderValueChanged(Slider* slider); - + void Init(SettingsManager *settingsManager); private: ToggleButton _pickupEnabled; Label _pickupLabel; @@ -54,6 +54,7 @@ class SettingsComponent : public Component, GroupComponent m_autoHideGroup; GroupComponent m_pickupGroup; GroupComponent m_profileGroup; + SettingsManager *m_settingsManager; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SettingsComponent) }; diff --git a/Source/SettingsManager.cpp b/Source/SettingsManager.cpp index 8190aa197..ca3d01b80 100644 --- a/Source/SettingsManager.cpp +++ b/Source/SettingsManager.cpp @@ -26,7 +26,7 @@ MIDI2LR. If not, see . -SettingsManager::SettingsManager() : m_lr_IPC_OUT(NULL) +SettingsManager::SettingsManager() : m_lr_IPC_OUT(nullptr), m_profileManager(nullptr) { PropertiesFile::Options opts; opts.applicationName = "MIDI2LR"; @@ -68,8 +68,11 @@ void SettingsManager::setProfileDirectory(const String& profileDirStr) _propertiesFile->setValue("profile_directory", profileDirStr); _propertiesFile->saveIfNeeded(); - File profileDir(profileDirStr); - ProfileManager::getInstance().setProfileDirectory(profileDir); + if (m_profileManager) + { + File profileDir(profileDirStr); + m_profileManager->setProfileDirectory(profileDir); + } } void SettingsManager::connected() @@ -100,7 +103,7 @@ void SettingsManager::setAutoHideTime(int newTime) } -void SettingsManager::Init(LR_IPC_OUT *lr_IPC_OUT) +void SettingsManager::Init(LR_IPC_OUT *lr_IPC_OUT, ProfileManager *profileManager) { m_lr_IPC_OUT = lr_IPC_OUT; @@ -110,8 +113,13 @@ void SettingsManager::Init(LR_IPC_OUT *lr_IPC_OUT) m_lr_IPC_OUT->addListener(this); } - // set the profile directory - File profileDir(getProfileDirectory()); - ProfileManager::getInstance().setProfileDirectory(profileDir); + m_profileManager = profileManager; + + if (m_profileManager) + { + // set the profile directory + File profileDir(getProfileDirectory()); + profileManager->setProfileDirectory(profileDir); + } } \ No newline at end of file diff --git a/Source/SettingsManager.h b/Source/SettingsManager.h index 246c81e84..7b46060e1 100644 --- a/Source/SettingsManager.h +++ b/Source/SettingsManager.h @@ -30,7 +30,7 @@ class SettingsManager : public LRConnectionListener { public: SettingsManager(); - virtual ~SettingsManager(); + virtual ~SettingsManager() {}; bool getPickupEnabled() const; void setPickupEnabled(bool enabled); @@ -44,10 +44,11 @@ class SettingsManager : public LRConnectionListener int getAutoHideTime() const; void setAutoHideTime(int newTime); - void Init(LR_IPC_OUT *lr_IPC_OUT); + void Init(LR_IPC_OUT *lr_IPC_OUT, ProfileManager *profileManager); private: LR_IPC_OUT *m_lr_IPC_OUT; + ProfileManager *m_profileManager; ScopedPointer _propertiesFile; }; From 0a07284b4d489eedf12b17c947d19180bc84578c Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Wed, 27 Jan 2016 06:47:30 -0800 Subject: [PATCH 56/87] delay loading most modules until after data structure refreshed --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 668 ++++++++++---------- 1 file changed, 339 insertions(+), 329 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index dfb75e799..0304e885d 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -22,249 +22,22 @@ MIDI2LR. If not, see . local LrMobdebug = import 'LrMobdebug' LrMobdebug.start() --]]-----------end debug section -local CU = require 'ClientUtilities' -local Limits = require 'Limits' -local MenuList = require 'MenuList' -local Parameters = require 'Parameters' -local Preferences = require 'Preferences' -local Profiles = require 'Profiles' -local Ut = require 'Utilities' -local LrApplication = import 'LrApplication' -local LrApplicationView = import 'LrApplicationView' -local LrDevelopController = import 'LrDevelopController' -local LrDialogs = import 'LrDialogs' -local LrSelection = import 'LrSelection' -local LrStringUtils = import 'LrStringUtils' local LrTasks = import 'LrTasks' -local LrUndo = import 'LrUndo' --- signal for halt plugin if reloaded--LR doesn't kill main loop otherwise -math.randomseed(os.time()) -currentLoadVersion = rawget (_G, 'currentLoadVersion') or math.random() -currentLoadVersion = currentLoadVersion + 1 +-- Main task +LrTasks.startAsyncTask( + function() + -- LrMobdebug.on() + -- signal for halt plugin if reloaded--LR doesn't kill main loop otherwise + math.randomseed(os.time()) + currentLoadVersion = rawget (_G, 'currentLoadVersion') or math.random() + currentLoadVersion = currentLoadVersion + 1 -MIDI2LR = {RECEIVE_PORT = 58763, SEND_PORT = 58764, PICKUP_THRESHOLD = 4, CONTROL_MAX = 127, BUTTON_ON = 127; --constants - LAST_PARAM = '', PARAM_OBSERVER = {}, PICKUP_ENABLED = true, SERVER = {} } --non-local but in MIDI2LR namespace + MIDI2LR = {RECEIVE_PORT = 58763, SEND_PORT = 58764, PICKUP_THRESHOLD = 4, CONTROL_MAX = 127, BUTTON_ON = 127; --constants + LAST_PARAM = '', PARAM_OBSERVER = {}, PICKUP_ENABLED = true, SERVER = {} } --non-local but in MIDI2LR namespace -------------preferences -Preferences.Load() + local Preferences = require 'Preferences' + Preferences.Load() -------------end preferences section -local ACTIONS = { - AdjustmentBrush = CU.fToggleTool('localized'), - AutoLateralCA = CU.fToggle01('AutoLateralCA'), - ConvertToGrayscale = CU.fToggleTF('ConvertToGrayscale'), - CopySettings = CU.CopySettings, - CropOverlay = CU.fToggleTool('crop'), - DecreaseRating = LrSelection.decreaseRating, - DecrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.decrement,MIDI2LR.LAST_PARAM) end, - EnableCalibration = CU.fToggleTF('EnableCalibration'), - EnableCircularGradientBasedCorrections = CU.fToggleTF('EnableCircularGradientBasedCorrections'), - EnableColorAdjustments = CU.fToggleTF('EnableColorAdjustments'), - EnableDetail = CU.fToggleTF('EnableDetail'), - EnableEffects = CU.fToggleTF('EnableEffects'), - EnableGradientBasedCorrections = CU.fToggleTF('EnableGradientBasedCorrections'), - EnableGrayscaleMix = CU.fToggleTF('EnableGrayscaleMix'), - EnableLensCorrections = CU.fToggleTF('EnableLensCorrections'), - EnablePaintBasedCorrections = CU.fToggleTF('EnablePaintBasedCorrections'), - EnableRedEye = CU.fToggleTF('EnableRedEye'), - EnableRetouch = CU.fToggleTF('EnableRetouch'), - EnableSplitToning = CU.fToggleTF('EnableSplitToning'), - GraduatedFilter = CU.fToggleTool('gradient'), - IncreaseRating = LrSelection.increaseRating, - IncrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.increment,MIDI2LR.LAST_PARAM) end, - LensProfileEnable = CU.fToggle01('LensProfileEnable'), - Loupe = CU.fToggleTool('loupe'), - Next = LrSelection.nextPhoto, - PasteSelectedSettings = CU.PasteSelectedSettings, - PasteSettings = CU.PasteSettings, - Pick = LrSelection.flagAsPick, - Preset_1 = CU.fApplyPreset(1), - Preset_2 = CU.fApplyPreset(2), - Preset_3 = CU.fApplyPreset(3), - Preset_4 = CU.fApplyPreset(4), - Preset_5 = CU.fApplyPreset(5), - Preset_6 = CU.fApplyPreset(6), - Preset_7 = CU.fApplyPreset(7), - Preset_8 = CU.fApplyPreset(8), - Preset_9 = CU.fApplyPreset(9), - Preset_10 = CU.fApplyPreset(10), - Preset_11 = CU.fApplyPreset(11), - Preset_12 = CU.fApplyPreset(12), - Preset_13 = CU.fApplyPreset(13), - Preset_14 = CU.fApplyPreset(14), - Preset_15 = CU.fApplyPreset(15), - Preset_16 = CU.fApplyPreset(16), - Preset_17 = CU.fApplyPreset(17), - Preset_18 = CU.fApplyPreset(18), - Preset_19 = CU.fApplyPreset(19), - Preset_20 = CU.fApplyPreset(20), - Prev = LrSelection.previousPhoto, - Profile_Adobe_Standard = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Adobe Standard'), - Profile_Camera_Clear = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Clear'), - Profile_Camera_Deep = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Deep'), - Profile_Camera_Landscape = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Landscape'), - Profile_Camera_Light = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Light'), - Profile_Camera_Neutral = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Neutral'), - Profile_Camera_Portrait = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Portrait'), - Profile_Camera_Standard = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Standard'), - Profile_Camera_Vivid = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Vivid'), - profile1 = function() Profiles.changeProfile('profile1', true) end, - profile2 = function() Profiles.changeProfile('profile2', true) end, - profile3 = function() Profiles.changeProfile('profile3', true) end, - profile4 = function() Profiles.changeProfile('profile4', true) end, - profile5 = function() Profiles.changeProfile('profile5', true) end, - profile6 = function() Profiles.changeProfile('profile6', true) end, - profile7 = function() Profiles.changeProfile('profile7', true) end, - profile8 = function() Profiles.changeProfile('profile8', true) end, - profile9 = function() Profiles.changeProfile('profile9', true) end, - profile10 = function() Profiles.changeProfile('profile10', true) end, - RadialFilter = CU.fToggleTool('circularGradient'), - RedEye = CU.fToggleTool('redeye'), - Redo = LrUndo.redo, - Reject = LrSelection.flagAsReject, - RemoveFlag = LrSelection.removeFlag, - ResetAll = Ut.wrapFOM(LrDevelopController.resetAllDevelopAdjustments), - ResetBrushing = Ut.wrapFOM(LrDevelopController.resetBrushing), - ResetCircGrad = Ut.wrapFOM(LrDevelopController.resetCircularGradient), - ResetCrop = Ut.wrapFOM(LrDevelopController.resetCrop), - ResetGradient = Ut.wrapFOM(LrDevelopController.resetGradient), - ResetLast = function() Ut.execFOM(LrDevelopController.resetToDefault,MIDI2LR.LAST_PARAM) end, - ResetRedeye = Ut.wrapFOM(LrDevelopController.resetRedeye), - ResetSpotRem = Ut.wrapFOM(LrDevelopController.resetSpotRemoval), - RevealPanelAdjust = CU.fChangePanel('adjustPanel'), - RevealPanelCalibrate = CU.fChangePanel('calibratePanel'), - RevealPanelDetail = CU.fChangePanel('detailPanel'), - RevealPanelEffects = CU.fChangePanel('effectsPanel'), - RevealPanelLens = CU.fChangePanel('lensCorrectionsPanel'), - RevealPanelMixer = CU.fChangePanel('mixerPanel'), - RevealPanelSplit = CU.fChangePanel('splitToningPanel'), - RevealPanelTone = CU.fChangePanel('tonePanel'), - Select1Left = function() LrSelection.extendSelection('left',1) end, - Select1Right = function() LrSelection.extendSelection('right',1) end, - SetRating0 = function() LrSelection.setRating(0) end, - SetRating1 = function() LrSelection.setRating(1) end, - SetRating2 = function() LrSelection.setRating(2) end, - SetRating3 = function() LrSelection.setRating(3) end, - SetRating4 = function() LrSelection.setRating(4) end, - SetRating5 = function() LrSelection.setRating(5) end, - ShoScndVwloupe = function() LrApplicationView.showSecondaryView('loupe') end, - ShoScndVwlive_loupe = function() LrApplicationView.showSecondaryView('live_loupe') end, - ShoScndVwlocked_loupe = function() LrApplicationView.showSecondaryView('locked_loupe') end, - ShoScndVwgrid = function() LrApplicationView.showSecondaryView('grid') end, - ShoScndVwcompare = function() LrApplicationView.showSecondaryView('compare') end, - ShoScndVwsurvey = function() LrApplicationView.showSecondaryView('survey') end, - ShoScndVwslideshow = function() LrApplicationView.showSecondaryView('slideshow') end, - ShoVwloupe = function() LrApplicationView.showView('loupe') end, - ShoVwgrid = function() LrApplicationView.showView('grid') end, - ShoVwcompare = function() LrApplicationView.showView('compare') end, - ShoVwsurvey = function() LrApplicationView.showView('survey') end, - ShoVwpeople = function() LrApplicationView.showView('people') end, - ShoVwdevelop_loupe = function() LrApplicationView.showView('develop_loupe') end, - ShoVwdevelop_before_after_horiz = function() LrApplicationView.showView('develop_before_after_horiz') end, - ShoVwdevelop_before_after_vert = function() LrApplicationView.showView('develop_before_after_vert') end, - ShoVwdevelop_before = function() LrApplicationView.showView('develop_before') end, - SpotRemoval = CU.fToggleTool('dust'), - SwToMlibrary = CU.fChangeModule('library'), - SwToMdevelop = CU.fChangeModule('develop'), - SwToMmap = CU.fChangeModule('map'), - SwToMbook = CU.fChangeModule('book'), - SwToMslideshow = CU.fChangeModule('slideshow'), - SwToMprint = CU.fChangeModule('print'), - SwToMweb = CU.fChangeModule('web'), - ToggleBlue = LrSelection.toggleBlueLabel, - ToggleGreen = LrSelection.toggleGreenLabel, - TogglePurple = LrSelection.togglePurpleLabel, - ToggleRed = LrSelection.toggleRedLabel, - ToggleScreenTwo = LrApplicationView.toggleSecondaryDisplay, - ToggleYellow = LrSelection.toggleYellowLabel, - ToggleZoomOffOn = LrApplicationView.toggleZoom, - Undo = LrUndo.undo, - UprightAuto = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',1), - UprightFull = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',2), - UprightLevel = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',3), - UprightOff = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',0), - UprightVertical = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',4), - VirtualCopy = function() LrApplication.activeCatalog():createVirtualCopies() end, - WhiteBalanceAs_Shot = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','As Shot'), - WhiteBalanceAuto = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Auto'), - WhiteBalanceCloudy = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Cloudy'), - WhiteBalanceDaylight = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Daylight'), - WhiteBalanceFlash = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Flash'), - WhiteBalanceFluorescent = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Fluorescent'), - WhiteBalanceShade = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Shade'), - WhiteBalanceTungsten = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Tungsten'), - ZoomInLargeStep = LrApplicationView.zoomIn, - ZoomInSmallStep = LrApplicationView.zoomInSome, - ZoomOutLargeStep = LrApplicationView.zoomOut, - ZoomOutSmallStep = LrApplicationView.zoomOutSome, -} - -local SETTINGS = { - ChangedToDirectory = function(value) Profiles.setDirectory(value) end, - ChangedToFile = function(value) Profiles.setFile(value) end, - ChangedToFullPath = function(value) Profiles.setFullPath(value) end, - Pickup = function(enabled) MIDI2LR.PICKUP_ENABLED = (tonumber(enabled) == 1) end, -} - -local function midi_lerp_to_develop(param, midi_value) - -- map midi range to develop parameter range - local min,max = Limits.GetMinMax(param) - return midi_value/MIDI2LR.CONTROL_MAX * (max-min) + min -end - -local function develop_lerp_to_midi(param) - -- map develop parameter range to midi range - local min,max = Limits.GetMinMax(param) - return (LrDevelopController.getValue(param)-min)/(max-min) * MIDI2LR.CONTROL_MAX -end - -local function updateParam() --closure - local lastclock, lastparam --tracking for pickup when scrubbing control rapidly - return function(param, midi_value) - local value - -- this function does a 'pickup' type of check - -- that is, it will ensure the develop parameter is close - -- to what the inputted command value is before updating it - if LrApplicationView.getCurrentModuleName() ~= 'develop' then - LrApplicationView.switchToModule('develop') - end - -- if pickup mode, keep LR value within pickup limits so pickup can work - if Limits.Parameters[param] and MIDI2LR.PICKUP_ENABLED then - Limits.ClampValue(param) - end - -- enable movement if pickup mode is off; controller is within pickup range; - -- or control was last used recently and rapidly moved out of pickup range - if( - (not MIDI2LR.PICKUP_ENABLED) or - (math.abs(midi_value - develop_lerp_to_midi(param)) <= MIDI2LR.PICKUP_THRESHOLD) or - (lastclock + 0.5 > os.clock() and lastparam == param) - ) - then - if MIDI2LR.PICKUP_ENABLED then -- update info to use for detecting fast control changes - lastclock = os.clock() - lastparam = param - end - value = midi_lerp_to_develop(param, midi_value) - MIDI2LR.PARAM_OBSERVER[param] = value - LrDevelopController.setValue(param, value) - MIDI2LR.LAST_PARAM = param - end - if ProgramPreferences.ClientShowBezelOnChange then - if value == nil then -- didn't do an update--pickup failed, so show target value as well - value = midi_lerp_to_develop(param, midi_value) - local actualvalue = LrDevelopController.getValue(param) - local precision = Ut.precision(value) - LrDialogs.showBezel(MenuList.MenuListHashed[param][2]..' '..LrStringUtils.numberToStringWithSeparators(value,precision)..' '..LrStringUtils.numberToStringWithSeparators(actualvalue,precision)) - else - LrDialogs.showBezel(MenuList.MenuListHashed[param][2]..' '..LrStringUtils.numberToStringWithSeparators(value,Ut.precision(value))) - end - end - Profiles.changeProfile(Parameters.Names[param][3]) - end -end -updateParam = updateParam() --complete closure - --- Main task -LrTasks.startAsyncTask( function() - -- LrMobdebug.on() local LrFunctionContext = import 'LrFunctionContext' local LrPathUtils = import 'LrPathUtils' do --save localized file for app @@ -281,7 +54,7 @@ LrTasks.startAsyncTask( function() end end if versionmismatch or LrFileUtils.exists(datafile) ~= 'file' or - ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() + ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() then require 'Database' ProgramPreferences.DataStructure = {version={},language = LrLocalization.currentLanguage()} @@ -292,109 +65,346 @@ LrTasks.startAsyncTask( function() end end --save localized file for app - LrFunctionContext.callWithContext( 'socket_remote', function( context ) - local LrRecursionGuard = import 'LrRecursionGuard' - local LrShell = import 'LrShell' - local LrSocket = import 'LrSocket' - local guard = LrRecursionGuard('AdjustmentChangeObserver') - --call following within guard - local function AdjustmentChangeObserver(observer) - for _,param in ipairs(Parameters.Iterate) do - local lrvalue = LrDevelopController.getValue(param) - if observer[param] ~= lrvalue and type(lrvalue) == 'number' then - MIDI2LR.SERVER:send(string.format('%s %g\n', param, develop_lerp_to_midi(param))) - observer[param] = lrvalue - MIDI2LR.LAST_PARAM = param + --delay loading most modules until after data structure refreshed + local CU = require 'ClientUtilities' + local Limits = require 'Limits' + local MenuList = require 'MenuList' + local Parameters = require 'Parameters' + local Profiles = require 'Profiles' + local Ut = require 'Utilities' + local LrApplication = import 'LrApplication' + local LrApplicationView = import 'LrApplicationView' + local LrDevelopController = import 'LrDevelopController' + local LrDialogs = import 'LrDialogs' + local LrSelection = import 'LrSelection' + local LrStringUtils = import 'LrStringUtils' + local LrUndo = import 'LrUndo' + + local ACTIONS = { + AdjustmentBrush = CU.fToggleTool('localized'), + AutoLateralCA = CU.fToggle01('AutoLateralCA'), + ConvertToGrayscale = CU.fToggleTF('ConvertToGrayscale'), + CopySettings = CU.CopySettings, + CropOverlay = CU.fToggleTool('crop'), + DecreaseRating = LrSelection.decreaseRating, + DecrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.decrement,MIDI2LR.LAST_PARAM) end, + EnableCalibration = CU.fToggleTF('EnableCalibration'), + EnableCircularGradientBasedCorrections = CU.fToggleTF('EnableCircularGradientBasedCorrections'), + EnableColorAdjustments = CU.fToggleTF('EnableColorAdjustments'), + EnableDetail = CU.fToggleTF('EnableDetail'), + EnableEffects = CU.fToggleTF('EnableEffects'), + EnableGradientBasedCorrections = CU.fToggleTF('EnableGradientBasedCorrections'), + EnableGrayscaleMix = CU.fToggleTF('EnableGrayscaleMix'), + EnableLensCorrections = CU.fToggleTF('EnableLensCorrections'), + EnablePaintBasedCorrections = CU.fToggleTF('EnablePaintBasedCorrections'), + EnableRedEye = CU.fToggleTF('EnableRedEye'), + EnableRetouch = CU.fToggleTF('EnableRetouch'), + EnableSplitToning = CU.fToggleTF('EnableSplitToning'), + GraduatedFilter = CU.fToggleTool('gradient'), + IncreaseRating = LrSelection.increaseRating, + IncrementLastDevelopParameter = function() Ut.execFOM(LrDevelopController.increment,MIDI2LR.LAST_PARAM) end, + LensProfileEnable = CU.fToggle01('LensProfileEnable'), + Loupe = CU.fToggleTool('loupe'), + Next = LrSelection.nextPhoto, + PasteSelectedSettings = CU.PasteSelectedSettings, + PasteSettings = CU.PasteSettings, + Pick = LrSelection.flagAsPick, + Preset_1 = CU.fApplyPreset(1), + Preset_2 = CU.fApplyPreset(2), + Preset_3 = CU.fApplyPreset(3), + Preset_4 = CU.fApplyPreset(4), + Preset_5 = CU.fApplyPreset(5), + Preset_6 = CU.fApplyPreset(6), + Preset_7 = CU.fApplyPreset(7), + Preset_8 = CU.fApplyPreset(8), + Preset_9 = CU.fApplyPreset(9), + Preset_10 = CU.fApplyPreset(10), + Preset_11 = CU.fApplyPreset(11), + Preset_12 = CU.fApplyPreset(12), + Preset_13 = CU.fApplyPreset(13), + Preset_14 = CU.fApplyPreset(14), + Preset_15 = CU.fApplyPreset(15), + Preset_16 = CU.fApplyPreset(16), + Preset_17 = CU.fApplyPreset(17), + Preset_18 = CU.fApplyPreset(18), + Preset_19 = CU.fApplyPreset(19), + Preset_20 = CU.fApplyPreset(20), + Prev = LrSelection.previousPhoto, + Profile_Adobe_Standard = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Adobe Standard'), + Profile_Camera_Clear = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Clear'), + Profile_Camera_Deep = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Deep'), + Profile_Camera_Landscape = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Landscape'), + Profile_Camera_Light = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Light'), + Profile_Camera_Neutral = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Neutral'), + Profile_Camera_Portrait = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Portrait'), + Profile_Camera_Standard = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Standard'), + Profile_Camera_Vivid = Ut.wrapFOM(LrDevelopController.setValue,'CameraProfile','Camera Vivid'), + profile1 = function() Profiles.changeProfile('profile1', true) end, + profile2 = function() Profiles.changeProfile('profile2', true) end, + profile3 = function() Profiles.changeProfile('profile3', true) end, + profile4 = function() Profiles.changeProfile('profile4', true) end, + profile5 = function() Profiles.changeProfile('profile5', true) end, + profile6 = function() Profiles.changeProfile('profile6', true) end, + profile7 = function() Profiles.changeProfile('profile7', true) end, + profile8 = function() Profiles.changeProfile('profile8', true) end, + profile9 = function() Profiles.changeProfile('profile9', true) end, + profile10 = function() Profiles.changeProfile('profile10', true) end, + RadialFilter = CU.fToggleTool('circularGradient'), + RedEye = CU.fToggleTool('redeye'), + Redo = LrUndo.redo, + Reject = LrSelection.flagAsReject, + RemoveFlag = LrSelection.removeFlag, + ResetAll = Ut.wrapFOM(LrDevelopController.resetAllDevelopAdjustments), + ResetBrushing = Ut.wrapFOM(LrDevelopController.resetBrushing), + ResetCircGrad = Ut.wrapFOM(LrDevelopController.resetCircularGradient), + ResetCrop = Ut.wrapFOM(LrDevelopController.resetCrop), + ResetGradient = Ut.wrapFOM(LrDevelopController.resetGradient), + ResetLast = function() Ut.execFOM(LrDevelopController.resetToDefault,MIDI2LR.LAST_PARAM) end, + ResetRedeye = Ut.wrapFOM(LrDevelopController.resetRedeye), + ResetSpotRem = Ut.wrapFOM(LrDevelopController.resetSpotRemoval), + RevealPanelAdjust = CU.fChangePanel('adjustPanel'), + RevealPanelCalibrate = CU.fChangePanel('calibratePanel'), + RevealPanelDetail = CU.fChangePanel('detailPanel'), + RevealPanelEffects = CU.fChangePanel('effectsPanel'), + RevealPanelLens = CU.fChangePanel('lensCorrectionsPanel'), + RevealPanelMixer = CU.fChangePanel('mixerPanel'), + RevealPanelSplit = CU.fChangePanel('splitToningPanel'), + RevealPanelTone = CU.fChangePanel('tonePanel'), + Select1Left = function() LrSelection.extendSelection('left',1) end, + Select1Right = function() LrSelection.extendSelection('right',1) end, + SetRating0 = function() LrSelection.setRating(0) end, + SetRating1 = function() LrSelection.setRating(1) end, + SetRating2 = function() LrSelection.setRating(2) end, + SetRating3 = function() LrSelection.setRating(3) end, + SetRating4 = function() LrSelection.setRating(4) end, + SetRating5 = function() LrSelection.setRating(5) end, + ShoScndVwloupe = function() LrApplicationView.showSecondaryView('loupe') end, + ShoScndVwlive_loupe = function() LrApplicationView.showSecondaryView('live_loupe') end, + ShoScndVwlocked_loupe = function() LrApplicationView.showSecondaryView('locked_loupe') end, + ShoScndVwgrid = function() LrApplicationView.showSecondaryView('grid') end, + ShoScndVwcompare = function() LrApplicationView.showSecondaryView('compare') end, + ShoScndVwsurvey = function() LrApplicationView.showSecondaryView('survey') end, + ShoScndVwslideshow = function() LrApplicationView.showSecondaryView('slideshow') end, + ShoVwloupe = function() LrApplicationView.showView('loupe') end, + ShoVwgrid = function() LrApplicationView.showView('grid') end, + ShoVwcompare = function() LrApplicationView.showView('compare') end, + ShoVwsurvey = function() LrApplicationView.showView('survey') end, + ShoVwpeople = function() LrApplicationView.showView('people') end, + ShoVwdevelop_loupe = function() LrApplicationView.showView('develop_loupe') end, + ShoVwdevelop_before_after_horiz = function() LrApplicationView.showView('develop_before_after_horiz') end, + ShoVwdevelop_before_after_vert = function() LrApplicationView.showView('develop_before_after_vert') end, + ShoVwdevelop_before = function() LrApplicationView.showView('develop_before') end, + SpotRemoval = CU.fToggleTool('dust'), + SwToMlibrary = CU.fChangeModule('library'), + SwToMdevelop = CU.fChangeModule('develop'), + SwToMmap = CU.fChangeModule('map'), + SwToMbook = CU.fChangeModule('book'), + SwToMslideshow = CU.fChangeModule('slideshow'), + SwToMprint = CU.fChangeModule('print'), + SwToMweb = CU.fChangeModule('web'), + ToggleBlue = LrSelection.toggleBlueLabel, + ToggleGreen = LrSelection.toggleGreenLabel, + TogglePurple = LrSelection.togglePurpleLabel, + ToggleRed = LrSelection.toggleRedLabel, + ToggleScreenTwo = LrApplicationView.toggleSecondaryDisplay, + ToggleYellow = LrSelection.toggleYellowLabel, + ToggleZoomOffOn = LrApplicationView.toggleZoom, + Undo = LrUndo.undo, + UprightAuto = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',1), + UprightFull = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',2), + UprightLevel = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',3), + UprightOff = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',0), + UprightVertical = Ut.wrapFOM(LrDevelopController.setValue,'PerspectiveUpright',4), + VirtualCopy = function() LrApplication.activeCatalog():createVirtualCopies() end, + WhiteBalanceAs_Shot = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','As Shot'), + WhiteBalanceAuto = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Auto'), + WhiteBalanceCloudy = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Cloudy'), + WhiteBalanceDaylight = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Daylight'), + WhiteBalanceFlash = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Flash'), + WhiteBalanceFluorescent = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Fluorescent'), + WhiteBalanceShade = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Shade'), + WhiteBalanceTungsten = Ut.wrapFOM(LrDevelopController.setValue,'WhiteBalance','Tungsten'), + ZoomInLargeStep = LrApplicationView.zoomIn, + ZoomInSmallStep = LrApplicationView.zoomInSome, + ZoomOutLargeStep = LrApplicationView.zoomOut, + ZoomOutSmallStep = LrApplicationView.zoomOutSome, + } + + local SETTINGS = { + ChangedToDirectory = function(value) Profiles.setDirectory(value) end, + ChangedToFile = function(value) Profiles.setFile(value) end, + ChangedToFullPath = function(value) Profiles.setFullPath(value) end, + Pickup = function(enabled) MIDI2LR.PICKUP_ENABLED = (tonumber(enabled) == 1) end, + } + + local function midi_lerp_to_develop(param, midi_value) + -- map midi range to develop parameter range + local min,max = Limits.GetMinMax(param) + return midi_value/MIDI2LR.CONTROL_MAX * (max-min) + min + end + + local function develop_lerp_to_midi(param) + -- map develop parameter range to midi range + local min,max = Limits.GetMinMax(param) + return (LrDevelopController.getValue(param)-min)/(max-min) * MIDI2LR.CONTROL_MAX + end + + local function updateParam() --closure + local lastclock, lastparam --tracking for pickup when scrubbing control rapidly + return function(param, midi_value) + local value + -- this function does a 'pickup' type of check + -- that is, it will ensure the develop parameter is close + -- to what the inputted command value is before updating it + if LrApplicationView.getCurrentModuleName() ~= 'develop' then + LrApplicationView.switchToModule('develop') + end + -- if pickup mode, keep LR value within pickup limits so pickup can work + if Limits.Parameters[param] and MIDI2LR.PICKUP_ENABLED then + Limits.ClampValue(param) + end + -- enable movement if pickup mode is off; controller is within pickup range; + -- or control was last used recently and rapidly moved out of pickup range + if( + (not MIDI2LR.PICKUP_ENABLED) or + (math.abs(midi_value - develop_lerp_to_midi(param)) <= MIDI2LR.PICKUP_THRESHOLD) or + (lastclock + 0.5 > os.clock() and lastparam == param) + ) + then + if MIDI2LR.PICKUP_ENABLED then -- update info to use for detecting fast control changes + lastclock = os.clock() + lastparam = param + end + value = midi_lerp_to_develop(param, midi_value) + MIDI2LR.PARAM_OBSERVER[param] = value + LrDevelopController.setValue(param, value) + MIDI2LR.LAST_PARAM = param + end + if ProgramPreferences.ClientShowBezelOnChange then + if value == nil then -- didn't do an update--pickup failed, so show target value as well + value = midi_lerp_to_develop(param, midi_value) + local actualvalue = LrDevelopController.getValue(param) + local precision = Ut.precision(value) + LrDialogs.showBezel(MenuList.MenuListHashed[param][2]..' '..LrStringUtils.numberToStringWithSeparators(value,precision)..' '..LrStringUtils.numberToStringWithSeparators(actualvalue,precision)) + else + LrDialogs.showBezel(MenuList.MenuListHashed[param][2]..' '..LrStringUtils.numberToStringWithSeparators(value,Ut.precision(value))) end end + Profiles.changeProfile(Parameters.Names[param][3]) end - -- wrapped in function so can be called when connection lost - local function startServer(context) - MIDI2LR.SERVER = LrSocket.bind { + end + updateParam = updateParam() --complete closure + + + + LrFunctionContext.callWithContext( + 'socket_remote', + function( context ) + -- LrMobdebug.on() + local LrRecursionGuard = import 'LrRecursionGuard' + local LrShell = import 'LrShell' + local LrSocket = import 'LrSocket' + local guard = LrRecursionGuard('AdjustmentChangeObserver') + --call following within guard + local function AdjustmentChangeObserver(observer) + for _,param in ipairs(Parameters.Iterate) do + local lrvalue = LrDevelopController.getValue(param) + if observer[param] ~= lrvalue and type(lrvalue) == 'number' then + MIDI2LR.SERVER:send(string.format('%s %g\n', param, develop_lerp_to_midi(param))) + observer[param] = lrvalue + MIDI2LR.LAST_PARAM = param + end + end + end + -- wrapped in function so can be called when connection lost + local function startServer(context) + MIDI2LR.SERVER = LrSocket.bind { + functionContext = context, + plugin = _PLUGIN, + port = MIDI2LR.SEND_PORT, + mode = 'send', + onClosed = function( socket ) -- this callback never seems to get called... + -- MIDI2LR closed connection, allow for reconnection + -- socket:reconnect() + end, + onError = function( socket, err ) + socket:reconnect() + end, + } + end + + local client = LrSocket.bind { functionContext = context, plugin = _PLUGIN, - port = MIDI2LR.SEND_PORT, - mode = 'send', - onClosed = function( socket ) -- this callback never seems to get called... - -- MIDI2LR closed connection, allow for reconnection - -- socket:reconnect() + port = MIDI2LR.RECEIVE_PORT, + mode = 'receive', + onMessage = function(socket, message) --message processor + if type(message) == 'string' then + local split = message:find(' ',1,true) + local param = message:sub(1,split-1) + local value = message:sub(split+1) + if(ACTIONS[param]) then -- perform a one time action + if(tonumber(value) == MIDI2LR.BUTTON_ON) then ACTIONS[param]() end + elseif(param:find('Reset') == 1) then -- perform a reset other than those explicitly coded in ACTIONS array + if(tonumber(value) == MIDI2LR.BUTTON_ON) then Ut.execFOM(LrDevelopController.resetToDefault,param:sub(6)) end + elseif(SETTINGS[param]) then -- do something requiring the transmitted value to be known + SETTINGS[param](value) + else -- otherwise update a develop parameter + updateParam(param, tonumber(value)) + end + end end, - onError = function( socket, err ) + onClosed = function( socket ) + -- MIDI2LR closed connection, allow for reconnection socket:reconnect() + -- calling SERVER:reconnect causes LR to hang for some reason... + MIDI2LR.SERVER:close() + startServer(context) end, - } - end - -- LrMobdebug.on() - local client = LrSocket.bind { - functionContext = context, - plugin = _PLUGIN, - port = MIDI2LR.RECEIVE_PORT, - mode = 'receive', - onMessage = function(socket, message) --message processor - if type(message) == 'string' then - local split = message:find(' ',1,true) - local param = message:sub(1,split-1) - local value = message:sub(split+1) - if(ACTIONS[param]) then -- perform a one time action - if(tonumber(value) == MIDI2LR.BUTTON_ON) then ACTIONS[param]() end - elseif(param:find('Reset') == 1) then -- perform a reset other than those explicitly coded in ACTIONS array - if(tonumber(value) == MIDI2LR.BUTTON_ON) then Ut.execFOM(LrDevelopController.resetToDefault,param:sub(6)) end - elseif(SETTINGS[param]) then -- do something requiring the transmitted value to be known - SETTINGS[param](value) - else -- otherwise update a develop parameter - updateParam(param, tonumber(value)) + onError = function(socket, err) + if err == 'timeout' then -- reconnect if timed out + socket:reconnect() end end - end, - onClosed = function( socket ) - -- MIDI2LR closed connection, allow for reconnection - socket:reconnect() - -- calling SERVER:reconnect causes LR to hang for some reason... - MIDI2LR.SERVER:close() - startServer(context) - end, - onError = function(socket, err) - if err == 'timeout' then -- reconnect if timed out - socket:reconnect() - end - end - } + } - startServer(context) + startServer(context) - if(WIN_ENV) then - LrShell.openFilesInApp({LrPathUtils.child(_PLUGIN.path, 'Info.lua')}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.exe')) - else - LrShell.openFilesInApp({LrPathUtils.child(_PLUGIN.path, 'Info.lua')}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.app')) - end + if(WIN_ENV) then + LrShell.openFilesInApp({LrPathUtils.child(_PLUGIN.path, 'Info.lua')}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.exe')) + else + LrShell.openFilesInApp({LrPathUtils.child(_PLUGIN.path, 'Info.lua')}, LrPathUtils.child(_PLUGIN.path, 'MIDI2LR.app')) + end - math.randomseed(os.time()) - currentLoadVersion = math.random() --in case currentLoadVersion gets initialized to 0 each load - local loadVersion = currentLoadVersion + math.randomseed(os.time()) + currentLoadVersion = math.random() --in case currentLoadVersion gets initialized to 0 each load + local loadVersion = currentLoadVersion - -- add an observer for develop param changes--needs to occur in develop module - while (loadVersion == currentLoadVersion) and (LrApplicationView.getCurrentModuleName() ~= 'develop') do - LrTasks.sleep ( .29 ) - Profiles.checkProfile() - end --sleep away until ended or until develop module activated - LrDevelopController.revealAdjustedControls( true ) -- reveal affected parameter in panel track - LrDevelopController.addAdjustmentChangeObserver( - context, - MIDI2LR.PARAM_OBSERVER, - function ( observer ) - if LrApplicationView.getCurrentModuleName() == 'develop' then - guard:performWithGuard(AdjustmentChangeObserver,observer) - end - end - ) + -- add an observer for develop param changes--needs to occur in develop module + while (loadVersion == currentLoadVersion) and (LrApplicationView.getCurrentModuleName() ~= 'develop') do + LrTasks.sleep ( .29 ) + Profiles.checkProfile() + end --sleep away until ended or until develop module activated + LrDevelopController.revealAdjustedControls( true ) -- reveal affected parameter in panel track + LrDevelopController.addAdjustmentChangeObserver( + context, + MIDI2LR.PARAM_OBSERVER, + function ( observer ) + if LrApplicationView.getCurrentModuleName() == 'develop' then + guard:performWithGuard(AdjustmentChangeObserver,observer) + end + end + ) - while (loadVersion == currentLoadVersion) do --detect halt or reload - LrTasks.sleep( .29 ) - Profiles.checkProfile() - end + while (loadVersion == currentLoadVersion) do --detect halt or reload + LrTasks.sleep( .29 ) + Profiles.checkProfile() + end - client:close() - MIDI2LR.SERVER:close() - end ) -end ) + client:close() + MIDI2LR.SERVER:close() + end + ) + end +) From 6f4574183b5b1819e901121be2c057c93f05c64d Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Wed, 27 Jan 2016 12:49:16 -0800 Subject: [PATCH 57/87] translate local adjustments --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index d4ad22ff6..3fed2962a 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -29,7 +29,7 @@ local developPresets = LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/P local effects = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects") local gotoToolModulePanel = "Go to Tool, Module, or Panel" local lensCorrections = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections") -local localizedAdjustments = "Localized Adjustments" +local localizedAdjustments = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LocalAdjustments=Local Adjustments") local miscellaneous = "Miscellaneous" local photoActions = "Photo Actions" local primaryDisplay = LOC("$$$/AgPhotoBin/Tooltip/PrimaryViewMode=Primary Display") From 497fe768a56b789842cb8f0b903af70ed0be3804 Mon Sep 17 00:00:00 2001 From: jewest Date: Thu, 28 Jan 2016 15:21:16 +0100 Subject: [PATCH 58/87] Fix for the broken command menu. --- Source/CommandMenu.cpp | 58 +++++++++--------------------------- Source/CommandMenu.h | 3 ++ Source/CommandTableModel.cpp | 3 ++ 3 files changed, 20 insertions(+), 44 deletions(-) diff --git a/Source/CommandMenu.cpp b/Source/CommandMenu.cpp index 6f8902ad8..800ff02ef 100644 --- a/Source/CommandMenu.cpp +++ b/Source/CommandMenu.cpp @@ -27,7 +27,16 @@ MIDI2LR. If not, see . CommandMenu::CommandMenu(const MIDI_Message& msg): _msg(msg), _selectedItem(std::numeric_limits::max()), -TextButton("Unmapped"), m_commandMap(nullptr) +TextButton("Unmapped"), m_commandMap(nullptr), +m_menus({ "Basic", "Tone Curve", "HSL / Color / B&W" , "Reset HSL / Color / B&W" , "Split Toning", "Detail", "Lens Correction", "Effects", "Camera Calibration", "Photo Actions", +"Develop Presets", "Local Adjustments", "Miscellaneous", "Go To Tool, Module, or Panel", "View Modes", "Profiles", // MIDI2LR items +"Next/Prev Profile" }), + +m_menuEntries({ LRCommandList::AdjustmentStringList, LRCommandList::ToneStringList, LRCommandList::MixerStringList, LRCommandList::ResetMixerStringList, LRCommandList::SplitToningStringList, + LRCommandList::DetailStringList, LRCommandList::LensCorrectionStringList, LRCommandList::EffectsStringList, LRCommandList::CalibrateStringList, LRCommandList::SelectionList, LRCommandList::PresetsList, + LRCommandList::LocalList, LRCommandList::MiscList, LRCommandList::TMPList, LRCommandList::ViewModesList, LRCommandList::ProfilesList, // MIDI2LR items + LRCommandList::NextPrevProfile, +}) { } @@ -44,51 +53,12 @@ void CommandMenu::buttonClicked(Button* UNUSED_ARG(button)) PopupMenu mainMenu; mainMenu.addItem(idx, "Unmapped", true, subMenuTickSet = (idx == _selectedItem)); idx++; - - const std::vector menus = { "Basic", - "Tone Curve", - "HSL / Color / B&W" , - "Reset HSL / Color / B&W" , - "Split Toning", - "Detail", - "Lens Correction", - "Effects", - "Camera Calibration", - "Photo Actions", - "Develop Presets", - "Local Adjustments", - "Miscellaneous", - "Go To Tool, Module, or Panel", - "View Modes", - "Profiles", - // MIDI2LR items - "Next/Prev Profile" - }; - const std::vector> menuEntries = { LRCommandList::AdjustmentStringList, - LRCommandList::ToneStringList, - LRCommandList::MixerStringList, - LRCommandList::ResetMixerStringList, - LRCommandList::SplitToningStringList, - LRCommandList::DetailStringList, - LRCommandList::LensCorrectionStringList, - LRCommandList::EffectsStringList, - LRCommandList::CalibrateStringList, - LRCommandList::SelectionList, - LRCommandList::PresetsList, - LRCommandList::LocalList, - LRCommandList::MiscList, - LRCommandList::TMPList, - LRCommandList::ViewModesList, - LRCommandList::ProfilesList, - // MIDI2LR items - LRCommandList::NextPrevProfile, - }; - + // add each submenu - for (size_t menuIdx = 0; menuIdx < menus.size(); menuIdx++) + for (size_t menuIdx = 0; menuIdx < m_menus.size(); menuIdx++) { PopupMenu subMenu; - for (auto cmd : menuEntries[menuIdx]) + for (auto cmd : m_menuEntries[menuIdx]) { bool alreadyMapped = false; if ((idx - 1 < LRCommandList::LRStringList.size()) && (m_commandMap)) @@ -106,7 +76,7 @@ void CommandMenu::buttonClicked(Button* UNUSED_ARG(button)) idx++; } // set whether or not the submenu is ticked (true if one of the submenu's entries is selected) - mainMenu.addSubMenu(menus[menuIdx], subMenu, true, nullptr, _selectedItem < idx && !subMenuTickSet); + mainMenu.addSubMenu(m_menus[menuIdx], subMenu, true, nullptr, _selectedItem < idx && !subMenuTickSet); subMenuTickSet |= (_selectedItem < idx && !subMenuTickSet); } diff --git a/Source/CommandMenu.h b/Source/CommandMenu.h index 0240cf462..500c7bc5c 100644 --- a/Source/CommandMenu.h +++ b/Source/CommandMenu.h @@ -44,6 +44,9 @@ class CommandMenu : public TextButton, MIDI_Message _msg; size_t _selectedItem; CommandMap *m_commandMap; + + const std::vector m_menus; + const std::vector> m_menuEntries; }; diff --git a/Source/CommandTableModel.cpp b/Source/CommandTableModel.cpp index b010dfba5..3a78a452a 100644 --- a/Source/CommandTableModel.cpp +++ b/Source/CommandTableModel.cpp @@ -57,7 +57,10 @@ Component *CommandTableModel::refreshComponentForCell(int rowNumber, int columnI // create a new command menu if (commandSelect == nullptr) + { commandSelect = new CommandMenu(_commands[rowNumber]); + commandSelect->Init(m_commandMap); + } else commandSelect->setMsg(_commands[rowNumber]); From f9b684522a6385a8605a4f6c2df7167ce7c9c02d Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Thu, 28 Jan 2016 21:08:00 -0800 Subject: [PATCH 59/87] database for paste verified, still need to verify send back to midi --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 2961 ++++++----------- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 222 +- .../LRPlugin/MIDI2LR.lrplugin/ParamList.lua | 1422 ++++++++ 3 files changed, 2490 insertions(+), 2115 deletions(-) create mode 100644 Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 3fed2962a..9ab76b9b6 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -46,20 +46,18 @@ local whiteBalance = LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/W --[[---------------------------------------------------------------------------- -MenuList structure ->command ->user-friendly name ->menu group ->button or variable (true if button) ->include in selective paste settings (true if include) [exclude localized adj] ->include in send back values to MIDI controller (true if send back) ->Documentation right column ->experimental (true/false), results in user-friendly name flagged in documentation +DataBase structure +1. command +2. include in selective paste menu [exclude localized adj] +3. include in selective paste iteration +4. include in application command list +5. send back values to MIDI controller +6. button=true, variable=false +7. experimental (for documentation) +8. user-friendly name or, for 2=false and 3=true, command it maps to +9. menu group for app +10. documentation right column -Need another structure containing items not included in Menulist (primarily items -from copy/paste selective that are arrays, but also items that are continuous -in lightroom but assigned to buttons in app (e.g., upright mode). These items -would be added to copy/paste options but not send back values. unicode to UTF8 decimal mapping at http://www.utf8-chartable.de/unicode-utf8-table.pl local interrobang = '\226\128\189' @@ -72,3054 +70,2021 @@ local mdash = '\226\128\148' ------------------------------------------------------------------------------]] local DataBase = { + {"ProcessVersion",true,true,false,false,true,false,LOC("$$$/AgDevelop/Menu/ProcessVersion=Process Version")}, + {"WhiteBalance",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")}, {"WhiteBalanceAs_Shot", + false,false,true,false,true,true, whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), basicTone, - true, - false, - false, - "Use Temperature and Tint as determined by camera. *button*", - true}, + "Use Temperature and Tint as determined by camera. *button*"}, {"WhiteBalanceAuto", + false,false,true,false,true,true, whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), basicTone, - true, - false, - false, - "Have Lightroom determine Temperature and Tint. *button*", - true}, + "Have Lightroom determine Temperature and Tint. *button*"}, {"WhiteBalanceCloudy", + false,false,true,false,true,true, whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), basicTone, - true, - false, - false, - "Use cloudy white balance. *button*", - true}, + "Use cloudy white balance. *button*"}, {"WhiteBalanceDaylight", + false,false,true,false,true,true, whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), basicTone, - true, - false, - false, - "Use daylight white balance. *button*", - true}, + "Use daylight white balance. *button*"}, {"WhiteBalanceFlash", + false,false,true,false,true,true, whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), basicTone, - true, - false, - false, - "Use flash white balance. *button*", - true}, + "Use flash white balance. *button*"}, {"WhiteBalanceFluorescent", + false,false,true,false,true,true, whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), basicTone, - true, - false, - false, - "Use fluorescent white balance. *button*", - true}, + "Use fluorescent white balance. *button*"}, {"WhiteBalanceShade", + false,false,true,false,true,true, whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), basicTone, - true, - false, - false, - "Use shade white balance. *button*", - true}, + "Use shade white balance. *button*"}, {"WhiteBalanceTungsten", + false,false,true,false,true,true, whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), basicTone, - true, - false, - false, - "Use tungsten white balance. *button*", - true}, + "Use tungsten white balance. *button*"}, + {"AutoBrightness",true,true,false,false,true,false,"Automatic Brightness"}, + {"AutoContrast",true,true,false,false,true,false,"Automatic Contrast"}, + {"AutoExposure",true,true,false,false,true,false,"Automatic Exposure"}, + {"AutoShadows",true,true,false,false,true,false,"Automatic Shadows"}, {"Temperature", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), basicTone, - false, - true, - true, - "Fine-tunes the white balance using the Kelvin color temperature scale. Move the slider to the left to make the photo appear cooler, and right to warm the photo colors.", - false}, + "Fine-tunes the white balance using the Kelvin color temperature scale. Move the slider to the left to make the photo appear cooler, and right to warm the photo colors."}, {"Tint", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), basicTone, - false, - true, - true, - "Fine-tunes the white balance to compensate for a green or magenta tint. Move the slider to the left (negative values) to add green to the photo; move it to the right (positive values) to add magenta.", - false}, + "Fine-tunes the white balance to compensate for a green or magenta tint. Move the slider to the left (negative values) to add green to the photo; move it to the right (positive values) to add magenta."}, {"Exposure", + true,true,true,true,false,false, LOC("$$$/AgCameraRawUI/Exposure=Exposure"), basicTone, - false, - true, - true, - "Sets the overall image brightness. Adjust the slider until the photo looks good and the image is the desired brightness.", - false}, + "Sets the overall image brightness. Adjust the slider until the photo looks good and the image is the desired brightness."}, + {"Exposure2012",false,true,false,false,false,false,"Exposure"}, {"Contrast", + true,true,true,true,false,false, LOC("$$$/AgCameraRawUI/Contrast=Contrast"), basicTone, - false, - true, - true, - "Increases or decreases image contrast, mainly affecting midtones. When you increase contrast, the middle-to-dark image areas become darker, and the middle-to-light image areas become lighter. The image tones are inversely affected as you decrease contrast.", - false}, + "Increases or decreases image contrast, mainly affecting midtones. When you increase contrast, the middle-to-dark image areas become darker, and the middle-to-light image areas become lighter. The image tones are inversely affected as you decrease contrast."}, + {"Contrast2012",false,true,false,false,false,false,"Contrast"}, {"Highlights", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..'(Recovery in PV2003 and PV2010)', basicTone, - false, - true, - true, - "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.", - false}, + "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping."}, + {"Brightness",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Brightness=Brightness")}, + {"HighlightRecovery",true,true,false,false,false,false,"HighlightRecovery"}, {"Shadows", + false,false,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..'(Fill Light in PV2003 and PV2010)', basicTone, - false, - true, - true, - "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.", - false}, + "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details."}, + {"Shadows2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")},--NOT fill light in 2003 and 2010 + {"FillLight",true,true,false,false,false,false,"FillLight"}, {"Whites", + false,false,true,true,false,false, LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)', basicTone, - false, - true, - true, - "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping.", - false}, + "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping."}, + {"Whites2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)'}, {"Blacks", + false,false,true,true,false,false, LOC("$$$/AgCameraRawUI/Blacks=Blacks"), basicTone, - false, - true, - true, - "Specifies which image values map to black. Moving the slider to the right increases the areas that become black, sometimes creating the impression of increased image contrast. The greatest effect is in the shadows, with much less change in the midtones and highlights.", - false}, + "Specifies which image values map to black. Moving the slider to the right increases the areas that become black, sometimes creating the impression of increased image contrast. The greatest effect is in the shadows, with much less change in the midtones and highlights."}, + {"Blacks2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Blacks=Blacks")}, {"Clarity", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), basicTone, - false, - true, - true, - "Adds depth to an image by increasing local contrast. When using this setting, it is best to zoom in to 100% or greater.", - false}, + "Adds depth to an image by increasing local contrast. When using this setting, it is best to zoom in to 100% or greater."}, + {"Clarity2012",false,true,false,false,false,false,"Clarity"}, {"Vibrance", + true,true,true,true,false,false, LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), basicTone, - false, - true, - true, - "Adjusts the saturation so that clipping is minimized as colors approach full saturation, changing the saturation of all lower-saturated colors with less effect on the higher-saturated colors. Vibrance also prevents skin tones from becoming over saturated.", - false}, + "Adjusts the saturation so that clipping is minimized as colors approach full saturation, changing the saturation of all lower-saturated colors with less effect on the higher-saturated colors. Vibrance also prevents skin tones from becoming over saturated."}, {"Saturation", + true,true,true,true,false,false, LOC("$$$/AgCameraRawUI/Saturation=Saturation"), basicTone, - false, - true, - true, - "Adjusts the saturation of all image colors equally from –100 (monochrome) to +100 (double the saturation).", - false}, + "Adjusts the saturation of all image colors equally from -100 (monochrome) to +100 (double the saturation)."}, {"ResetTemperature", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), basicTone, - true, - false, - false}, + ""}, {"ResetTint", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetExposure", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetContrast", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetHighlights", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetShadows", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetWhites", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetBlacks", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetClarity", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetVibrance", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSaturation", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), basicTone, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, + {"ToneCurve",true,true,false,false,true,false,toneCurve}, + {"ToneCurveName",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurveName2012",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012Blue",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012Green",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012Red",false,true,false,false,true,false,"ToneCurve"}, {"ParametricDarks", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), toneCurve, - false, - true, - true, - "Adjust darks.", - false}, + "Adjust darks."}, {"ParametricLights", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), toneCurve, - false, - true, - true, - "Adjust lights.", - false}, + "Adjust lights."}, {"ParametricShadows", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), toneCurve, - false, - true, - true, - "Adjust shadows.", - false}, + "Adjust shadows."}, {"ParametricHighlights", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), toneCurve, - false, - true, - true, - "Adjust highlights.", - false}, + "Adjust highlights."}, {"ParametricShadowSplit", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), toneCurve, - false, - true, - true, - "Move division between shadows and darks.", - false}, + "Move division between shadows and darks."}, {"ParametricMidtoneSplit", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), toneCurve, - false, - true, - true, - "Move division between darks and lights.", - false}, + "Move division between darks and lights."}, {"ParametricHighlightSplit", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), toneCurve, - false, - true, - true, - "Move division between lights and highlights.", - false}, + "Move division between lights and highlights."}, {"ResetParametricDarks", - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), toneCurve, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetParametricLights", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), toneCurve, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetParametricShadows", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), toneCurve, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetParametricHighlights", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), toneCurve, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetParametricShadowSplit", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), toneCurve, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetParametricMidtoneSplit", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), toneCurve, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetParametricHighlightSplit", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), toneCurve, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"EnableColorAdjustments", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableColorAdjustments=Enable Color Adjustments"), colorAdjustments, - true, - false, - false, - "Enable or disable color adjustments. *button*", - true}, + "Enable or disable color adjustments. *button*"}, {"SaturationAdjustmentRed", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), colorAdjustments, - false, - true, - true, - "Changes the color vividness or purity of the color.", - false}, + "Changes the color vividness or purity of the color."}, {"SaturationAdjustmentOrange", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), colorAdjustments, - false, - true, - true, - "Changes the color vividness or purity of the color.", - false}, + "Changes the color vividness or purity of the color."}, {"SaturationAdjustmentYellow", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), colorAdjustments, - false, - true, - true, - "Changes the color vividness or purity of the color.", - false}, + "Changes the color vividness or purity of the color."}, {"SaturationAdjustmentGreen", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), colorAdjustments, - false, - true, - true, - "Changes the color vividness or purity of the color.", - false}, + "Changes the color vividness or purity of the color."}, {"SaturationAdjustmentAqua", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), colorAdjustments, - false, - true, - true, - "Changes the color vividness or purity of the color.", - false}, + "Changes the color vividness or purity of the color."}, {"SaturationAdjustmentBlue", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), colorAdjustments, - false, - true, - true, - "Changes the color vividness or purity of the color.", - false}, + "Changes the color vividness or purity of the color."}, {"SaturationAdjustmentPurple", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), colorAdjustments, - false, - true, - true, - "Changes the color vividness or purity of the color.", - false}, + "Changes the color vividness or purity of the color."}, {"SaturationAdjustmentMagenta", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), colorAdjustments, - false, - true, - true, - "Changes the color vividness or purity of the color.", - false}, + "Changes the color vividness or purity of the color."}, {"HueAdjustmentRed", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), colorAdjustments, - false, - true, - true, - "Changes the color.", - false}, + "Changes the color."}, {"HueAdjustmentOrange", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), colorAdjustments, - false, - true, - true, - "Changes the color.", - false}, + "Changes the color."}, {"HueAdjustmentYellow", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), colorAdjustments, - false, - true, - true, - "Changes the color.", - false}, + "Changes the color."}, {"HueAdjustmentGreen", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), colorAdjustments, - false, - true, - true, - "Changes the color.", - false}, + "Changes the color."}, {"HueAdjustmentAqua", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), colorAdjustments, - false, - true, - true, - "Changes the color.", - false}, + "Changes the color."}, {"HueAdjustmentBlue", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), colorAdjustments, - false, - true, - true, - "Changes the color.", - false}, + "Changes the color."}, {"HueAdjustmentPurple", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), colorAdjustments, - false, - true, - true, - "Changes the color.", - false}, + "Changes the color."}, {"HueAdjustmentMagenta", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), colorAdjustments, - false, - true, - true, - "Changes the color.", - false}, + "Changes the color."}, {"LuminanceAdjustmentRed", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), colorAdjustments, - false, - true, - true, - "Changes the brightness of the color range.", - false}, + "Changes the brightness of the color range."}, {"LuminanceAdjustmentOrange", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), colorAdjustments, - false, - true, - true, - "Changes the brightness of the color range.", - false}, + "Changes the brightness of the color range."}, {"LuminanceAdjustmentYellow", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), colorAdjustments, - false, - true, - true, - "Changes the brightness of the color range.", - false}, + "Changes the brightness of the color range."}, {"LuminanceAdjustmentGreen", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), colorAdjustments, - false, - true, - true, - "Changes the brightness of the color range.", - false}, + "Changes the brightness of the color range."}, {"LuminanceAdjustmentAqua", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), colorAdjustments, - false, - true, - true, - "Changes the brightness of the color range.", - false}, + "Changes the brightness of the color range."}, {"LuminanceAdjustmentBlue", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), colorAdjustments, - false, - true, - true, - "Changes the brightness of the color range.", - false}, + "Changes the brightness of the color range."}, {"LuminanceAdjustmentPurple", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), colorAdjustments, - false, - true, - true, - "Changes the brightness of the color range.", - false}, + "Changes the brightness of the color range."}, {"LuminanceAdjustmentMagenta", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), colorAdjustments, - false, - true, - true, - "Changes the brightness of the color range.", - false}, + "Changes the brightness of the color range."}, {"ConvertToGrayscale", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ConvertToGrayscale=Convert to Grayscale"), colorAdjustments, - true, - false, - false, - "Enable/disable gray scale conversion. *button*", - true}, + "Enable/disable gray scale conversion. *button*"}, {"EnableGrayscaleMix", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGrayscaleMix=Enable Grayscale Mix"), colorAdjustments, - true, - false, - false, - "Enable or disable black and white mix. *button*", - true}, + "Enable or disable black and white mix. *button*"}, {"GrayMixerRed", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), colorAdjustments, - false, - true, - true, - "Red contribution to luminance.", - false}, + "Red contribution to luminance."}, {"GrayMixerOrange", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), colorAdjustments, - false, - true, - true, - "Orange contribution to luminance.", - false}, + "Orange contribution to luminance."}, {"GrayMixerYellow", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), colorAdjustments, - false, - true, - true, - "Yellow contribution to luminance.", - false}, + "Yellow contribution to luminance."}, {"GrayMixerGreen", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), colorAdjustments, - false, - true, - true, - "Green contribution to luminance.", - false}, + "Green contribution to luminance."}, {"GrayMixerAqua", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), colorAdjustments, - false, - true, - true, - "Aqua contribution to luminance.", - false}, + "Aqua contribution to luminance."}, {"GrayMixerBlue", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), colorAdjustments, - false, - true, - true, - "Blue contribution to luminance.", - false}, + "Blue contribution to luminance."}, {"GrayMixerPurple", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), colorAdjustments, - false, - true, - true, - "Purple contribution to luminance.", - false}, + "Purple contribution to luminance."}, {"GrayMixerMagenta", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), colorAdjustments, - false, - true, - true, - "Magenta contribution to luminance.", - false}, + "Magenta contribution to luminance."}, {"ResetSaturationAdjustmentRed", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSaturationAdjustmentOrange", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSaturationAdjustmentYellow", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSaturationAdjustmentGreen", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSaturationAdjustmentAqua", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSaturationAdjustmentBlue", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSaturationAdjustmentPurple", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSaturationAdjustmentMagenta", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetHueAdjustmentRed", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetHueAdjustmentOrange", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetHueAdjustmentYellow", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetHueAdjustmentGreen", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetHueAdjustmentAqua", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetHueAdjustmentBlue", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetHueAdjustmentPurple", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetHueAdjustmentMagenta", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceAdjustmentRed", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceAdjustmentOrange", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceAdjustmentYellow", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceAdjustmentGreen", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceAdjustmentAqua", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceAdjustmentBlue", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceAdjustmentPurple", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceAdjustmentMagenta", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrayMixerRed", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrayMixerOrange", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrayMixerYellow", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrayMixerGreen", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrayMixerAqua", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrayMixerBlue", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrayMixerPurple", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrayMixerMagenta", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), resetColorAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"EnableSplitToning", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSplitToning=Enable Split Toning"), splitToning, - true, - false, - false, - "Enable or disable split toning effects. *button*", - true}, + "Enable or disable split toning effects. *button*"}, {"SplitToningShadowHue", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), splitToning, - false, - true, - true, - "Color of the tone for shadows.", - false}, + "Color of the tone for shadows."}, {"SplitToningShadowSaturation", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), splitToning, - false, - true, - true, - "Strength of the effect.", - false}, + "Strength of the effect."}, {"SplitToningHighlightHue", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), splitToning, - false, - true, - true, - "Color of the tone for highlights.", - false}, + "Color of the tone for highlights."}, {"SplitToningHighlightSaturation", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), splitToning, - false, - true, - true, - "Strength of the effect.", - false}, + "Strength of the effect."}, {"SplitToningBalance", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), splitToning, - false, - true, - true, - "Set the Balance slider to balance the effect between the Highlight and Shadow sliders. Positive values increase the effect of the Highlight sliders; negative values increase the effect of the Shadow sliders.", - false}, + "Set the Balance slider to balance the effect between the Highlight and Shadow sliders. Positive values increase the effect of the Highlight sliders; negative values increase the effect of the Shadow sliders."}, {"ResetSplitToningShadowHue", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), splitToning, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSplitToningShadowSaturation", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), splitToning, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSplitToningHighlightHue", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), splitToning, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSplitToningHighlightSaturation", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), splitToning, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSplitToningBalance", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), splitToning, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"EnableDetail", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), detail, - true, - false, - false, - "Enable or disable noise reduction and sharpening. *button*", - true}, + "Enable or disable noise reduction and sharpening. *button*"}, {"Sharpness", + true,true,true,true,false,false, LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), detail, - false, - true, - true, - "Adjusts edge definition. Increase the Amount value to increase sharpening. A value of zero (0) turns off sharpening. In general, set Amount to a lower value for cleaner images. The adjustment locates pixels that differ from surrounding pixels based on the threshold you specify and increases the pixels’ contrast by the amount you specify.", - false}, + "Adjusts edge definition. Increase the Amount value to increase sharpening. A value of zero (0) turns off sharpening. In general, set Amount to a lower value for cleaner images. The adjustment locates pixels that differ from surrounding pixels based on the threshold you specify and increases the pixels’ contrast by the amount you specify."}, {"SharpenRadius", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), detail, - false, - true, - true, - "Adjusts the size of the details that sharpening is applied to. Photos with very fine details may need a lower radius setting. Photos with larger details may be able to use a larger radius. Using too large a radius generally results in unnatural-looking results.", - false}, + "Adjusts the size of the details that sharpening is applied to. Photos with very fine details may need a lower radius setting. Photos with larger details may be able to use a larger radius. Using too large a radius generally results in unnatural-looking results."}, {"SharpenDetail", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), detail, - false, - true, - true, - "Adjusts how much high-frequency information is sharpened in the image and how much the sharpening process emphasizes edges. Lower settings primarily sharpen edges to remove blurring. Higher values are useful for making the textures in the image more pronounced.", - false}, + "Adjusts how much high-frequency information is sharpened in the image and how much the sharpening process emphasizes edges. Lower settings primarily sharpen edges to remove blurring. Higher values are useful for making the textures in the image more pronounced."}, {"SharpenEdgeMasking", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), detail, - false, - true, - true, - "Controls an edge mask. With a setting of zero (0), everything in the image receives the same amount of sharpening. With a setting of 100, sharpening is mostly restricted to those areas near the strongest edges.", - false}, + "Controls an edge mask. With a setting of zero (0), everything in the image receives the same amount of sharpening. With a setting of 100, sharpening is mostly restricted to those areas near the strongest edges."}, {"LuminanceSmoothing", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), detail, - false, - true, - true, - "Reduces luminance noise.", - false}, + "Reduces luminance noise."}, {"LuminanceNoiseReductionDetail", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), detail, - false, - true, - true, - "Controls the luminance noise threshold. Useful for very noisy photos. Higher values preserve more detail but may produce noisier results. Lower values produce cleaner results but may also remove some detail.", - false}, + "Controls the luminance noise threshold. Useful for very noisy photos. Higher values preserve more detail but may produce noisier results. Lower values produce cleaner results but may also remove some detail."}, {"LuminanceNoiseReductionContrast", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), detail, - false, - true, - true, - "Controls luminance contrast. Useful for very noisy photos. Higher values preserve contrast but may produce noisy blotches or mottling. Lower values produce smoother results but may also have less contrast.", - false}, + "Controls luminance contrast. Useful for very noisy photos. Higher values preserve contrast but may produce noisy blotches or mottling. Lower values produce smoother results but may also have less contrast."}, {"ColorNoiseReduction", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), detail, - false, - true, - true, - "Reduces color noise.", - false}, + "Reduces color noise."}, {"ColorNoiseReductionDetail", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), detail, - false, - true, - true, - "Controls the color noise threshold. Higher values protect thin, detailed color edges but may result in color speckling. Lower values remove color speckles but may result in color bleeding.", - false}, + "Controls the color noise threshold. Higher values protect thin, detailed color edges but may result in color speckling. Lower values remove color speckles but may result in color bleeding."}, {"ColorNoiseReductionSmoothness", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), detail, - false, - true, - true, - "Increasing this can prevent artifacts especially in the lower frequencies.", - false}, + "Increasing this can prevent artifacts especially in the lower frequencies."}, {"ResetSharpness", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSharpenRadius", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSharpenDetail", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetSharpenEdgeMasking", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceSmoothing", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceNoiseReductionDetail", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLuminanceNoiseReductionContrast", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetColorNoiseReduction", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetColorNoiseReductionDetail", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetColorNoiseReductionSmoothness", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), detail, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"EnableLensCorrections", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), lensCorrections, - true, - false, - false, - "Enable or disable all lens corrections. *button*", - true}, + "Enable or disable all lens corrections. *button*"}, {"LensProfileEnable", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileEnable=Lens Profile Enable"), lensCorrections, - true, - false, - false, - "Automatic correction using a stored lens profile.", - true}, + "Automatic correction using a stored lens profile."}, + {"LensProfileSetup",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileSetup=Lens Profile Setup")}, {"AutoLateralCA", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RemoveChromaticAberration=Remove Chromatic Aberration"), lensCorrections, - true, - false, - false, - "Automatically corrects blue-yellow and red-green fringes (lateral chromatic aberration).", - true}, + "Automatically corrects blue-yellow and red-green fringes (lateral chromatic aberration)."}, + {"ChromaticAberrationB",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationB=Blue Chromatic Aberration")}, + {"ChromaticAberrationR",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationR=Red Chromatic Aberration")}, + {"PerspectiveUpright",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveUpright=Perspective Upright")}, {"UprightOff", + false,false,true,false,true,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off"), lensCorrections, - true, - false, - false, - "Upright mode off. *button*", - false}, + "Upright mode off. *button*"}, {"UprightAuto", + false,false,true,false,true,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto"), lensCorrections, - true, - false, - false, - "Balanced level, aspect ratio, and perspective corrections. *button*", - false}, + "Balanced level, aspect ratio, and perspective corrections. *button*"}, {"UprightLevel", + false,false,true,false,true,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level"), lensCorrections, - true, - false, - false, - "Perspective corrections are weighted toward horizontal details. *button*", - false}, + "Perspective corrections are weighted toward horizontal details. *button*"}, {"UprightVertical", + false,false,true,false,true,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical"), lensCorrections, - true, - false, - false, - "Perspective corrections are weighted toward vertical details. *button*", - false}, + "Perspective corrections are weighted toward vertical details. *button*"}, {"UprightFull", + false,false,true,false,true,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full"), lensCorrections, - true, - false, - false, - "Combination of full Level, Vertical, and Auto perspective corrections. *button*", - false}, + "Combination of full Level, Vertical, and Auto perspective corrections. *button*"}, {"ResetPerspectiveUpright", + false,false,true,false,true,false, LOC("$$$/AgCameraRawNamedSettings/Ops/ResetUprightSettings=Reset Upright Settings"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"LensProfileDistortionScale", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), lensCorrections, - false, - true, - true, - "The default value 100 applies 100% of the distortion correction in the profile. Values over 100 apply greater correction to the distortion; values under 100 apply less correction to the distortion.", - false}, + "The default value 100 applies 100% of the distortion correction in the profile. Values over 100 apply greater correction to the distortion; values under 100 apply less correction to the distortion."}, {"LensProfileChromaticAberrationScale", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), lensCorrections, - false, - true, - true, - "The default value 100 applies 100% of the chromatic aberration correction in the profile. Values over 100 apply greater correction to color fringing; values under 100 apply less correction to color fringing.", - false}, + "The default value 100 applies 100% of the chromatic aberration correction in the profile. Values over 100 apply greater correction to color fringing; values under 100 apply less correction to color fringing."}, {"LensProfileVignettingScale", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), lensCorrections, - false, - true, - true, - "The default value 100 applies 100% of the vignetting correction in the profile. Values over 100 apply greater correction to vignetting; values under 100 apply less correction to vignetting.", - false}, + "The default value 100 applies 100% of the vignetting correction in the profile. Values over 100 apply greater correction to vignetting; values under 100 apply less correction to vignetting."}, {"ResetLensProfileDistortionScale", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLensProfileChromaticAberrationScale", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetLensProfileVignettingScale", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"DefringePurpleAmount", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), lensCorrections, - false, - true, - true, - "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units.", - false}, + "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units."}, {"DefringePurpleHueLo", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), lensCorrections, - false, - true, - true, - "", - false}, + ""}, {"DefringePurpleHueHi", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), lensCorrections, - false, - true, - true, - "", - false}, + ""}, {"DefringeGreenAmount", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), lensCorrections, - false, - true, - true, - "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units. The default spacing for the green sliders is narrow to protect green/yellow image colors, like foliage.", - false}, + "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units. The default spacing for the green sliders is narrow to protect green/yellow image colors, like foliage."}, {"DefringeGreenHueLo", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), lensCorrections, - false, - true, - true, - "", - false}, + ""}, {"DefringeGreenHueHi", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), lensCorrections, - false, - true, - true, - "", - false}, + ""}, {"ResetDefringePurpleAmount", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetDefringePurpleHueLo", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetDefringePurpleHueHi", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetDefringeGreenAmount", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetDefringeGreenHueLo", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetDefringeGreenHueHi", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"LensManualDistortionAmount", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), lensCorrections, - false, - true, - true, - "Drag to the right to correct barrel distortion and straighten lines that bend away from the center. Drag to the left to correct pincushion distortion and straighten lines that bend toward the center.", - false}, + "Drag to the right to correct barrel distortion and straighten lines that bend away from the center. Drag to the left to correct pincushion distortion and straighten lines that bend toward the center."}, {"PerspectiveVertical", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), lensCorrections, - false, - true, - true, - "Corrects perspective caused by tilting the camera up or down. Makes vertical lines appear parallel.", - false}, + "Corrects perspective caused by tilting the camera up or down. Makes vertical lines appear parallel."}, {"PerspectiveHorizontal", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), lensCorrections, - false, - true, - true, - "Corrects perspective caused by angling the camera left or right. Makes horizontal lines parallel.", - false}, + "Corrects perspective caused by angling the camera left or right. Makes horizontal lines parallel."}, {"PerspectiveRotate", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), lensCorrections, - false, - true, - true, - "Corrects for camera tilt. Uses the center of the original, uncropped photo as the axis of rotation.", - false}, + "Corrects for camera tilt. Uses the center of the original, uncropped photo as the axis of rotation."}, {"PerspectiveScale", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), lensCorrections, - false, - true, - true, - "Adjusts the image scale up or down. Helps to remove empty areas caused by perspective corrections and distortions. Displays areas of the image that extend beyond the crop boundary.", - false}, + "Adjusts the image scale up or down. Helps to remove empty areas caused by perspective corrections and distortions. Displays areas of the image that extend beyond the crop boundary."}, {"PerspectiveAspect", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), lensCorrections, - false, - true, - true, - "Adjusts the amount the image is stretched horizontally or vertically.", - false}, + "Adjusts the amount the image is stretched horizontally or vertically."}, {"VignetteAmount", + true,true,true,true,false,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), lensCorrections, - false, - true, - true, - "Sets the amount of lightening or darkening along the edges of an image. Corrects images that have darkened corners caused by lens faults or improper lens shading.", - true}, + "Sets the amount of lightening or darkening along the edges of an image. Corrects images that have darkened corners caused by lens faults or improper lens shading."}, {"VignetteMidpoint", + true,true,true,true,false,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), lensCorrections, - false, - true, - true, - "Specifies the width of area affected by the Amount slider. Specify a lower number to affect more of the image. Specify a higher number to restrict the effect to the edges of the image.", - true}, + "Specifies the width of area affected by the Amount slider. Specify a lower number to affect more of the image. Specify a higher number to restrict the effect to the edges of the image."}, {"ResetLensManualDistortionAmount", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPerspectiveVertical", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPerspectiveHorizontal", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPerspectiveRotate", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPerspectiveScale", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPerspectiveAspect", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetVignetteAmount", + false,false,true,false,true,true, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - true}, + "Reset to default. *button*"}, {"ResetVignetteMidpoint", + false,false,true,false,true,true, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), lensCorrections, - true, - false, - false, - "Reset to default. *button*", - true}, + "Reset to default. *button*"}, {"EnableEffects", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableEffects=Enable Effects"), effects, - true, - false, - false, - "Enable or disable effects. *button*", - true}, + "Enable or disable effects. *button*"}, {"Dehaze", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), effects, - false, - true, - true, - "Controls the amount of haze in a photograph. Drag to the right to remove haze; drag to the left to add haze.", - false}, + "Controls the amount of haze in a photograph. Drag to the right to remove haze; drag to the left to add haze."}, {"PostCropVignetteAmount", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), effects, - false, - true, - true, - "Negative values darken the corners of the photo. Positive values lighten the corners.", - false}, + "Negative values darken the corners of the photo. Positive values lighten the corners."}, {"PostCropVignetteMidpoint", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), effects, - false, - true, - true, - "Lower values apply the Amount adjustment to a larger area away from the corners. Higher values restrict the adjustment to an area closer to the corners.", - false}, + "Lower values apply the Amount adjustment to a larger area away from the corners. Higher values restrict the adjustment to an area closer to the corners."}, {"PostCropVignetteFeather", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), effects, - false, - true, - true, - "Lower values reduce softening between the vignette and the vignette’s surrounding pixels. Higher values increase the softening.", - false}, + "Lower values reduce softening between the vignette and the vignette’s surrounding pixels. Higher values increase the softening."}, {"PostCropVignetteRoundness", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), effects, - false, - true, - true, - "Lower values make the vignette effect more oval. Higher values make the vignette effect more circular.", - false}, + "Lower values make the vignette effect more oval. Higher values make the vignette effect more circular."}, {"PostCropVignetteStyle", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), effects, - false, - true, - true, - "Cycles through: **Highlight Priority** Enables highlight recovery but can lead to color shifts in darkened areas of a photo. Suitable for photos with bright image areas such as clipped specular highlights. **Color Priority** Minimizes color shifts in darkened areas of a photo but cannot perform highlight recovery. **Paint Overlay** Mixes the cropped image values with black or white pixels. Can result in a flat appearance.", - false}, + "Cycles through: **Highlight Priority** Enables highlight recovery but can lead to color shifts in darkened areas of a photo. Suitable for photos with bright image areas such as clipped specular highlights. **Color Priority** Minimizes color shifts in darkened areas of a photo but cannot perform highlight recovery. **Paint Overlay** Mixes the cropped image values with black or white pixels. Can result in a flat appearance."}, {"PostCropVignetteHighlightContrast", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), effects, - false, - true, - true, - "(Highlight Priority and Color Priority only) Controls the degree of highlight contrast preserved when Amount is negative. Suitable for photos with small highlights, such as candles and lamps.", - false}, + "(Highlight Priority and Color Priority only) Controls the degree of highlight contrast preserved when Amount is negative. Suitable for photos with small highlights, such as candles and lamps."}, {"GrainAmount", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), effects, - false, - true, - true, - "Controls the amount of grain applied to the image. Drag to the right to increase the amount. Set to zero to disable grain.", - false}, + "Controls the amount of grain applied to the image. Drag to the right to increase the amount. Set to zero to disable grain."}, {"GrainSize", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), effects, - false, - true, - true, - "Controls grain particle size. At sizes of 25 or greater, blue is added to make the effect look better with noise reduction.", - false}, + "Controls grain particle size. At sizes of 25 or greater, blue is added to make the effect look better with noise reduction."}, {"GrainFrequency", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), effects, - false, - true, - true, - " Controls the regularity of the grain. Drag to the left to make the grain more uniform; drag to the right to make the grain more uneven.", - false}, + " Controls the regularity of the grain. Drag to the left to make the grain more uniform; drag to the right to make the grain more uneven."}, {"ResetDehaze", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPostCropVignetteAmount", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPostCropVignetteMidpoint", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPostCropVignetteFeather", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPostCropVignetteRoundness", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPostCropVignetteStyle", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetPostCropVignetteHighlightContrast", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrainAmount", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrainSize", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGrainFrequency", + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), effects, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"EnableCalibration", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableCalibration=Enable Calibration"), calibration, - true, - false, - false, - "Enable or disable custom camera calibration. *button*", - true}, + "Enable or disable custom camera calibration. *button*"}, + {"CameraProfile",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CameraProfile=Camera Profile")}, {"Profile_Adobe_Standard", + false,false,true,false,true,true, LOC("$$$/CRaw/Style/Profile/AdobeStandard=Adobe Standard"), calibration, - true, - false, - false, - "Applies the Adobe Standard profile. *button*", - true}, + "Applies the Adobe Standard profile. *button*"}, {"Profile_Camera_Clear", + false,false,true,false,true,true, LOC("$$$/CRaw/Style/Profile/CameraClear=Camera Clear"), calibration, - true, - false, - false, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - true}, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, {"Profile_Camera_Deep", + false,false,true,false,true,true, LOC("$$$/CRaw/Style/Profile/CameraDeep=Camera Deep"), calibration, - true, - false, - false, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - true}, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, {"Profile_Camera_Landscape", + false,false,true,false,true,true, LOC("$$$/CRaw/Style/Profile/CameraLandscape=Camera Landscape"), calibration, - true, - false, - false, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - true}, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, {"Profile_Camera_Light", + false,false,true,false,true,true, LOC("$$$/CRaw/Style/Profile/CameraLight=Camera Light"), calibration, - true, - false, - false, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - true}, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, {"Profile_Camera_Neutral", + false,false,true,false,true,true, LOC("$$$/CRaw/Style/Profile/CameraNeutral=Camera Neutral"), calibration, - true, - false, - false, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - true}, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, {"Profile_Camera_Portrait", + false,false,true,false,true,true, LOC("$$$/CRaw/Style/Profile/CameraPortrait=Camera Portrait"), calibration, - true, - false, - false, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - true}, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, {"Profile_Camera_Standard", + false,false,true,false,true,true, LOC("$$$/CRaw/Style/Profile/CameraStandard=Camera Standard"), calibration, - true, - false, - false, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - true}, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, {"Profile_Camera_Vivid", + false,false,true,false,true,true, LOC("$$$/CRaw/Style/Profile/CameraVivid=Camera Vivid"), calibration, - true, - false, - false, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - true}, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, {"ShadowTint", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), calibration, - false, - true, - true, - "Corrects for any green or magenta tint in the shadow areas of the photo.", - false}, + "Corrects for any green or magenta tint in the shadow areas of the photo."}, {"RedHue", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), calibration, - false, - true, - true, - "For the red primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", - false}, + "For the red primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move."}, {"RedSaturation", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), calibration, - false, - true, - true, - "For the red primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", - false}, + "For the red primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation."}, {"GreenHue", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), calibration, - false, - true, - true, - "For the green primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", - false}, + "For the green primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move."}, {"GreenSaturation", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), calibration, - false, - true, - true, - "For the green primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", - false}, + "For the green primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation."}, {"BlueHue", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), calibration, - false, - true, - true, - "For the blue primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", - false}, + "For the blue primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move."}, {"BlueSaturation", + true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), calibration, - false, - true, - true, - "For the blue primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", - false}, + "For the blue primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation."}, {"ResetShadowTint", + false,false,true,true,false,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), calibration, - false, - true, - true, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetRedHue", + false,false,true,true,false,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), calibration, - false, - true, - true, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetRedSaturation", + false,false,true,true,false,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), calibration, - false, - true, - true, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGreenHue", + false,false,true,true,false,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), calibration, - false, - true, - true, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetGreenSaturation", + false,false,true,true,false,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), calibration, - false, - true, - true, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetBlueHue", + false,false,true,true,false,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), calibration, - false, - true, - true, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"ResetBlueSaturation", + false,false,true,true,false,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), calibration, - false, - true, - true, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Pick", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Help/Shortcuts/SetPick=Set Pick Flag"), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"Reject", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Help/Shortcuts/SetReject=Set Rejected Flag"), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"Next", + false,false,true,false,true,false, LOC("$$$/AgDevelopShortcuts/Next_Photo=Next Photo"), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"Prev", + false,false,true,false,true,false, LOC("$$$/AgDevelopShortcuts/Previous_Photo=Previous Photo"), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"Select1Left", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), 'Photo Actions', - true, - false, - false, - "Extend selection one picture to the left. *button*", - false}, + "Extend selection one picture to the left. *button*"}, {"Select1Right", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), 'Photo Actions', - true, - false, - false, - "Extend selection one picture to the right. *button*", - false}, + "Extend selection one picture to the right. *button*"}, {"VirtualCopy", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Bezel/CreateVirtualCopy=Create Virtual Copy"):gsub('&',''), photoActions, - true, - false, - false, - "Creates a virtual copy for each of the currently selected photos and videos. The new virtual copies will be selected. *button*", - false}, + "Creates a virtual copy for each of the currently selected photos and videos. The new virtual copies will be selected. *button*"}, {"RemoveFlag", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Menu/Photo/SetPick/Unflagged=Unflagged"):gsub('&',''), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"IncreaseRating", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Ops/IncreaseRating=Increase Rating"), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"DecreaseRating", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Ops/DecreaseRating=Decrease Rating"), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"SetRating0", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"SetRating1", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"SetRating2", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"SetRating3", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"SetRating4", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"SetRating5", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ToggleBlue", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelBlue=Blue")), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ToggleGreen", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelGreen=Green")), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ToggleRed", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelRed=Red")), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"TogglePurple", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelPurple=Purple")), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ToggleYellow", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelYellow=Yellow")), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ResetAll", + false,false,true,false,true,false, LOC("$$$/AgCameraRawNamedSettings/Ops/ResetSettings=Reset Settings"), photoActions, - true, - false, - false, - "Reset to defaults. *button*", - false}, + "Reset to defaults. *button*"}, {"ResetLast", + false,false,true,false,true,false, reset..' '..LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified"):gsub(':',''), photoActions, - true, - false, - false, - "Resets the last parameter that was adjusted by an encoder or fader to default. *button*", - false}, + "Resets the last parameter that was adjusted by an encoder or fader to default. *button*"}, {"IncrementLastDevelopParameter", + false,false,true,false,true,false, LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 Increase: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), photoActions, - true, - false, - false, - "Increments the last parameter that was adjusted by an encoder or fader. *button*", - false}, + "Increments the last parameter that was adjusted by an encoder or fader. *button*"}, {"DecrementLastDevelopParameter", + false,false,true,false,true,false, LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 Decrease: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), photoActions, - true, - false, - false, - "Decrements the last parameter that was adjusted by an encoder or fader. *button*", - false}, + "Decrements the last parameter that was adjusted by an encoder or fader. *button*"}, {"Undo", + false,false,true,false,true,false, LOC("$$$/AgCameraRawController/SoftProofingVirtualCopyPrompt/Undo=Undo"), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"Redo", + false,false,true,false,true,false, LOC("$$$/Bezel/RedoTitle=Redo"), photoActions, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"CopySettings", + false,false,true,false,true,false, "Copy Settings", photoActions, - true, - false, - false, - "Copies all develop settings. Application will remember last copy operation and use that for all paste operations until a new *Copy Settings* is done or the application is restarted. *button*", - false}, + "Copies all develop settings. Application will remember last copy operation and use that for all paste operations until a new *Copy Settings* is done or the application is restarted. *button*"}, {"PasteSettings", + false,false,true,false,true,false, LOC("$$$/AgCameraRawNamedSettings/Ops/PasteSettings=Paste Settings"), photoActions, - true, - false, - false, - "Pastes all develop settings. *button*", - false}, + "Pastes all develop settings. *button*"}, {"PasteSelectedSettings", + false,false,true,false,true,false, "Paste Selected Settings", photoActions, - true, - false, - false, - "Pastes only those settings checked in the **Options⇢Paste Selections** dialog. *button*", - false}, - {"Preset_1", - developPreset.." 1", + "Pastes only those settings checked in the **Options⇢Paste Selections** dialog. *button*"}, + {"Preset_1", + false,false,true,false,true,false, + developPreset.." 1", developPresets, - true, - false, - false, - "", - false}, - {"Preset_2", - developPreset.." 2", + ""}, + {"Preset_2", + false,false,true,false,true,false, + developPreset.." 2", developPresets, - true, - false, - false, - "", - false}, - {"Preset_3", - developPreset.." 3", + ""}, + {"Preset_3", + false,false,true,false,true,false, + developPreset.." 3", developPresets, - true, - false, - false, - "", - false}, - {"Preset_4", - developPreset.." 4", + ""}, + {"Preset_4", + false,false,true,false,true,false, + developPreset.." 4", developPresets, - true, - false, - false, - "", - false}, - {"Preset_5", - developPreset.." 5", + ""}, + {"Preset_5", + false,false,true,false,true,false, + developPreset.." 5", developPresets, - true, - false, - false, - "", - false}, - {"Preset_6", - developPreset.." 6", + ""}, + {"Preset_6", + false,false,true,false,true,false, + developPreset.." 6", developPresets, - true, - false, - false, - "", - false}, - {"Preset_7", - developPreset.." 7", + ""}, + {"Preset_7", + false,false,true,false,true,false, + developPreset.." 7", developPresets, - true, - false, - false, - "", - false}, - {"Preset_8", - developPreset.." 8", + ""}, + {"Preset_8", + false,false,true,false,true,false, + developPreset.." 8", developPresets, - true, - false, - false, - "", - false}, - {"Preset_9", - developPreset.." 9", + ""}, + {"Preset_9", + false,false,true,false,true,false, + developPreset.." 9", developPresets, - true, - false, - false, - "", - false}, - {"Preset_10", - developPreset.." 10", + ""}, + {"Preset_10", + false,false,true,false,true,false, + developPreset.." 10", developPresets, - true, - false, - false, - "", - false}, - {"Preset_11", - developPreset.." 11", + ""}, + {"Preset_11", + false,false,true,false,true,false, + developPreset.." 11", developPresets, - true, - false, - false, - "", - false}, - {"Preset_12", - developPreset.." 12", + ""}, + {"Preset_12", + false,false,true,false,true,false, + developPreset.." 12", developPresets, - true, - false, - false, - "", - false}, - {"Preset_13", - developPreset.." 13", + ""}, + {"Preset_13", + false,false,true,false,true,false, + developPreset.." 13", developPresets, - true, - false, - false, - "", - false}, - {"Preset_14", - developPreset.." 14", + ""}, + {"Preset_14", + false,false,true,false,true,false, + developPreset.." 14", developPresets, - true, - false, - false, - "", - false}, - {"Preset_15", - developPreset.." 15", + ""}, + {"Preset_15", + false,false,true,false,true,false, + developPreset.." 15", developPresets, - true, - false, - false, - "", - false}, - {"Preset_16", - developPreset.." 16", + ""}, + {"Preset_16", + false,false,true,false,true,false, + developPreset.." 16", developPresets, - true, - false, - false, - "", - false}, - {"Preset_17", - developPreset.." 17", + ""}, + {"Preset_17", + false,false,true,false,true,false, + developPreset.." 17", developPresets, - true, - false, - false, - "", - false}, - {"Preset_18", - developPreset.." 18", + ""}, + {"Preset_18", + false,false,true,false,true,false, + developPreset.." 18", developPresets, - true, - false, - false, - "", - false}, - {"Preset_19", - developPreset.." 19", + ""}, + {"Preset_19", + false,false,true,false,true,false, + developPreset.." 19", developPresets, - true, - false, - false, - "", - false}, - {"Preset_20", - developPreset.." 20", + ""}, + {"Preset_20", + false,false,true,false,true,false, + developPreset.." 20", developPresets, - true, - false, - false, - "", - false}, + ""}, {"local_Temperature", + false,false,true,true,false,false, "Local Temperature (PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Temperature for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Temperature for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Tint", + false,false,true,true,false,false, "Local Tint (PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Tint for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Tint for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Exposure", + false,false,true,true,false,false, "Local Exposure (PV2010 and PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Exposure for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Exposure for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Contrast", + false,false,true,true,false,false, "Local Contrast (PV2010 and PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Contrast for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Contrast for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Highlights", + false,false,true,true,false,false, "Local Highlights (PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Highlights for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Highlights for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Shadows", + false,false,true,true,false,false, "Local Shadows (PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Shadows for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Shadows for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Clarity", + false,false,true,true,false,false, "Local Clarity (PV2010 and PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Clarity for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Clarity for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Saturation", + false,false,true,true,false,false, "Local Saturation (PV2010 and PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Saturation for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Saturation for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Sharpness", + false,false,true,true,false,false, "Local Sharpness (PV2010 and PV 2012)", localizedAdjustments, - false, - false, - true, - "Adjust Sharpness for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Sharpness for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_LuminanceNoise", + false,false,true,true,false,false, "Local Luminance Noise (PV2012)", "Localized Adjusments", - false, - false, - true, - "Adjust Luminance Noise for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Luminance Noise for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Moire", + false,false,true,true,false,false, "Local Moire (PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Moire for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Moire for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Defringe", + false,false,true,true,false,false, "Local Defringe (PV2012)", localizedAdjustments, - false, - false, - true, - "Adjust Defringe for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Defringe for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_ToningLuminance", + false,false,true,true,false,false, "Local Toning Luminance (PV2010)", localizedAdjustments, - false, - false, - true, - "Adjust Toning Luminance for the currently active tool: Brush, Radial Filter, or Graduated Filter.", - false}, + "Adjust Toning Luminance for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"Resetlocal_Temperature", + false,false,true,false,true,false, "Reset Local Temperature (PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Tint", + false,false,true,false,true,false, "Reset Local Tint (PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Exposure", + false,false,true,false,true,false, "Reset Local Exposure (PV2010 and PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Contrast", + false,false,true,false,true,false, "Reset Local Contrast (PV2010 and PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Highlights", + false,false,true,false,true,false, "Reset Local Highlights (PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Shadows", + false,false,true,false,true,false, "Reset Local Shadows (PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Clarity", + false,false,true,false,true,false, "Reset Local Clarity (PV2010 and PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Saturation", + false,false,true,false,true,false, "Reset Local Saturation (PV2010 and PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Sharpness", + false,false,true,false,true,false, "Reset Local Sharpness (PV2010 and PV 2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_LuminanceNoise", + false,false,true,false,true,false, "Reset Local Luminance Noise (PV2012)", "Localized Adjusments", - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Moire", + false,false,true,false,true,false, "Reset Local Moire (PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_Defringe", + false,false,true,false,true,false, "Reset Local Defringe (PV2012)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, + "Reset to default. *button*"}, {"Resetlocal_ToningLuminance", + false,false,true,false,true,false, "Reset Local Toning Luminance (PV2010)", localizedAdjustments, - true, - false, - false, - "Reset to default. *button*", - false}, - {"EnableCircularGradientBasedCorrections", + "Reset to default. *button*"}, + {"EnableCircularGradientBasedCorrections", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), localizedAdjustments, - true, - false, - false, - "Enable or disable radial filter. *button*", - true}, - {"EnableGradientBasedCorrections", + "Enable or disable radial filter. *button*"}, + {"EnableGradientBasedCorrections", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), localizedAdjustments, - true, - false, - false, - "Enable or disable graduated filter. *button*", - true}, + "Enable or disable graduated filter. *button*"}, {"EnablePaintBasedCorrections", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), localizedAdjustments, - true, - false, - false, - "Enable or disable brush adjustments. *button*", - true}, + "Enable or disable brush adjustments. *button*"}, {"EnableRedEye", - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), localizedAdjustments, - true, - false, - false, - "Enable or disable red eye correction. *button*", - true}, - {"EnableRetouch", + "Enable or disable red eye correction. *button*"}, + {"EnableRetouch", + true,true,true,false,true,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), localizedAdjustments, - true, - false, - false, - "Enable or disable spot removal. *button*", - true}, + "Enable or disable spot removal. *button*"}, + {"RetouchInfo",true,true,false,false,true,false,"RetouchInfo"}, {"ResetCircGrad", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), localizedAdjustments, - true, - false, - false, - "Delete radial filter. *button*", - false}, + "Delete radial filter. *button*"}, {"ResetGradient", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), localizedAdjustments, - true, - false, - false, - "Delete graduated filter. *button*", - false}, + "Delete graduated filter. *button*"}, {"ResetBrushing", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), localizedAdjustments, - true, - false, - false, - "Delete brush adjustments. *button*", - false}, + "Delete brush adjustments. *button*"}, {"ResetRedeye", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), localizedAdjustments, - true, - false, - false, - "Delete red eye correction. *button*", - false}, + "Delete red eye correction. *button*"}, {"ResetSpotRem", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), localizedAdjustments, - true, - false, - false, - "Delete spot removal. *button*", - false}, + "Delete spot removal. *button*"}, {"ZoomInLargeStep", + false,false,true,false,true,false, LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomIn=Zoom In"), miscellaneous, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ZoomInSmallStep", + false,false,true,false,true,false, LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomInSome=Zoom In Some"), miscellaneous, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ZoomOutSmallStep", + false,false,true,false,true,false, LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOutSome=Zoom Out Some"), miscellaneous, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ZoomOutLargeStep", + false,false,true,false,true,false, LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOut=Zoom Out"), miscellaneous, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ToggleZoomOffOn", + false,false,true,false,true,false, "Toggle Zoom Off/On", miscellaneous, - true, - false, - false, - "*button*", - false}, + "*button*"}, + {"orientation",true,true,false,false,true,false,"orientation"}, + {"CropConstrainToWarp",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropConstrainToWarp=Constrain to Warp")} {"CropAngle", + true,true,true,true,false,true, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropAngle=Crop Angle"), miscellaneous, - false, - true, - true, - "Rotate crop rectangle. This control is constrained to picture boundaries even when \226\128\156constrain to image\226\128\157 is not selected. It also causes the aspect ratio of the crop to change. It may be better to use the [Perspective Rotate in the Lens Corrections](https://github.com/rsjaffe/MIDI2LR/wiki/Commands:-Lens-Correction) set of actions.", - true}, + "Rotate crop rectangle. This control is constrained to picture boundaries even when \226\128\156constrain to image\226\128\157 is not selected. It also causes the aspect ratio of the crop to change. It may be better to use the [Perspective Rotate in the Lens Corrections](https://github.com/rsjaffe/MIDI2LR/wiki/Commands:-Lens-Correction) set of actions."}, {"CropBottom", + true,true,true,true,false,true, crop..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), miscellaneous, - false, - true, - true, - "Adjust bottom of crop rectangle.", - true}, + "Adjust bottom of crop rectangle."}, {"CropLeft", + true,true,true,true,false,true, crop..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), miscellaneous, - false, - true, - true, - "Adjust left side of crop rectangle.", - true}, + "Adjust left side of crop rectangle."}, {"CropRight", + true,true,true,true,false,true, crop..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), miscellaneous, - false, - true, - true, - "Adjust right side of crop rectangle.", - true}, + "Adjust right side of crop rectangle."}, {"CropTop", + true,true,true,true,false,true, crop..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), miscellaneous, - false, - true, - true, - "Adjust top of crop rectangle.", - true}, + "Adjust top of crop rectangle."}, {"ResetCrop", + false,false,true,false,true,false, LOC("$$$/AgLibrary/Ops/ResetCrop=Reset Crop"), miscellaneous, - true, - false, - false, - "Reset the crop angle and frame for the current photo. *button*", - false}, + "Reset the crop angle and frame for the current photo. *button*"}, {"Loupe", + false,false,true,false,true,false, show..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), gotoToolModulePanel, - true, - false, - false, - "Select Loupe View mode in Develop Module. Repeated press toggles in and out of Loupe View. *button*", - false}, + "Select Loupe View mode in Develop Module. Repeated press toggles in and out of Loupe View. *button*"}, {"CropOverlay", + false,false,true,false,true,false, show..' '..crop, gotoToolModulePanel, - true, - false, - false, - "Select Crop Overlay mode in Develop Module. Repeated press toggles Loupe View. *button*", - false}, + "Select Crop Overlay mode in Develop Module. Repeated press toggles Loupe View. *button*"}, {"SpotRemoval", + false,false,true,false,true,false, show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), gotoToolModulePanel, - true, - false, - false, - "Select Spot Removal mode in Develop Module. Repeated press toggles Loupe View. *button*", - false}, + "Select Spot Removal mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"RedEyeInfo",true,true,false,false,true,false,LOC("$$$/MIDI2LR/Parameters/RedEyeInfo=Red-Eye Information")}, {"RedEye", + false,false,true,false,true,false, show..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), gotoToolModulePanel, - true, - false, - false, - "Select Red Eye mode in Develop Module. Repeated press toggles Loupe View. *button*", - false}, + "Select Red Eye mode in Develop Module. Repeated press toggles Loupe View. *button*"}, {"GraduatedFilter", + false,false,true,false,true,false, show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), gotoToolModulePanel, - true, - false, - false, - "Select Graduated Filter mode in Develop Module. Repeated press toggles Loupe View. *button*", - false}, + "Select Graduated Filter mode in Develop Module. Repeated press toggles Loupe View. *button*"}, {"RadialFilter", + false,false,true,false,true,false, show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), gotoToolModulePanel, - true, - false, - false, - "Select Radial Filter View mode in Develop Module. Repeated press toggles Loupe View. *button*", - false}, + "Select Radial Filter View mode in Develop Module. Repeated press toggles Loupe View. *button*"}, {"AdjustmentBrush", + false,false,true,false,true,false, show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), gotoToolModulePanel, - true, - false, - false, - "Select Adjustment Brush mode in Develop Module. Repeated press toggles Loupe View. *button*", - false}, + "Select Adjustment Brush mode in Develop Module. Repeated press toggles Loupe View. *button*"}, {"SwToMlibrary", + false,false,true,false,true,false, show..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), gotoToolModulePanel, - true, - false, - false, - "Switch to Library module. *button*", - false}, + "Switch to Library module. *button*"}, {"SwToMdevelop", + false,false,true,false,true,false, show..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), gotoToolModulePanel, - true, - false, - false, - "Switch to Develop module. *button*", - false}, + "Switch to Develop module. *button*"}, {"SwToMmap", + false,false,true,false,true,false, show..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), gotoToolModulePanel, - true, - false, - false, - "Switch to Map module. *button*", - false}, + "Switch to Map module. *button*"}, {"SwToMbook", + false,false,true,false,true,false, show..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), gotoToolModulePanel, - true, - false, - false, - "Switch to Book module. *button*", - false}, + "Switch to Book module. *button*"}, {"SwToMslideshow", + false,false,true,false,true,false, show..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), gotoToolModulePanel, - true, - false, - false, - "Switch to Slideshow module. *button*", - false}, + "Switch to Slideshow module. *button*"}, {"SwToMprint", + false,false,true,false,true,false, show..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), gotoToolModulePanel, - true, - false, - false, - "Switch to Print module. *button*", - false}, + "Switch to Print module. *button*"}, {"SwToMweb", + false,false,true,false,true,false, show..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), gotoToolModulePanel, - true, - false, - false, - "Switch to Web module. *button*", - false}, + "Switch to Web module. *button*"}, {"RevealPanelAdjust", + false,false,true,false,true,false, show..' '..basicTone, gotoToolModulePanel, - true, - false, - false, - "Open Basic Adjustments Panel in Develop Module. *button*", - false}, + "Open Basic Adjustments Panel in Develop Module. *button*"}, {"RevealPanelTone", + false,false,true,false,true,false, show..' '..toneCurve, gotoToolModulePanel, - true, - false, - false, - "Open Tone Curve Panel in Develop Module. *button*", - false}, + "Open Tone Curve Panel in Develop Module. *button*"}, {"RevealPanelMixer", + false,false,true,false,true,false, show..' '..colorAdjustments, gotoToolModulePanel, - true, - false, - false, - "Open Mixer Panel in Develop Module. *button*", - false}, + "Open Mixer Panel in Develop Module. *button*"}, {"RevealPanelSplit", + false,false,true,false,true,false, show..' '..splitToning, gotoToolModulePanel, - true, - false, - false, - "Open Split Toning Panel in Develop Module. *button*", - false}, + "Open Split Toning Panel in Develop Module. *button*"}, {"RevealPanelDetail", + false,false,true,false,true,false, show..' '..detail, gotoToolModulePanel, - true, - false, - false, - "Open Detail Panel in Develop Module. *button*", - false}, + "Open Detail Panel in Develop Module. *button*"}, {"RevealPanelLens", + false,false,true,false,true,false, show..' '..lensCorrections, gotoToolModulePanel, - true, - false, - false, - "Open Lens Corrections Panel in Develop Module. *button*", - false}, + "Open Lens Corrections Panel in Develop Module. *button*"}, {"RevealPanelEffects", + false,false,true,false,true,false, show..' '..effects, gotoToolModulePanel, - true, - false, - false, - "Open Effects Panel in Develop Module. *button*", - false}, + "Open Effects Panel in Develop Module. *button*"}, {"RevealPanelCalibrate", + false,false,true,false,true,false, show..' '..calibration, gotoToolModulePanel, - true, - false, - false, - "Open Camera Calibration Panel in Develop Module. *button*", - false}, + "Open Camera Calibration Panel in Develop Module. *button*"}, {"ShoVwloupe", + false,false,true,false,true,false, primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), viewModes, - true, - false, - false, - "Displays a single photo. Zoom levels up to 11:1 are available. *button*", - false}, + "Displays a single photo. Zoom levels up to 11:1 are available. *button*"}, {"ShoVwgrid", + false,false,true,false,true,false, primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), viewModes, - true, - false, - false, - "Displays photos as thumbnails in cells, which can be viewed in compact and expanded sizes. *button*", - false}, + "Displays photos as thumbnails in cells, which can be viewed in compact and expanded sizes. *button*"}, {"ShoVwcompare", + false,false,true,false,true,false, primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), viewModes, - true, - false, - false, - "Displays photos side by side so that you can evaluate them. *button*", - false}, + "Displays photos side by side so that you can evaluate them. *button*"}, {"ShoVwsurvey", - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), viewModes, - true, - false, - false, - "Displays the active photo with selected photos so that you can evaluate them. The active photo has the lightest colored cell. *button*", - false}, + "Displays the active photo with selected photos so that you can evaluate them. The active photo has the lightest colored cell. *button*"}, {"ShoVwpeople", - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), viewModes, - true, - false, - false, - "In the People view, the different faces are organized by people stacks. *button*", - false}, + "In the People view, the different faces are organized by people stacks. *button*"}, {"ShoVwdevelop_loupe", + false,false,true,false,true,false, primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), viewModes, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ShoVwdevelop_before_after_horiz", - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), viewModes, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ShoVwdevelop_before_after_vert", + false,false,true,false,true,false, primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), viewModes, - true, - false, - false, - "*button*", - false}, + "*button*"}, {"ShoVwdevelop_before", + false,false,true,false,true,false, primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), viewModes, - true, - false, - false, - "*button*", - false}, - {"ShoScndVwloupe", + "*button*"}, + {"ShoScndVwloupe", + false,false,true,false,true,false, secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), viewModes, - true, - false, - false, - "Shows Loupe view on the secondary screen, or hides the secondary screen if Loupe view was previously being shown. *button*", - false}, - {"ShoScndVwlive_loupe", + "Shows Loupe view on the secondary screen, or hides the secondary screen if Loupe view was previously being shown. *button*"}, + {"ShoScndVwlive_loupe", + false,false,true,false,true,false, secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), viewModes, - true, - false, - false, - "Shows Live Loupe view on the secondary screen, or hides the secondary screen if Live Loupe view was previously being shown. *button*", - false}, - {"ShoScndVwlocked_loupe", + "Shows Live Loupe view on the secondary screen, or hides the secondary screen if Live Loupe view was previously being shown. *button*"}, + {"ShoScndVwlocked_loupe", + false,false,true,false,true,false, secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), viewModes, - true, - false, - false, - "Shows Locked Loupe view on the secondary screen, or hides the secondary screen if Locked Loupe view was previously being shown. *button*", - false}, + "Shows Locked Loupe view on the secondary screen, or hides the secondary screen if Locked Loupe view was previously being shown. *button*"}, {"ShoScndVwgrid", + false,false,true,false,true,false, secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), viewModes, - true, - false, - false, - "Shows Grid view on the secondary screen, or hides the secondary screen if Grid view was previously being shown. *button*", - false}, - {"ShoScndVwcompare", + "Shows Grid view on the secondary screen, or hides the secondary screen if Grid view was previously being shown. *button*"}, + {"ShoScndVwcompare", + false,false,true,false,true,false, secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), viewModes, - true, - false, - false, - "Shows Compare view on the secondary screen, or hides the secondary screen if Compare view was previously being shown. *button*", - false}, - {"ShoScndVwsurvey", + "Shows Compare view on the secondary screen, or hides the secondary screen if Compare view was previously being shown. *button*"}, + {"ShoScndVwsurvey", + false,false,true,false,true,false, secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), viewModes, - true, - false, - false, - "Shows Survey view on the secondary screen, or hides the secondary screen if Survey view was previously being shown. *button*", - false}, - {"ShoScndVwslideshow", + "Shows Survey view on the secondary screen, or hides the secondary screen if Survey view was previously being shown. *button*"}, + {"ShoScndVwslideshow", + false,false,true,false,true,false, secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), viewModes, - true, - false, - false, - "Shows Slideshow view on the secondary screen, or hides the secondary screen if Slideshow view was previously being shown. *button*", - false}, - {"ToggleScreenTwo", - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), + "Shows Slideshow view on the secondary screen, or hides the secondary screen if Slideshow view was previously being shown. *button*"}, + {"ToggleScreenTwo", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), viewModes, - true, - false, - false, - "Toggles the the secondary window on/off. *button*", - false}, - {"profile1", - profile.." 1", + "Toggles the the secondary window on/off. *button*"}, + {"profile1", + false,false,true,false,true,false, + profile.." 1", profiles, - true, - false, - false, - "", - false}, - {"profile2", - profile.." 2", + ""}, + {"profile2", + false,false,true,false,true,false, + profile.." 2", profiles, - true, - false, - false, - "", - false}, - {"profile3", - profile.." 3", + ""}, + {"profile3", + false,false,true,false,true,false, + profile.." 3", profiles, - true, - false, - false, - "", - false}, - {"profile4", - profile.." 4", + ""}, + {"profile4", + false,false,true,false,true,false, + profile.." 4", profiles, - true, - false, - false, - "", - false}, - {"profile5", - profile.." 5", + ""}, + {"profile5", + false,false,true,false,true,false, + profile.." 5", profiles, - true, - false, - false, - "", - false}, - {"profile6", - profile.." 6", + ""}, + {"profile6", + false,false,true,false,true,false, + profile.." 6", profiles, - true, - false, - false, - "", - false}, - {"profile7", - profile.." 7", + ""}, + {"profile7", + false,false,true,false,true,false, + profile.." 7", profiles, - true, - false, - false, - "", - false}, - {"profile8", - profile.." 8", + ""}, + {"profile8", + false,false,true,false,true,false, + profile.." 8", profiles, - true, - false, - false, - "", - false}, - {"profile9", - profile.." 9", + ""}, + {"profile9", + false,false,true,false,true,false, + profile.." 9", profiles, - true, - false, - false, - "", - false}, - {"profile10", - profile.." 10", + ""}, + {"profile10", + false,false,true,false,true,false, + profile.." 10", profiles, - true, - false, - false, - "", - false}, + ""}, + {"TrimEnd",true,true,false,false,true,false,"TrimEnd"}, + {"TrimStart",true,true,false,false,true,false,"TrimStart"}, } local MenuList = {} -for _,v in pairs(DataBase) do - table.insert(MenuList,{v[1],v[2],v[3],v[4]}) +local SelectivePasteMenu = {} +local SelectivePasteHidden = {} +local SelectivePasteIteration = {} +local SendToMidi = {} +for _,v in ipairs(DataBase) do + if v[4] then + table.insert(MenuList,{v[1],v[8],v[9],v[6]}) + if v[5] then + table.insert(SendToMidi,v[1]) + end + end + if v[3] then + table.insert(SelectivePasteIteration,v[1]) + if v[2] then + table.insert(SelectivePasteMenu,{v[1],v[8]}) + else + table.insert(SelectivePasteHidden,v[1]) + end + end end +--for testing +local testselectpaste = {} +local testcommand = {} +local testsendMIDI = {} +for _,v in ipairs(DataBase) do + if v[3] then + table.insert(testselectpaste,v[1]) + end + if v[1] then + table.insert(testcommand,v[1]) + end + if v[5] then + table.insert(testsendMIDI,v[1]) + end +end + local serpent = require 'serpent' local LrPathUtils = import 'LrPathUtils' local datafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') local file = io.open(datafile,'w') file:write([=[ ---[[---------------------------------------------------------------------------- -This file was auto-generated by MIDI2LR and contains the translated menus used -by the app and the plugin. Edits to this file will be lost any time MIDI2LR -is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua -if you want to have persistent changes to the translations or menu structure. -This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. -MIDI2LR is free software: you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later version. -MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with -MIDI2LR. If not, see . -------------------------------------------------------------------------------]] -local MenuList = ]=],serpent.block(MenuList, {comment = false}), [==[ -local MenuListHashed = {} -for i,v in ipairs(MenuList) do - MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} - end -return { - MenuList = MenuList, - MenuListHashed = MenuListHashed, -}]==]) + --[[---------------------------------------------------------------------------- + This file was auto-generated by MIDI2LR and contains the translated menus used + by the app and the plugin. Edits to this file will be lost any time MIDI2LR + is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua + if you want to have persistent changes to the translations or menu structure. + + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. + + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . + ------------------------------------------------------------------------------]] + local MenuList = ]=],serpent.block(MenuList, {comment = false})) +file:close() + +datafile = LrPathUtils.child(_PLUGIN.path, 'ParamList.lua') +file = io.open(datafile,'w') +file:write([=[ + --[[---------------------------------------------------------------------------- + This file was auto-generated by MIDI2LR and contains the parameters used by the + plugin. Edits to this file will be lost any time MIDI2LR is updated or the + language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have + persistent changes to the translations or menu structure. + + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. + + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . + ------------------------------------------------------------------------------]] + local SelectivePasteMenu = ]=],serpent.block(SelectivePasteMenu, {comment = false}), [==[ + + local SelectivePasteHidden = ]==],serpent.block(SelectivePasteHidden, {comment = false}), [==[ + + local SelectivePasteIteration = ]==],serpent.block(SelectivePasteIteration, {comment = false}), [==[ + + local SendToMidi = ]==],serpent.block(SendToMidi, {comment = false}), [==[ + + local testcommand = ]==],serpent.block(testcommand, {comment = false}), [==[ + + local testselectpaste = ]==],serpent.block(testselectpaste, {comment = false}), [==[ + + local testsendMIDI = ]==],serpent.block(testsendMIDI, {comment = false}) ) file:close() + diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index 1c007753a..c7afc0156 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -1,24 +1,21 @@ - --[[---------------------------------------------------------------------------- +--[[---------------------------------------------------------------------------- +This file was auto-generated by MIDI2LR and contains the translated menus used +by the app and the plugin. Edits to this file will be lost any time MIDI2LR +is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua +if you want to have persistent changes to the translations or menu structure. - This file was auto-generated by MIDI2LR and contains the translated menus used - by the app and the plugin. Edits to this file will be lost any time MIDI2LR - is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua - if you want to have persistent changes to the translations or menu structure. +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. - This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - - MIDI2LR is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or (at your option) any later version. - - MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - MIDI2LR. If not, see . - ------------------------------------------------------------------------------]] - local MenuList = { +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . + ------------------------------------------------------------------------------]] +local MenuList = { { "WhiteBalanceAs_Shot", "White Balance As Shot", @@ -93,19 +90,19 @@ }, { "Highlights", - "Highlights", + "Highlights(Recovery in PV2003 and PV2010)", "Basic Tone", false }, { "Shadows", - "Shadows", + "Shadows(Fill Light in PV2003 and PV2010)", "Basic Tone", false }, { "Whites", - "Whites", + "Whites(no effect in PV2003 and PV2010)", "Basic Tone", false }, @@ -135,9 +132,9 @@ }, { "ResetTemperature", - "Reset Temperature", - "Basic Tone", - true + nil, + nil, + false }, { "ResetTint", @@ -1443,15 +1440,15 @@ }, { "VirtualCopy", - "Create Virtual Copy", - "Photo Actions", - true + false, + nil, + false }, { "RemoveFlag", - "Unflagged", - "Photo Actions", - true + false, + nil, + false }, { "IncreaseRating", @@ -1467,69 +1464,69 @@ }, { "SetRating0", - "0 Stars", - "Photo Actions", - true + false, + nil, + false }, { "SetRating1", - "1 Star", - "Photo Actions", - true + false, + nil, + false }, { "SetRating2", - "2 Stars", - "Photo Actions", - true + false, + nil, + false }, { "SetRating3", - "3 Stars", - "Photo Actions", - true + false, + nil, + false }, { "SetRating4", - "4 Stars", - "Photo Actions", - true + false, + nil, + false }, { "SetRating5", - "5 Stars", - "Photo Actions", - true + false, + nil, + false }, { "ToggleBlue", - "Label Blue Enable/Disable", - "Photo Actions", - true + false, + nil, + false }, { "ToggleGreen", - "Label Green Enable/Disable", - "Photo Actions", - true + false, + nil, + false }, { "ToggleRed", - "Label Red Enable/Disable", - "Photo Actions", - true + false, + nil, + false }, { "TogglePurple", - "Label Purple Enable/Disable", - "Photo Actions", - true + false, + nil, + false }, { "ToggleYellow", - "Label Yellow Enable/Disable", - "Photo Actions", - true + false, + nil, + false }, { "ResetAll", @@ -1539,21 +1536,21 @@ }, { "ResetLast", - "Reset Last Modified", - "Photo Actions", - true + false, + nil, + false }, { "IncrementLastDevelopParameter", - "Increase Last Modified", - "Photo Actions", - true + false, + nil, + false }, { "DecrementLastDevelopParameter", - "Decrease Last Modified", - "Photo Actions", - true + false, + nil, + false }, { "Undo", @@ -1708,55 +1705,55 @@ { "local_Temperature", "Local Temperature (PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_Tint", "Local Tint (PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_Exposure", "Local Exposure (PV2010 and PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_Contrast", "Local Contrast (PV2010 and PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_Highlights", "Local Highlights (PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_Shadows", "Local Shadows (PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_Clarity", "Local Clarity (PV2010 and PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_Saturation", "Local Saturation (PV2010 and PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_Sharpness", "Local Sharpness (PV2010 and PV 2012)", - "Localized Adjustments", + "Local Adjustments", false }, { @@ -1768,73 +1765,73 @@ { "local_Moire", "Local Moire (PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_Defringe", "Local Defringe (PV2012)", - "Localized Adjustments", + "Local Adjustments", false }, { "local_ToningLuminance", "Local Toning Luminance (PV2010)", - "Localized Adjustments", + "Local Adjustments", false }, { "Resetlocal_Temperature", "Reset Local Temperature (PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_Tint", "Reset Local Tint (PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_Exposure", "Reset Local Exposure (PV2010 and PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_Contrast", "Reset Local Contrast (PV2010 and PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_Highlights", "Reset Local Highlights (PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_Shadows", "Reset Local Shadows (PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_Clarity", "Reset Local Clarity (PV2010 and PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_Saturation", "Reset Local Saturation (PV2010 and PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_Sharpness", "Reset Local Sharpness (PV2010 and PV 2012)", - "Localized Adjustments", + "Local Adjustments", true }, { @@ -1846,79 +1843,79 @@ { "Resetlocal_Moire", "Reset Local Moire (PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_Defringe", "Reset Local Defringe (PV2012)", - "Localized Adjustments", + "Local Adjustments", true }, { "Resetlocal_ToningLuminance", "Reset Local Toning Luminance (PV2010)", - "Localized Adjustments", + "Local Adjustments", true }, { "EnableCircularGradientBasedCorrections", "Enable Radial Filter", - "Localized Adjustments", + "Local Adjustments", true }, { "EnableGradientBasedCorrections", "Enable Graduated Filter", - "Localized Adjustments", + "Local Adjustments", true }, { "EnablePaintBasedCorrections", "Enable Brush Adjustments", - "Localized Adjustments", + "Local Adjustments", true }, { "EnableRedEye", "Enable Red-Eye", - "Localized Adjustments", + "Local Adjustments", true }, { "EnableRetouch", "Enable Spot Removal", - "Localized Adjustments", + "Local Adjustments", true }, { "ResetCircGrad", "Reset Radial Filters", - "Localized Adjustments", + "Local Adjustments", true }, { "ResetGradient", "Reset Graduated Filters", - "Localized Adjustments", + "Local Adjustments", true }, { "ResetBrushing", "Reset Brush Corrections", - "Localized Adjustments", + "Local Adjustments", true }, { "ResetRedeye", "Reset Red-Eye", - "Localized Adjustments", + "Local Adjustments", true }, { "ResetSpotRem", "Reset Spot Removal", - "Localized Adjustments", + "Local Adjustments", true }, { @@ -2281,13 +2278,4 @@ "Profiles", true } -} - local MenuListHashed = {} - for i,v in ipairs(MenuList) do - MenuListHashed[v[1]]={i*100,v[2],v[3],v[4]} - end - - return { - MenuList = MenuList, - MenuListHashed = MenuListHashed, - } \ No newline at end of file +} \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua new file mode 100644 index 000000000..1dd351b76 --- /dev/null +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua @@ -0,0 +1,1422 @@ +--[[---------------------------------------------------------------------------- +This file was auto-generated by MIDI2LR and contains the parameters used by the +plugin. Edits to this file will be lost any time MIDI2LR is updated or the +language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have +persistent changes to the translations or menu structure. + +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. + +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] +local SelectivePasteMenu = { + { + "Temperature", + "Temperature" + }, + { + "Tint", + "Tint" + }, + { + "Exposure", + "Exposure" + }, + { + "Contrast", + "Contrast" + }, + { + "Highlights", + "Highlights(Recovery in PV2003 and PV2010)" + }, + { + "Shadows", + "Shadows(Fill Light in PV2003 and PV2010)" + }, + { + "Whites", + "Whites(no effect in PV2003 and PV2010)" + }, + { + "Blacks", + "Blacks" + }, + { + "Clarity", + "Clarity" + }, + { + "Vibrance", + "Vibrance" + }, + { + "Saturation", + "Saturation" + }, + { + "ResetTemperature" + }, + { + "ParametricDarks", + "Dark Tones" + }, + { + "ParametricLights", + "Light Tones" + }, + { + "ParametricShadows", + "Shadow Tones" + }, + { + "ParametricHighlights", + "Highlight Tones" + }, + { + "ParametricShadowSplit", + "Shadow Split" + }, + { + "ParametricMidtoneSplit", + "Midtone Split" + }, + { + "ParametricHighlightSplit", + "Highlight Split" + }, + { + "SaturationAdjustmentRed", + "Saturation Adjustment Red" + }, + { + "SaturationAdjustmentOrange", + "Saturation Adjustment Orange" + }, + { + "SaturationAdjustmentYellow", + "Saturation Adjustment Yellow" + }, + { + "SaturationAdjustmentGreen", + "Saturation Adjustment Green" + }, + { + "SaturationAdjustmentAqua", + "Saturation Adjustment Aqua" + }, + { + "SaturationAdjustmentBlue", + "Saturation Adjustment Blue" + }, + { + "SaturationAdjustmentPurple", + "Saturation Adjustment Purple" + }, + { + "SaturationAdjustmentMagenta", + "Saturation Adjustment Magenta" + }, + { + "HueAdjustmentRed", + "Hue Adjustment Red" + }, + { + "HueAdjustmentOrange", + "Hue Adjustment Orange" + }, + { + "HueAdjustmentYellow", + "Hue Adjustment Yellow" + }, + { + "HueAdjustmentGreen", + "Hue Adjustment Green" + }, + { + "HueAdjustmentAqua", + "Hue Adjustment Aqua" + }, + { + "HueAdjustmentBlue", + "Hue Adjustment Blue" + }, + { + "HueAdjustmentPurple", + "Hue Adjustment Purple" + }, + { + "HueAdjustmentMagenta", + "Hue Adjustment Magenta" + }, + { + "LuminanceAdjustmentRed", + "Luminance Adjustment Red" + }, + { + "LuminanceAdjustmentOrange", + "Luminance Adjustment Orange" + }, + { + "LuminanceAdjustmentYellow", + "Luminance Adjustment Yellow" + }, + { + "LuminanceAdjustmentGreen", + "Luminance Adjustment Green" + }, + { + "LuminanceAdjustmentAqua", + "Luminance Adjustment Aqua" + }, + { + "LuminanceAdjustmentBlue", + "Luminance Adjustment Blue" + }, + { + "LuminanceAdjustmentPurple", + "Luminance Adjustment Purple" + }, + { + "LuminanceAdjustmentMagenta", + "Luminance Adjustment Magenta" + }, + { + "GrayMixerRed", + "Gray Mixer Red" + }, + { + "GrayMixerOrange", + "Gray Mixer Orange" + }, + { + "GrayMixerYellow", + "Gray Mixer Yellow" + }, + { + "GrayMixerGreen", + "Gray Mixer Green" + }, + { + "GrayMixerAqua", + "Gray Mixer Aqua" + }, + { + "GrayMixerBlue", + "Gray Mixer Blue" + }, + { + "GrayMixerPurple", + "Gray Mixer Purple" + }, + { + "GrayMixerMagenta", + "Gray Mixer Magenta" + }, + { + "SplitToningShadowHue", + "Shadow Hue" + }, + { + "SplitToningShadowSaturation", + "Shadow Saturation" + }, + { + "SplitToningHighlightHue", + "Highlight Hue" + }, + { + "SplitToningHighlightSaturation", + "Highlight Saturation" + }, + { + "SplitToningBalance", + "Split Toning Balance" + }, + { + "Sharpness", + "Sharpness" + }, + { + "SharpenRadius", + "Sharpen Radius" + }, + { + "SharpenDetail", + "Sharpen Detail" + }, + { + "SharpenEdgeMasking", + "Sharpen Edge Masking" + }, + { + "LuminanceSmoothing", + "Luminance Smoothing" + }, + { + "LuminanceNoiseReductionDetail", + "Luminance Detail" + }, + { + "LuminanceNoiseReductionContrast", + "Luminance Contrast" + }, + { + "ColorNoiseReduction", + "Color Noise Reduction" + }, + { + "ColorNoiseReductionDetail", + "Color Noise Reduction Detail" + }, + { + "ColorNoiseReductionSmoothness", + "Color Noise Reduction Smoothness" + }, + { + "LensProfileDistortionScale", + "Lens Profile Distortion Scale" + }, + { + "LensProfileChromaticAberrationScale", + "Lens Profile Chromatic Aberration Scale" + }, + { + "LensProfileVignettingScale", + "Lens Profile Vignetting Scale" + }, + { + "DefringePurpleAmount", + "Defringe Purple Amount" + }, + { + "DefringePurpleHueLo", + "Defringe Purple Hue - Low" + }, + { + "DefringePurpleHueHi", + "Defringe Purple Hue - High" + }, + { + "DefringeGreenAmount", + "Defringe Green Amount" + }, + { + "DefringeGreenHueLo", + "Defringe Green Hue - Low" + }, + { + "DefringeGreenHueHi", + "Defringe Green Hue - High" + }, + { + "LensManualDistortionAmount", + "Lens Manual Distortion Amount" + }, + { + "PerspectiveVertical", + "Perspective Vertical" + }, + { + "PerspectiveHorizontal", + "Perspective Horizontal" + }, + { + "PerspectiveRotate", + "Perspective Rotate" + }, + { + "PerspectiveScale", + "Perspective Scale" + }, + { + "PerspectiveAspect", + "Perspective Aspect" + }, + { + "VignetteAmount", + "Vignette Amount" + }, + { + "VignetteMidpoint", + "Vignette Midpoint" + }, + { + "Dehaze", + "Dehaze Amount" + }, + { + "PostCropVignetteAmount", + "Post Crop Vignette Amount" + }, + { + "PostCropVignetteMidpoint", + "Post Crop Vignette Midpoint" + }, + { + "PostCropVignetteFeather", + "Post Crop Vignette Feather" + }, + { + "PostCropVignetteRoundness", + "Post Crop Vignette Roundness" + }, + { + "PostCropVignetteStyle", + "Post Crop Vignette Style" + }, + { + "PostCropVignetteHighlightContrast", + "Post Crop Vignette Highlight Contrast" + }, + { + "GrainAmount", + "Grain Amount" + }, + { + "GrainSize", + "Grain Size" + }, + { + "GrainFrequency", + "Grain Roughness" + }, + { + "ShadowTint", + "Shadow Tint Calibration" + }, + { + "RedHue", + "Red Hue Calibration" + }, + { + "RedSaturation", + "Red Saturation Calibration" + }, + { + "GreenHue", + "Green Hue Calibration" + }, + { + "GreenSaturation", + "Green Saturation Calibration" + }, + { + "BlueHue", + "Blue Hue Calibration" + }, + { + "BlueSaturation", + "Blue Saturation Calibration" + }, + { + "ResetShadowTint", + "Reset Shadow Tint Calibration" + }, + { + "ResetRedHue", + "Reset Red Hue Calibration" + }, + { + "ResetRedSaturation", + "Reset Red Saturation Calibration" + }, + { + "ResetGreenHue", + "Reset Green Hue Calibration" + }, + { + "ResetGreenSaturation", + "Reset Green Saturation Calibration" + }, + { + "ResetBlueHue", + "Reset Blue Hue Calibration" + }, + { + "ResetBlueSaturation", + "Reset Blue Saturation Calibration" + }, + { + "VirtualCopy", + false + }, + { + "RemoveFlag", + false + }, + { + "SetRating0", + false + }, + { + "SetRating1", + false + }, + { + "SetRating2", + false + }, + { + "SetRating3", + false + }, + { + "SetRating4", + false + }, + { + "SetRating5", + false + }, + { + "ToggleBlue", + false + }, + { + "ToggleGreen", + false + }, + { + "ToggleRed", + false + }, + { + "TogglePurple", + false + }, + { + "ToggleYellow", + false + }, + { + "ResetLast", + false + }, + { + "IncrementLastDevelopParameter", + false + }, + { + "DecrementLastDevelopParameter", + false + }, + { + "CropAngle", + "Crop Angle" + }, + { + "CropBottom", + "Crop - Bottom" + }, + { + "CropLeft", + "Crop - Left" + }, + { + "CropRight", + "Crop - Right" + }, + { + "CropTop", + "Crop - Top" + } +} +local SelectivePasteHidden = {} +local SelectivePasteIteration = { + "Temperature", + "Tint", + "Exposure", + "Contrast", + "Highlights", + "Shadows", + "Whites", + "Blacks", + "Clarity", + "Vibrance", + "Saturation", + "ResetTemperature", + "ParametricDarks", + "ParametricLights", + "ParametricShadows", + "ParametricHighlights", + "ParametricShadowSplit", + "ParametricMidtoneSplit", + "ParametricHighlightSplit", + "SaturationAdjustmentRed", + "SaturationAdjustmentOrange", + "SaturationAdjustmentYellow", + "SaturationAdjustmentGreen", + "SaturationAdjustmentAqua", + "SaturationAdjustmentBlue", + "SaturationAdjustmentPurple", + "SaturationAdjustmentMagenta", + "HueAdjustmentRed", + "HueAdjustmentOrange", + "HueAdjustmentYellow", + "HueAdjustmentGreen", + "HueAdjustmentAqua", + "HueAdjustmentBlue", + "HueAdjustmentPurple", + "HueAdjustmentMagenta", + "LuminanceAdjustmentRed", + "LuminanceAdjustmentOrange", + "LuminanceAdjustmentYellow", + "LuminanceAdjustmentGreen", + "LuminanceAdjustmentAqua", + "LuminanceAdjustmentBlue", + "LuminanceAdjustmentPurple", + "LuminanceAdjustmentMagenta", + "GrayMixerRed", + "GrayMixerOrange", + "GrayMixerYellow", + "GrayMixerGreen", + "GrayMixerAqua", + "GrayMixerBlue", + "GrayMixerPurple", + "GrayMixerMagenta", + "SplitToningShadowHue", + "SplitToningShadowSaturation", + "SplitToningHighlightHue", + "SplitToningHighlightSaturation", + "SplitToningBalance", + "Sharpness", + "SharpenRadius", + "SharpenDetail", + "SharpenEdgeMasking", + "LuminanceSmoothing", + "LuminanceNoiseReductionDetail", + "LuminanceNoiseReductionContrast", + "ColorNoiseReduction", + "ColorNoiseReductionDetail", + "ColorNoiseReductionSmoothness", + "LensProfileDistortionScale", + "LensProfileChromaticAberrationScale", + "LensProfileVignettingScale", + "DefringePurpleAmount", + "DefringePurpleHueLo", + "DefringePurpleHueHi", + "DefringeGreenAmount", + "DefringeGreenHueLo", + "DefringeGreenHueHi", + "LensManualDistortionAmount", + "PerspectiveVertical", + "PerspectiveHorizontal", + "PerspectiveRotate", + "PerspectiveScale", + "PerspectiveAspect", + "VignetteAmount", + "VignetteMidpoint", + "Dehaze", + "PostCropVignetteAmount", + "PostCropVignetteMidpoint", + "PostCropVignetteFeather", + "PostCropVignetteRoundness", + "PostCropVignetteStyle", + "PostCropVignetteHighlightContrast", + "GrainAmount", + "GrainSize", + "GrainFrequency", + "ShadowTint", + "RedHue", + "RedSaturation", + "GreenHue", + "GreenSaturation", + "BlueHue", + "BlueSaturation", + "ResetShadowTint", + "ResetRedHue", + "ResetRedSaturation", + "ResetGreenHue", + "ResetGreenSaturation", + "ResetBlueHue", + "ResetBlueSaturation", + "VirtualCopy", + "RemoveFlag", + "SetRating0", + "SetRating1", + "SetRating2", + "SetRating3", + "SetRating4", + "SetRating5", + "ToggleBlue", + "ToggleGreen", + "ToggleRed", + "TogglePurple", + "ToggleYellow", + "ResetLast", + "IncrementLastDevelopParameter", + "DecrementLastDevelopParameter", + "CropAngle", + "CropBottom", + "CropLeft", + "CropRight", + "CropTop" +} +local SendToMidi = { + "Temperature", + "Tint", + "Exposure", + "Contrast", + "Highlights", + "Shadows", + "Whites", + "Blacks", + "Clarity", + "Vibrance", + "Saturation", + "ParametricDarks", + "ParametricLights", + "ParametricShadows", + "ParametricHighlights", + "ParametricShadowSplit", + "ParametricMidtoneSplit", + "ParametricHighlightSplit", + "SaturationAdjustmentRed", + "SaturationAdjustmentOrange", + "SaturationAdjustmentYellow", + "SaturationAdjustmentGreen", + "SaturationAdjustmentAqua", + "SaturationAdjustmentBlue", + "SaturationAdjustmentPurple", + "SaturationAdjustmentMagenta", + "HueAdjustmentRed", + "HueAdjustmentOrange", + "HueAdjustmentYellow", + "HueAdjustmentGreen", + "HueAdjustmentAqua", + "HueAdjustmentBlue", + "HueAdjustmentPurple", + "HueAdjustmentMagenta", + "LuminanceAdjustmentRed", + "LuminanceAdjustmentOrange", + "LuminanceAdjustmentYellow", + "LuminanceAdjustmentGreen", + "LuminanceAdjustmentAqua", + "LuminanceAdjustmentBlue", + "LuminanceAdjustmentPurple", + "LuminanceAdjustmentMagenta", + "GrayMixerRed", + "GrayMixerOrange", + "GrayMixerYellow", + "GrayMixerGreen", + "GrayMixerAqua", + "GrayMixerBlue", + "GrayMixerPurple", + "GrayMixerMagenta", + "SplitToningShadowHue", + "SplitToningShadowSaturation", + "SplitToningHighlightHue", + "SplitToningHighlightSaturation", + "SplitToningBalance", + "Sharpness", + "SharpenRadius", + "SharpenDetail", + "SharpenEdgeMasking", + "LuminanceSmoothing", + "LuminanceNoiseReductionDetail", + "LuminanceNoiseReductionContrast", + "ColorNoiseReduction", + "ColorNoiseReductionDetail", + "ColorNoiseReductionSmoothness", + "LensProfileDistortionScale", + "LensProfileChromaticAberrationScale", + "LensProfileVignettingScale", + "DefringePurpleAmount", + "DefringePurpleHueLo", + "DefringePurpleHueHi", + "DefringeGreenAmount", + "DefringeGreenHueLo", + "DefringeGreenHueHi", + "LensManualDistortionAmount", + "PerspectiveVertical", + "PerspectiveHorizontal", + "PerspectiveRotate", + "PerspectiveScale", + "PerspectiveAspect", + "VignetteAmount", + "VignetteMidpoint", + "Dehaze", + "PostCropVignetteAmount", + "PostCropVignetteMidpoint", + "PostCropVignetteFeather", + "PostCropVignetteRoundness", + "PostCropVignetteStyle", + "PostCropVignetteHighlightContrast", + "GrainAmount", + "GrainSize", + "GrainFrequency", + "ShadowTint", + "RedHue", + "RedSaturation", + "GreenHue", + "GreenSaturation", + "BlueHue", + "BlueSaturation", + "ResetShadowTint", + "ResetRedHue", + "ResetRedSaturation", + "ResetGreenHue", + "ResetGreenSaturation", + "ResetBlueHue", + "ResetBlueSaturation", + "local_Temperature", + "local_Tint", + "local_Exposure", + "local_Contrast", + "local_Highlights", + "local_Shadows", + "local_Clarity", + "local_Saturation", + "local_Sharpness", + "local_LuminanceNoise", + "local_Moire", + "local_Defringe", + "local_ToningLuminance", + "CropAngle", + "CropBottom", + "CropLeft", + "CropRight", + "CropTop" +} +local testcommand = { + "WhiteBalanceAs_Shot", + "WhiteBalanceAuto", + "WhiteBalanceCloudy", + "WhiteBalanceDaylight", + "WhiteBalanceFlash", + "WhiteBalanceFluorescent", + "WhiteBalanceShade", + "WhiteBalanceTungsten", + "Temperature", + "Tint", + "Exposure", + "Contrast", + "Highlights", + "Shadows", + "Whites", + "Blacks", + "Clarity", + "Vibrance", + "Saturation", + "ResetTemperature", + "ResetTint", + "ResetExposure", + "ResetContrast", + "ResetHighlights", + "ResetShadows", + "ResetWhites", + "ResetBlacks", + "ResetClarity", + "ResetVibrance", + "ResetSaturation", + "ParametricDarks", + "ParametricLights", + "ParametricShadows", + "ParametricHighlights", + "ParametricShadowSplit", + "ParametricMidtoneSplit", + "ParametricHighlightSplit", + "ResetParametricDarks", + "ResetParametricLights", + "ResetParametricShadows", + "ResetParametricHighlights", + "ResetParametricShadowSplit", + "ResetParametricMidtoneSplit", + "ResetParametricHighlightSplit", + "EnableColorAdjustments", + "SaturationAdjustmentRed", + "SaturationAdjustmentOrange", + "SaturationAdjustmentYellow", + "SaturationAdjustmentGreen", + "SaturationAdjustmentAqua", + "SaturationAdjustmentBlue", + "SaturationAdjustmentPurple", + "SaturationAdjustmentMagenta", + "HueAdjustmentRed", + "HueAdjustmentOrange", + "HueAdjustmentYellow", + "HueAdjustmentGreen", + "HueAdjustmentAqua", + "HueAdjustmentBlue", + "HueAdjustmentPurple", + "HueAdjustmentMagenta", + "LuminanceAdjustmentRed", + "LuminanceAdjustmentOrange", + "LuminanceAdjustmentYellow", + "LuminanceAdjustmentGreen", + "LuminanceAdjustmentAqua", + "LuminanceAdjustmentBlue", + "LuminanceAdjustmentPurple", + "LuminanceAdjustmentMagenta", + "ConvertToGrayscale", + "EnableGrayscaleMix", + "GrayMixerRed", + "GrayMixerOrange", + "GrayMixerYellow", + "GrayMixerGreen", + "GrayMixerAqua", + "GrayMixerBlue", + "GrayMixerPurple", + "GrayMixerMagenta", + "ResetSaturationAdjustmentRed", + "ResetSaturationAdjustmentOrange", + "ResetSaturationAdjustmentYellow", + "ResetSaturationAdjustmentGreen", + "ResetSaturationAdjustmentAqua", + "ResetSaturationAdjustmentBlue", + "ResetSaturationAdjustmentPurple", + "ResetSaturationAdjustmentMagenta", + "ResetHueAdjustmentRed", + "ResetHueAdjustmentOrange", + "ResetHueAdjustmentYellow", + "ResetHueAdjustmentGreen", + "ResetHueAdjustmentAqua", + "ResetHueAdjustmentBlue", + "ResetHueAdjustmentPurple", + "ResetHueAdjustmentMagenta", + "ResetLuminanceAdjustmentRed", + "ResetLuminanceAdjustmentOrange", + "ResetLuminanceAdjustmentYellow", + "ResetLuminanceAdjustmentGreen", + "ResetLuminanceAdjustmentAqua", + "ResetLuminanceAdjustmentBlue", + "ResetLuminanceAdjustmentPurple", + "ResetLuminanceAdjustmentMagenta", + "ResetGrayMixerRed", + "ResetGrayMixerOrange", + "ResetGrayMixerYellow", + "ResetGrayMixerGreen", + "ResetGrayMixerAqua", + "ResetGrayMixerBlue", + "ResetGrayMixerPurple", + "ResetGrayMixerMagenta", + "EnableSplitToning", + "SplitToningShadowHue", + "SplitToningShadowSaturation", + "SplitToningHighlightHue", + "SplitToningHighlightSaturation", + "SplitToningBalance", + "ResetSplitToningShadowHue", + "ResetSplitToningShadowSaturation", + "ResetSplitToningHighlightHue", + "ResetSplitToningHighlightSaturation", + "ResetSplitToningBalance", + "EnableDetail", + "Sharpness", + "SharpenRadius", + "SharpenDetail", + "SharpenEdgeMasking", + "LuminanceSmoothing", + "LuminanceNoiseReductionDetail", + "LuminanceNoiseReductionContrast", + "ColorNoiseReduction", + "ColorNoiseReductionDetail", + "ColorNoiseReductionSmoothness", + "ResetSharpness", + "ResetSharpenRadius", + "ResetSharpenDetail", + "ResetSharpenEdgeMasking", + "ResetLuminanceSmoothing", + "ResetLuminanceNoiseReductionDetail", + "ResetLuminanceNoiseReductionContrast", + "ResetColorNoiseReduction", + "ResetColorNoiseReductionDetail", + "ResetColorNoiseReductionSmoothness", + "EnableLensCorrections", + "LensProfileEnable", + "AutoLateralCA", + "UprightOff", + "UprightAuto", + "UprightLevel", + "UprightVertical", + "UprightFull", + "ResetPerspectiveUpright", + "LensProfileDistortionScale", + "LensProfileChromaticAberrationScale", + "LensProfileVignettingScale", + "ResetLensProfileDistortionScale", + "ResetLensProfileChromaticAberrationScale", + "ResetLensProfileVignettingScale", + "DefringePurpleAmount", + "DefringePurpleHueLo", + "DefringePurpleHueHi", + "DefringeGreenAmount", + "DefringeGreenHueLo", + "DefringeGreenHueHi", + "ResetDefringePurpleAmount", + "ResetDefringePurpleHueLo", + "ResetDefringePurpleHueHi", + "ResetDefringeGreenAmount", + "ResetDefringeGreenHueLo", + "ResetDefringeGreenHueHi", + "LensManualDistortionAmount", + "PerspectiveVertical", + "PerspectiveHorizontal", + "PerspectiveRotate", + "PerspectiveScale", + "PerspectiveAspect", + "VignetteAmount", + "VignetteMidpoint", + "ResetLensManualDistortionAmount", + "ResetPerspectiveVertical", + "ResetPerspectiveHorizontal", + "ResetPerspectiveRotate", + "ResetPerspectiveScale", + "ResetPerspectiveAspect", + "ResetVignetteAmount", + "ResetVignetteMidpoint", + "EnableEffects", + "Dehaze", + "PostCropVignetteAmount", + "PostCropVignetteMidpoint", + "PostCropVignetteFeather", + "PostCropVignetteRoundness", + "PostCropVignetteStyle", + "PostCropVignetteHighlightContrast", + "GrainAmount", + "GrainSize", + "GrainFrequency", + "ResetDehaze", + "ResetPostCropVignetteAmount", + "ResetPostCropVignetteMidpoint", + "ResetPostCropVignetteFeather", + "ResetPostCropVignetteRoundness", + "ResetPostCropVignetteStyle", + "ResetPostCropVignetteHighlightContrast", + "ResetGrainAmount", + "ResetGrainSize", + "ResetGrainFrequency", + "EnableCalibration", + "Profile_Adobe_Standard", + "Profile_Camera_Clear", + "Profile_Camera_Deep", + "Profile_Camera_Landscape", + "Profile_Camera_Light", + "Profile_Camera_Neutral", + "Profile_Camera_Portrait", + "Profile_Camera_Standard", + "Profile_Camera_Vivid", + "ShadowTint", + "RedHue", + "RedSaturation", + "GreenHue", + "GreenSaturation", + "BlueHue", + "BlueSaturation", + "ResetShadowTint", + "ResetRedHue", + "ResetRedSaturation", + "ResetGreenHue", + "ResetGreenSaturation", + "ResetBlueHue", + "ResetBlueSaturation", + "Pick", + "Reject", + "Next", + "Prev", + "Select1Left", + "Select1Right", + "VirtualCopy", + "RemoveFlag", + "IncreaseRating", + "DecreaseRating", + "SetRating0", + "SetRating1", + "SetRating2", + "SetRating3", + "SetRating4", + "SetRating5", + "ToggleBlue", + "ToggleGreen", + "ToggleRed", + "TogglePurple", + "ToggleYellow", + "ResetAll", + "ResetLast", + "IncrementLastDevelopParameter", + "DecrementLastDevelopParameter", + "Undo", + "Redo", + "CopySettings", + "PasteSettings", + "PasteSelectedSettings", + "Preset_1", + "Preset_2", + "Preset_3", + "Preset_4", + "Preset_5", + "Preset_6", + "Preset_7", + "Preset_8", + "Preset_9", + "Preset_10", + "Preset_11", + "Preset_12", + "Preset_13", + "Preset_14", + "Preset_15", + "Preset_16", + "Preset_17", + "Preset_18", + "Preset_19", + "Preset_20", + "local_Temperature", + "local_Tint", + "local_Exposure", + "local_Contrast", + "local_Highlights", + "local_Shadows", + "local_Clarity", + "local_Saturation", + "local_Sharpness", + "local_LuminanceNoise", + "local_Moire", + "local_Defringe", + "local_ToningLuminance", + "Resetlocal_Temperature", + "Resetlocal_Tint", + "Resetlocal_Exposure", + "Resetlocal_Contrast", + "Resetlocal_Highlights", + "Resetlocal_Shadows", + "Resetlocal_Clarity", + "Resetlocal_Saturation", + "Resetlocal_Sharpness", + "Resetlocal_LuminanceNoise", + "Resetlocal_Moire", + "Resetlocal_Defringe", + "Resetlocal_ToningLuminance", + "EnableCircularGradientBasedCorrections", + "EnableGradientBasedCorrections", + "EnablePaintBasedCorrections", + "EnableRedEye", + "EnableRetouch", + "ResetCircGrad", + "ResetGradient", + "ResetBrushing", + "ResetRedeye", + "ResetSpotRem", + "ZoomInLargeStep", + "ZoomInSmallStep", + "ZoomOutSmallStep", + "ZoomOutLargeStep", + "ToggleZoomOffOn", + "CropAngle", + "CropBottom", + "CropLeft", + "CropRight", + "CropTop", + "ResetCrop", + "Loupe", + "CropOverlay", + "SpotRemoval", + "RedEye", + "GraduatedFilter", + "RadialFilter", + "AdjustmentBrush", + "SwToMlibrary", + "SwToMdevelop", + "SwToMmap", + "SwToMbook", + "SwToMslideshow", + "SwToMprint", + "SwToMweb", + "RevealPanelAdjust", + "RevealPanelTone", + "RevealPanelMixer", + "RevealPanelSplit", + "RevealPanelDetail", + "RevealPanelLens", + "RevealPanelEffects", + "RevealPanelCalibrate", + "ShoVwloupe", + "ShoVwgrid", + "ShoVwcompare", + "ShoVwsurvey", + "ShoVwpeople", + "ShoVwdevelop_loupe", + "ShoVwdevelop_before_after_horiz", + "ShoVwdevelop_before_after_vert", + "ShoVwdevelop_before", + "ShoScndVwloupe", + "ShoScndVwlive_loupe", + "ShoScndVwlocked_loupe", + "ShoScndVwgrid", + "ShoScndVwcompare", + "ShoScndVwsurvey", + "ShoScndVwslideshow", + "ToggleScreenTwo", + "profile1", + "profile2", + "profile3", + "profile4", + "profile5", + "profile6", + "profile7", + "profile8", + "profile9", + "profile10" +} +local testselectpaste = { + "Temperature", + "Tint", + "Exposure", + "Contrast", + "Highlights", + "Shadows", + "Whites", + "Blacks", + "Clarity", + "Vibrance", + "Saturation", + "ResetTemperature", + "ParametricDarks", + "ParametricLights", + "ParametricShadows", + "ParametricHighlights", + "ParametricShadowSplit", + "ParametricMidtoneSplit", + "ParametricHighlightSplit", + "SaturationAdjustmentRed", + "SaturationAdjustmentOrange", + "SaturationAdjustmentYellow", + "SaturationAdjustmentGreen", + "SaturationAdjustmentAqua", + "SaturationAdjustmentBlue", + "SaturationAdjustmentPurple", + "SaturationAdjustmentMagenta", + "HueAdjustmentRed", + "HueAdjustmentOrange", + "HueAdjustmentYellow", + "HueAdjustmentGreen", + "HueAdjustmentAqua", + "HueAdjustmentBlue", + "HueAdjustmentPurple", + "HueAdjustmentMagenta", + "LuminanceAdjustmentRed", + "LuminanceAdjustmentOrange", + "LuminanceAdjustmentYellow", + "LuminanceAdjustmentGreen", + "LuminanceAdjustmentAqua", + "LuminanceAdjustmentBlue", + "LuminanceAdjustmentPurple", + "LuminanceAdjustmentMagenta", + "GrayMixerRed", + "GrayMixerOrange", + "GrayMixerYellow", + "GrayMixerGreen", + "GrayMixerAqua", + "GrayMixerBlue", + "GrayMixerPurple", + "GrayMixerMagenta", + "SplitToningShadowHue", + "SplitToningShadowSaturation", + "SplitToningHighlightHue", + "SplitToningHighlightSaturation", + "SplitToningBalance", + "Sharpness", + "SharpenRadius", + "SharpenDetail", + "SharpenEdgeMasking", + "LuminanceSmoothing", + "LuminanceNoiseReductionDetail", + "LuminanceNoiseReductionContrast", + "ColorNoiseReduction", + "ColorNoiseReductionDetail", + "ColorNoiseReductionSmoothness", + "LensProfileDistortionScale", + "LensProfileChromaticAberrationScale", + "LensProfileVignettingScale", + "DefringePurpleAmount", + "DefringePurpleHueLo", + "DefringePurpleHueHi", + "DefringeGreenAmount", + "DefringeGreenHueLo", + "DefringeGreenHueHi", + "LensManualDistortionAmount", + "PerspectiveVertical", + "PerspectiveHorizontal", + "PerspectiveRotate", + "PerspectiveScale", + "PerspectiveAspect", + "VignetteAmount", + "VignetteMidpoint", + "Dehaze", + "PostCropVignetteAmount", + "PostCropVignetteMidpoint", + "PostCropVignetteFeather", + "PostCropVignetteRoundness", + "PostCropVignetteStyle", + "PostCropVignetteHighlightContrast", + "GrainAmount", + "GrainSize", + "GrainFrequency", + "ShadowTint", + "RedHue", + "RedSaturation", + "GreenHue", + "GreenSaturation", + "BlueHue", + "BlueSaturation", + "ResetShadowTint", + "ResetRedHue", + "ResetRedSaturation", + "ResetGreenHue", + "ResetGreenSaturation", + "ResetBlueHue", + "ResetBlueSaturation", + "VirtualCopy", + "RemoveFlag", + "SetRating0", + "SetRating1", + "SetRating2", + "SetRating3", + "SetRating4", + "SetRating5", + "ToggleBlue", + "ToggleGreen", + "ToggleRed", + "TogglePurple", + "ToggleYellow", + "ResetLast", + "IncrementLastDevelopParameter", + "DecrementLastDevelopParameter", + "CropAngle", + "CropBottom", + "CropLeft", + "CropRight", + "CropTop" +} +local testsendMIDI = { + "Temperature", + "Tint", + "Exposure", + "Contrast", + "Highlights", + "Shadows", + "Whites", + "Blacks", + "Clarity", + "Vibrance", + "Saturation", + "ParametricDarks", + "ParametricLights", + "ParametricShadows", + "ParametricHighlights", + "ParametricShadowSplit", + "ParametricMidtoneSplit", + "ParametricHighlightSplit", + "SaturationAdjustmentRed", + "SaturationAdjustmentOrange", + "SaturationAdjustmentYellow", + "SaturationAdjustmentGreen", + "SaturationAdjustmentAqua", + "SaturationAdjustmentBlue", + "SaturationAdjustmentPurple", + "SaturationAdjustmentMagenta", + "HueAdjustmentRed", + "HueAdjustmentOrange", + "HueAdjustmentYellow", + "HueAdjustmentGreen", + "HueAdjustmentAqua", + "HueAdjustmentBlue", + "HueAdjustmentPurple", + "HueAdjustmentMagenta", + "LuminanceAdjustmentRed", + "LuminanceAdjustmentOrange", + "LuminanceAdjustmentYellow", + "LuminanceAdjustmentGreen", + "LuminanceAdjustmentAqua", + "LuminanceAdjustmentBlue", + "LuminanceAdjustmentPurple", + "LuminanceAdjustmentMagenta", + "GrayMixerRed", + "GrayMixerOrange", + "GrayMixerYellow", + "GrayMixerGreen", + "GrayMixerAqua", + "GrayMixerBlue", + "GrayMixerPurple", + "GrayMixerMagenta", + "SplitToningShadowHue", + "SplitToningShadowSaturation", + "SplitToningHighlightHue", + "SplitToningHighlightSaturation", + "SplitToningBalance", + "Sharpness", + "SharpenRadius", + "SharpenDetail", + "SharpenEdgeMasking", + "LuminanceSmoothing", + "LuminanceNoiseReductionDetail", + "LuminanceNoiseReductionContrast", + "ColorNoiseReduction", + "ColorNoiseReductionDetail", + "ColorNoiseReductionSmoothness", + "LensProfileDistortionScale", + "LensProfileChromaticAberrationScale", + "LensProfileVignettingScale", + "DefringePurpleAmount", + "DefringePurpleHueLo", + "DefringePurpleHueHi", + "DefringeGreenAmount", + "DefringeGreenHueLo", + "DefringeGreenHueHi", + "LensManualDistortionAmount", + "PerspectiveVertical", + "PerspectiveHorizontal", + "PerspectiveRotate", + "PerspectiveScale", + "PerspectiveAspect", + "VignetteAmount", + "VignetteMidpoint", + "Dehaze", + "PostCropVignetteAmount", + "PostCropVignetteMidpoint", + "PostCropVignetteFeather", + "PostCropVignetteRoundness", + "PostCropVignetteStyle", + "PostCropVignetteHighlightContrast", + "GrainAmount", + "GrainSize", + "GrainFrequency", + "ShadowTint", + "RedHue", + "RedSaturation", + "GreenHue", + "GreenSaturation", + "BlueHue", + "BlueSaturation", + "ResetShadowTint", + "ResetRedHue", + "ResetRedSaturation", + "ResetGreenHue", + "ResetGreenSaturation", + "ResetBlueHue", + "ResetBlueSaturation", + "local_Temperature", + "local_Tint", + "local_Exposure", + "local_Contrast", + "local_Highlights", + "local_Shadows", + "local_Clarity", + "local_Saturation", + "local_Sharpness", + "local_LuminanceNoise", + "local_Moire", + "local_Defringe", + "local_ToningLuminance", + "CropAngle", + "CropBottom", + "CropLeft", + "CropRight", + "CropTop" +} \ No newline at end of file From e6df495f2dd9a0bb781d0077e756398c10a76251 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Thu, 28 Jan 2016 21:28:51 -0800 Subject: [PATCH 60/87] verified midi send portion of database --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 9ab76b9b6..83acd3920 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -67,6 +67,9 @@ local rdquo = '\226\128\157' local lsquo = '\226\128\152' local rsquo = '\226\128\153' local mdash = '\226\128\148' + +To do: integrate "straightenAngle", translate RetouchInfo orientation +TrimEnd TrimStart ------------------------------------------------------------------------------]] local DataBase = { @@ -112,10 +115,10 @@ local DataBase = { whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), basicTone, "Use tungsten white balance. *button*"}, - {"AutoBrightness",true,true,false,false,true,false,"Automatic Brightness"}, - {"AutoContrast",true,true,false,false,true,false,"Automatic Contrast"}, - {"AutoExposure",true,true,false,false,true,false,"Automatic Exposure"}, - {"AutoShadows",true,true,false,false,true,false,"Automatic Shadows"}, + {"AutoBrightness",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoBrightness=Automatic Brightness")}, + {"AutoContrast",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoContrast=Automatic Contrast")}, + {"AutoExposure",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoExposure=Automatic Exposure")}, + {"AutoShadows",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoShadows=Automatic Shadows")}, {"Temperature", true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), @@ -137,21 +140,25 @@ local DataBase = { LOC("$$$/AgCameraRawUI/Contrast=Contrast"), basicTone, "Increases or decreases image contrast, mainly affecting midtones. When you increase contrast, the middle-to-dark image areas become darker, and the middle-to-light image areas become lighter. The image tones are inversely affected as you decrease contrast."}, - {"Contrast2012",false,true,false,false,false,false,"Contrast"}, + {"Contrast2012",false,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Contrast=Contrast")}, {"Highlights", true,true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..'(Recovery in PV2003 and PV2010)', basicTone, "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping."}, - {"Brightness",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Brightness=Brightness")}, - {"HighlightRecovery",true,true,false,false,false,false,"HighlightRecovery"}, + {"Brightness", + true,true,false,false,false,false, + LOC("$$$/AgCameraRawUI/Brightness=Brightness"), + basicTone, + "No effect unless in PV2003 or PV2010)"}, + {"HighlightRecovery",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HighlightRecovery=Highlight Recovery"}..' (PV2003 and PV2010)', {"Shadows", false,false,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..'(Fill Light in PV2003 and PV2010)', basicTone, "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details."}, {"Shadows2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")},--NOT fill light in 2003 and 2010 - {"FillLight",true,true,false,false,false,false,"FillLight"}, + {"FillLight",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/FillLight=Fill Light")..' (PV2003 and PV2010)'}, {"Whites", false,false,true,true,false,false, LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)', @@ -1218,37 +1225,37 @@ local DataBase = { calibration, "For the blue primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation."}, {"ResetShadowTint", - false,false,true,true,false,false, + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), calibration, "Reset to default. *button*"}, {"ResetRedHue", - false,false,true,true,false,false, + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), calibration, "Reset to default. *button*"}, {"ResetRedSaturation", - false,false,true,true,false,false, + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), calibration, "Reset to default. *button*"}, {"ResetGreenHue", - false,false,true,true,false,false, + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), calibration, "Reset to default. *button*"}, {"ResetGreenSaturation", - false,false,true,true,false,false, + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), calibration, "Reset to default. *button*"}, {"ResetBlueHue", - false,false,true,true,false,false, + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), calibration, "Reset to default. *button*"}, {"ResetBlueSaturation", - false,false,true,true,false,false, + false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), calibration, "Reset to default. *button*"}, From 1ef893fcc27c47b8d182c9ddc1cedd6ac2697802 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 29 Jan 2016 20:45:22 -0800 Subject: [PATCH 61/87] converted from Parameters.lua to Database.lua --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 16 +- .../MIDI2LR.lrplugin/ClientUtilities.lua | 4 +- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 4199 +++++++++-------- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 120 +- .../LRPlugin/MIDI2LR.lrplugin/ParamList.lua | 697 ++- .../LRPlugin/MIDI2LR.lrplugin/Parameters.lua | 237 - Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua | 20 +- .../LRPlugin/MIDI2LR.lrplugin/Preferences.lua | 8 +- Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua | 4 +- 9 files changed, 2843 insertions(+), 2462 deletions(-) delete mode 100644 Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 0304e885d..c56505568 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -45,7 +45,8 @@ LrTasks.startAsyncTask( local LrLocalization = import 'LrLocalization' local Info = require 'Info' local versionmismatch = false - local datafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') + local appdatafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') + local plugindatafile = LrPathUtils.child(_PLUGIN.path, 'ParamList.lua') if ProgramPreferences.DataStructure == nil then versionmismatch = true else @@ -53,7 +54,10 @@ LrTasks.startAsyncTask( versionmismatch = versionmismatch or ProgramPreferences.DataStructure.version[k] ~= v end end - if versionmismatch or LrFileUtils.exists(datafile) ~= 'file' or + if + versionmismatch or + LrFileUtils.exists(appdatafile) ~= 'file' or + LrFileUtils.exists(plugindatafile) ~= 'file' or ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() then require 'Database' @@ -69,7 +73,7 @@ LrTasks.startAsyncTask( local CU = require 'ClientUtilities' local Limits = require 'Limits' local MenuList = require 'MenuList' - local Parameters = require 'Parameters' + local ParamList = require 'ParamList' local Profiles = require 'Profiles' local Ut = require 'Utilities' local LrApplication = import 'LrApplication' @@ -290,7 +294,9 @@ LrTasks.startAsyncTask( LrDialogs.showBezel(MenuList.MenuListHashed[param][2]..' '..LrStringUtils.numberToStringWithSeparators(value,Ut.precision(value))) end end - Profiles.changeProfile(Parameters.Names[param][3]) + if ParamList.ProfileMap[param] then + Profiles.changeProfile(ParamList.ProfileMap[param]) + end end end updateParam = updateParam() --complete closure @@ -307,7 +313,7 @@ LrTasks.startAsyncTask( local guard = LrRecursionGuard('AdjustmentChangeObserver') --call following within guard local function AdjustmentChangeObserver(observer) - for _,param in ipairs(Parameters.Iterate) do + for _,param in ipairs(ParamList.SendToMidi) do local lrvalue = LrDevelopController.getValue(param) if observer[param] ~= lrvalue and type(lrvalue) == 'number' then MIDI2LR.SERVER:send(string.format('%s %g\n', param, develop_lerp_to_midi(param))) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua index cdd2ac000..01e71a671 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua @@ -18,7 +18,7 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] -local Parameters = require 'Parameters' +local ParamList = require 'ParamList' local Paste = require 'Paste' local Profiles = require 'Profiles' local Ut = require 'Utilities' @@ -117,7 +117,7 @@ local function PasteSelectedSettings () LrTasks.startAsyncTask ( function () local TargetSettings = LrApplication.activeCatalog():getTargetPhoto():getDevelopSettings() - for _,param in ipairs(Parameters.Order) do + for _,param in ipairs(ParamList.SelectivePasteIteration) do if (ProgramPreferences.PasteList[param] and MIDI2LR.Copied_Settings[param]~=nil) then TargetSettings[param] = MIDI2LR.Copied_Settings[param] end diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 83acd3920..910ef7058 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -57,7 +57,14 @@ DataBase structure 8. user-friendly name or, for 2=false and 3=true, command it maps to 9. menu group for app 10. documentation right column +11. panel for changing profile +errors if: +2=true, 3=false +4=false, 5=true +4=false, 11 not nil +8 nil and ((2 false and 3 true) or (4 true)) +9 nil or "" and 4 true unicode to UTF8 decimal mapping at http://www.utf8-chartable.de/unicode-utf8-table.pl local interrobang = '\226\128\189' @@ -69,1944 +76,2188 @@ local rsquo = '\226\128\153' local mdash = '\226\128\148' To do: integrate "straightenAngle", translate RetouchInfo orientation -TrimEnd TrimStart -------------------------------------------------------------------------------]] + TrimEnd TrimStart + ------------------------------------------------------------------------------]] -local DataBase = { - {"ProcessVersion",true,true,false,false,true,false,LOC("$$$/AgDevelop/Menu/ProcessVersion=Process Version")}, - {"WhiteBalance",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")}, - {"WhiteBalanceAs_Shot", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), - basicTone, - "Use Temperature and Tint as determined by camera. *button*"}, - {"WhiteBalanceAuto", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), - basicTone, - "Have Lightroom determine Temperature and Tint. *button*"}, - {"WhiteBalanceCloudy", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), - basicTone, - "Use cloudy white balance. *button*"}, - {"WhiteBalanceDaylight", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), - basicTone, - "Use daylight white balance. *button*"}, - {"WhiteBalanceFlash", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), - basicTone, - "Use flash white balance. *button*"}, - {"WhiteBalanceFluorescent", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), - basicTone, - "Use fluorescent white balance. *button*"}, - {"WhiteBalanceShade", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), - basicTone, - "Use shade white balance. *button*"}, - {"WhiteBalanceTungsten", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), - basicTone, - "Use tungsten white balance. *button*"}, - {"AutoBrightness",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoBrightness=Automatic Brightness")}, - {"AutoContrast",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoContrast=Automatic Contrast")}, - {"AutoExposure",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoExposure=Automatic Exposure")}, - {"AutoShadows",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoShadows=Automatic Shadows")}, - {"Temperature", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), - basicTone, - "Fine-tunes the white balance using the Kelvin color temperature scale. Move the slider to the left to make the photo appear cooler, and right to warm the photo colors."}, - {"Tint", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), - basicTone, - "Fine-tunes the white balance to compensate for a green or magenta tint. Move the slider to the left (negative values) to add green to the photo; move it to the right (positive values) to add magenta."}, - {"Exposure", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawUI/Exposure=Exposure"), - basicTone, - "Sets the overall image brightness. Adjust the slider until the photo looks good and the image is the desired brightness."}, - {"Exposure2012",false,true,false,false,false,false,"Exposure"}, - {"Contrast", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawUI/Contrast=Contrast"), - basicTone, - "Increases or decreases image contrast, mainly affecting midtones. When you increase contrast, the middle-to-dark image areas become darker, and the middle-to-light image areas become lighter. The image tones are inversely affected as you decrease contrast."}, - {"Contrast2012",false,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Contrast=Contrast")}, - {"Highlights", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..'(Recovery in PV2003 and PV2010)', - basicTone, - "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping."}, - {"Brightness", - true,true,false,false,false,false, - LOC("$$$/AgCameraRawUI/Brightness=Brightness"), - basicTone, - "No effect unless in PV2003 or PV2010)"}, - {"HighlightRecovery",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HighlightRecovery=Highlight Recovery"}..' (PV2003 and PV2010)', - {"Shadows", - false,false,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..'(Fill Light in PV2003 and PV2010)', - basicTone, - "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details."}, - {"Shadows2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")},--NOT fill light in 2003 and 2010 - {"FillLight",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/FillLight=Fill Light")..' (PV2003 and PV2010)'}, - {"Whites", - false,false,true,true,false,false, - LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)', - basicTone, - "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping."}, - {"Whites2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)'}, - {"Blacks", - false,false,true,true,false,false, - LOC("$$$/AgCameraRawUI/Blacks=Blacks"), - basicTone, - "Specifies which image values map to black. Moving the slider to the right increases the areas that become black, sometimes creating the impression of increased image contrast. The greatest effect is in the shadows, with much less change in the midtones and highlights."}, - {"Blacks2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Blacks=Blacks")}, - {"Clarity", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), - basicTone, - "Adds depth to an image by increasing local contrast. When using this setting, it is best to zoom in to 100% or greater."}, - {"Clarity2012",false,true,false,false,false,false,"Clarity"}, - {"Vibrance", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), - basicTone, - "Adjusts the saturation so that clipping is minimized as colors approach full saturation, changing the saturation of all lower-saturated colors with less effect on the higher-saturated colors. Vibrance also prevents skin tones from becoming over saturated."}, - {"Saturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawUI/Saturation=Saturation"), - basicTone, - "Adjusts the saturation of all image colors equally from -100 (monochrome) to +100 (double the saturation)."}, - {"ResetTemperature", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), - basicTone, - ""}, - {"ResetTint", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), - basicTone, - "Reset to default. *button*"}, - {"ResetExposure", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), - basicTone, - "Reset to default. *button*"}, - {"ResetContrast", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), - basicTone, - "Reset to default. *button*"}, - {"ResetHighlights", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), - basicTone, - "Reset to default. *button*"}, - {"ResetShadows", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), - basicTone, - "Reset to default. *button*"}, - {"ResetWhites", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), - basicTone, - "Reset to default. *button*"}, - {"ResetBlacks", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), - basicTone, - "Reset to default. *button*"}, - {"ResetClarity", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), - basicTone, - "Reset to default. *button*"}, - {"ResetVibrance", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), - basicTone, - "Reset to default. *button*"}, - {"ResetSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), - basicTone, - "Reset to default. *button*"}, - {"ToneCurve",true,true,false,false,true,false,toneCurve}, - {"ToneCurveName",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurveName2012",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurvePV2012",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurvePV2012Blue",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurvePV2012Green",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurvePV2012Red",false,true,false,false,true,false,"ToneCurve"}, - {"ParametricDarks", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), - toneCurve, - "Adjust darks."}, - {"ParametricLights", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), - toneCurve, - "Adjust lights."}, - {"ParametricShadows", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), - toneCurve, - "Adjust shadows."}, - {"ParametricHighlights", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), - toneCurve, - "Adjust highlights."}, - {"ParametricShadowSplit", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), - toneCurve, - "Move division between shadows and darks."}, - {"ParametricMidtoneSplit", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), - toneCurve, - "Move division between darks and lights."}, - {"ParametricHighlightSplit", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), - toneCurve, - "Move division between lights and highlights."}, - {"ResetParametricDarks", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), - toneCurve, - "Reset to default. *button*"}, - {"ResetParametricLights", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), - toneCurve, - "Reset to default. *button*"}, - {"ResetParametricShadows", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), - toneCurve, - "Reset to default. *button*"}, - {"ResetParametricHighlights", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), - toneCurve, - "Reset to default. *button*"}, - {"ResetParametricShadowSplit", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), - toneCurve, - "Reset to default. *button*"}, - {"ResetParametricMidtoneSplit", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), - toneCurve, - "Reset to default. *button*"}, - {"ResetParametricHighlightSplit", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), - toneCurve, - "Reset to default. *button*"}, - {"EnableColorAdjustments", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableColorAdjustments=Enable Color Adjustments"), - colorAdjustments, - "Enable or disable color adjustments. *button*"}, - {"SaturationAdjustmentRed", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), - colorAdjustments, - "Changes the color vividness or purity of the color."}, - {"SaturationAdjustmentOrange", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), - colorAdjustments, - "Changes the color vividness or purity of the color."}, - {"SaturationAdjustmentYellow", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), - colorAdjustments, - "Changes the color vividness or purity of the color."}, - {"SaturationAdjustmentGreen", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), - colorAdjustments, - "Changes the color vividness or purity of the color."}, - {"SaturationAdjustmentAqua", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), - colorAdjustments, - "Changes the color vividness or purity of the color."}, - {"SaturationAdjustmentBlue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), - colorAdjustments, - "Changes the color vividness or purity of the color."}, - {"SaturationAdjustmentPurple", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), - colorAdjustments, - "Changes the color vividness or purity of the color."}, - {"SaturationAdjustmentMagenta", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), - colorAdjustments, - "Changes the color vividness or purity of the color."}, - {"HueAdjustmentRed", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), - colorAdjustments, - "Changes the color."}, - {"HueAdjustmentOrange", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), - colorAdjustments, - "Changes the color."}, - {"HueAdjustmentYellow", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), - colorAdjustments, - "Changes the color."}, - {"HueAdjustmentGreen", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), - colorAdjustments, - "Changes the color."}, - {"HueAdjustmentAqua", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), - colorAdjustments, - "Changes the color."}, - {"HueAdjustmentBlue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), - colorAdjustments, - "Changes the color."}, - {"HueAdjustmentPurple", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), - colorAdjustments, - "Changes the color."}, - {"HueAdjustmentMagenta", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), - colorAdjustments, - "Changes the color."}, - {"LuminanceAdjustmentRed", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), - colorAdjustments, - "Changes the brightness of the color range."}, - {"LuminanceAdjustmentOrange", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), - colorAdjustments, - "Changes the brightness of the color range."}, - {"LuminanceAdjustmentYellow", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), - colorAdjustments, - "Changes the brightness of the color range."}, - {"LuminanceAdjustmentGreen", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), - colorAdjustments, - "Changes the brightness of the color range."}, - {"LuminanceAdjustmentAqua", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), - colorAdjustments, - "Changes the brightness of the color range."}, - {"LuminanceAdjustmentBlue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), - colorAdjustments, - "Changes the brightness of the color range."}, - {"LuminanceAdjustmentPurple", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), - colorAdjustments, - "Changes the brightness of the color range."}, - {"LuminanceAdjustmentMagenta", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), - colorAdjustments, - "Changes the brightness of the color range."}, - {"ConvertToGrayscale", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ConvertToGrayscale=Convert to Grayscale"), - colorAdjustments, - "Enable/disable gray scale conversion. *button*"}, - {"EnableGrayscaleMix", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGrayscaleMix=Enable Grayscale Mix"), - colorAdjustments, - "Enable or disable black and white mix. *button*"}, - {"GrayMixerRed", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), - colorAdjustments, - "Red contribution to luminance."}, - {"GrayMixerOrange", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), - colorAdjustments, - "Orange contribution to luminance."}, - {"GrayMixerYellow", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), - colorAdjustments, - "Yellow contribution to luminance."}, - {"GrayMixerGreen", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), - colorAdjustments, - "Green contribution to luminance."}, - {"GrayMixerAqua", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), - colorAdjustments, - "Aqua contribution to luminance."}, - {"GrayMixerBlue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), - colorAdjustments, - "Blue contribution to luminance."}, - {"GrayMixerPurple", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), - colorAdjustments, - "Purple contribution to luminance."}, - {"GrayMixerMagenta", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), - colorAdjustments, - "Magenta contribution to luminance."}, - {"ResetSaturationAdjustmentRed", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetSaturationAdjustmentOrange", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetSaturationAdjustmentYellow", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetSaturationAdjustmentGreen", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetSaturationAdjustmentAqua", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetSaturationAdjustmentBlue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetSaturationAdjustmentPurple", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetSaturationAdjustmentMagenta", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetHueAdjustmentRed", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetHueAdjustmentOrange", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetHueAdjustmentYellow", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetHueAdjustmentGreen", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetHueAdjustmentAqua", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetHueAdjustmentBlue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetHueAdjustmentPurple", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetHueAdjustmentMagenta", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetLuminanceAdjustmentRed", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetLuminanceAdjustmentOrange", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetLuminanceAdjustmentYellow", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetLuminanceAdjustmentGreen", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetLuminanceAdjustmentAqua", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetLuminanceAdjustmentBlue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetLuminanceAdjustmentPurple", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetLuminanceAdjustmentMagenta", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetGrayMixerRed", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetGrayMixerOrange", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetGrayMixerYellow", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetGrayMixerGreen", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetGrayMixerAqua", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetGrayMixerBlue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetGrayMixerPurple", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"ResetGrayMixerMagenta", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), - resetColorAdjustments, - "Reset to default. *button*"}, - {"EnableSplitToning", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSplitToning=Enable Split Toning"), - splitToning, - "Enable or disable split toning effects. *button*"}, - {"SplitToningShadowHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), - splitToning, - "Color of the tone for shadows."}, - {"SplitToningShadowSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), - splitToning, - "Strength of the effect."}, - {"SplitToningHighlightHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), - splitToning, - "Color of the tone for highlights."}, - {"SplitToningHighlightSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), - splitToning, - "Strength of the effect."}, - {"SplitToningBalance", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), - splitToning, - "Set the Balance slider to balance the effect between the Highlight and Shadow sliders. Positive values increase the effect of the Highlight sliders; negative values increase the effect of the Shadow sliders."}, - {"ResetSplitToningShadowHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), - splitToning, - "Reset to default. *button*"}, - {"ResetSplitToningShadowSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), - splitToning, - "Reset to default. *button*"}, - {"ResetSplitToningHighlightHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), - splitToning, - "Reset to default. *button*"}, - {"ResetSplitToningHighlightSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), - splitToning, - "Reset to default. *button*"}, - {"ResetSplitToningBalance", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), - splitToning, - "Reset to default. *button*"}, - {"EnableDetail", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), - detail, - "Enable or disable noise reduction and sharpening. *button*"}, - {"Sharpness", - true,true,true,true,false,false, - LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), - detail, - "Adjusts edge definition. Increase the Amount value to increase sharpening. A value of zero (0) turns off sharpening. In general, set Amount to a lower value for cleaner images. The adjustment locates pixels that differ from surrounding pixels based on the threshold you specify and increases the pixels’ contrast by the amount you specify."}, - {"SharpenRadius", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), - detail, - "Adjusts the size of the details that sharpening is applied to. Photos with very fine details may need a lower radius setting. Photos with larger details may be able to use a larger radius. Using too large a radius generally results in unnatural-looking results."}, - {"SharpenDetail", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), - detail, - "Adjusts how much high-frequency information is sharpened in the image and how much the sharpening process emphasizes edges. Lower settings primarily sharpen edges to remove blurring. Higher values are useful for making the textures in the image more pronounced."}, - {"SharpenEdgeMasking", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), - detail, - "Controls an edge mask. With a setting of zero (0), everything in the image receives the same amount of sharpening. With a setting of 100, sharpening is mostly restricted to those areas near the strongest edges."}, - {"LuminanceSmoothing", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), - detail, - "Reduces luminance noise."}, - {"LuminanceNoiseReductionDetail", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), - detail, - "Controls the luminance noise threshold. Useful for very noisy photos. Higher values preserve more detail but may produce noisier results. Lower values produce cleaner results but may also remove some detail."}, - {"LuminanceNoiseReductionContrast", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), - detail, - "Controls luminance contrast. Useful for very noisy photos. Higher values preserve contrast but may produce noisy blotches or mottling. Lower values produce smoother results but may also have less contrast."}, - {"ColorNoiseReduction", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), - detail, - "Reduces color noise."}, - {"ColorNoiseReductionDetail", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), - detail, - "Controls the color noise threshold. Higher values protect thin, detailed color edges but may result in color speckling. Lower values remove color speckles but may result in color bleeding."}, - {"ColorNoiseReductionSmoothness", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), - detail, - "Increasing this can prevent artifacts especially in the lower frequencies."}, - {"ResetSharpness", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), - detail, - "Reset to default. *button*"}, - {"ResetSharpenRadius", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), - detail, - "Reset to default. *button*"}, - {"ResetSharpenDetail", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), - detail, - "Reset to default. *button*"}, - {"ResetSharpenEdgeMasking", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), - detail, - "Reset to default. *button*"}, - {"ResetLuminanceSmoothing", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), - detail, - "Reset to default. *button*"}, - {"ResetLuminanceNoiseReductionDetail", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), - detail, - "Reset to default. *button*"}, - {"ResetLuminanceNoiseReductionContrast", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), - detail, - "Reset to default. *button*"}, - {"ResetColorNoiseReduction", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), - detail, - "Reset to default. *button*"}, - {"ResetColorNoiseReductionDetail", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), - detail, - "Reset to default. *button*"}, - {"ResetColorNoiseReductionSmoothness", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), - detail, - "Reset to default. *button*"}, - {"EnableLensCorrections", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), - lensCorrections, - "Enable or disable all lens corrections. *button*"}, - {"LensProfileEnable", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileEnable=Lens Profile Enable"), - lensCorrections, - "Automatic correction using a stored lens profile."}, - {"LensProfileSetup",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileSetup=Lens Profile Setup")}, - {"AutoLateralCA", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RemoveChromaticAberration=Remove Chromatic Aberration"), - lensCorrections, - "Automatically corrects blue-yellow and red-green fringes (lateral chromatic aberration)."}, - {"ChromaticAberrationB",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationB=Blue Chromatic Aberration")}, - {"ChromaticAberrationR",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationR=Red Chromatic Aberration")}, - {"PerspectiveUpright",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveUpright=Perspective Upright")}, - {"UprightOff", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off"), - lensCorrections, - "Upright mode off. *button*"}, - {"UprightAuto", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto"), - lensCorrections, - "Balanced level, aspect ratio, and perspective corrections. *button*"}, - {"UprightLevel", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level"), - lensCorrections, - "Perspective corrections are weighted toward horizontal details. *button*"}, - {"UprightVertical", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical"), - lensCorrections, - "Perspective corrections are weighted toward vertical details. *button*"}, - {"UprightFull", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full"), - lensCorrections, - "Combination of full Level, Vertical, and Auto perspective corrections. *button*"}, - {"ResetPerspectiveUpright", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/Ops/ResetUprightSettings=Reset Upright Settings"), - lensCorrections, - "Reset to default. *button*"}, - {"LensProfileDistortionScale", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), - lensCorrections, - "The default value 100 applies 100% of the distortion correction in the profile. Values over 100 apply greater correction to the distortion; values under 100 apply less correction to the distortion."}, - {"LensProfileChromaticAberrationScale", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), - lensCorrections, - "The default value 100 applies 100% of the chromatic aberration correction in the profile. Values over 100 apply greater correction to color fringing; values under 100 apply less correction to color fringing."}, - {"LensProfileVignettingScale", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), - lensCorrections, - "The default value 100 applies 100% of the vignetting correction in the profile. Values over 100 apply greater correction to vignetting; values under 100 apply less correction to vignetting."}, - {"ResetLensProfileDistortionScale", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetLensProfileChromaticAberrationScale", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetLensProfileVignettingScale", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), - lensCorrections, - "Reset to default. *button*"}, - {"DefringePurpleAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), - lensCorrections, - "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units."}, - {"DefringePurpleHueLo", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - lensCorrections, - ""}, - {"DefringePurpleHueHi", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - lensCorrections, - ""}, - {"DefringeGreenAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), - lensCorrections, - "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units. The default spacing for the green sliders is narrow to protect green/yellow image colors, like foliage."}, - {"DefringeGreenHueLo", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - lensCorrections, - ""}, - {"DefringeGreenHueHi", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - lensCorrections, - ""}, - {"ResetDefringePurpleAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetDefringePurpleHueLo", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetDefringePurpleHueHi", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetDefringeGreenAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetDefringeGreenHueLo", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetDefringeGreenHueHi", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - lensCorrections, - "Reset to default. *button*"}, - {"LensManualDistortionAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), - lensCorrections, - "Drag to the right to correct barrel distortion and straighten lines that bend away from the center. Drag to the left to correct pincushion distortion and straighten lines that bend toward the center."}, - {"PerspectiveVertical", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), - lensCorrections, - "Corrects perspective caused by tilting the camera up or down. Makes vertical lines appear parallel."}, - {"PerspectiveHorizontal", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), - lensCorrections, - "Corrects perspective caused by angling the camera left or right. Makes horizontal lines parallel."}, - {"PerspectiveRotate", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), - lensCorrections, - "Corrects for camera tilt. Uses the center of the original, uncropped photo as the axis of rotation."}, - {"PerspectiveScale", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), - lensCorrections, - "Adjusts the image scale up or down. Helps to remove empty areas caused by perspective corrections and distortions. Displays areas of the image that extend beyond the crop boundary."}, - {"PerspectiveAspect", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), - lensCorrections, - "Adjusts the amount the image is stretched horizontally or vertically."}, - {"VignetteAmount", - true,true,true,true,false,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), - lensCorrections, - "Sets the amount of lightening or darkening along the edges of an image. Corrects images that have darkened corners caused by lens faults or improper lens shading."}, - {"VignetteMidpoint", - true,true,true,true,false,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), - lensCorrections, - "Specifies the width of area affected by the Amount slider. Specify a lower number to affect more of the image. Specify a higher number to restrict the effect to the edges of the image."}, - {"ResetLensManualDistortionAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetPerspectiveVertical", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetPerspectiveHorizontal", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetPerspectiveRotate", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetPerspectiveScale", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetPerspectiveAspect", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetVignetteAmount", - false,false,true,false,true,true, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), - lensCorrections, - "Reset to default. *button*"}, - {"ResetVignetteMidpoint", - false,false,true,false,true,true, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), - lensCorrections, - "Reset to default. *button*"}, - {"EnableEffects", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableEffects=Enable Effects"), - effects, - "Enable or disable effects. *button*"}, - {"Dehaze", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), - effects, - "Controls the amount of haze in a photograph. Drag to the right to remove haze; drag to the left to add haze."}, - {"PostCropVignetteAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), - effects, - "Negative values darken the corners of the photo. Positive values lighten the corners."}, - {"PostCropVignetteMidpoint", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), - effects, - "Lower values apply the Amount adjustment to a larger area away from the corners. Higher values restrict the adjustment to an area closer to the corners."}, - {"PostCropVignetteFeather", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), - effects, - "Lower values reduce softening between the vignette and the vignette’s surrounding pixels. Higher values increase the softening."}, - {"PostCropVignetteRoundness", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), - effects, - "Lower values make the vignette effect more oval. Higher values make the vignette effect more circular."}, - {"PostCropVignetteStyle", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), - effects, - "Cycles through: **Highlight Priority** Enables highlight recovery but can lead to color shifts in darkened areas of a photo. Suitable for photos with bright image areas such as clipped specular highlights. **Color Priority** Minimizes color shifts in darkened areas of a photo but cannot perform highlight recovery. **Paint Overlay** Mixes the cropped image values with black or white pixels. Can result in a flat appearance."}, - {"PostCropVignetteHighlightContrast", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), - effects, - "(Highlight Priority and Color Priority only) Controls the degree of highlight contrast preserved when Amount is negative. Suitable for photos with small highlights, such as candles and lamps."}, - {"GrainAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), - effects, - "Controls the amount of grain applied to the image. Drag to the right to increase the amount. Set to zero to disable grain."}, - {"GrainSize", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), - effects, - "Controls grain particle size. At sizes of 25 or greater, blue is added to make the effect look better with noise reduction."}, - {"GrainFrequency", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), - effects, - " Controls the regularity of the grain. Drag to the left to make the grain more uniform; drag to the right to make the grain more uneven."}, - {"ResetDehaze", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), - effects, - "Reset to default. *button*"}, - {"ResetPostCropVignetteAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), - effects, - "Reset to default. *button*"}, - {"ResetPostCropVignetteMidpoint", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), - effects, - "Reset to default. *button*"}, - {"ResetPostCropVignetteFeather", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), - effects, - "Reset to default. *button*"}, - {"ResetPostCropVignetteRoundness", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), - effects, - "Reset to default. *button*"}, - {"ResetPostCropVignetteStyle", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), - effects, - "Reset to default. *button*"}, - {"ResetPostCropVignetteHighlightContrast", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), - effects, - "Reset to default. *button*"}, - {"ResetGrainAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), - effects, - "Reset to default. *button*"}, - {"ResetGrainSize", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), - effects, - "Reset to default. *button*"}, - {"ResetGrainFrequency", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), - effects, - "Reset to default. *button*"}, - {"EnableCalibration", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableCalibration=Enable Calibration"), - calibration, - "Enable or disable custom camera calibration. *button*"}, - {"CameraProfile",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CameraProfile=Camera Profile")}, - {"Profile_Adobe_Standard", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/AdobeStandard=Adobe Standard"), - calibration, - "Applies the Adobe Standard profile. *button*"}, - {"Profile_Camera_Clear", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraClear=Camera Clear"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, - {"Profile_Camera_Deep", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraDeep=Camera Deep"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, - {"Profile_Camera_Landscape", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraLandscape=Camera Landscape"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, - {"Profile_Camera_Light", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraLight=Camera Light"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, - {"Profile_Camera_Neutral", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraNeutral=Camera Neutral"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, - {"Profile_Camera_Portrait", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraPortrait=Camera Portrait"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, - {"Profile_Camera_Standard", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraStandard=Camera Standard"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, - {"Profile_Camera_Vivid", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraVivid=Camera Vivid"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*"}, - {"ShadowTint", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), - calibration, - "Corrects for any green or magenta tint in the shadow areas of the photo."}, - {"RedHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), - calibration, - "For the red primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move."}, - {"RedSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), - calibration, - "For the red primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation."}, - {"GreenHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), - calibration, - "For the green primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move."}, - {"GreenSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), - calibration, - "For the green primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation."}, - {"BlueHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), - calibration, - "For the blue primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move."}, - {"BlueSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), - calibration, - "For the blue primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation."}, - {"ResetShadowTint", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), - calibration, - "Reset to default. *button*"}, - {"ResetRedHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), - calibration, - "Reset to default. *button*"}, - {"ResetRedSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), - calibration, - "Reset to default. *button*"}, - {"ResetGreenHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), - calibration, - "Reset to default. *button*"}, - {"ResetGreenSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), - calibration, - "Reset to default. *button*"}, - {"ResetBlueHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), - calibration, - "Reset to default. *button*"}, - {"ResetBlueSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), - calibration, - "Reset to default. *button*"}, - {"Pick", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Help/Shortcuts/SetPick=Set Pick Flag"), - photoActions, - "*button*"}, - {"Reject", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Help/Shortcuts/SetReject=Set Rejected Flag"), - photoActions, - "*button*"}, - {"Next", - false,false,true,false,true,false, - LOC("$$$/AgDevelopShortcuts/Next_Photo=Next Photo"), - photoActions, - "*button*"}, - {"Prev", - false,false,true,false,true,false, - LOC("$$$/AgDevelopShortcuts/Previous_Photo=Previous Photo"), - photoActions, - "*button*"}, - {"Select1Left", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), - 'Photo Actions', - "Extend selection one picture to the left. *button*"}, - {"Select1Right", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), - 'Photo Actions', - "Extend selection one picture to the right. *button*"}, - {"VirtualCopy", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Bezel/CreateVirtualCopy=Create Virtual Copy"):gsub('&',''), - photoActions, - "Creates a virtual copy for each of the currently selected photos and videos. The new virtual copies will be selected. *button*"}, - {"RemoveFlag", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetPick/Unflagged=Unflagged"):gsub('&',''), - photoActions, - "*button*"}, - {"IncreaseRating", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/IncreaseRating=Increase Rating"), - photoActions, - "*button*"}, - {"DecreaseRating", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/DecreaseRating=Decrease Rating"), - photoActions, - "*button*"}, - {"SetRating0", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), - photoActions, - "*button*"}, - {"SetRating1", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), - photoActions, - "*button*"}, - {"SetRating2", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), - photoActions, - "*button*"}, - {"SetRating3", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), - photoActions, - "*button*"}, - {"SetRating4", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), - photoActions, - "*button*"}, - {"SetRating5", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), - photoActions, - "*button*"}, - {"ToggleBlue", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelBlue=Blue")), - photoActions, - "*button*"}, - {"ToggleGreen", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelGreen=Green")), - photoActions, - "*button*"}, - {"ToggleRed", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelRed=Red")), - photoActions, - "*button*"}, - {"TogglePurple", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelPurple=Purple")), - photoActions, - "*button*"}, - {"ToggleYellow", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelYellow=Yellow")), - photoActions, - "*button*"}, - {"ResetAll", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/Ops/ResetSettings=Reset Settings"), - photoActions, - "Reset to defaults. *button*"}, - {"ResetLast", - false,false,true,false,true,false, - reset..' '..LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified"):gsub(':',''), - photoActions, - "Resets the last parameter that was adjusted by an encoder or fader to default. *button*"}, - {"IncrementLastDevelopParameter", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 Increase: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), - photoActions, - "Increments the last parameter that was adjusted by an encoder or fader. *button*"}, - {"DecrementLastDevelopParameter", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 Decrease: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), - photoActions, - "Decrements the last parameter that was adjusted by an encoder or fader. *button*"}, - {"Undo", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawController/SoftProofingVirtualCopyPrompt/Undo=Undo"), - photoActions, - "*button*"}, - {"Redo", - false,false,true,false,true,false, - LOC("$$$/Bezel/RedoTitle=Redo"), - photoActions, - "*button*"}, - {"CopySettings", - false,false,true,false,true,false, - "Copy Settings", - photoActions, - "Copies all develop settings. Application will remember last copy operation and use that for all paste operations until a new *Copy Settings* is done or the application is restarted. *button*"}, - {"PasteSettings", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/Ops/PasteSettings=Paste Settings"), - photoActions, - "Pastes all develop settings. *button*"}, - {"PasteSelectedSettings", - false,false,true,false,true,false, - "Paste Selected Settings", - photoActions, - "Pastes only those settings checked in the **Options⇢Paste Selections** dialog. *button*"}, - {"Preset_1", - false,false,true,false,true,false, - developPreset.." 1", - developPresets, - ""}, - {"Preset_2", - false,false,true,false,true,false, - developPreset.." 2", - developPresets, - ""}, - {"Preset_3", - false,false,true,false,true,false, - developPreset.." 3", - developPresets, - ""}, - {"Preset_4", - false,false,true,false,true,false, - developPreset.." 4", - developPresets, - ""}, - {"Preset_5", - false,false,true,false,true,false, - developPreset.." 5", - developPresets, - ""}, - {"Preset_6", - false,false,true,false,true,false, - developPreset.." 6", - developPresets, - ""}, - {"Preset_7", - false,false,true,false,true,false, - developPreset.." 7", - developPresets, - ""}, - {"Preset_8", - false,false,true,false,true,false, - developPreset.." 8", - developPresets, - ""}, - {"Preset_9", - false,false,true,false,true,false, - developPreset.." 9", - developPresets, - ""}, - {"Preset_10", - false,false,true,false,true,false, - developPreset.." 10", - developPresets, - ""}, - {"Preset_11", - false,false,true,false,true,false, - developPreset.." 11", - developPresets, - ""}, - {"Preset_12", - false,false,true,false,true,false, - developPreset.." 12", - developPresets, - ""}, - {"Preset_13", - false,false,true,false,true,false, - developPreset.." 13", - developPresets, - ""}, - {"Preset_14", - false,false,true,false,true,false, - developPreset.." 14", - developPresets, - ""}, - {"Preset_15", - false,false,true,false,true,false, - developPreset.." 15", - developPresets, - ""}, - {"Preset_16", - false,false,true,false,true,false, - developPreset.." 16", - developPresets, - ""}, - {"Preset_17", - false,false,true,false,true,false, - developPreset.." 17", - developPresets, - ""}, - {"Preset_18", - false,false,true,false,true,false, - developPreset.." 18", - developPresets, - ""}, - {"Preset_19", - false,false,true,false,true,false, - developPreset.." 19", - developPresets, - ""}, - {"Preset_20", - false,false,true,false,true,false, - developPreset.." 20", - developPresets, - ""}, - {"local_Temperature", - false,false,true,true,false,false, - "Local Temperature (PV2012)", - localizedAdjustments, - "Adjust Temperature for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Tint", - false,false,true,true,false,false, - "Local Tint (PV2012)", - localizedAdjustments, - "Adjust Tint for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Exposure", - false,false,true,true,false,false, - "Local Exposure (PV2010 and PV2012)", - localizedAdjustments, - "Adjust Exposure for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Contrast", - false,false,true,true,false,false, - "Local Contrast (PV2010 and PV2012)", - localizedAdjustments, - "Adjust Contrast for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Highlights", - false,false,true,true,false,false, - "Local Highlights (PV2012)", - localizedAdjustments, - "Adjust Highlights for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Shadows", - false,false,true,true,false,false, - "Local Shadows (PV2012)", - localizedAdjustments, - "Adjust Shadows for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Clarity", - false,false,true,true,false,false, - "Local Clarity (PV2010 and PV2012)", - localizedAdjustments, - "Adjust Clarity for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Saturation", - false,false,true,true,false,false, - "Local Saturation (PV2010 and PV2012)", - localizedAdjustments, - "Adjust Saturation for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Sharpness", - false,false,true,true,false,false, - "Local Sharpness (PV2010 and PV 2012)", - localizedAdjustments, - "Adjust Sharpness for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_LuminanceNoise", - false,false,true,true,false,false, - "Local Luminance Noise (PV2012)", - "Localized Adjusments", - "Adjust Luminance Noise for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Moire", - false,false,true,true,false,false, - "Local Moire (PV2012)", - localizedAdjustments, - "Adjust Moire for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Defringe", - false,false,true,true,false,false, - "Local Defringe (PV2012)", - localizedAdjustments, - "Adjust Defringe for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_ToningLuminance", - false,false,true,true,false,false, - "Local Toning Luminance (PV2010)", - localizedAdjustments, - "Adjust Toning Luminance for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"Resetlocal_Temperature", - false,false,true,false,true,false, - "Reset Local Temperature (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Tint", - false,false,true,false,true,false, - "Reset Local Tint (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Exposure", - false,false,true,false,true,false, - "Reset Local Exposure (PV2010 and PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Contrast", - false,false,true,false,true,false, - "Reset Local Contrast (PV2010 and PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Highlights", - false,false,true,false,true,false, - "Reset Local Highlights (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Shadows", - false,false,true,false,true,false, - "Reset Local Shadows (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Clarity", - false,false,true,false,true,false, - "Reset Local Clarity (PV2010 and PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Saturation", - false,false,true,false,true,false, - "Reset Local Saturation (PV2010 and PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Sharpness", - false,false,true,false,true,false, - "Reset Local Sharpness (PV2010 and PV 2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_LuminanceNoise", - false,false,true,false,true,false, - "Reset Local Luminance Noise (PV2012)", - "Localized Adjusments", - "Reset to default. *button*"}, - {"Resetlocal_Moire", - false,false,true,false,true,false, - "Reset Local Moire (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Defringe", - false,false,true,false,true,false, - "Reset Local Defringe (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_ToningLuminance", - false,false,true,false,true,false, - "Reset Local Toning Luminance (PV2010)", - localizedAdjustments, - "Reset to default. *button*"}, - {"EnableCircularGradientBasedCorrections", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), - localizedAdjustments, - "Enable or disable radial filter. *button*"}, - {"EnableGradientBasedCorrections", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), - localizedAdjustments, - "Enable or disable graduated filter. *button*"}, - {"EnablePaintBasedCorrections", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), - localizedAdjustments, - "Enable or disable brush adjustments. *button*"}, - {"EnableRedEye", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), - localizedAdjustments, - "Enable or disable red eye correction. *button*"}, - {"EnableRetouch", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), - localizedAdjustments, - "Enable or disable spot removal. *button*"}, - {"RetouchInfo",true,true,false,false,true,false,"RetouchInfo"}, - {"ResetCircGrad", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), - localizedAdjustments, - "Delete radial filter. *button*"}, - {"ResetGradient", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), - localizedAdjustments, - "Delete graduated filter. *button*"}, - {"ResetBrushing", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), - localizedAdjustments, - "Delete brush adjustments. *button*"}, - {"ResetRedeye", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), - localizedAdjustments, - "Delete red eye correction. *button*"}, - {"ResetSpotRem", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), - localizedAdjustments, - "Delete spot removal. *button*"}, - {"ZoomInLargeStep", - false,false,true,false,true,false, - LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomIn=Zoom In"), - miscellaneous, - "*button*"}, - {"ZoomInSmallStep", - false,false,true,false,true,false, - LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomInSome=Zoom In Some"), - miscellaneous, - "*button*"}, - {"ZoomOutSmallStep", - false,false,true,false,true,false, - LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOutSome=Zoom Out Some"), - miscellaneous, - "*button*"}, - {"ZoomOutLargeStep", - false,false,true,false,true,false, - LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOut=Zoom Out"), - miscellaneous, - "*button*"}, - {"ToggleZoomOffOn", - false,false,true,false,true,false, - "Toggle Zoom Off/On", - miscellaneous, - "*button*"}, - {"orientation",true,true,false,false,true,false,"orientation"}, - {"CropConstrainToWarp",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropConstrainToWarp=Constrain to Warp")} - {"CropAngle", - true,true,true,true,false,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropAngle=Crop Angle"), - miscellaneous, - "Rotate crop rectangle. This control is constrained to picture boundaries even when \226\128\156constrain to image\226\128\157 is not selected. It also causes the aspect ratio of the crop to change. It may be better to use the [Perspective Rotate in the Lens Corrections](https://github.com/rsjaffe/MIDI2LR/wiki/Commands:-Lens-Correction) set of actions."}, - {"CropBottom", - true,true,true,true,false,true, - crop..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), - miscellaneous, - "Adjust bottom of crop rectangle."}, - {"CropLeft", - true,true,true,true,false,true, - crop..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), - miscellaneous, - "Adjust left side of crop rectangle."}, - {"CropRight", - true,true,true,true,false,true, - crop..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), - miscellaneous, - "Adjust right side of crop rectangle."}, - {"CropTop", - true,true,true,true,false,true, - crop..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), - miscellaneous, - "Adjust top of crop rectangle."}, - {"ResetCrop", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetCrop=Reset Crop"), - miscellaneous, - "Reset the crop angle and frame for the current photo. *button*"}, - {"Loupe", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), - gotoToolModulePanel, - "Select Loupe View mode in Develop Module. Repeated press toggles in and out of Loupe View. *button*"}, - {"CropOverlay", - false,false,true,false,true,false, - show..' '..crop, - gotoToolModulePanel, - "Select Crop Overlay mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"SpotRemoval", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), - gotoToolModulePanel, - "Select Spot Removal mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"RedEyeInfo",true,true,false,false,true,false,LOC("$$$/MIDI2LR/Parameters/RedEyeInfo=Red-Eye Information")}, - {"RedEye", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), - gotoToolModulePanel, - "Select Red Eye mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"GraduatedFilter", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), - gotoToolModulePanel, - "Select Graduated Filter mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"RadialFilter", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), - gotoToolModulePanel, - "Select Radial Filter View mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"AdjustmentBrush", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), - gotoToolModulePanel, - "Select Adjustment Brush mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"SwToMlibrary", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), - gotoToolModulePanel, - "Switch to Library module. *button*"}, - {"SwToMdevelop", - false,false,true,false,true,false, - show..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), - gotoToolModulePanel, - "Switch to Develop module. *button*"}, - {"SwToMmap", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), - gotoToolModulePanel, - "Switch to Map module. *button*"}, - {"SwToMbook", - false,false,true,false,true,false, - show..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), - gotoToolModulePanel, - "Switch to Book module. *button*"}, - {"SwToMslideshow", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), - gotoToolModulePanel, - "Switch to Slideshow module. *button*"}, - {"SwToMprint", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), - gotoToolModulePanel, - "Switch to Print module. *button*"}, - {"SwToMweb", - false,false,true,false,true,false, - show..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), - gotoToolModulePanel, - "Switch to Web module. *button*"}, - {"RevealPanelAdjust", - false,false,true,false,true,false, - show..' '..basicTone, - gotoToolModulePanel, - "Open Basic Adjustments Panel in Develop Module. *button*"}, - {"RevealPanelTone", - false,false,true,false,true,false, - show..' '..toneCurve, - gotoToolModulePanel, - "Open Tone Curve Panel in Develop Module. *button*"}, - {"RevealPanelMixer", - false,false,true,false,true,false, - show..' '..colorAdjustments, - gotoToolModulePanel, - "Open Mixer Panel in Develop Module. *button*"}, - {"RevealPanelSplit", - false,false,true,false,true,false, - show..' '..splitToning, - gotoToolModulePanel, - "Open Split Toning Panel in Develop Module. *button*"}, - {"RevealPanelDetail", - false,false,true,false,true,false, - show..' '..detail, - gotoToolModulePanel, - "Open Detail Panel in Develop Module. *button*"}, - {"RevealPanelLens", - false,false,true,false,true,false, - show..' '..lensCorrections, - gotoToolModulePanel, - "Open Lens Corrections Panel in Develop Module. *button*"}, - {"RevealPanelEffects", - false,false,true,false,true,false, - show..' '..effects, - gotoToolModulePanel, - "Open Effects Panel in Develop Module. *button*"}, - {"RevealPanelCalibrate", - false,false,true,false,true,false, - show..' '..calibration, - gotoToolModulePanel, - "Open Camera Calibration Panel in Develop Module. *button*"}, - {"ShoVwloupe", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), - viewModes, - "Displays a single photo. Zoom levels up to 11:1 are available. *button*"}, - {"ShoVwgrid", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), - viewModes, - "Displays photos as thumbnails in cells, which can be viewed in compact and expanded sizes. *button*"}, - {"ShoVwcompare", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), - viewModes, - "Displays photos side by side so that you can evaluate them. *button*"}, - {"ShoVwsurvey", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), - viewModes, - "Displays the active photo with selected photos so that you can evaluate them. The active photo has the lightest colored cell. *button*"}, - {"ShoVwpeople", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), - viewModes, - "In the People view, the different faces are organized by people stacks. *button*"}, - {"ShoVwdevelop_loupe", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), - viewModes, - "*button*"}, - {"ShoVwdevelop_before_after_horiz", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), - viewModes, - "*button*"}, - {"ShoVwdevelop_before_after_vert", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), - viewModes, - "*button*"}, - {"ShoVwdevelop_before", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), - viewModes, - "*button*"}, - {"ShoScndVwloupe", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), - viewModes, - "Shows Loupe view on the secondary screen, or hides the secondary screen if Loupe view was previously being shown. *button*"}, - {"ShoScndVwlive_loupe", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), - viewModes, - "Shows Live Loupe view on the secondary screen, or hides the secondary screen if Live Loupe view was previously being shown. *button*"}, - {"ShoScndVwlocked_loupe", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), - viewModes, - "Shows Locked Loupe view on the secondary screen, or hides the secondary screen if Locked Loupe view was previously being shown. *button*"}, - {"ShoScndVwgrid", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), - viewModes, - "Shows Grid view on the secondary screen, or hides the secondary screen if Grid view was previously being shown. *button*"}, - {"ShoScndVwcompare", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), - viewModes, - "Shows Compare view on the secondary screen, or hides the secondary screen if Compare view was previously being shown. *button*"}, - {"ShoScndVwsurvey", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), - viewModes, - "Shows Survey view on the secondary screen, or hides the secondary screen if Survey view was previously being shown. *button*"}, - {"ShoScndVwslideshow", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), - viewModes, - "Shows Slideshow view on the secondary screen, or hides the secondary screen if Slideshow view was previously being shown. *button*"}, - {"ToggleScreenTwo", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), - viewModes, - "Toggles the the secondary window on/off. *button*"}, - {"profile1", - false,false,true,false,true,false, - profile.." 1", - profiles, - ""}, - {"profile2", - false,false,true,false,true,false, - profile.." 2", - profiles, - ""}, - {"profile3", - false,false,true,false,true,false, - profile.." 3", - profiles, - ""}, - {"profile4", - false,false,true,false,true,false, - profile.." 4", - profiles, - ""}, - {"profile5", - false,false,true,false,true,false, - profile.." 5", - profiles, - ""}, - {"profile6", - false,false,true,false,true,false, - profile.." 6", - profiles, - ""}, - {"profile7", - false,false,true,false,true,false, - profile.." 7", - profiles, - ""}, - {"profile8", - false,false,true,false,true,false, - profile.." 8", - profiles, - ""}, - {"profile9", - false,false,true,false,true,false, - profile.." 9", - profiles, - ""}, - {"profile10", - false,false,true,false,true,false, - profile.." 10", - profiles, - ""}, - {"TrimEnd",true,true,false,false,true,false,"TrimEnd"}, - {"TrimStart",true,true,false,false,true,false,"TrimStart"}, -} + local DataBase = { + {"ProcessVersion",true,true,false,false,true,false,LOC("$$$/AgDevelop/Menu/ProcessVersion=Process Version")}, + {"WhiteBalance",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")}, + {"WhiteBalanceAs_Shot", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), + basicTone, + "Use Temperature and Tint as determined by camera. *button*", + 'adjustPanel'}, + {"WhiteBalanceAuto", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), + basicTone, + "Have Lightroom determine Temperature and Tint. *button*", + 'adjustPanel'}, + {"WhiteBalanceCloudy", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), + basicTone, + "Use cloudy white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceDaylight", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), + basicTone, + "Use daylight white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceFlash", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), + basicTone, + "Use flash white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceFluorescent", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), + basicTone, + "Use fluorescent white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceShade", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), + basicTone, + "Use shade white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceTungsten", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), + basicTone, + "Use tungsten white balance. *button*", + 'adjustPanel'}, + {"AutoBrightness",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoBrightness=Automatic Brightness")}, + {"AutoContrast",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoContrast=Automatic Contrast")}, + {"AutoExposure",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoExposure=Automatic Exposure")}, + {"AutoShadows",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoShadows=Automatic Shadows")}, + {"Temperature", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), + basicTone, + "Fine-tunes the white balance using the Kelvin color temperature scale. Move the slider to the left to make the photo appear cooler, and right to warm the photo colors.", + 'adjustPanel'}, + {"Tint", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), + basicTone, + "Fine-tunes the white balance to compensate for a green or magenta tint. Move the slider to the left (negative values) to add green to the photo; move it to the right (positive values) to add magenta.", + 'adjustPanel'}, + {"Exposure", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawUI/Exposure=Exposure"), + basicTone, + "Sets the overall image brightness. Adjust the slider until the photo looks good and the image is the desired brightness.", + 'adjustPanel'}, + {"Exposure2012",false,true,false,false,false,false,"Exposure"}, + {"Contrast", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawUI/Contrast=Contrast"), + basicTone, + "Increases or decreases image contrast, mainly affecting midtones. When you increase contrast, the middle-to-dark image areas become darker, and the middle-to-light image areas become lighter. The image tones are inversely affected as you decrease contrast.", + 'adjustPanel'}, + {"Contrast2012",false,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Contrast=Contrast")}, + {"Highlights", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..'(Recovery in PV2003 and PV2010)', + basicTone, + "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.", + 'adjustPanel'}, + {"Brightness", + true,true,false,false,false,false, + LOC("$$$/AgCameraRawUI/Brightness=Brightness"), + basicTone, + "No effect unless in PV2003 or PV2010)", + 'adjustPanel'}, + {"HighlightRecovery",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HighlightRecovery=Highlight Recovery")..' (PV2003 and PV2010)'}, + {"Shadows", + false,false,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..'(Fill Light in PV2003 and PV2010)', + basicTone, + "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.", + 'adjustPanel'}, + {"Shadows2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")},--NOT fill light in 2003 and 2010 + {"FillLight",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/FillLight=Fill Light")..' (PV2003 and PV2010)'}, + {"Whites", + false,false,true,true,false,false, + LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)', + basicTone, + "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping.", + 'adjustPanel'}, + {"Whites2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)'}, + {"Blacks", + false,false,true,true,false,false, + LOC("$$$/AgCameraRawUI/Blacks=Blacks"), + basicTone, + "Specifies which image values map to black. Moving the slider to the right increases the areas that become black, sometimes creating the impression of increased image contrast. The greatest effect is in the shadows, with much less change in the midtones and highlights.", + 'adjustPanel'}, + {"Blacks2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Blacks=Blacks")}, + {"Clarity", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), + basicTone, + "Adds depth to an image by increasing local contrast. When using this setting, it is best to zoom in to 100% or greater.", + 'adjustPanel'}, + {"Clarity2012",false,true,false,false,false,false,"Clarity"}, + {"Vibrance", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), + basicTone, + "Adjusts the saturation so that clipping is minimized as colors approach full saturation, changing the saturation of all lower-saturated colors with less effect on the higher-saturated colors. Vibrance also prevents skin tones from becoming over saturated.", + 'adjustPanel'}, + {"Saturation", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawUI/Saturation=Saturation"), + basicTone, + "Adjusts the saturation of all image colors equally from -100 (monochrome) to +100 (double the saturation).", + 'adjustPanel'}, + {"ResetTemperature", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), + basicTone, + "", + 'adjustPanel'}, + {"ResetTint", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetExposure", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetContrast", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetHighlights", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetShadows", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetWhites", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetBlacks", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetClarity", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetVibrance", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ToneCurve",true,true,false,false,true,false,toneCurve}, + {"ToneCurveName",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurveName2012",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012Blue",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012Green",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012Red",false,true,false,false,true,false,"ToneCurve"}, + {"ParametricDarks", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), + toneCurve, + "Adjust darks.", + 'tonePanel'}, + {"ParametricLights", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), + toneCurve, + "Adjust lights.", + 'tonePanel'}, + {"ParametricShadows", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), + toneCurve, + "Adjust shadows.", + 'tonePanel'}, + {"ParametricHighlights", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), + toneCurve, + "Adjust highlights.", + 'tonePanel'}, + {"ParametricShadowSplit", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), + toneCurve, + "Move division between shadows and darks.", + 'tonePanel'}, + {"ParametricMidtoneSplit", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), + toneCurve, + "Move division between darks and lights.", + 'tonePanel'}, + {"ParametricHighlightSplit", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), + toneCurve, + "Move division between lights and highlights.", + 'tonePanel'}, + {"ResetParametricDarks", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricLights", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricShadows", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricHighlights", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricShadowSplit", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricMidtoneSplit", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricHighlightSplit", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"EnableColorAdjustments", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableColorAdjustments=Enable Color Adjustments"), + colorAdjustments, + "Enable or disable color adjustments. *button*", + 'tonePanel'}, + {"SaturationAdjustmentRed", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentOrange", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentYellow", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentGreen", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentAqua", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentBlue", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentPurple", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentMagenta", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"HueAdjustmentRed", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentOrange", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentYellow", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentGreen", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentAqua", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentBlue", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentPurple", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentMagenta", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"LuminanceAdjustmentRed", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentOrange", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentYellow", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentGreen", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentAqua", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentBlue", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentPurple", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentMagenta", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"ConvertToGrayscale", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ConvertToGrayscale=Convert to Grayscale"), + colorAdjustments, + "Enable/disable gray scale conversion. *button*", + 'tonePanel'}, + {"EnableGrayscaleMix", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGrayscaleMix=Enable Grayscale Mix"), + colorAdjustments, + "Enable or disable black and white mix. *button*", + 'tonePanel'}, + {"GrayMixerRed", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), + colorAdjustments, + "Red contribution to luminance.", + 'tonePanel'}, + {"GrayMixerOrange", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), + colorAdjustments, + "Orange contribution to luminance.", + 'tonePanel'}, + {"GrayMixerYellow", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), + colorAdjustments, + "Yellow contribution to luminance.", + 'tonePanel'}, + {"GrayMixerGreen", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), + colorAdjustments, + "Green contribution to luminance.", + 'tonePanel'}, + {"GrayMixerAqua", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), + colorAdjustments, + "Aqua contribution to luminance.", + 'tonePanel'}, + {"GrayMixerBlue", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), + colorAdjustments, + "Blue contribution to luminance.", + 'tonePanel'}, + {"GrayMixerPurple", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), + colorAdjustments, + "Purple contribution to luminance.", + 'tonePanel'}, + {"GrayMixerMagenta", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), + colorAdjustments, + "Magenta contribution to luminance.", + 'tonePanel'}, + {"ResetSaturationAdjustmentRed", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentOrange", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentYellow", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentGreen", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentAqua", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentBlue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentPurple", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentMagenta", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentRed", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentOrange", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentYellow", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentGreen", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentAqua", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentBlue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentPurple", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentMagenta", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentRed", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentOrange", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentYellow", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentGreen", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentAqua", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentBlue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentPurple", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentMagenta", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerRed", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerOrange", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerYellow", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerGreen", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerAqua", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerBlue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerPurple", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerMagenta", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"EnableSplitToning", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSplitToning=Enable Split Toning"), + splitToning, + "Enable or disable split toning effects. *button*", + 'splitToningPanel'}, + {"SplitToningShadowHue", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), + splitToning, + "Color of the tone for shadows.", + 'splitToningPanel'}, + {"SplitToningShadowSaturation", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), + splitToning, + "Strength of the effect.", + 'splitToningPanel'}, + {"SplitToningHighlightHue", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), + splitToning, + "Color of the tone for highlights.", + 'splitToningPanel'}, + {"SplitToningHighlightSaturation", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), + splitToning, + "Strength of the effect.", + 'splitToningPanel'}, + {"SplitToningBalance", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), + splitToning, + "Set the Balance slider to balance the effect between the Highlight and Shadow sliders. Positive values increase the effect of the Highlight sliders; negative values increase the effect of the Shadow sliders.", + 'splitToningPanel'}, + {"ResetSplitToningShadowHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"ResetSplitToningShadowSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"ResetSplitToningHighlightHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"ResetSplitToningHighlightSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"ResetSplitToningBalance", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"EnableDetail", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), + detail, + "Enable or disable noise reduction and sharpening. *button*", + 'detailPanel'}, + {"Sharpness", + true,true,true,true,false,false, + LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), + detail, + "Adjusts edge definition. Increase the Amount value to increase sharpening. A value of zero (0) turns off sharpening. In general, set Amount to a lower value for cleaner images. The adjustment locates pixels that differ from surrounding pixels based on the threshold you specify and increases the pixels’ contrast by the amount you specify.", + 'detailPanel'}, + {"SharpenRadius", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), + detail, + "Adjusts the size of the details that sharpening is applied to. Photos with very fine details may need a lower radius setting. Photos with larger details may be able to use a larger radius. Using too large a radius generally results in unnatural-looking results.", + 'detailPanel'}, + {"SharpenDetail", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), + detail, + "Adjusts how much high-frequency information is sharpened in the image and how much the sharpening process emphasizes edges. Lower settings primarily sharpen edges to remove blurring. Higher values are useful for making the textures in the image more pronounced.", + 'detailPanel'}, + {"SharpenEdgeMasking", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), + detail, + "Controls an edge mask. With a setting of zero (0), everything in the image receives the same amount of sharpening. With a setting of 100, sharpening is mostly restricted to those areas near the strongest edges.", + 'detailPanel'}, + {"LuminanceSmoothing", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), + detail, + "Reduces luminance noise.", + 'detailPanel'}, + {"LuminanceNoiseReductionDetail", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), + detail, + "Controls the luminance noise threshold. Useful for very noisy photos. Higher values preserve more detail but may produce noisier results. Lower values produce cleaner results but may also remove some detail.", + 'detailPanel'}, + {"LuminanceNoiseReductionContrast", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), + detail, + "Controls luminance contrast. Useful for very noisy photos. Higher values preserve contrast but may produce noisy blotches or mottling. Lower values produce smoother results but may also have less contrast.", + 'detailPanel'}, + {"ColorNoiseReduction", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), + detail, + "Reduces color noise.", + 'detailPanel'}, + {"ColorNoiseReductionDetail", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), + detail, + "Controls the color noise threshold. Higher values protect thin, detailed color edges but may result in color speckling. Lower values remove color speckles but may result in color bleeding.", + 'detailPanel'}, + {"ColorNoiseReductionSmoothness", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), + detail, + "Increasing this can prevent artifacts especially in the lower frequencies.", + 'detailPanel'}, + {"ResetSharpness", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetSharpenRadius", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetSharpenDetail", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetSharpenEdgeMasking", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetLuminanceSmoothing", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetLuminanceNoiseReductionDetail", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetLuminanceNoiseReductionContrast", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetColorNoiseReduction", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetColorNoiseReductionDetail", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetColorNoiseReductionSmoothness", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"EnableLensCorrections", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), + lensCorrections, + "Enable or disable all lens corrections. *button*", + 'lensCorrectionsPanel'}, + {"LensProfileEnable", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileEnable=Lens Profile Enable"), + lensCorrections, + "Automatic correction using a stored lens profile.", + 'lensCorrectionsPanel'}, + {"LensProfileSetup",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileSetup=Lens Profile Setup")}, + {"AutoLateralCA", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RemoveChromaticAberration=Remove Chromatic Aberration"), + lensCorrections, + "Automatically corrects blue-yellow and red-green fringes (lateral chromatic aberration).", + 'lensCorrectionsPanel'}, + {"ChromaticAberrationB",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationB=Blue Chromatic Aberration")}, + {"ChromaticAberrationR",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationR=Red Chromatic Aberration")}, + {"PerspectiveUpright",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveUpright=Perspective Upright")}, + {"UprightOff", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off"), + lensCorrections, + "Upright mode off. *button*", + 'lensCorrectionsPanel'}, + {"UprightAuto", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto"), + lensCorrections, + "Balanced level, aspect ratio, and perspective corrections. *button*", + 'lensCorrectionsPanel'}, + {"UprightLevel", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level"), + lensCorrections, + "Perspective corrections are weighted toward horizontal details. *button*", + 'lensCorrectionsPanel'}, + {"UprightVertical", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical"), + lensCorrections, + "Perspective corrections are weighted toward vertical details. *button*", + 'lensCorrectionsPanel'}, + {"UprightFull", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full"), + lensCorrections, + "Combination of full Level, Vertical, and Auto perspective corrections. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveUpright", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/Ops/ResetUprightSettings=Reset Upright Settings"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"LensProfileDistortionScale", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), + lensCorrections, + "The default value 100 applies 100% of the distortion correction in the profile. Values over 100 apply greater correction to the distortion; values under 100 apply less correction to the distortion.", + 'lensCorrectionsPanel'}, + {"LensProfileChromaticAberrationScale", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), + lensCorrections, + "The default value 100 applies 100% of the chromatic aberration correction in the profile. Values over 100 apply greater correction to color fringing; values under 100 apply less correction to color fringing.", + 'lensCorrectionsPanel'}, + {"LensProfileVignettingScale", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), + lensCorrections, + "The default value 100 applies 100% of the vignetting correction in the profile. Values over 100 apply greater correction to vignetting; values under 100 apply less correction to vignetting.", + 'lensCorrectionsPanel'}, + {"ResetLensProfileDistortionScale", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetLensProfileChromaticAberrationScale", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetLensProfileVignettingScale", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"DefringePurpleAmount", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), + lensCorrections, + "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units.", + 'lensCorrectionsPanel'}, + {"DefringePurpleHueLo", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, + "", + 'lensCorrectionsPanel'}, + {"DefringePurpleHueHi", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, + "", + 'lensCorrectionsPanel'}, + {"DefringeGreenAmount", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), + lensCorrections, + "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units. The default spacing for the green sliders is narrow to protect green/yellow image colors, like foliage.", + 'lensCorrectionsPanel'}, + {"DefringeGreenHueLo", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, + "", + 'lensCorrectionsPanel'}, + {"DefringeGreenHueHi", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, + "", + 'lensCorrectionsPanel'}, + {"ResetDefringePurpleAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringePurpleHueLo", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringePurpleHueHi", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringeGreenAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringeGreenHueLo", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringeGreenHueHi", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"LensManualDistortionAmount", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), + lensCorrections, + "Drag to the right to correct barrel distortion and straighten lines that bend away from the center. Drag to the left to correct pincushion distortion and straighten lines that bend toward the center.", + 'lensCorrectionsPanel'}, + {"PerspectiveVertical", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), + lensCorrections, + "Corrects perspective caused by tilting the camera up or down. Makes vertical lines appear parallel.", + 'lensCorrectionsPanel'}, + {"PerspectiveHorizontal", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), + lensCorrections, + "Corrects perspective caused by angling the camera left or right. Makes horizontal lines parallel.", + 'lensCorrectionsPanel'}, + {"PerspectiveRotate", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), + lensCorrections, + "Corrects for camera tilt. Uses the center of the original, uncropped photo as the axis of rotation.", + 'lensCorrectionsPanel'}, + {"PerspectiveScale", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), + lensCorrections, + "Adjusts the image scale up or down. Helps to remove empty areas caused by perspective corrections and distortions. Displays areas of the image that extend beyond the crop boundary.", + 'lensCorrectionsPanel'}, + {"PerspectiveAspect", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), + lensCorrections, + "Adjusts the amount the image is stretched horizontally or vertically.", + 'lensCorrectionsPanel'}, + {"VignetteAmount", + true,true,true,true,false,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), + lensCorrections, + "Sets the amount of lightening or darkening along the edges of an image. Corrects images that have darkened corners caused by lens faults or improper lens shading.", + 'lensCorrectionsPanel'}, + {"VignetteMidpoint", + true,true,true,true,false,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), + lensCorrections, + "Specifies the width of area affected by the Amount slider. Specify a lower number to affect more of the image. Specify a higher number to restrict the effect to the edges of the image.", + 'lensCorrectionsPanel'}, + {"ResetLensManualDistortionAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveVertical", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveHorizontal", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveRotate", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveScale", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveAspect", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetVignetteAmount", + false,false,true,false,true,true, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetVignetteMidpoint", + false,false,true,false,true,true, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"EnableEffects", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableEffects=Enable Effects"), + effects, + "Enable or disable effects. *button*", + 'effectsPanel'}, + {"Dehaze", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), + effects, + "Controls the amount of haze in a photograph. Drag to the right to remove haze; drag to the left to add haze.", + 'effectsPanel'}, + {"PostCropVignetteAmount", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), + effects, + "Negative values darken the corners of the photo. Positive values lighten the corners.", + 'effectsPanel'}, + {"PostCropVignetteMidpoint", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), + effects, + "Lower values apply the Amount adjustment to a larger area away from the corners. Higher values restrict the adjustment to an area closer to the corners.", + 'effectsPanel'}, + {"PostCropVignetteFeather", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), + effects, + "Lower values reduce softening between the vignette and the vignette’s surrounding pixels. Higher values increase the softening.", + 'effectsPanel'}, + {"PostCropVignetteRoundness", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), + effects, + "Lower values make the vignette effect more oval. Higher values make the vignette effect more circular.", + 'effectsPanel'}, + {"PostCropVignetteStyle", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), + effects, + "Cycles through: **Highlight Priority** Enables highlight recovery but can lead to color shifts in darkened areas of a photo. Suitable for photos with bright image areas such as clipped specular highlights. **Color Priority** Minimizes color shifts in darkened areas of a photo but cannot perform highlight recovery. **Paint Overlay** Mixes the cropped image values with black or white pixels. Can result in a flat appearance.", + 'effectsPanel'}, + {"PostCropVignetteHighlightContrast", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), + effects, + "(Highlight Priority and Color Priority only) Controls the degree of highlight contrast preserved when Amount is negative. Suitable for photos with small highlights, such as candles and lamps.", + 'effectsPanel'}, + {"GrainAmount", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), + effects, + "Controls the amount of grain applied to the image. Drag to the right to increase the amount. Set to zero to disable grain.", + 'effectsPanel'}, + {"GrainSize", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), + effects, + "Controls grain particle size. At sizes of 25 or greater, blue is added to make the effect look better with noise reduction.", + 'effectsPanel'}, + {"GrainFrequency", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), + effects, + " Controls the regularity of the grain. Drag to the left to make the grain more uniform; drag to the right to make the grain more uneven.", + 'effectsPanel'}, + {"ResetDehaze", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteMidpoint", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteFeather", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteRoundness", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteStyle", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteHighlightContrast", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetGrainAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetGrainSize", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetGrainFrequency", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"EnableCalibration", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableCalibration=Enable Calibration"), + calibration, + "Enable or disable custom camera calibration. *button*", + 'calibratePanel'}, + {"CameraProfile",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CameraProfile=Camera Profile")}, + {"Profile_Adobe_Standard", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/AdobeStandard=Adobe Standard"), + calibration, + "Applies the Adobe Standard profile. *button*", + 'calibratePanel'}, + {"Profile_Camera_Clear", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraClear=Camera Clear"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Deep", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraDeep=Camera Deep"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Landscape", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraLandscape=Camera Landscape"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Light", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraLight=Camera Light"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Neutral", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraNeutral=Camera Neutral"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Portrait", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraPortrait=Camera Portrait"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Standard", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraStandard=Camera Standard"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Vivid", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraVivid=Camera Vivid"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"ShadowTint", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), + calibration, + "Corrects for any green or magenta tint in the shadow areas of the photo.", + 'calibratePanel'}, + {"RedHue", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), + calibration, + "For the red primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", + 'calibratePanel'}, + {"RedSaturation", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), + calibration, + "For the red primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", + 'calibratePanel'}, + {"GreenHue", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), + calibration, + "For the green primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", + 'calibratePanel'}, + {"GreenSaturation", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), + calibration, + "For the green primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", + 'calibratePanel'}, + {"BlueHue", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), + calibration, + "For the blue primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", + 'calibratePanel'}, + {"BlueSaturation", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), + calibration, + "For the blue primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", + 'calibratePanel'}, + {"ResetShadowTint", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetRedHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetRedSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetGreenHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetGreenSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetBlueHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetBlueSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"Pick", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Help/Shortcuts/SetPick=Set Pick Flag"), + photoActions, + "*button*"}, + {"Reject", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Help/Shortcuts/SetReject=Set Rejected Flag"), + photoActions, + "*button*"}, + {"Next", + false,false,true,false,true,false, + LOC("$$$/AgDevelopShortcuts/Next_Photo=Next Photo"), + photoActions, + "*button*"}, + {"Prev", + false,false,true,false,true,false, + LOC("$$$/AgDevelopShortcuts/Previous_Photo=Previous Photo"), + photoActions, + "*button*"}, + {"Select1Left", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), + 'Photo Actions', + "Extend selection one picture to the left. *button*"}, + {"Select1Right", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), + 'Photo Actions', + "Extend selection one picture to the right. *button*"}, + {"VirtualCopy", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Bezel/CreateVirtualCopy=Create Virtual Copy"):gsub('&',''), + photoActions, + "Creates a virtual copy for each of the currently selected photos and videos. The new virtual copies will be selected. *button*"}, + {"RemoveFlag", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetPick/Unflagged=Unflagged"):gsub('&',''), + photoActions, + "*button*"}, + {"IncreaseRating", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/IncreaseRating=Increase Rating"), + photoActions, + "*button*"}, + {"DecreaseRating", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/DecreaseRating=Decrease Rating"), + photoActions, + "*button*"}, + {"SetRating0", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), + photoActions, + "*button*"}, + {"SetRating1", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), + photoActions, + "*button*"}, + {"SetRating2", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), + photoActions, + "*button*"}, + {"SetRating3", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), + photoActions, + "*button*"}, + {"SetRating4", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), + photoActions, + "*button*"}, + {"SetRating5", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), + photoActions, + "*button*"}, + {"ToggleBlue", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelBlue=Blue")), + photoActions, + "*button*"}, + {"ToggleGreen", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelGreen=Green")), + photoActions, + "*button*"}, + {"ToggleRed", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelRed=Red")), + photoActions, + "*button*"}, + {"TogglePurple", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelPurple=Purple")), + photoActions, + "*button*"}, + {"ToggleYellow", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelYellow=Yellow")), + photoActions, + "*button*"}, + {"ResetAll", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/Ops/ResetSettings=Reset Settings"), + photoActions, + "Reset to defaults. *button*"}, + {"ResetLast", + false,false,true,false,true,false, + reset..' '..LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified"):gsub(':',''), + photoActions, + "Resets the last parameter that was adjusted by an encoder or fader to default. *button*"}, + {"IncrementLastDevelopParameter", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 Increase: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), + photoActions, + "Increments the last parameter that was adjusted by an encoder or fader. *button*"}, + {"DecrementLastDevelopParameter", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 Decrease: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), + photoActions, + "Decrements the last parameter that was adjusted by an encoder or fader. *button*"}, + {"Undo", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawController/SoftProofingVirtualCopyPrompt/Undo=Undo"), + photoActions, + "*button*"}, + {"Redo", + false,false,true,false,true,false, + LOC("$$$/Bezel/RedoTitle=Redo"), + photoActions, + "*button*"}, + {"CopySettings", + false,false,true,false,true,false, + "Copy Settings", + photoActions, + "Copies all develop settings. Application will remember last copy operation and use that for all paste operations until a new *Copy Settings* is done or the application is restarted. *button*"}, + {"PasteSettings", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/Ops/PasteSettings=Paste Settings"), + photoActions, + "Pastes all develop settings. *button*"}, + {"PasteSelectedSettings", + false,false,true,false,true,false, + "Paste Selected Settings", + photoActions, + "Pastes only those settings checked in the **Options⇢Paste Selections** dialog. *button*"}, + {"Preset_1", + false,false,true,false,true,false, + developPreset.." 1", + developPresets, + ""}, + {"Preset_2", + false,false,true,false,true,false, + developPreset.." 2", + developPresets, + ""}, + {"Preset_3", + false,false,true,false,true,false, + developPreset.." 3", + developPresets, + ""}, + {"Preset_4", + false,false,true,false,true,false, + developPreset.." 4", + developPresets, + ""}, + {"Preset_5", + false,false,true,false,true,false, + developPreset.." 5", + developPresets, + ""}, + {"Preset_6", + false,false,true,false,true,false, + developPreset.." 6", + developPresets, + ""}, + {"Preset_7", + false,false,true,false,true,false, + developPreset.." 7", + developPresets, + ""}, + {"Preset_8", + false,false,true,false,true,false, + developPreset.." 8", + developPresets, + ""}, + {"Preset_9", + false,false,true,false,true,false, + developPreset.." 9", + developPresets, + ""}, + {"Preset_10", + false,false,true,false,true,false, + developPreset.." 10", + developPresets, + ""}, + {"Preset_11", + false,false,true,false,true,false, + developPreset.." 11", + developPresets, + ""}, + {"Preset_12", + false,false,true,false,true,false, + developPreset.." 12", + developPresets, + ""}, + {"Preset_13", + false,false,true,false,true,false, + developPreset.." 13", + developPresets, + ""}, + {"Preset_14", + false,false,true,false,true,false, + developPreset.." 14", + developPresets, + ""}, + {"Preset_15", + false,false,true,false,true,false, + developPreset.." 15", + developPresets, + ""}, + {"Preset_16", + false,false,true,false,true,false, + developPreset.." 16", + developPresets, + ""}, + {"Preset_17", + false,false,true,false,true,false, + developPreset.." 17", + developPresets, + ""}, + {"Preset_18", + false,false,true,false,true,false, + developPreset.." 18", + developPresets, + ""}, + {"Preset_19", + false,false,true,false,true,false, + developPreset.." 19", + developPresets, + ""}, + {"Preset_20", + false,false,true,false,true,false, + developPreset.." 20", + developPresets, + ""}, + {"local_Temperature", + false,false,true,true,false,false, + "Local Temperature (PV2012)", + localizedAdjustments, + "Adjust Temperature for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Tint", + false,false,true,true,false,false, + "Local Tint (PV2012)", + localizedAdjustments, + "Adjust Tint for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Exposure", + false,false,true,true,false,false, + "Local Exposure (PV2010 and PV2012)", + localizedAdjustments, + "Adjust Exposure for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Contrast", + false,false,true,true,false,false, + "Local Contrast (PV2010 and PV2012)", + localizedAdjustments, + "Adjust Contrast for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Highlights", + false,false,true,true,false,false, + "Local Highlights (PV2012)", + localizedAdjustments, + "Adjust Highlights for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Shadows", + false,false,true,true,false,false, + "Local Shadows (PV2012)", + localizedAdjustments, + "Adjust Shadows for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Clarity", + false,false,true,true,false,false, + "Local Clarity (PV2010 and PV2012)", + localizedAdjustments, + "Adjust Clarity for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Saturation", + false,false,true,true,false,false, + "Local Saturation (PV2010 and PV2012)", + localizedAdjustments, + "Adjust Saturation for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Sharpness", + false,false,true,true,false,false, + "Local Sharpness (PV2010 and PV 2012)", + localizedAdjustments, + "Adjust Sharpness for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_LuminanceNoise", + false,false,true,true,false,false, + "Local Luminance Noise (PV2012)", + "Localized Adjusments", + "Adjust Luminance Noise for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Moire", + false,false,true,true,false,false, + "Local Moire (PV2012)", + localizedAdjustments, + "Adjust Moire for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Defringe", + false,false,true,true,false,false, + "Local Defringe (PV2012)", + localizedAdjustments, + "Adjust Defringe for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_ToningLuminance", + false,false,true,true,false,false, + "Local Toning Luminance (PV2010)", + localizedAdjustments, + "Adjust Toning Luminance for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"Resetlocal_Temperature", + false,false,true,false,true,false, + "Reset Local Temperature (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Tint", + false,false,true,false,true,false, + "Reset Local Tint (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Exposure", + false,false,true,false,true,false, + "Reset Local Exposure (PV2010 and PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Contrast", + false,false,true,false,true,false, + "Reset Local Contrast (PV2010 and PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Highlights", + false,false,true,false,true,false, + "Reset Local Highlights (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Shadows", + false,false,true,false,true,false, + "Reset Local Shadows (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Clarity", + false,false,true,false,true,false, + "Reset Local Clarity (PV2010 and PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Saturation", + false,false,true,false,true,false, + "Reset Local Saturation (PV2010 and PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Sharpness", + false,false,true,false,true,false, + "Reset Local Sharpness (PV2010 and PV 2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_LuminanceNoise", + false,false,true,false,true,false, + "Reset Local Luminance Noise (PV2012)", + "Localized Adjusments", + "Reset to default. *button*"}, + {"Resetlocal_Moire", + false,false,true,false,true,false, + "Reset Local Moire (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Defringe", + false,false,true,false,true,false, + "Reset Local Defringe (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_ToningLuminance", + false,false,true,false,true,false, + "Reset Local Toning Luminance (PV2010)", + localizedAdjustments, + "Reset to default. *button*"}, + {"EnableCircularGradientBasedCorrections", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), + localizedAdjustments, + "Enable or disable radial filter. *button*"}, + {"EnableGradientBasedCorrections", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), + localizedAdjustments, + "Enable or disable graduated filter. *button*"}, + {"EnablePaintBasedCorrections", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), + localizedAdjustments, + "Enable or disable brush adjustments. *button*"}, + {"EnableRedEye", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), + localizedAdjustments, + "Enable or disable red eye correction. *button*"}, + {"EnableRetouch", + true,true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), + localizedAdjustments, + "Enable or disable spot removal. *button*"}, + {"RetouchInfo",true,true,false,false,true,false,"RetouchInfo"}, + {"ResetCircGrad", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), + localizedAdjustments, + "Delete radial filter. *button*"}, + {"ResetGradient", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), + localizedAdjustments, + "Delete graduated filter. *button*"}, + {"ResetBrushing", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), + localizedAdjustments, + "Delete brush adjustments. *button*"}, + {"ResetRedeye", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), + localizedAdjustments, + "Delete red eye correction. *button*"}, + {"ResetSpotRem", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), + localizedAdjustments, + "Delete spot removal. *button*"}, + {"ZoomInLargeStep", + false,false,true,false,true,false, + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomIn=Zoom In"), + miscellaneous, + "*button*"}, + {"ZoomInSmallStep", + false,false,true,false,true,false, + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomInSome=Zoom In Some"), + miscellaneous, + "*button*"}, + {"ZoomOutSmallStep", + false,false,true,false,true,false, + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOutSome=Zoom Out Some"), + miscellaneous, + "*button*"}, + {"ZoomOutLargeStep", + false,false,true,false,true,false, + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOut=Zoom Out"), + miscellaneous, + "*button*"}, + {"ToggleZoomOffOn", + false,false,true,false,true,false, + "Toggle Zoom Off/On", + miscellaneous, + "*button*"}, + {"orientation",true,true,false,false,true,false,"orientation"}, + {"CropConstrainToWarp",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropConstrainToWarp=Constrain to Warp")}, + {"CropAngle", + true,true,true,true,false,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropAngle=Crop Angle"), + miscellaneous, + "Rotate crop rectangle. This control is constrained to picture boundaries even when \226\128\156constrain to image\226\128\157 is not selected. It also causes the aspect ratio of the crop to change. It may be better to use the [Perspective Rotate in the Lens Corrections](https://github.com/rsjaffe/MIDI2LR/wiki/Commands:-Lens-Correction) set of actions.", + 'crop'}, + {"CropBottom", + true,true,true,true,false,true, + crop..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), + miscellaneous, + "Adjust bottom of crop rectangle.", + 'crop'}, + {"CropLeft", + true,true,true,true,false,true, + crop..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), + miscellaneous, + "Adjust left side of crop rectangle.", + 'crop'}, + {"CropRight", + true,true,true,true,false,true, + crop..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), + miscellaneous, + "Adjust right side of crop rectangle.", + 'crop'}, + {"CropTop", + true,true,true,true,false,true, + crop..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), + miscellaneous, + "Adjust top of crop rectangle.", + 'crop'}, + {"ResetCrop", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetCrop=Reset Crop"), + miscellaneous, + "Reset the crop angle and frame for the current photo. *button*", + 'crop'}, + {"Loupe", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), + gotoToolModulePanel, + "Select Loupe View mode in Develop Module. Repeated press toggles in and out of Loupe View. *button*", + 'loupe'}, + {"CropOverlay", + false,false,true,false,true,false, + show..' '..crop, + gotoToolModulePanel, + "Select Crop Overlay mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"SpotRemoval", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), + gotoToolModulePanel, + "Select Spot Removal mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"RedEyeInfo",true,true,false,false,true,false,LOC("$$$/MIDI2LR/Parameters/RedEyeInfo=Red-Eye Information")}, + {"RedEye", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), + gotoToolModulePanel, + "Select Red Eye mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"GraduatedFilter", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), + gotoToolModulePanel, + "Select Graduated Filter mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"RadialFilter", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), + gotoToolModulePanel, + "Select Radial Filter View mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"AdjustmentBrush", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), + gotoToolModulePanel, + "Select Adjustment Brush mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"SwToMlibrary", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), + gotoToolModulePanel, + "Switch to Library module. *button*"}, + {"SwToMdevelop", + false,false,true,false,true,false, + show..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), + gotoToolModulePanel, + "Switch to Develop module. *button*"}, + {"SwToMmap", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), + gotoToolModulePanel, + "Switch to Map module. *button*"}, + {"SwToMbook", + false,false,true,false,true,false, + show..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), + gotoToolModulePanel, + "Switch to Book module. *button*"}, + {"SwToMslideshow", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), + gotoToolModulePanel, + "Switch to Slideshow module. *button*"}, + {"SwToMprint", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), + gotoToolModulePanel, + "Switch to Print module. *button*"}, + {"SwToMweb", + false,false,true,false,true,false, + show..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), + gotoToolModulePanel, + "Switch to Web module. *button*"}, + {"RevealPanelAdjust", + false,false,true,false,true,false, + show..' '..basicTone, + gotoToolModulePanel, + "Open Basic Adjustments Panel in Develop Module. *button*"}, + {"RevealPanelTone", + false,false,true,false,true,false, + show..' '..toneCurve, + gotoToolModulePanel, + "Open Tone Curve Panel in Develop Module. *button*"}, + {"RevealPanelMixer", + false,false,true,false,true,false, + show..' '..colorAdjustments, + gotoToolModulePanel, + "Open Mixer Panel in Develop Module. *button*"}, + {"RevealPanelSplit", + false,false,true,false,true,false, + show..' '..splitToning, + gotoToolModulePanel, + "Open Split Toning Panel in Develop Module. *button*"}, + {"RevealPanelDetail", + false,false,true,false,true,false, + show..' '..detail, + gotoToolModulePanel, + "Open Detail Panel in Develop Module. *button*"}, + {"RevealPanelLens", + false,false,true,false,true,false, + show..' '..lensCorrections, + gotoToolModulePanel, + "Open Lens Corrections Panel in Develop Module. *button*"}, + {"RevealPanelEffects", + false,false,true,false,true,false, + show..' '..effects, + gotoToolModulePanel, + "Open Effects Panel in Develop Module. *button*"}, + {"RevealPanelCalibrate", + false,false,true,false,true,false, + show..' '..calibration, + gotoToolModulePanel, + "Open Camera Calibration Panel in Develop Module. *button*"}, + {"ShoVwloupe", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), + viewModes, + "Displays a single photo. Zoom levels up to 11:1 are available. *button*"}, + {"ShoVwgrid", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), + viewModes, + "Displays photos as thumbnails in cells, which can be viewed in compact and expanded sizes. *button*"}, + {"ShoVwcompare", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), + viewModes, + "Displays photos side by side so that you can evaluate them. *button*"}, + {"ShoVwsurvey", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), + viewModes, + "Displays the active photo with selected photos so that you can evaluate them. The active photo has the lightest colored cell. *button*"}, + {"ShoVwpeople", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), + viewModes, + "In the People view, the different faces are organized by people stacks. *button*"}, + {"ShoVwdevelop_loupe", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), + viewModes, + "*button*"}, + {"ShoVwdevelop_before_after_horiz", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), + viewModes, + "*button*"}, + {"ShoVwdevelop_before_after_vert", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), + viewModes, + "*button*"}, + {"ShoVwdevelop_before", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), + viewModes, + "*button*"}, + {"ShoScndVwloupe", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), + viewModes, + "Shows Loupe view on the secondary screen, or hides the secondary screen if Loupe view was previously being shown. *button*"}, + {"ShoScndVwlive_loupe", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), + viewModes, + "Shows Live Loupe view on the secondary screen, or hides the secondary screen if Live Loupe view was previously being shown. *button*"}, + {"ShoScndVwlocked_loupe", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), + viewModes, + "Shows Locked Loupe view on the secondary screen, or hides the secondary screen if Locked Loupe view was previously being shown. *button*"}, + {"ShoScndVwgrid", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), + viewModes, + "Shows Grid view on the secondary screen, or hides the secondary screen if Grid view was previously being shown. *button*"}, + {"ShoScndVwcompare", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), + viewModes, + "Shows Compare view on the secondary screen, or hides the secondary screen if Compare view was previously being shown. *button*"}, + {"ShoScndVwsurvey", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), + viewModes, + "Shows Survey view on the secondary screen, or hides the secondary screen if Survey view was previously being shown. *button*"}, + {"ShoScndVwslideshow", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), + viewModes, + "Shows Slideshow view on the secondary screen, or hides the secondary screen if Slideshow view was previously being shown. *button*"}, + {"ToggleScreenTwo", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), + viewModes, + "Toggles the the secondary window on/off. *button*"}, + {"profile1", + false,false,true,false,true,false, + profile.." 1", + profiles, + ""}, + {"profile2", + false,false,true,false,true,false, + profile.." 2", + profiles, + ""}, + {"profile3", + false,false,true,false,true,false, + profile.." 3", + profiles, + ""}, + {"profile4", + false,false,true,false,true,false, + profile.." 4", + profiles, + ""}, + {"profile5", + false,false,true,false,true,false, + profile.." 5", + profiles, + ""}, + {"profile6", + false,false,true,false,true,false, + profile.." 6", + profiles, + ""}, + {"profile7", + false,false,true,false,true,false, + profile.." 7", + profiles, + ""}, + {"profile8", + false,false,true,false,true,false, + profile.." 8", + profiles, + ""}, + {"profile9", + false,false,true,false,true,false, + profile.." 9", + profiles, + ""}, + {"profile10", + false,false,true,false,true,false, + profile.." 10", + profiles, + ""}, + {"TrimEnd",true,true,false,false,true,false,"TrimEnd"}, + {"TrimStart",true,true,false,false,true,false,"TrimStart"}, + } local MenuList = {} local SelectivePasteMenu = {} local SelectivePasteHidden = {} local SelectivePasteIteration = {} +local LimitEligible = {} local SendToMidi = {} -for _,v in ipairs(DataBase) do +local ProfileMap = {} +for i,v in ipairs(DataBase) do if v[4] then table.insert(MenuList,{v[1],v[8],v[9],v[6]}) if v[5] then table.insert(SendToMidi,v[1]) + if v[6] then + LimitEligible[v[1]] = {v[8],i} + end end end if v[3] then @@ -2014,72 +2265,59 @@ for _,v in ipairs(DataBase) do if v[2] then table.insert(SelectivePasteMenu,{v[1],v[8]}) else - table.insert(SelectivePasteHidden,v[1]) + SelectivePasteHidden[v[1]] = v[8] end end -end ---for testing -local testselectpaste = {} -local testcommand = {} -local testsendMIDI = {} -for _,v in ipairs(DataBase) do - if v[3] then - table.insert(testselectpaste,v[1]) - end - if v[1] then - table.insert(testcommand,v[1]) - end - if v[5] then - table.insert(testsendMIDI,v[1]) + if v[11] then + ProfileMap[v[1]] = v[11] end end - local serpent = require 'serpent' local LrPathUtils = import 'LrPathUtils' local datafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') local file = io.open(datafile,'w') file:write([=[ - --[[---------------------------------------------------------------------------- - This file was auto-generated by MIDI2LR and contains the translated menus used - by the app and the plugin. Edits to this file will be lost any time MIDI2LR - is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua - if you want to have persistent changes to the translations or menu structure. +--[[---------------------------------------------------------------------------- +This file was auto-generated by MIDI2LR and contains the translated menus used +by the app and the plugin. Edits to this file will be lost any time MIDI2LR +is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua +if you want to have persistent changes to the translations or menu structure. - This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - MIDI2LR is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or (at your option) any later version. +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. - MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along with - MIDI2LR. If not, see . - ------------------------------------------------------------------------------]] +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] local MenuList = ]=],serpent.block(MenuList, {comment = false})) file:close() datafile = LrPathUtils.child(_PLUGIN.path, 'ParamList.lua') file = io.open(datafile,'w') file:write([=[ - --[[---------------------------------------------------------------------------- - This file was auto-generated by MIDI2LR and contains the parameters used by the - plugin. Edits to this file will be lost any time MIDI2LR is updated or the - language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have - persistent changes to the translations or menu structure. +--[[---------------------------------------------------------------------------- +This file was auto-generated by MIDI2LR and contains the parameters used by the +plugin. Edits to this file will be lost any time MIDI2LR is updated or the +language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have +persistent changes to the translations or menu structure. - This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - MIDI2LR is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or (at your option) any later version. +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. - MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along with - MIDI2LR. If not, see . - ------------------------------------------------------------------------------]] +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] local SelectivePasteMenu = ]=],serpent.block(SelectivePasteMenu, {comment = false}), [==[ local SelectivePasteHidden = ]==],serpent.block(SelectivePasteHidden, {comment = false}), [==[ @@ -2088,10 +2326,15 @@ file:write([=[ local SendToMidi = ]==],serpent.block(SendToMidi, {comment = false}), [==[ - local testcommand = ]==],serpent.block(testcommand, {comment = false}), [==[ - - local testselectpaste = ]==],serpent.block(testselectpaste, {comment = false}), [==[ - - local testsendMIDI = ]==],serpent.block(testsendMIDI, {comment = false}) ) + local ProfileMap = ]==],serpent.block(ProfileMap, {comment = false}), [==[ + + return { + SelectivePasteMenu = SelectivePasteMenu, + SelectivePasteHidden = SelectivePasteHidden, + SelectivePasteIteration = SelectivePasteIteration, + SendToMidi = SendToMidi, + LimitEligible = LimitEligible, + ProfileMap = ProfileMap, + }]==]) file:close() diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index c7afc0156..ded71e217 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -14,8 +14,8 @@ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . - ------------------------------------------------------------------------------]] -local MenuList = { +------------------------------------------------------------------------------]] + local MenuList = { { "WhiteBalanceAs_Shot", "White Balance As Shot", @@ -132,9 +132,9 @@ local MenuList = { }, { "ResetTemperature", - nil, - nil, - false + "Reset Temperature", + "Basic Tone", + true }, { "ResetTint", @@ -1364,43 +1364,43 @@ local MenuList = { "ResetShadowTint", "Reset Shadow Tint Calibration", "Calibration", - false + true }, { "ResetRedHue", "Reset Red Hue Calibration", "Calibration", - false + true }, { "ResetRedSaturation", "Reset Red Saturation Calibration", "Calibration", - false + true }, { "ResetGreenHue", "Reset Green Hue Calibration", "Calibration", - false + true }, { "ResetGreenSaturation", "Reset Green Saturation Calibration", "Calibration", - false + true }, { "ResetBlueHue", "Reset Blue Hue Calibration", "Calibration", - false + true }, { "ResetBlueSaturation", "Reset Blue Saturation Calibration", "Calibration", - false + true }, { "Pick", @@ -1440,15 +1440,15 @@ local MenuList = { }, { "VirtualCopy", - false, - nil, - false + "Create Virtual Copy", + "Photo Actions", + true }, { "RemoveFlag", - false, - nil, - false + "Unflagged", + "Photo Actions", + true }, { "IncreaseRating", @@ -1464,69 +1464,69 @@ local MenuList = { }, { "SetRating0", - false, - nil, - false + "0 Stars", + "Photo Actions", + true }, { "SetRating1", - false, - nil, - false + "1 Star", + "Photo Actions", + true }, { "SetRating2", - false, - nil, - false + "2 Stars", + "Photo Actions", + true }, { "SetRating3", - false, - nil, - false + "3 Stars", + "Photo Actions", + true }, { "SetRating4", - false, - nil, - false + "4 Stars", + "Photo Actions", + true }, { "SetRating5", - false, - nil, - false + "5 Stars", + "Photo Actions", + true }, { "ToggleBlue", - false, - nil, - false + "Label Blue Enable/Disable", + "Photo Actions", + true }, { "ToggleGreen", - false, - nil, - false + "Label Green Enable/Disable", + "Photo Actions", + true }, { "ToggleRed", - false, - nil, - false + "Label Red Enable/Disable", + "Photo Actions", + true }, { "TogglePurple", - false, - nil, - false + "Label Purple Enable/Disable", + "Photo Actions", + true }, { "ToggleYellow", - false, - nil, - false + "Label Yellow Enable/Disable", + "Photo Actions", + true }, { "ResetAll", @@ -1536,21 +1536,21 @@ local MenuList = { }, { "ResetLast", - false, - nil, - false + "Reset Last Modified", + "Photo Actions", + true }, { "IncrementLastDevelopParameter", - false, - nil, - false + "Increase Last Modified", + "Photo Actions", + true }, { "DecrementLastDevelopParameter", - false, - nil, - false + "Decrease Last Modified", + "Photo Actions", + true }, { "Undo", diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua index 1dd351b76..9cc22153c 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua @@ -15,7 +15,31 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] -local SelectivePasteMenu = { + local SelectivePasteMenu = { + { + "ProcessVersion", + "Process Version" + }, + { + "WhiteBalance", + "White Balance" + }, + { + "AutoBrightness", + "Automatic Brightness" + }, + { + "AutoContrast", + "Automatic Contrast" + }, + { + "AutoExposure", + "Automatic Exposure" + }, + { + "AutoShadows", + "Automatic Shadows" + }, { "Temperature", "Temperature" @@ -37,15 +61,27 @@ local SelectivePasteMenu = { "Highlights(Recovery in PV2003 and PV2010)" }, { - "Shadows", - "Shadows(Fill Light in PV2003 and PV2010)" + "Brightness", + "Brightness" }, { - "Whites", + "HighlightRecovery", + "Highlight Recovery (PV2003 and PV2010)" + }, + { + "Shadows2012", + "Shadows" + }, + { + "FillLight", + "Fill Light (PV2003 and PV2010)" + }, + { + "Whites2012", "Whites(no effect in PV2003 and PV2010)" }, { - "Blacks", + "Blacks2012", "Blacks" }, { @@ -61,7 +97,8 @@ local SelectivePasteMenu = { "Saturation" }, { - "ResetTemperature" + "ToneCurve", + "Tone Curve" }, { "ParametricDarks", @@ -91,6 +128,10 @@ local SelectivePasteMenu = { "ParametricHighlightSplit", "Highlight Split" }, + { + "EnableColorAdjustments", + "Enable Color Adjustments" + }, { "SaturationAdjustmentRed", "Saturation Adjustment Red" @@ -187,6 +228,14 @@ local SelectivePasteMenu = { "LuminanceAdjustmentMagenta", "Luminance Adjustment Magenta" }, + { + "ConvertToGrayscale", + "Convert to Grayscale" + }, + { + "EnableGrayscaleMix", + "Enable Grayscale Mix" + }, { "GrayMixerRed", "Gray Mixer Red" @@ -219,6 +268,10 @@ local SelectivePasteMenu = { "GrayMixerMagenta", "Gray Mixer Magenta" }, + { + "EnableSplitToning", + "Enable Split Toning" + }, { "SplitToningShadowHue", "Shadow Hue" @@ -239,6 +292,10 @@ local SelectivePasteMenu = { "SplitToningBalance", "Split Toning Balance" }, + { + "EnableDetail", + "Enable Detail" + }, { "Sharpness", "Sharpness" @@ -279,6 +336,34 @@ local SelectivePasteMenu = { "ColorNoiseReductionSmoothness", "Color Noise Reduction Smoothness" }, + { + "EnableLensCorrections", + "Enable Lens Corrections" + }, + { + "LensProfileEnable", + "Lens Profile Enable" + }, + { + "LensProfileSetup", + "Lens Profile Setup" + }, + { + "AutoLateralCA", + "Remove Chromatic Aberration" + }, + { + "ChromaticAberrationB", + "Blue Chromatic Aberration" + }, + { + "ChromaticAberrationR", + "Red Chromatic Aberration" + }, + { + "PerspectiveUpright", + "Perspective Upright" + }, { "LensProfileDistortionScale", "Lens Profile Distortion Scale" @@ -347,6 +432,10 @@ local SelectivePasteMenu = { "VignetteMidpoint", "Vignette Midpoint" }, + { + "EnableEffects", + "Enable Effects" + }, { "Dehaze", "Dehaze Amount" @@ -387,6 +476,14 @@ local SelectivePasteMenu = { "GrainFrequency", "Grain Roughness" }, + { + "EnableCalibration", + "Enable Calibration" + }, + { + "CameraProfile", + "Camera Profile" + }, { "ShadowTint", "Shadow Tint Calibration" @@ -416,96 +513,36 @@ local SelectivePasteMenu = { "Blue Saturation Calibration" }, { - "ResetShadowTint", - "Reset Shadow Tint Calibration" + "EnableCircularGradientBasedCorrections", + "Enable Radial Filter" }, { - "ResetRedHue", - "Reset Red Hue Calibration" + "EnableGradientBasedCorrections", + "Enable Graduated Filter" }, { - "ResetRedSaturation", - "Reset Red Saturation Calibration" + "EnablePaintBasedCorrections", + "Enable Brush Adjustments" }, { - "ResetGreenHue", - "Reset Green Hue Calibration" + "EnableRedEye", + "Enable Red-Eye" }, { - "ResetGreenSaturation", - "Reset Green Saturation Calibration" + "EnableRetouch", + "Enable Spot Removal" }, { - "ResetBlueHue", - "Reset Blue Hue Calibration" + "RetouchInfo", + "RetouchInfo" }, { - "ResetBlueSaturation", - "Reset Blue Saturation Calibration" + "orientation", + "orientation" }, { - "VirtualCopy", - false - }, - { - "RemoveFlag", - false - }, - { - "SetRating0", - false - }, - { - "SetRating1", - false - }, - { - "SetRating2", - false - }, - { - "SetRating3", - false - }, - { - "SetRating4", - false - }, - { - "SetRating5", - false - }, - { - "ToggleBlue", - false - }, - { - "ToggleGreen", - false - }, - { - "ToggleRed", - false - }, - { - "TogglePurple", - false - }, - { - "ToggleYellow", - false - }, - { - "ResetLast", - false - }, - { - "IncrementLastDevelopParameter", - false - }, - { - "DecrementLastDevelopParameter", - false + "CropConstrainToWarp", + "Constrain to Warp" }, { "CropAngle", @@ -526,22 +563,62 @@ local SelectivePasteMenu = { { "CropTop", "Crop - Top" + }, + { + "RedEyeInfo", + "Red-Eye Information" + }, + { + "TrimEnd", + "TrimEnd" + }, + { + "TrimStart", + "TrimStart" } } -local SelectivePasteHidden = {} -local SelectivePasteIteration = { + local SelectivePasteHidden = { + Clarity2012 = "Clarity", + Contrast2012 = "Contrast", + Exposure2012 = "Exposure", + ToneCurveName = "ToneCurve", + ToneCurveName2012 = "ToneCurve", + ToneCurvePV2012 = "ToneCurve", + ToneCurvePV2012Blue = "ToneCurve", + ToneCurvePV2012Green = "ToneCurve", + ToneCurvePV2012Red = "ToneCurve" +} + local SelectivePasteIteration = { + "ProcessVersion", + "WhiteBalance", + "AutoBrightness", + "AutoContrast", + "AutoExposure", + "AutoShadows", "Temperature", "Tint", "Exposure", + "Exposure2012", "Contrast", + "Contrast2012", "Highlights", - "Shadows", - "Whites", - "Blacks", + "Brightness", + "HighlightRecovery", + "Shadows2012", + "FillLight", + "Whites2012", + "Blacks2012", "Clarity", + "Clarity2012", "Vibrance", "Saturation", - "ResetTemperature", + "ToneCurve", + "ToneCurveName", + "ToneCurveName2012", + "ToneCurvePV2012", + "ToneCurvePV2012Blue", + "ToneCurvePV2012Green", + "ToneCurvePV2012Red", "ParametricDarks", "ParametricLights", "ParametricShadows", @@ -549,6 +626,7 @@ local SelectivePasteIteration = { "ParametricShadowSplit", "ParametricMidtoneSplit", "ParametricHighlightSplit", + "EnableColorAdjustments", "SaturationAdjustmentRed", "SaturationAdjustmentOrange", "SaturationAdjustmentYellow", @@ -573,6 +651,8 @@ local SelectivePasteIteration = { "LuminanceAdjustmentBlue", "LuminanceAdjustmentPurple", "LuminanceAdjustmentMagenta", + "ConvertToGrayscale", + "EnableGrayscaleMix", "GrayMixerRed", "GrayMixerOrange", "GrayMixerYellow", @@ -581,11 +661,13 @@ local SelectivePasteIteration = { "GrayMixerBlue", "GrayMixerPurple", "GrayMixerMagenta", + "EnableSplitToning", "SplitToningShadowHue", "SplitToningShadowSaturation", "SplitToningHighlightHue", "SplitToningHighlightSaturation", "SplitToningBalance", + "EnableDetail", "Sharpness", "SharpenRadius", "SharpenDetail", @@ -596,6 +678,13 @@ local SelectivePasteIteration = { "ColorNoiseReduction", "ColorNoiseReductionDetail", "ColorNoiseReductionSmoothness", + "EnableLensCorrections", + "LensProfileEnable", + "LensProfileSetup", + "AutoLateralCA", + "ChromaticAberrationB", + "ChromaticAberrationR", + "PerspectiveUpright", "LensProfileDistortionScale", "LensProfileChromaticAberrationScale", "LensProfileVignettingScale", @@ -613,6 +702,7 @@ local SelectivePasteIteration = { "PerspectiveAspect", "VignetteAmount", "VignetteMidpoint", + "EnableEffects", "Dehaze", "PostCropVignetteAmount", "PostCropVignetteMidpoint", @@ -623,6 +713,8 @@ local SelectivePasteIteration = { "GrainAmount", "GrainSize", "GrainFrequency", + "EnableCalibration", + "CameraProfile", "ShadowTint", "RedHue", "RedSaturation", @@ -630,36 +722,24 @@ local SelectivePasteIteration = { "GreenSaturation", "BlueHue", "BlueSaturation", - "ResetShadowTint", - "ResetRedHue", - "ResetRedSaturation", - "ResetGreenHue", - "ResetGreenSaturation", - "ResetBlueHue", - "ResetBlueSaturation", - "VirtualCopy", - "RemoveFlag", - "SetRating0", - "SetRating1", - "SetRating2", - "SetRating3", - "SetRating4", - "SetRating5", - "ToggleBlue", - "ToggleGreen", - "ToggleRed", - "TogglePurple", - "ToggleYellow", - "ResetLast", - "IncrementLastDevelopParameter", - "DecrementLastDevelopParameter", + "EnableCircularGradientBasedCorrections", + "EnableGradientBasedCorrections", + "EnablePaintBasedCorrections", + "EnableRedEye", + "EnableRetouch", + "RetouchInfo", + "orientation", + "CropConstrainToWarp", "CropAngle", "CropBottom", "CropLeft", "CropRight", - "CropTop" -} -local SendToMidi = { + "CropTop", + "RedEyeInfo", + "TrimEnd", + "TrimStart" +} + local SendToMidi = { "Temperature", "Tint", "Exposure", @@ -759,13 +839,6 @@ local SendToMidi = { "GreenSaturation", "BlueHue", "BlueSaturation", - "ResetShadowTint", - "ResetRedHue", - "ResetRedSaturation", - "ResetGreenHue", - "ResetGreenSaturation", - "ResetBlueHue", - "ResetBlueSaturation", "local_Temperature", "local_Tint", "local_Exposure", @@ -784,8 +857,251 @@ local SendToMidi = { "CropLeft", "CropRight", "CropTop" -} -local testcommand = { +} + local ProfileMap = { + AutoLateralCA = "lensCorrectionsPanel", + Blacks = "adjustPanel", + BlueHue = "calibratePanel", + BlueSaturation = "calibratePanel", + Brightness = "adjustPanel", + Clarity = "adjustPanel", + ColorNoiseReduction = "detailPanel", + ColorNoiseReductionDetail = "detailPanel", + ColorNoiseReductionSmoothness = "detailPanel", + Contrast = "adjustPanel", + ConvertToGrayscale = "tonePanel", + CropAngle = "crop", + CropBottom = "crop", + CropLeft = "crop", + CropRight = "crop", + CropTop = "crop", + DefringeGreenAmount = "lensCorrectionsPanel", + DefringeGreenHueHi = "lensCorrectionsPanel", + DefringeGreenHueLo = "lensCorrectionsPanel", + DefringePurpleAmount = "lensCorrectionsPanel", + DefringePurpleHueHi = "lensCorrectionsPanel", + DefringePurpleHueLo = "lensCorrectionsPanel", + Dehaze = "effectsPanel", + EnableCalibration = "calibratePanel", + EnableColorAdjustments = "tonePanel", + EnableDetail = "detailPanel", + EnableEffects = "effectsPanel", + EnableGrayscaleMix = "tonePanel", + EnableLensCorrections = "lensCorrectionsPanel", + EnableSplitToning = "splitToningPanel", + Exposure = "adjustPanel", + GrainAmount = "effectsPanel", + GrainFrequency = "effectsPanel", + GrainSize = "effectsPanel", + GrayMixerAqua = "tonePanel", + GrayMixerBlue = "tonePanel", + GrayMixerGreen = "tonePanel", + GrayMixerMagenta = "tonePanel", + GrayMixerOrange = "tonePanel", + GrayMixerPurple = "tonePanel", + GrayMixerRed = "tonePanel", + GrayMixerYellow = "tonePanel", + GreenHue = "calibratePanel", + GreenSaturation = "calibratePanel", + Highlights = "adjustPanel", + HueAdjustmentAqua = "tonePanel", + HueAdjustmentBlue = "tonePanel", + HueAdjustmentGreen = "tonePanel", + HueAdjustmentMagenta = "tonePanel", + HueAdjustmentOrange = "tonePanel", + HueAdjustmentPurple = "tonePanel", + HueAdjustmentRed = "tonePanel", + HueAdjustmentYellow = "tonePanel", + LensManualDistortionAmount = "lensCorrectionsPanel", + LensProfileChromaticAberrationScale = "lensCorrectionsPanel", + LensProfileDistortionScale = "lensCorrectionsPanel", + LensProfileEnable = "lensCorrectionsPanel", + LensProfileVignettingScale = "lensCorrectionsPanel", + Loupe = "loupe", + LuminanceAdjustmentAqua = "tonePanel", + LuminanceAdjustmentBlue = "tonePanel", + LuminanceAdjustmentGreen = "tonePanel", + LuminanceAdjustmentMagenta = "tonePanel", + LuminanceAdjustmentOrange = "tonePanel", + LuminanceAdjustmentPurple = "tonePanel", + LuminanceAdjustmentRed = "tonePanel", + LuminanceAdjustmentYellow = "tonePanel", + LuminanceNoiseReductionContrast = "detailPanel", + LuminanceNoiseReductionDetail = "detailPanel", + LuminanceSmoothing = "detailPanel", + ParametricDarks = "tonePanel", + ParametricHighlightSplit = "tonePanel", + ParametricHighlights = "tonePanel", + ParametricLights = "tonePanel", + ParametricMidtoneSplit = "tonePanel", + ParametricShadowSplit = "tonePanel", + ParametricShadows = "tonePanel", + PerspectiveAspect = "lensCorrectionsPanel", + PerspectiveHorizontal = "lensCorrectionsPanel", + PerspectiveRotate = "lensCorrectionsPanel", + PerspectiveScale = "lensCorrectionsPanel", + PerspectiveVertical = "lensCorrectionsPanel", + PostCropVignetteAmount = "effectsPanel", + PostCropVignetteFeather = "effectsPanel", + PostCropVignetteHighlightContrast = "effectsPanel", + PostCropVignetteMidpoint = "effectsPanel", + PostCropVignetteRoundness = "effectsPanel", + PostCropVignetteStyle = "effectsPanel", + Profile_Adobe_Standard = "calibratePanel", + Profile_Camera_Clear = "calibratePanel", + Profile_Camera_Deep = "calibratePanel", + Profile_Camera_Landscape = "calibratePanel", + Profile_Camera_Light = "calibratePanel", + Profile_Camera_Neutral = "calibratePanel", + Profile_Camera_Portrait = "calibratePanel", + Profile_Camera_Standard = "calibratePanel", + Profile_Camera_Vivid = "calibratePanel", + RedHue = "calibratePanel", + RedSaturation = "calibratePanel", + ResetBlacks = "adjustPanel", + ResetBlueHue = "calibratePanel", + ResetBlueSaturation = "calibratePanel", + ResetClarity = "adjustPanel", + ResetColorNoiseReduction = "detailPanel", + ResetColorNoiseReductionDetail = "detailPanel", + ResetColorNoiseReductionSmoothness = "detailPanel", + ResetContrast = "adjustPanel", + ResetCrop = "crop", + ResetDefringeGreenAmount = "lensCorrectionsPanel", + ResetDefringeGreenHueHi = "lensCorrectionsPanel", + ResetDefringeGreenHueLo = "lensCorrectionsPanel", + ResetDefringePurpleAmount = "lensCorrectionsPanel", + ResetDefringePurpleHueHi = "lensCorrectionsPanel", + ResetDefringePurpleHueLo = "lensCorrectionsPanel", + ResetDehaze = "effectsPanel", + ResetExposure = "adjustPanel", + ResetGrainAmount = "effectsPanel", + ResetGrainFrequency = "effectsPanel", + ResetGrainSize = "effectsPanel", + ResetGrayMixerAqua = "tonePanel", + ResetGrayMixerBlue = "tonePanel", + ResetGrayMixerGreen = "tonePanel", + ResetGrayMixerMagenta = "tonePanel", + ResetGrayMixerOrange = "tonePanel", + ResetGrayMixerPurple = "tonePanel", + ResetGrayMixerRed = "tonePanel", + ResetGrayMixerYellow = "tonePanel", + ResetGreenHue = "calibratePanel", + ResetGreenSaturation = "calibratePanel", + ResetHighlights = "adjustPanel", + ResetHueAdjustmentAqua = "tonePanel", + ResetHueAdjustmentBlue = "tonePanel", + ResetHueAdjustmentGreen = "tonePanel", + ResetHueAdjustmentMagenta = "tonePanel", + ResetHueAdjustmentOrange = "tonePanel", + ResetHueAdjustmentPurple = "tonePanel", + ResetHueAdjustmentRed = "tonePanel", + ResetHueAdjustmentYellow = "tonePanel", + ResetLensManualDistortionAmount = "lensCorrectionsPanel", + ResetLensProfileChromaticAberrationScale = "lensCorrectionsPanel", + ResetLensProfileDistortionScale = "lensCorrectionsPanel", + ResetLensProfileVignettingScale = "lensCorrectionsPanel", + ResetLuminanceAdjustmentAqua = "tonePanel", + ResetLuminanceAdjustmentBlue = "tonePanel", + ResetLuminanceAdjustmentGreen = "tonePanel", + ResetLuminanceAdjustmentMagenta = "tonePanel", + ResetLuminanceAdjustmentOrange = "tonePanel", + ResetLuminanceAdjustmentPurple = "tonePanel", + ResetLuminanceAdjustmentRed = "tonePanel", + ResetLuminanceAdjustmentYellow = "tonePanel", + ResetLuminanceNoiseReductionContrast = "detailPanel", + ResetLuminanceNoiseReductionDetail = "detailPanel", + ResetLuminanceSmoothing = "detailPanel", + ResetParametricDarks = "tonePanel", + ResetParametricHighlightSplit = "tonePanel", + ResetParametricHighlights = "tonePanel", + ResetParametricLights = "tonePanel", + ResetParametricMidtoneSplit = "tonePanel", + ResetParametricShadowSplit = "tonePanel", + ResetParametricShadows = "tonePanel", + ResetPerspectiveAspect = "lensCorrectionsPanel", + ResetPerspectiveHorizontal = "lensCorrectionsPanel", + ResetPerspectiveRotate = "lensCorrectionsPanel", + ResetPerspectiveScale = "lensCorrectionsPanel", + ResetPerspectiveUpright = "lensCorrectionsPanel", + ResetPerspectiveVertical = "lensCorrectionsPanel", + ResetPostCropVignetteAmount = "effectsPanel", + ResetPostCropVignetteFeather = "effectsPanel", + ResetPostCropVignetteHighlightContrast = "effectsPanel", + ResetPostCropVignetteMidpoint = "effectsPanel", + ResetPostCropVignetteRoundness = "effectsPanel", + ResetPostCropVignetteStyle = "effectsPanel", + ResetRedHue = "calibratePanel", + ResetRedSaturation = "calibratePanel", + ResetSaturation = "adjustPanel", + ResetSaturationAdjustmentAqua = "tonePanel", + ResetSaturationAdjustmentBlue = "tonePanel", + ResetSaturationAdjustmentGreen = "tonePanel", + ResetSaturationAdjustmentMagenta = "tonePanel", + ResetSaturationAdjustmentOrange = "tonePanel", + ResetSaturationAdjustmentPurple = "tonePanel", + ResetSaturationAdjustmentRed = "tonePanel", + ResetSaturationAdjustmentYellow = "tonePanel", + ResetShadowTint = "calibratePanel", + ResetShadows = "adjustPanel", + ResetSharpenDetail = "detailPanel", + ResetSharpenEdgeMasking = "detailPanel", + ResetSharpenRadius = "detailPanel", + ResetSharpness = "detailPanel", + ResetSplitToningBalance = "splitToningPanel", + ResetSplitToningHighlightHue = "splitToningPanel", + ResetSplitToningHighlightSaturation = "splitToningPanel", + ResetSplitToningShadowHue = "splitToningPanel", + ResetSplitToningShadowSaturation = "splitToningPanel", + ResetTemperature = "adjustPanel", + ResetTint = "adjustPanel", + ResetVibrance = "adjustPanel", + ResetVignetteAmount = "lensCorrectionsPanel", + ResetVignetteMidpoint = "lensCorrectionsPanel", + ResetWhites = "adjustPanel", + Saturation = "adjustPanel", + SaturationAdjustmentAqua = "tonePanel", + SaturationAdjustmentBlue = "tonePanel", + SaturationAdjustmentGreen = "tonePanel", + SaturationAdjustmentMagenta = "tonePanel", + SaturationAdjustmentOrange = "tonePanel", + SaturationAdjustmentPurple = "tonePanel", + SaturationAdjustmentRed = "tonePanel", + SaturationAdjustmentYellow = "tonePanel", + ShadowTint = "calibratePanel", + Shadows = "adjustPanel", + SharpenDetail = "detailPanel", + SharpenEdgeMasking = "detailPanel", + SharpenRadius = "detailPanel", + Sharpness = "detailPanel", + SplitToningBalance = "splitToningPanel", + SplitToningHighlightHue = "splitToningPanel", + SplitToningHighlightSaturation = "splitToningPanel", + SplitToningShadowHue = "splitToningPanel", + SplitToningShadowSaturation = "splitToningPanel", + Temperature = "adjustPanel", + Tint = "adjustPanel", + UprightAuto = "lensCorrectionsPanel", + UprightFull = "lensCorrectionsPanel", + UprightLevel = "lensCorrectionsPanel", + UprightOff = "lensCorrectionsPanel", + UprightVertical = "lensCorrectionsPanel", + Vibrance = "adjustPanel", + VignetteAmount = "lensCorrectionsPanel", + VignetteMidpoint = "lensCorrectionsPanel", + WhiteBalanceAs_Shot = "adjustPanel", + WhiteBalanceAuto = "adjustPanel", + WhiteBalanceCloudy = "adjustPanel", + WhiteBalanceDaylight = "adjustPanel", + WhiteBalanceFlash = "adjustPanel", + WhiteBalanceFluorescent = "adjustPanel", + WhiteBalanceShade = "adjustPanel", + WhiteBalanceTungsten = "adjustPanel", + Whites = "adjustPanel" +} + local testcommand = { + "ProcessVersion", + "WhiteBalance", "WhiteBalanceAs_Shot", "WhiteBalanceAuto", "WhiteBalanceCloudy", @@ -794,15 +1110,28 @@ local testcommand = { "WhiteBalanceFluorescent", "WhiteBalanceShade", "WhiteBalanceTungsten", + "AutoBrightness", + "AutoContrast", + "AutoExposure", + "AutoShadows", "Temperature", "Tint", "Exposure", + "Exposure2012", "Contrast", + "Contrast2012", "Highlights", + "Brightness", + "HighlightRecovery", "Shadows", + "Shadows2012", + "FillLight", "Whites", + "Whites2012", "Blacks", + "Blacks2012", "Clarity", + "Clarity2012", "Vibrance", "Saturation", "ResetTemperature", @@ -816,6 +1145,13 @@ local testcommand = { "ResetClarity", "ResetVibrance", "ResetSaturation", + "ToneCurve", + "ToneCurveName", + "ToneCurveName2012", + "ToneCurvePV2012", + "ToneCurvePV2012Blue", + "ToneCurvePV2012Green", + "ToneCurvePV2012Red", "ParametricDarks", "ParametricLights", "ParametricShadows", @@ -931,7 +1267,11 @@ local testcommand = { "ResetColorNoiseReductionSmoothness", "EnableLensCorrections", "LensProfileEnable", + "LensProfileSetup", "AutoLateralCA", + "ChromaticAberrationB", + "ChromaticAberrationR", + "PerspectiveUpright", "UprightOff", "UprightAuto", "UprightLevel", @@ -994,6 +1334,7 @@ local testcommand = { "ResetGrainSize", "ResetGrainFrequency", "EnableCalibration", + "CameraProfile", "Profile_Adobe_Standard", "Profile_Camera_Clear", "Profile_Camera_Deep", @@ -1098,6 +1439,7 @@ local testcommand = { "EnablePaintBasedCorrections", "EnableRedEye", "EnableRetouch", + "RetouchInfo", "ResetCircGrad", "ResetGradient", "ResetBrushing", @@ -1108,6 +1450,8 @@ local testcommand = { "ZoomOutSmallStep", "ZoomOutLargeStep", "ToggleZoomOffOn", + "orientation", + "CropConstrainToWarp", "CropAngle", "CropBottom", "CropLeft", @@ -1117,6 +1461,7 @@ local testcommand = { "Loupe", "CropOverlay", "SpotRemoval", + "RedEyeInfo", "RedEye", "GraduatedFilter", "RadialFilter", @@ -1162,21 +1507,41 @@ local testcommand = { "profile7", "profile8", "profile9", - "profile10" -} -local testselectpaste = { + "profile10", + "TrimEnd", + "TrimStart" +} + local testselectpaste = { + "ProcessVersion", + "WhiteBalance", + "AutoBrightness", + "AutoContrast", + "AutoExposure", + "AutoShadows", "Temperature", "Tint", "Exposure", + "Exposure2012", "Contrast", + "Contrast2012", "Highlights", - "Shadows", - "Whites", - "Blacks", + "Brightness", + "HighlightRecovery", + "Shadows2012", + "FillLight", + "Whites2012", + "Blacks2012", "Clarity", + "Clarity2012", "Vibrance", "Saturation", - "ResetTemperature", + "ToneCurve", + "ToneCurveName", + "ToneCurveName2012", + "ToneCurvePV2012", + "ToneCurvePV2012Blue", + "ToneCurvePV2012Green", + "ToneCurvePV2012Red", "ParametricDarks", "ParametricLights", "ParametricShadows", @@ -1184,6 +1549,7 @@ local testselectpaste = { "ParametricShadowSplit", "ParametricMidtoneSplit", "ParametricHighlightSplit", + "EnableColorAdjustments", "SaturationAdjustmentRed", "SaturationAdjustmentOrange", "SaturationAdjustmentYellow", @@ -1208,6 +1574,8 @@ local testselectpaste = { "LuminanceAdjustmentBlue", "LuminanceAdjustmentPurple", "LuminanceAdjustmentMagenta", + "ConvertToGrayscale", + "EnableGrayscaleMix", "GrayMixerRed", "GrayMixerOrange", "GrayMixerYellow", @@ -1216,11 +1584,13 @@ local testselectpaste = { "GrayMixerBlue", "GrayMixerPurple", "GrayMixerMagenta", + "EnableSplitToning", "SplitToningShadowHue", "SplitToningShadowSaturation", "SplitToningHighlightHue", "SplitToningHighlightSaturation", "SplitToningBalance", + "EnableDetail", "Sharpness", "SharpenRadius", "SharpenDetail", @@ -1231,6 +1601,13 @@ local testselectpaste = { "ColorNoiseReduction", "ColorNoiseReductionDetail", "ColorNoiseReductionSmoothness", + "EnableLensCorrections", + "LensProfileEnable", + "LensProfileSetup", + "AutoLateralCA", + "ChromaticAberrationB", + "ChromaticAberrationR", + "PerspectiveUpright", "LensProfileDistortionScale", "LensProfileChromaticAberrationScale", "LensProfileVignettingScale", @@ -1248,6 +1625,7 @@ local testselectpaste = { "PerspectiveAspect", "VignetteAmount", "VignetteMidpoint", + "EnableEffects", "Dehaze", "PostCropVignetteAmount", "PostCropVignetteMidpoint", @@ -1258,6 +1636,8 @@ local testselectpaste = { "GrainAmount", "GrainSize", "GrainFrequency", + "EnableCalibration", + "CameraProfile", "ShadowTint", "RedHue", "RedSaturation", @@ -1265,36 +1645,24 @@ local testselectpaste = { "GreenSaturation", "BlueHue", "BlueSaturation", - "ResetShadowTint", - "ResetRedHue", - "ResetRedSaturation", - "ResetGreenHue", - "ResetGreenSaturation", - "ResetBlueHue", - "ResetBlueSaturation", - "VirtualCopy", - "RemoveFlag", - "SetRating0", - "SetRating1", - "SetRating2", - "SetRating3", - "SetRating4", - "SetRating5", - "ToggleBlue", - "ToggleGreen", - "ToggleRed", - "TogglePurple", - "ToggleYellow", - "ResetLast", - "IncrementLastDevelopParameter", - "DecrementLastDevelopParameter", + "EnableCircularGradientBasedCorrections", + "EnableGradientBasedCorrections", + "EnablePaintBasedCorrections", + "EnableRedEye", + "EnableRetouch", + "RetouchInfo", + "orientation", + "CropConstrainToWarp", "CropAngle", "CropBottom", "CropLeft", "CropRight", - "CropTop" -} -local testsendMIDI = { + "CropTop", + "RedEyeInfo", + "TrimEnd", + "TrimStart" +} + local testsendMIDI = { "Temperature", "Tint", "Exposure", @@ -1394,13 +1762,6 @@ local testsendMIDI = { "GreenSaturation", "BlueHue", "BlueSaturation", - "ResetShadowTint", - "ResetRedHue", - "ResetRedSaturation", - "ResetGreenHue", - "ResetGreenSaturation", - "ResetBlueHue", - "ResetBlueSaturation", "local_Temperature", "local_Tint", "local_Exposure", @@ -1419,4 +1780,12 @@ local testsendMIDI = { "CropLeft", "CropRight", "CropTop" -} \ No newline at end of file +} + return { + SelectivePasteMenu = SelectivePasteMenu, + SelectivePasteHidden = SelectivePasteHidden, + SelectivePasteIteration = SelectivePasteIteration, + SendToMidi = SendToMidi, + LimitEligible = LimitEligible, + ProfileMap = ProfileMap, + } \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua deleted file mode 100644 index ed72c442d..000000000 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Parameters.lua +++ /dev/null @@ -1,237 +0,0 @@ ---[[---------------------------------------------------------------------------- - -Parameters.lua -List of develop params - -Parameters.Names table. Key = short name. Value = {[1]=Friendly name,[2]=rank order,[3]panel used} -Parameters.Order table(array). Key = rank order. Value = short name. - -This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - -MIDI2LR is free software: you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later version. - -MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with -MIDI2LR. If not, see . -------------------------------------------------------------------------------]] - ---[[ debugging section. reduce --- to -- to comment out -local function LOC(a) - local idx = a:find("=",1,true) - return a:sub(idx+1) -end --- current status: module tested independently and passed ---]] -- http://notebook.kulchenko.com/zerobrane/debugging-lightroom-plugins-zerobrane-studio-ide - -local Names = { - Temperature = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), 10, 'adjustPanel'}, - Tint = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), 20, 'adjustPanel'}, - Exposure = {LOC("$$$/AgCameraRawUI/Exposure=Exposure"), 30, 'adjustPanel'}, --- Exposure2012 = {LOC("$$$/AgCameraRawUI/Exposure=Exposure")..' 2012', 35, 'adjustPanel'}, - Highlights = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), 40, 'adjustPanel'}, --- Highlights2012 = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..' 2012', 45, 'adjustPanel'}, - Shadows = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), 50, 'adjustPanel'}, --- Shadows2012 = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..' 2012', 55, 'adjustPanel'}, - Contrast = {LOC("$$$/AgCameraRawUI/Contrast=Contrast"), 60, 'adjustPanel'}, --- Contrast2012 = {LOC("$$$/AgCameraRawUI/Contrast=Contrast")..' 2012', 65, 'adjustPanel'}, - Whites = {LOC("$$$/AgCameraRawUI/Whites=Whites"), 70, 'adjustPanel'}, --- Whites2012 = {LOC("$$$/AgCameraRawUI/Whites=Whites")..'2012', 75, 'adjustPanel'}, - Blacks = {LOC("$$$/AgCameraRawUI/Blacks=Blacks"), 80, 'adjustPanel'}, --- Blacks2012 = {LOC("$$$/AgCameraRawUI/Blacks=Blacks")..' 2012', 85, 'adjustPanel'}, - Clarity = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), 90, 'adjustPanel'}, --- Clarity2012 = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity")..'2012', 95, 'adjustPanel'}, - Vibrance = {LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), 100, 'adjustPanel'}, - Saturation = {LOC("$$$/AgCameraRawUI/Saturation=Saturation"), 110, 'adjustPanel'}, - -- Tone - ParametricDarks = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Parametric Darks"), 120, 'tonePanel'}, - ParametricLights = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Parametric Lights"), 130, 'tonePanel'}, - ParametricShadows = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Parametric Shadows"), 140, 'tonePanel'}, - ParametricHighlights = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Parametric Highlights"), 150, 'tonePanel'}, - ParametricShadowSplit = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Parametric Shadow Split"), 160, 'tonePanel'}, - ParametricMidtoneSplit = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Parametric Midtone Split"), 170, 'tonePanel'}, - ParametricHighlightSplit = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Parametric Highlight Split"), 180, 'tonePanel'}, - -- Mixer - SaturationAdjustmentRed = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), 190, 'mixerPanel'}, - SaturationAdjustmentOrange = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), 200, 'mixerPanel'}, - SaturationAdjustmentYellow = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), 210, 'mixerPanel'}, - SaturationAdjustmentGreen = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), 220, 'mixerPanel'}, - SaturationAdjustmentAqua = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), 230, 'mixerPanel'}, - SaturationAdjustmentBlue = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), 240, 'mixerPanel'}, - SaturationAdjustmentPurple = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), 250, 'mixerPanel'}, - SaturationAdjustmentMagenta = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), 260, 'mixerPanel'}, - HueAdjustmentRed = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), 270, 'mixerPanel'}, - HueAdjustmentOrange = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), 280, 'mixerPanel'}, - HueAdjustmentYellow = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), 290, 'mixerPanel'}, - HueAdjustmentGreen = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), 300, 'mixerPanel'}, - HueAdjustmentAqua = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), 310, 'mixerPanel'}, - HueAdjustmentBlue = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), 320, 'mixerPanel'}, - HueAdjustmentPurple = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), 330, 'mixerPanel'}, - HueAdjustmentMagenta = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), 340, 'mixerPanel'}, - LuminanceAdjustmentRed = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), 350, 'mixerPanel'}, - LuminanceAdjustmentOrange = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), 360, 'mixerPanel'}, - LuminanceAdjustmentYellow = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), 370, 'mixerPanel'}, - LuminanceAdjustmentGreen = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), 380, 'mixerPanel'}, - LuminanceAdjustmentAqua = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), 390, 'mixerPanel'}, - LuminanceAdjustmentBlue = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), 400, 'mixerPanel'}, - LuminanceAdjustmentPurple = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), 410, 'mixerPanel'}, - LuminanceAdjustmentMagenta = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), 420, 'mixerPanel'}, - GrayMixerRed = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), 430, 'mixerPanel'}, - GrayMixerOrange = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), 440, 'mixerPanel'}, - GrayMixerYellow = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), 450, 'mixerPanel'}, - GrayMixerGreen = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), 460, 'mixerPanel'}, - GrayMixerAqua = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), 470, 'mixerPanel'}, - GrayMixerBlue = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), 480, 'mixerPanel'}, - GrayMixerPurple = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), 490, 'mixerPanel'}, - GrayMixerMagenta = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), 500, 'mixerPanel'}, - -- Split Toning - SplitToningShadowHue = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Split Toning Shadow Hue"), 510, 'splitToningPanel'}, - SplitToningShadowSaturation = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Split Toning Shadow Saturation"), 520, 'splitToningPanel'}, - SplitToningHighlightHue = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Split Toning Highlight Hue"), 530, 'splitToningPanel'}, - SplitToningHighlightSaturation = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Split Toning Highlight Saturation"), 540, 'splitToningPanel'}, - SplitToningBalance = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), 550, 'splitToningPanel'}, - -- Detail - Sharpness = {LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), 560, 'detailPanel'}, - SharpenRadius = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), 570, 'detailPanel'}, - SharpenDetail = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), 580, 'detailPanel'}, - SharpenEdgeMasking = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), 590, 'detailPanel'}, - LuminanceSmoothing = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), 600, 'detailPanel'}, - LuminanceNoiseReductionDetail = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Noise Reduction Detail"), 610, 'detailPanel'}, - LuminanceNoiseReductionContrast = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Noise Reduction Contrast"), 620, 'detailPanel'}, - ColorNoiseReduction = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), 630, 'detailPanel'}, - ColorNoiseReductionDetail = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), 640, 'detailPanel'}, - ColorNoiseReductionSmoothness = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), 650, 'detailPanel'}, - -- Lens Correction - LensProfileDistortionScale = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), 660, 'lensCorrectionsPanel'}, - LensProfileChromaticAberrationScale = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), 670, 'lensCorrectionsPanel'}, - LensProfileVignettingScale = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), 680, 'lensCorrectionsPanel'}, - LensManualDistortionAmount = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), 690, 'lensCorrectionsPanel'}, - DefringePurpleAmount = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), 700, 'lensCorrectionsPanel'}, - DefringePurpleHueLo = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), 710, 'lensCorrectionsPanel'}, - DefringePurpleHueHi = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), 730, 'lensCorrectionsPanel'}, - DefringeGreenAmount = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), 740, 'lensCorrectionsPanel'}, - DefringeGreenHueLo = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), 750, 'lensCorrectionsPanel'}, - DefringeGreenHueHi = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), 760, 'lensCorrectionsPanel'}, - PerspectiveVertical = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), 770, 'lensCorrectionsPanel'}, - PerspectiveHorizontal = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), 780, 'lensCorrectionsPanel'}, - PerspectiveRotate = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), 790, 'lensCorrectionsPanel'}, - PerspectiveScale = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), 800, 'lensCorrectionsPanel'}, - PerspectiveAspect = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), 810, 'lensCorrectionsPanel'}, - PerspectiveUpright = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveUpright=Perspective Upright"), 820, 'lensCorrectionsPanel'}, - -- Effects - Dehaze = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), 830, 'effectsPanel'}, - PostCropVignetteAmount = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), 840, 'effectsPanel'}, - PostCropVignetteMidpoint = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), 850, 'effectsPanel'}, - PostCropVignetteFeather = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), 860, 'effectsPanel'}, - PostCropVignetteRoundness = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), 870, 'effectsPanel'}, - PostCropVignetteStyle = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), 880, 'effectsPanel'}, - PostCropVignetteHighlightContrast = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), 890, 'effectsPanel'}, - GrainAmount = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), 900, 'effectsPanel'}, - GrainSize = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), 910, 'effectsPanel'}, - GrainFrequency = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), 920, 'effectsPanel'}, - -- Calibrate - ShadowTint = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), 930, 'calibratePanel'}, - RedHue = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), 940, 'calibratePanel'}, - RedSaturation = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), 950, 'calibratePanel'}, - GreenHue = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), 960, 'calibratePanel'}, - GreenSaturation = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), 970, 'calibratePanel'}, - BlueHue = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), 980, 'calibratePanel'}, - BlueSaturation = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), 990, 'calibratePanel'}, - -- Experimental, shown in copy settings but not in documentation; enabled one-by-one after testing identifies functionality - AutoLateralCA = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RemoveChromaticAberration=Remove Chromatic Aberration"), 1000, 'lensCorrectionsPanel'}, --0 off 1 on --noloc - CameraProfile = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CameraProfile=Camera Profile"), 1010, 'calibratePanel'}, --text "Adobe Standard"), 10, ''}, 'Camera Clear', Deep Landscape Light Neutral Protrait Standard Vivid - ConvertToGrayscale = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ConvertToGrayscale=Convert to Grayscale"), 1020, 'mixerPanel'}, -- enabled in app - CropAngle = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropAngle=Crop Angle"), 1030, 'crop'}, -- enabled in app - CropBottom = {LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), 1040, 'crop'}, -- enabled in app - CropConstrainToWarp = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropConstrainToWarp=Constrain to Warp"), 1050, 'crop'}, --0 - CropLeft = {LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), 1060, 'crop'}, -- enabled in app - CropRight = {LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), 1070, 'crop'}, -- enabled in app - CropTop = {LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop")..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), 1080, 'crop'}, -- enabled in app - EnableCalibration = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableCalibration=Enable Calibration"), 1090, 'calibratePanel'}, -- enabled in app - EnableCircularGradientBasedCorrections = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), 1100, 'circularGradient'}, -- enabled in app - EnableColorAdjustments = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableColorAdjustments=Enable Color Adjustments"), 1110, 'mixerPanel'}, -- enabled in app - EnableDetail = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), 1120, 'detailPanel'}, -- enabled in app - EnableEffects = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableEffects=Enable Effects"), 1130, 'effectsPanel'}, -- enabled in app - EnableGradientBasedCorrections = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), 1140, 'gradient'}, -- enabled in app - EnableGrayscaleMix = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGrayscaleMix=Enable Grayscale Mix"), 1150, 'mixerPanel'}, -- enabled in app - EnableLensCorrections = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), 1160, 'lensCorrectionsPanel'}, -- enabled in app - EnablePaintBasedCorrections = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), 1170, 'localized'}, - EnableRedEye = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), 1180, 'redeye'}, -- enabled in app - EnableRetouch = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), 1190, 'dust'}, -- enabled in app - EnableSplitToning = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSplitToning=Enable Split Toning"), 1200, 'splitToningPanel'}, -- enabled in app - LensProfileEnable = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileEnable=Enable Lens Corrections"), 1210, 'lensCorrectionsPanel'},--1 on 0 off - VignetteAmount = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), 1220, 'lensCorrectionsPanel'}, -- 0 --this affects lens vignetting in manual tab of lens corrections - VignetteMidpoint = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), 1230, 'lensCorrectionsPanel'}, -- 50 --this affects lens vignetting in manual tab of lens corrections - WhiteBalance = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance"), 1240, 'adjustPanel'}, -- enabled in app - --don't know how to control the following or whether control is even possible - AutoBrightness = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoBrightness=Automatic Brightness"), 1250, 'adjustPanel'}, --true/false - AutoContrast = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoContrast=Automatic Contrast"), 1260, 'adjustPanel'}, --true/false --read only? - AutoExposure = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoExposure=Automatic Exposure"), 1270, 'adjustPanel'}, --true/false --read only? - AutoShadows = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoShadows=Automatic Shadows"), 1280, 'adjustPanel'}, --true/false - Brightness = {LOC("$$$/AgCameraRawUI/Brightness=Brightness"), 1290, 'adjustPanel'}, --50 - ChromaticAberrationB = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationB=Blue Chromatic Aberration"), 1300, 'lensCorrectionsPanel'}, --0 - ChromaticAberrationR = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationR=Red Chromatic Aberration"), 1310, 'lensCorrectionsPanel'}, --0 - Defringe = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Defringe=Defringe"), 1320, 'lensCorrectionsPanel'}, --0 - LensProfileSetup = {LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileSetup=Lens Profile Setup"), 1330, 'lensCorrectionsPanel'}, -- "LensDefaults"), 10, ''}, Auto = {LOC("$$$/MIDI2LR/Parameters/Auto="), 10, ''}, Custom = {LOC("$$$/MIDI2LR/Parameters/Custom=" -- works, but who would want this control? - orientation = {LOC("$$$/MIDI2LR/Parameters/orientation=orientation"), 1340, ''}, --"AB" - ProcessVersion = {LOC("$$$/AgDevelop/Menu/ProcessVersion=Process Version"), 1350, 'adjustPanel'}, --"6.7" - RedEyeInfo = {LOC("$$$/MIDI2LR/Parameters/RedEyeInfo=Red-Eye Information"), 1360, 'redeye'}, -- {} - RetouchInfo = {LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), 1370, 'localized'}, -- {} - ToneCurve = {LOC("$$$/AgDevelop/Panel/ToneCurve=Tone Curve"), 1380, 'tonePanel'}, -- {0,0,32,22,64,56,128,128,192,196,255,255} --looks to be read only? - ToneCurveName = {LOC("$$$/AgDevelop/Menu/Settings/Target/ToneCurve=Tone Curve Name"), 1390, 'tonePanel'}, -- "Medium Contrast"), 10, ''}, "Linear"), 10, ''}, "Strong Contrast" --- ToneCurveName2012 = {LOC("$$$/MIDI2LR/Parameters/ToneCurveName2012=Tone Curve Name 2012"), 1400, 'tonePanel'}, --"Linear" --- ToneCurvePV2012 = {LOC("$$$/MIDI2LR/Parameters/ToneCurvePV2012=Tone Curve PV 2012"), 1410, 'tonePanel'}, -- {0,0,255,255} - ToneCurvePV2012Blue = {LOC("$$$/MIDI2LR/Parameters/ToneCurvePV2012Blue=Tone Curve PV 2012 Blue"), 1420, 'tonePanel'}, -- {0,0,255,255} - ToneCurvePV2012Green = {LOC("$$$/MIDI2LR/Parameters/ToneCurvePV2012Green=Tone Curve PV 2012 Green"), 1430, 'tonePanel'}, -- {0,0,255,255} - ToneCurvePV2012Red = {LOC("$$$/MIDI2LR/Parameters/ToneCurvePV2012Red=Tone Curve PV 2012 Red"), 1440, 'tonePanel'}, -- {0,0,255,255} -} - -local Order = {} -for k,_ in pairs(Names) do - table.insert(Order,k) -end -table.sort(Order, function(a,b) return Names[a][2] < Names[b][2] end) - -setmetatable(Names, - {__index = - function(t,k) - if type(k)=='number' then - return t[Order[k]] - end - return nil - end, - } -) -local localAdjustments = { - "local_Temperature", - "local_Tint", - "local_Exposure", - "local_Contrast", - "local_Highlights", - "local_Shadows", - "local_Clarity", - "local_Saturation", - "local_Sharpness", - "local_LuminanceNoise", - "local_Moire", - "local_Defringe", - "local_ToningLuminance", -} -local Iterate = {} --this table is used when iterating over all available adjustment parameters--has local adjustments not used in copy/paste -for i,k in ipairs(Order) do - Iterate[i] = k -end -for _,k in ipairs(localAdjustments) do - table.insert(Iterate,k) -end - - -return { - Iterate = Iterate, - Names = Names, - Order = Order -} diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua index 4613d6cc1..86798fa79 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua @@ -17,7 +17,7 @@ PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] -local Parameters = require 'Parameters' +local ParamList = require 'ParamList' local LrView = import 'LrView' local Duplicates = { -- will set each to its duplicate in EndDialog @@ -51,13 +51,13 @@ local function StartDialog(obstable,f) local selectivepastecol = {} do local numberofcolumns = 4 - local breakpoint = math.floor(#Parameters.Order / numberofcolumns) + local breakpoint = math.floor(#ParamList.SelectivePasteMenu / numberofcolumns) for col = 1,numberofcolumns do selectivepastecol[col] = {} for i = ((col-1)*breakpoint+1),(breakpoint*col) do table.insert( selectivepastecol[col], - f:checkbox { title = Parameters.Names[i][1], value = LrView.bind ('Paste'..Parameters.Order[i]) } + f:checkbox { title = ParamList.SelectivePasteMenu[i][2], value = LrView.bind ('Paste'..ParamList.SelectivePasteMenu[i][1]) } ) end selectivepastecol[col] = f:column (selectivepastecol[col]) -- prepare for use in f:row below @@ -70,8 +70,8 @@ local function StartDialog(obstable,f) f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/NamedSettingsControls/CheckNone=Check none"), action = function () - for _,v in ipairs(Parameters.Order) do - obstable['Paste'..v] = false + for _,v in ipairs(ParamList.SelectivePasteMenu) do + obstable['Paste'..v[1]] = false end end, }, -- push_button @@ -79,8 +79,8 @@ local function StartDialog(obstable,f) title = LOC("$$$/AgCameraRawNamedSettings/NamedSettingsControls/CheckAll=Check all" ), action = function () - for _,v in ipairs(Parameters.Order) do - obstable['Paste'..v] = true + for _,v in ipairs(ParamList.SelectivePasteMenu) do + obstable['Paste'..v[1]] = true end end, } ,-- push_button @@ -123,10 +123,10 @@ local function EndDialog(obstable, status) if status == 'ok' then --assign PasteList ProgramPreferences.PasteList = {} -- empty out prior settings - for _,v in ipairs(Parameters.Order) do - ProgramPreferences.PasteList[v] = obstable['Paste'..v] + for _,v in ipairs(ParamList.SelectivePasteMenu) do + ProgramPreferences.PasteList[v[1]] = obstable['Paste'..v[1]] end - for k,v in pairs(Duplicates) do + for k,v in pairs(ParamList.SelectivePasteHidden) do ProgramPreferences.PasteList[k] = ProgramPreferences.PasteList[v] end ProgramPreferences.PastePopup = obstable.PastePopup diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua index e05a6df50..e4622e0bd 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua @@ -33,7 +33,7 @@ local LrApplication = import 'LrApplication' local LrApplicationView = import 'LrApplicationView' local LrDevelopController = import 'LrDevelopController' local LrDialogs = import 'LrDialogs' -local Parameters = require 'Parameters' +local ParamList = require 'ParamList' local prefs = import 'LrPrefs'.prefsForPlugin() local Profiles = require 'Profiles' local serpent = require 'serpent' @@ -62,7 +62,7 @@ local metalimit2 = { --assumes only new table members for each parameter are num local metalimit1 = { __index = function(t,k)--key is the name of the parameter - t[k] = setmetatable({param = k,label = Parameters.Names[k][1], order = Parameters.Names[k][2]},metalimit2) + t[k] = setmetatable({param = k,label = ParamList.LimitEligible[k][1], order = ParamList.LimitEligible[k][2]},metalimit2) changed = true return t[k] end, @@ -82,7 +82,7 @@ end local function Save(ClearOld) --clear old optional parameter -- Limits.DiscardExcess() -- call for each 'class' currently only Limits if ClearOld then - for k,v in prefs:pairs() do + for k in prefs:pairs() do prefs[k] = nil end end @@ -175,7 +175,7 @@ local function Load() end local function ClearAll() - for k,v in prefs:pairs() do + for k in prefs:pairs() do prefs[k] = nil end useDefaults() diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua index be4cd8b2b..78d540c59 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Profiles.lua @@ -19,7 +19,7 @@ MIDI2LR. If not, see . ------------------------------------------------------------------------------]] local Limits = require 'Limits' -local Parameters = require 'Parameters' +local ParamList = require 'ParamList' local LrApplicationView = import 'LrApplicationView' local LrDevelopController = import 'LrDevelopController' local LrDialogs = import 'LrDialogs' @@ -74,7 +74,7 @@ local function doprofilechange(newprofile) loadedprofile = newprofile if LrApplicationView.getCurrentModuleName() == 'develop' then -- refresh MIDI controller since mapping has changed - for _,param in ipairs(Parameters.Order) do + for _,param in ipairs(ParamList.SendToMidi) do local min,max = Limits.GetMinMax(param) local lrvalue = LrDevelopController.getValue(param) if type(min) == 'number' and type(max) == 'number' and type(lrvalue) == 'number' then From b756897cd28042365e42f557e82b4e1a24eb2300 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Fri, 29 Jan 2016 20:45:33 -0800 Subject: [PATCH 62/87] redo icon art --- Builds/MacOSX/Icon.icns | Bin 163880 -> 163880 bytes Builds/MacOSX/Info.plist | 4 +- .../MacOSX/MIDI2LR.xcodeproj/project.pbxproj | 8 +- Builds/VisualStudio2015/MIDI2LR.vcxproj | 4 +- Builds/VisualStudio2015/icon.ico | Bin 15086 -> 15086 bytes Builds/VisualStudio2015/resources.rc | 6 +- JuceLibraryCode/BinaryData.cpp | 447 +++++++++++------- JuceLibraryCode/BinaryData.h | 2 +- JuceLibraryCode/JuceHeader.h | 4 +- MIDI2LR.jucer | 2 +- Source/MIDI2LR.png | Bin 11624 -> 19720 bytes 11 files changed, 297 insertions(+), 180 deletions(-) diff --git a/Builds/MacOSX/Icon.icns b/Builds/MacOSX/Icon.icns index 5efbc2f25cb90b5697de59468f80c58e0fbaa354..6be840a7edb50ffc3cdd8e5f5356cc8aae86cc18 100644 GIT binary patch literal 163880 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�eSp9A@@ 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 literal 163880 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 ???? CFBundleShortVersionString - 0.9.4.1 + 0.9.4.2 CFBundleVersion - 0.9.4.1 + 0.9.4.2 NSHumanReadableCopyright NSHighResolutionCapable diff --git a/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj b/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj index 29d8d8ae0..68856ca5f 100644 --- a/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj @@ -1926,8 +1926,8 @@ "_NDEBUG=1", "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=0.9.4.1", - "JUCE_APP_VERSION_HEX=0x90401", ); + "JUCE_APP_VERSION=0.9.4.2", + "JUCE_APP_VERSION_HEX=0x90402", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "$(inherited)"); @@ -1950,8 +1950,8 @@ "_NDEBUG=1", "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=0.9.4.1", - "JUCE_APP_VERSION_HEX=0x90401", ); + "JUCE_APP_VERSION=0.9.4.2", + "JUCE_APP_VERSION_HEX=0x90402", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "$(inherited)"); diff --git a/Builds/VisualStudio2015/MIDI2LR.vcxproj b/Builds/VisualStudio2015/MIDI2LR.vcxproj index ae0999b73..3287bbc8e 100644 --- a/Builds/VisualStudio2015/MIDI2LR.vcxproj +++ b/Builds/VisualStudio2015/MIDI2LR.vcxproj @@ -56,7 +56,7 @@ Disabled EditAndContinue ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.4.1;JUCE_APP_VERSION_HEX=0x90401;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.4.2;JUCE_APP_VERSION_HEX=0x90402;%(PreprocessorDefinitions) MultiThreadedDebug true @@ -97,7 +97,7 @@ Full ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.4.1;JUCE_APP_VERSION_HEX=0x90401;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.4.2;JUCE_APP_VERSION_HEX=0x90402;%(PreprocessorDefinitions) MultiThreaded true diff --git a/Builds/VisualStudio2015/icon.ico b/Builds/VisualStudio2015/icon.ico index f5ad0b81d455b05b21f916ccd9af1e944de85f93..b7acdf119b382bbfa3312d55d5a78ff67995df05 100644 GIT binary patch literal 15086 zcmc&*2UJzZx;}U1t$W{%B8UYwMNP9LCMMTZW7HVCq9{cL1w}vwL@bCUf(08E6bo3e z#Db`xh+r25H3Al-ccgcz0w(&u@1NrwHi*XDWUY7B8s?O}_k4eyzYHqXKU8n1baYgh zyQpUTk4p8GN~P-3Mg7?q-}~UZ-o2lH{!pbF(oUu7j%)A}?ofY^Ni_i1{n6|0-MgQq zq@--W7#xsz?9k3y-(Pmto(npel#-IPBPJ&1vzOg}_3G9CO-f4Kxp(`DXJ(^5AnOTV zkn4OCa>1Bp_&JRq+?BjMT%RQ-CV2C;%IEOs==)Ju=1%XAd&W~j>>aACtfYecJj&0@ zrSkG}ij9sUXFCJ3n%I}_-H8lUK7-eFvKc@Jb}pmp>T0U0suK5~I_5?GN4JanA3b_R zJa%qcLe>+%qvXUyZ^n?2kkISU9=B)fmrkI^j~`PN)|Jl)Jid!g9otD26%}HXm6eKT zEp;@cU0atwd+^}Fr|IeG+w9GH(!=z4s;#Xh&owhB=%kl;MoDoY6%`ezvH0$wb<3>8 zbCMFG$z=HZgnK=2Tn~si~O#=| z8lSDUR9c)*yEe_D?Q5q|ZdMxYbhn{LWyO@1e4maVTt^Qxl4*mh1#MnwMLAg+w0V^c zojSg!D(cpSxOIz$(eJ#;{H7zv&8)PaSh#zxJ0ETMH-&uW~Y;tQ4h+= z$??p}%K9Ye_@<`^x7*Xxr%yG{$ViPA_e-9r`BE!*ynX#F^4-7wSz20JFV=ygg1l`T zmJFxRkUg4bFg=Wg2R}nT=iI4XwA6kO6%^#};CuNM931?whv`X|HZC1bN4y=WysUr{ z9)!^f#~*0AtKe@Q`D}F{mpOweBQ5E&Qh(($N{R}$h4^oI>SFgFa+}wWW>4x! zb`v_1t3zK}X#F__9^3r12p9M)tN!2_O5)%vXeI)$QE?i^0V8H^d|8kiZZaZ<}#CurJD>E~*DkCGE&IcW* zotuBAm5Zj4v%MiLv@@jT3#ZZcjY}yw(2w{UTw4u%yCDDfUwGhaeqnEK|1Z$C=HbJK z^|!*W(n{wkG^T$$8u?vI8vT7M8r4^eMts|nhKr#^!@g-rgTH)}hJLL}OC3!q{Mu#0 zy-)CrbuKP0jr{5#K?n&6=>i{gFDWq|>zb23)-xEOjkUGNc5+|Z?mmzFk9gDN5I?#U za*R$K_M)xp=93M4@Sy)NhL$wwix#xl!ITo>W7(fQIDh_p*FRd9e~0`&#`SsEubd^b zQSXuApw={gU_08maUo@C8OZZ zojaet3PVs(P-obF{)J#aGXAM8*4Cj#wj+d(lm3y{kbeJO)D5~55!PrQkyv2MG-vt< z$fN~^HU$M7Wj++Xj1Met=6TrFvov8yJ2JxByF8q!rbfMQDc5HVJPz-1r-Ry7%^Fm^H&W8uh=|ggIvRiUeJWVtBfF=%UO?$U47JilY7`g8;28kmrB?daEO{2ck zrlk0Luf(v;eK8IBss)W1@D3#=#1Z0%bxJt|1O#+}52|-}ol28Ow58?q#%g@Ja<5b3 zNKcKUG5uOYH+8UQ-`B`Q@_}b53zpY{nPY^lEODGf+1c4ol(xxn&7FwrWI9ZjEJnXY zh51>U^-GHjAcKbewgE#m_KJ;kc<)*bPo!SRxgbABqZ>Kd88o_|o{+_@@GAs2=EsM!^%22ArXUPkn?JH>nY}jRi8G+w5Mn*<0@87>aE;l!aEDhcw^O0?_pXQ78 zIc8xD$q7+p@{=~14A!B@o9AA_iw3>89exfn(SlyIq?r3R8|g(sel`vN27aV(8_LPf zBE(5X@K4)sga*>o(YmzSSzoiC^7=d;l@*bVaZj2sSes7yZqdj^>ScpG)EN8^ZzcVH zTJRkoQDH%DBfVfAIopjEdT=S^Bqb&$?u5gpR|sIFGqjS@%f zgWEI`d)BhKCai-Mu*Hh4Zc}LbSY1j_z9ZI`vEJS-b7;#-3&h@!z?Ub27ygIW)6cU9 zQhshaYhYsLBjN7mDdc|*in(ncb}&(M@n zy#5oh*5N(t$wL1<@C1DNNr$HBe?TFpei44+c6bPl?XN}dF4K8G$OVRQ);n914see}$WrRI;-4sonEMr_L3#kvh{;CB-#adD)nEz8o zwuA3-6>&WCpVxc*SnWd^Y@~+PFPlu`2DGBEt7kY)+K#wwY-wo;Ihb}vT-%xIYHMD= zz44 z4a=udNl8gH`+nX7kn3zsPPj{UChcjFbuX%~Q}duH29`y1 z*TKM8d^{JD*@!mKM@!z9>yfK;5sN?nlb@fzoc-n^tB+~+L_PZT+VNLnka{VxybK5P zgYDULcx$pU{E!OrvI%RsDc9!r*bDy&9z?`PhmoV%JLE9wEsD7Auffoi7tQgcDF*(0 zor}UKZ7T4?dz` zOY&N8NjrJ0v!n}wdo(t}>(z;VdSQRJU?6FLaLHOsgI`E0QhHu2<1J>3dDNlsRM zXgc;Z+lk#M`c5d}nR(djd&qTOHJ>|oj`cC3tfYYU!7d#p>0xw$ZuCSRJ&!iK=!+cK zej?|=Y7FZZjig_8&ZD^&J;-`oJDNVGEov6lu=9Lg`%YL`*t@S?`uKnFZ+X`Xo(p_^O7#X0SCkKUsQ%+3s$ z??Ha_7b+)zjS{Tg3)toWn?K~AnU$6Ote~)nV;72ziKeLAH;D6@n;4OJ9~*O@((oH! zlbxOO4E`hwBLMe0o;h>orFG)JhVsR`*R5OE37EGd#(9VsyDm2`pSYgk_sb4iWN$)K z$A3n~LqDQ%gWe;9fn8{<7+q11{*We*{gf8WGNL2D`usF_(oH7k;n zlj!LFEr_q%iMrXifjXGmkolO8$$Rr6U`!J+Ip+az+oCSeT)l+rCj2|c%-IjqY5RsH zWIU`VbW2CjAnJSn(WQMmH&Aj?66;e{baeDA__lxkSvnYddU{4-T3QNiS>u4%Tu;=# z#{Z~8mg9S&ce9c*(h~$0Wgg4;8ff5JSDA($#;+WFUs_56?b+r=lSY0bXkb}zt<-Ia zEv2R;vp*{V7TZ6AKQJ)R1hiK&_MaV%Q76$QW5oC4P%Cw`97xIWcN^6KWF9QB^US%C z$LjgyzI-;v3ooUitn3k$m6lR`>|L5Qc@XNW>N@L?ue50PGz0i2wH#2xocua8T)A@P zYs4mbtTS8JI-tJN2KlNkh8}u2w$KyK7aMAivhLTEhH6~nG*ch+4iWj~%k)Xg1F@L6 zZmo;Grbf#&xGk9lT}p(n%`3Qm{d(V5(ZD_uamH!3Rli@hlIe&JG;t{GYG?=Aw|yCE zA!Uu~5R6?8iJxcYf7s<99!)~s(P)r1ZCg8A)GZqFWp(Y9KTG^_X8c8kd9>6) zAAYqJjm20vYZ!W?ISRXYu|_WCz;iKZ*s#(OzE!PDKlRb28`m%JzWs#vhvsD9;o+f& znn77gN+LN}d`pv2Gi3Zr?T3pzSmxWWLql;L#r-ZierSuRnV5~xB?t39l#v=Me2l~| z=caT>{`1T-xEUHkQ^)m$kL^ZbSAxL%a>0M4jW&?*>n#oS2CiY3qR-qM9ZDMb_eJ*l zw7`0Z#>YzAXpV-$f;_R;F`Y^pj`(awU9*jdJ8UL>k2-%W_hGZ)k2t&*FT{bfp*wZq zp=W6Fa9!lYZOMM}7pUQ7Yic$uPtNJ*p?9*%$pk+14rQjrqsCLJv1ut2rlY3jF?nrt zrmbt{Ho~u@fo(N4Iga9DB58@k1nljD#d=D8%FW3{{Lx#~#|QUmK^KEh5U|!m2J;y_ z;)7O*0sRUKi&3XG1ok#$I#dTWX%9^;PS#p@PL7YFITqib=FtJQ!MD+?af4no_$5h$ zdai_h^Ju7}GkzX?w%~x58|sLiXxzZ|z}|;q?%kwv_%5Z7;%og5deUI@-#AWjoIV_9 z42rqW5Wu+ydS9LKK0Pxd4YfL5nl`2#YVI9TTP)Yq`;|4LveF{(e~hqg)8TDs?zC@F zbIoj4pO^-TUCt7J9{6fE`5O^Kv5#70J6uzjSK=44C@Vp2x;^>>t%zlihCK~D&xYP~ z0ss5w<>x;;AGn{)hP4v?f^BQ23teei^I|%<*5|!(F6ut)pIXzx8T}B;Bx&%o-Zz%P zi+wJpB`Y%tds{!mf$*{YTa$;|Y}D?GG&ZiJfuFhF)dqV)3;GE$-|@rSsStV4$&)7s zBcF3FdsI%FSD1^s@|2OSMZKS~D~FT;&)JzN{O} z1Fi$R&YwiH&HJGrv=F_*Rg{i6h-K59Z8I(5R|DaPS|GpBqQ$dKpns1jJUrY5cHqZ( z(BfI&ikkQgqt3vWDDWupHx~?k}qS zs?@9IXkePslHhjg9pO{wVIr&b9a$^`Z9UZ1WZNnoLdovMCKs z>0o*AcS;+V{8!G5n|nVzvt0N$DGxcniiRAVVX;9z#QD<1;U7^7`>nXR`>@^2M8uQa zm*Dyq*PtJj7HIIx+GA5Xl={T)ON#QKQ>*FNzLjG5?pr}Tf>1x_-y?1W<4lng&IVl( z*rjes>~dDppp*so+?-|&5qX~RkoPGjIs!JFmIYs06!##49L%~2{F_`2sj{L}*ssJc zXZHVG-&N8g>B!26$G+X3CZZoWwqFYx`@MRYjqEOHJF<5LYV6v`(L99yNc=oY?2n)K zC7RN}pNk6f$z`6Q;J?X`uEafl#*SRPC?5NV!{lycGrk>dUXH%ZbNsRf&2vdnE}cG# zzVPm4;_MgGz;yA1e8W zR3!M%yuKH48T}_O&@~ahwJqw#y5!<8n1YUPLr>%wuvG~fvN93`{@t7H#l1|Evst)b&k*zu8DhZm`!#QalUYTN72jWzTI>K zJ<+>cjJWtwX`#TMotYr^?%f^@_@! zbmA9xfuHS0xnJ;kK|Z(m0OuF0pjXm9q-{UA8;0{jT=!u8G8J?o7yB7G*Z0`Vo?gFr zl&r_<(2VhIDd5lw!CQ%4IV)|N-!nEI693*N_@$j6-t7wh>yWikSM1r}!k*U)y;IU4 z?L}gjGuz8ipH;|(v`D{i3kvezgBY)ZaAxR7>|yUBZ%Hl8&qc4cJ$jWLVGEzpZ|JwM z{wuM|_s!A3_$|>J@!8s#|BRnUMoKh!thA(gmS5uBMGy4%muT=y+{*n<`X#1;^~>7$ zGtuMZST8p_lY7h$q5oZwyJ(^3=vz@)MV_lBq1UNLHsf^Ze#AK;gQop7NdwPHI&vN+ zB7OpXPX|G_l#9f#mctVf*XHMDi1PtTAN4XC`1`0^=gHuQ7G#XGSIg#%!P%K=?vtM2 z*q?I%_)t6aI%@AnT@v_N25X$T7hl_`XWX1TBn`QY-=Hn*urYq7LrDX_mwrjk61$w0 za;S!XUTil^)Ikh?)TUe4&%$<#>T$-yk+Jg&eYNhWU8HkNzG3Mo^s+k8+$rx-WcVq_ zK;7?_a(EdH?6c-i?TzygKMS3c{Fif68eW%<@T;e=ufHqyK0X7?bw}iv4^fBsM2%kk z7kj}b&O0v#?gDl`GtiMdTn(tQyjbWF`%onfP3d?7K6BhrQ&ZVUuOxmsH>E?$K+aMI zJeQ(Rxzfo%?0cN=1z=C(yp7K{D6#W<$Uqn84T`zfy>jjV^jF`4Eq6l9u$G=Zd-hs1 zG_?t-TN1mRo6^u!7L1+0JARPQ^t2VV90&7nMUNck6CNErc(8p_{QMcd$O5r;J)h}z znDn+dGhj1Lo9^5^4V_T;h?|o`Q&}`ehr}-DSJA-!CL;VS8UEN()Iuf=)1&wYzjAI< z51(Vx9CrQ=@th87pC^#-JiQw1Bl^0IW}V1sT6c=N5!i@^=IBuRCiz~(eE0Twnqk}xxPg6CJM0tlQ4ii_QUUF?-!ct|y-_wV0Y80c zj@jGrt&j!im~ZhRZF8G|xZn=t@Vn5f%JL#{PD!4>kY_OX90(82u}h1e$L83-)06Mf zCfA9G#ov1#o9iJ4>`1}>-sou*bBtC2?9*Nwa5ER8pD_mhECRh~9j(XzqujXk3#BIfO3qfFh#2Yx8gLG8u6Ykij0vN#i-%~n({QpxylR7d zg6jq|jNT^a8Q+VX4gH#@STpzP)vJchK>E{PMMOk=&VC8|dL8d6SD?>))`ic$%rWJ` zbhH)zY7X`d-urkk4UOoS&L~UMwh@QtG|bk}AkXyZ!6vlD zx!6sv6NK*bp2=|zd}ImyqZQ6dw0;GYzx31Iy?fhX|K0?BO2c}!?Dxu0Z@CrfM|(Ee z(CP*KX~~Sw$jP!NEtu8=F;RDnp5$!(DgM8wAI{}i!AJRu|DWRg3UPcbY%BwPi7mT# z@7DWE;QqwT=#PH{+pmqf-CuWgRdw}N zT~&xgy+pl5ue>5cK0uW6A0m-dBoYl6(DJ<&^(#?lXV>~YL?rV1he$LWFla)LmU?6& z4d9;jFEb(GpKeN4xf$?r1T0oUD? zR;yJ`!?rtFi|;sDn>>)&4LIZHDf8~AZ)l*#LuzAs9dN9xL@*(~E;=EOjEszzLHAf! z{e*2YyMc9uh3Wsvz?uU9ySyZ5k83UYIeo_$gbGKs|aX!o#=*;qx0$Eg$ zie)GGGr-+5Op`$30O6OE2;O3M#5GV|qp{~&K?Z>`F9Mq;#KptIwU)9C-l!#Koul#XWmQd8r^ z9xCf9y}QJp?@zhPY3L?LEAb6i>F||0wZlxTnY-Zify4^y#&+OO5y4)b9?sU2C063= zN(Zy;6%`eIg#DwV{mtZdgAeLl?G;rE7W6~kA0eYjT4$SljHxj%bCi{jhf^kS9gQ;R zh6(%fWn+kssn*4|!r9U6YbPslQ>4L58W!wng|Yl3u@+x(aT>aQWVn7X58qjC@KdYQ z3d<5NjpK6con>m7`Q)$wcel>qpQN5Kk?7~SB2fdRQQKQ2D(TgEszn>Y5bRx3k%;=z zIWquBgGA>O{YvQIdH(CM1ZaDh}g4d&lB-cUOwH- zOYKmFeR2-CZzI2t{qw)Ba*G3o0Qao?%*5b`P+gdZv+Wwx{{a4e2h0P&{z`p3l-5;6 zMVTGSOUQpm<#8FKm1^1W&#>Qb(s==V{CS0QkUK+AFTMhrS6g}e)7iwGG3cvu8nSP6 zT&S`m8lBZmEX-0U9f#1_dkd+{bGIAqw{T7!$ViRu77t67l)vukH0)#W|0vqLJRX%3 z|F>La!}pezO&!?TnE86Whf^u$@*4X5NuKzA6rHZx>3+K5p|Zh=*7+|heUt)odIIx# z{|V_m#0#xWq%#G1slJ_Y5aR2)gw{7`cQxk^;qET4kipO19!^yq(OBw?uy|TPwidVO!`VeY6!b@ zcpXC>be$AV&vAAf%zpT$hIy(i+4{;NHluJP3(+~TleH@t^f#`&f73jc8l&UB&wu$Y z3r0KXHA|+avq{+z&6wN9D1%RAd-_oZ{Umq!@Sp0xc&B-H%`CR%ttsp>=)1{>b2?YW zBvs(Spj*8xq2UsExxNbed_#|?=dfx6<5DxMmnoq zKO1r|GzEG)Pis#u_;pigK0t(G%L+(i5K33$4P z^-lZwdh6K!0F7J0-Y%8x=^I15lIT7mSZ_DUs_}X05s{&~5_~tHPfvKbC$}GbdQ?nE zZcciFQLD1q3Ov7H{a*_Y^2}{dKQAju1|I8hP9NF1b7$Kd#@AE65`E}CeY|hd&d;0P?oKH@ zo)4?5&GB|T;UXQjvopQK7^+Lbd>skUt0onX&#;IJ)kU_xJAVTYbSFIOPWl6Iw;|^n z$gip87Kc(tMfqlA#9R1yNSC4Rv?0JFhv%t%US3}Os#L$J!g;%K>tTSt=!1No;`b3EVUVMmUu&ZgTGF`GDxplj=JxN z4&J+m8DnklH$P9sT#SYGaATmiYF2mk;+mS8m;5~CvoY2a9?mwUJpH1=TtA%iji7xk zJ}PJeU+=F~M1sa;iB_4E~t&>`+K~*H>V}X_y}?J zv|Iz(CC5jM(7ADM0on&=X>M><)Izqq!Pha=eJ8OrIppQ)@J?px$oQ>WSO2}I^t$R- zRkfgBVw}M}$VU~O5F0XKbWF$utikBS=wNr!p}Ok(yzOBLV86EfuIyv1cL{42iHaYH zMC!XDk!h1i)R$6&NYsZ?tw_|ntF%uf+DD0CDK!mvq3_)|r1%ok2fa$vFiS92(u=XC zzC2YnTm%~_QXEp7ouWrCMj&|pdoF=zB!P;Gj6U)4hJPd&yk6}Ni3#}`gD2)?IwnN; z|Fb+N=dtdd?%?k(%#l5NUP((bx_WCQS-8ilyw#GKv!+fM+*SX|%6TT9YKLji*S6qJ zU+1HhMqg4X;+&l1*Ao+?`p1U*YM^gblaAi1H<8T(_J8r6Rvc%Q z4nsZ}8RnOqnriHD{Ex$DN3dm+C(1&6T<1dGhd`I?YxE|hHyP>l%`NnoaFM@w+r#BOCN1>e4S2>)(?d>k9cw=0OydxfZT30@!$QF3l zNUcrIfL;@Lp*I81gHUIucLHpg(4FbcNpD0ef`^T>>vu+TE6yhLI|IK(b$(VFU0+Z9 zTQYx!Eo8X?^hs~L4fzReoS(M&c&^OhZn5Xq!=JIS_>HV58bi^z zEOTEE>ATpUXTbx_eRp_&h%fZ*cAanx(0{9^6_1tlWD+VXXZDQ@_L`10d*a{4J3r30 zG1!=#4)s-+7Z(@5^0;G28Ey22-Dp47<4wr_naiE$ozGjwKsFZB17U&gfAal3YAo~S z%`|~ccpY%jnL%&LZmnOQ_S4J7_ps+K!N;;?;li1gkK&te9~~by4l+NAGwm1fLi?}V z>-QJImi*zQ|l98MY4NzKrzL?d^{{KCEB5>#oY}2X2^B zH13gekPs6R?jjv}Fx*f6i-*#@P4-@}O_S|g30o=ITY1|lmF2L7lFy&&!hGfM*_$)a z<>pKXOEzt?yN3D5+WJ!;vj1w~=O_F;-Vul`;9z~_%}V=0w{Zu4V+eF>vzc@x|Gd1s zzv?xTV!hht+&3RDy$f4A?o~0PG&$GEzWsDLXTz;5&19!)S8{1tX$I3eTd?{s-sSAu zb-S0dgWDFe{Nx}8J&i4$nZebQEuMS;G`<6y=W~4tmT;0?yC5ZmEAw>}-w^JvAY9G9 zZgylZy#T#sa&)xkUpwNR>avrf{s;D%EwHs;y>Q^Y2gEbQHIU7G)`U@<-@sdA!}$)r z*f^Jc4L-?UP3dOc2F{-ls+Y3r#f9wnu1XdJ8@{{3oPDsYh#lB6AM-STOC`Wd<5@am z3=8s-aQ%z3BRRW#LYO-vTfff5ni&zl0lxv+>dE(b-P6_Xqs+{hKlw<7V=0?lD07w! z`5gU!2LFGoUNDZ4JPv)dh>@>^{2t_Mad8^L_I)@9JT2hXlPkV&fd3h=`P2Fi)H-su z{xPxMjM{3JPGI{tS1<>Q*W1nkitYFkbu-7ua`RgZ-^$ga@3UYpr#2Ykzu~}pY*d(g zGwk@kINJ~YYI<>@UdXesTvU*0ge~_NWc=IrU$1FCi8Vt0m^BLvG2bh?%|H2OE*`Ar z;!!%{pZ10vYm4Gr$d{v6TeFV%r}!E2l^ox-jKTkN2Y!^3iLr(_A;e0$ax8!^IYU_OV&5p(7H)&ZvCpNNGb8=Z`ybt^A{n?Dx z7p=7bz;1=lh~`l5YR%M`5Aw&*US5LrLo`NUKX=5x*4dnm#Xcfm65@jHDeMQHAD5jp zTgbDpTvV9382mTj{J6JqMG3b)$;YLU4P%wqhva{w^)sU|mTh}`3YVx%Fdx15Cfka- z&8tcfFOu9RD}JcjWnbRc@~xz&MWmn%-aFdgqa^2k0(qTNz(gkxQTD2X;3tdH`d2W;6la)Cg{Q~?*^EYkU)D}xJ zdE!_%!~oTT_nUP8LYBM6j~_#(-41^l8Bs6mH1=hfzq3mF!KdK+AJrZ(JAG7!#M<;c z_$8ml)8HR(caz)B4rWKdzlD$<{7rr1A_L~bp3w-N&cjDpZqRDm{Afa0zHA6|kHdL+ zP~m8H6uzivzMjuZCgi3&asJk)%Rgcj4DvHr=lMeaJulOa^4T+{*dvB`JMe!8{Phl&{p%d9UO$2F??H!R zurA|{J&RcDQy34UIp#W%oqCH|TAF5dPvF$UjJnJLj+EQLxk z1U5y^7AicG=|4o7=0%Po^eDWo+KOn)82e+_edMI4GYvrN|obfS;fbY>pf(^>5H=ByT5o z5SJzF+gW*RPLdnNZh$WCUT(cM>fIccwui5;ub0SdOpdh3jPq6B#Ja7+8uJBr4R32G19-EWEuNK1?wfjEnu zki`Y0^PaA@%QtV{+!lvIxOVUUSVrd+Xk&eu`~-jep~RTr?3I-Ztk=F%WrZ^<68q#+ z^uLPsn=Ven56v%|;V$F@G2#JqUSNFmKM5CsW0!G+-as)2Lb#rk$={BclO2%BalD(h z2kV{N&aop$j=X|6-gz`O@J9SM#6|iqp>-vs6%nY-LyW^2T2Fwz1%;7pK@OJIAvndxz!ju!oBf07-T);8%NXK=TYKjtK4jypcYM@i{rxPM}`7FgG(^)!lfO$KjoaMa;;nW0GRRX)Yjd#9V-XIy+nZ zF%DUjPnP;Qd|(^kMn@^MBGiVd2Ea|2F8??mHjtQ z=UL~gRxNxjH+@vTtK58*(sA%!$P@RQ3Egjq*D{eT!ttr+aU#(Rgck%~M&3j@(WiO=A3T4=cM0*`Thyx-d2^qV-nGTZdzbX0oK5Xj k%Z<0TcP%&mhF&dslc=OGLpu;~@}e@A(9GrS<=gW8f1jdeH~;_u diff --git a/Builds/VisualStudio2015/resources.rc b/Builds/VisualStudio2015/resources.rc index bc843c308..d798f68c2 100644 --- a/Builds/VisualStudio2015/resources.rc +++ b/Builds/VisualStudio2015/resources.rc @@ -7,16 +7,16 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 0,9,4,1 +FILEVERSION 0,9,4,2 BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904E4" BEGIN VALUE "FileDescription", "MIDI2LR\0" - VALUE "FileVersion", "0.9.4.1\0" + VALUE "FileVersion", "0.9.4.2\0" VALUE "ProductName", "MIDI2LR\0" - VALUE "ProductVersion", "0.9.4.1\0" + VALUE "ProductVersion", "0.9.4.2\0" END END diff --git a/JuceLibraryCode/BinaryData.cpp b/JuceLibraryCode/BinaryData.cpp index 91686ddf3..aaba18708 100644 --- a/JuceLibraryCode/BinaryData.cpp +++ b/JuceLibraryCode/BinaryData.cpp @@ -9,170 +9,287 @@ namespace BinaryData //================== MIDI2LR.png ================== static const unsigned char temp_binary_data_0[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,6,98,75,71,68,0,30,0,45,0,53,64,181,131,12,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,7,116,73,77,69,7,223,8,5,2,24,52,136,57,7,43,0,0, -0,29,105,84,88,116,67,111,109,109,101,110,116,0,0,0,0,0,67,114,101,97,116,101,100,32,119,105,116,104,32,71,73,77,80,100,46,101,7,0,0,32,0,73,68,65,84,120,218,237,93,119,124,85,69,218,126,102,78,187,45,61,33,116,5,132,149,162,32,136,138,40,160,162,34, -226,98,193,134,34,234,218,27,174,5,17,20,21,236,138,186,171,159,109,117,45,216,176,99,1,65,44,88,0,5,1,233,32,189,166,223,155,220,122,218,204,247,199,61,39,156,156,220,16,18,18,64,247,190,191,223,53,32,55,51,115,222,247,153,183,159,25,32,77,105,74,83, -154,210,148,166,52,165,41,77,105,74,83,154,210,148,166,52,165,41,77,255,19,68,254,151,30,118,235,246,29,227,53,77,37,186,174,11,165,229,193,128,174,235,20,0,68,65,96,185,57,217,170,162,40,154,162,40,230,33,237,218,62,156,6,192,159,152,86,173,89,59,97, -229,154,181,129,85,107,255,144,55,108,222,34,110,221,190,67,54,116,67,82,117,93,228,140,137,156,115,65,55,12,202,57,39,0,64,8,225,162,32,48,66,169,73,9,49,36,73,50,36,73,212,11,243,243,181,206,29,59,232,157,15,235,168,119,251,91,23,245,152,62,71,221, -159,6,192,65,72,27,54,109,30,63,251,219,185,217,223,254,244,179,103,225,226,223,61,0,20,206,185,4,64,182,126,138,0,4,199,199,126,118,2,128,91,127,103,142,159,38,0,3,128,73,8,209,1,232,132,16,13,128,122,248,97,29,213,147,78,236,159,56,237,164,1,225,163, -122,30,57,41,13,128,3,68,191,175,88,57,233,211,47,191,10,124,57,251,27,223,198,205,91,189,130,40,120,69,65,240,8,130,160,0,144,172,143,45,120,234,120,86,238,248,201,83,240,130,56,254,141,91,128,208,45,64,232,140,49,213,48,77,85,211,116,181,176,32,63, -113,198,224,65,241,179,135,14,137,31,209,189,219,195,57,217,89,161,52,0,154,145,150,44,91,254,192,220,159,23,100,124,49,251,107,255,194,197,203,252,178,44,121,101,73,246,10,2,245,0,240,0,144,173,143,96,9,159,58,132,109,58,119,182,245,211,22,50,113,105, -8,193,1,28,231,239,27,214,71,3,160,49,198,84,93,215,19,170,166,39,58,180,111,23,63,231,204,33,177,83,6,158,16,237,220,169,227,178,22,5,249,111,166,1,208,4,84,90,86,54,244,187,31,231,15,252,246,199,159,50,126,152,183,32,80,82,90,238,151,101,201,39,138, -162,215,18,186,98,125,236,93,111,11,143,184,118,176,10,32,193,57,79,232,134,161,234,186,174,153,38,51,0,128,82,66,37,81,18,101,89,82,8,33,10,0,175,3,76,162,131,79,204,1,36,221,6,2,0,205,52,205,68,66,85,227,89,25,25,209,126,125,123,71,79,58,241,132,170, -65,39,244,43,61,172,99,135,7,211,0,104,36,189,240,234,235,143,205,152,243,93,214,218,245,27,50,43,43,171,50,36,73,246,81,74,252,14,193,203,46,117,79,29,187,214,22,150,6,32,14,32,106,154,102,4,64,184,255,177,125,99,167,13,26,16,111,219,166,149,65,41,229, -229,229,21,244,251,121,11,148,217,223,205,245,198,19,106,64,150,164,0,128,0,0,159,53,151,173,81,156,166,195,112,0,193,6,131,202,57,143,235,134,17,83,100,57,210,185,99,135,170,19,251,29,19,186,106,212,200,157,109,90,183,122,44,13,128,189,164,79,62,159, -241,240,51,47,189,146,179,125,103,81,150,170,170,153,132,208,0,33,240,89,59,211,169,234,165,20,206,157,83,248,42,128,24,128,48,231,60,84,144,159,27,154,242,192,196,224,73,3,79,24,157,106,222,21,43,87,63,59,246,254,135,10,150,173,90,157,67,41,205,6,144, -5,192,111,205,43,185,52,11,79,161,17,170,53,13,128,24,231,60,34,8,66,85,126,94,110,104,212,5,231,134,198,92,119,245,109,105,0,236,129,182,108,221,126,247,29,19,39,181,252,113,254,47,217,178,44,103,2,200,112,237,68,231,174,23,29,187,222,41,124,238,16, -126,28,64,37,231,188,34,47,55,167,236,139,119,94,95,223,182,109,155,59,234,91,199,176,139,70,189,181,116,249,170,2,74,105,62,128,28,7,8,196,58,64,96,127,12,135,54,72,88,224,139,2,8,27,166,89,121,72,219,54,193,127,63,58,169,188,111,239,163,198,167,1,80, -91,221,63,126,255,99,79,231,8,2,205,18,69,49,195,98,186,45,120,143,203,38,75,41,156,53,219,153,51,29,2,8,115,206,43,8,33,37,95,190,247,198,150,35,186,119,187,126,111,215,211,243,196,193,211,202,43,130,45,45,16,100,59,214,34,186,248,198,28,96,112,58,138, -186,3,132,113,0,97,198,120,101,36,26,9,93,53,234,226,208,93,99,110,154,83,144,159,55,253,64,243,157,30,232,5,44,88,244,219,3,195,71,94,254,236,196,71,167,180,82,20,185,64,20,197,92,107,231,219,106,151,58,118,152,233,248,115,170,103,113,135,110,9,85,213, -34,163,46,56,183,178,33,194,7,128,135,199,223,85,25,139,39,34,22,144,116,135,160,221,33,35,117,132,153,182,54,146,44,176,122,45,13,150,9,32,151,82,82,152,153,145,209,122,234,180,143,219,156,117,241,232,191,79,159,241,213,19,255,211,26,224,95,47,190,242, -248,171,83,223,201,41,41,175,200,150,37,201,239,216,233,78,79,158,58,156,48,91,11,184,53,130,224,82,255,113,0,17,14,148,39,18,137,162,159,103,124,250,71,151,206,157,110,105,232,250,122,157,56,248,195,210,242,96,107,65,160,5,150,63,224,179,230,164,174, -200,128,185,64,106,186,0,107,186,52,66,84,55,140,42,175,199,19,188,96,248,176,138,219,111,186,118,86,65,126,254,231,7,66,6,226,129,152,180,188,34,216,243,159,227,39,254,227,153,23,95,201,209,52,45,75,150,36,175,67,240,12,128,161,27,134,169,105,186,201, -57,3,0,65,16,4,65,150,36,143,32,8,30,135,77,102,150,95,192,93,222,63,7,96,48,147,233,173,91,22,106,141,17,62,0,244,236,209,77,251,234,219,185,186,32,200,166,99,92,230,242,1,204,20,57,6,230,50,13,112,152,14,1,128,44,137,162,162,105,154,242,214,7,31,43, -75,150,175,56,107,249,202,85,125,142,232,222,237,254,191,60,0,214,111,220,56,97,200,136,145,237,139,75,203,114,57,71,134,32,8,182,170,103,86,166,45,193,56,79,28,115,84,175,196,89,167,15,214,10,11,10,184,193,12,242,199,250,77,210,167,51,103,249,54,110, -222,18,144,36,73,37,132,100,184,76,129,232,138,253,193,193,185,223,231,103,141,93,171,223,231,99,224,156,167,200,30,58,157,63,219,233,115,254,52,28,191,67,93,137,41,219,127,17,41,165,34,0,113,213,218,63,164,243,175,184,86,250,226,171,217,143,14,27,114, -218,184,191,44,0,230,124,255,195,35,67,206,191,180,80,211,244,92,0,153,132,192,107,49,195,118,220,34,93,58,117,172,122,252,254,9,149,71,247,238,117,227,244,119,94,171,53,198,219,211,62,154,250,240,51,207,37,194,145,136,233,96,48,113,152,139,106,211,70, -0,162,170,137,70,251,57,241,68,130,130,16,119,205,128,187,66,191,132,245,137,3,136,19,66,84,66,136,81,13,66,206,37,171,30,225,113,36,172,156,57,11,145,16,34,198,226,9,225,166,187,238,165,79,191,240,242,227,255,188,254,154,177,127,57,31,96,250,151,51, -31,31,55,233,145,22,145,104,172,128,16,146,105,169,113,219,193,139,154,140,133,142,238,117,100,112,250,219,175,93,86,223,88,191,45,94,250,226,63,198,220,217,182,172,162,162,128,82,154,99,57,89,30,7,160,85,43,252,42,143,68,163,69,11,231,204,248,163,83, -199,67,27,108,6,250,12,26,242,97,81,73,73,107,65,16,10,172,57,188,14,51,101,11,63,202,57,15,83,74,195,173,11,11,35,61,123,116,139,31,221,235,8,45,16,8,176,88,44,70,23,255,190,66,250,101,241,18,79,89,69,48,96,24,134,159,16,18,176,214,42,89,252,55,28,185, -138,10,81,16,74,111,190,250,138,226,219,110,186,238,206,191,12,0,222,120,231,253,39,30,126,250,217,194,112,52,90,32,10,130,29,87,75,182,195,198,24,11,181,105,213,178,228,151,57,95,142,220,219,49,231,254,52,111,234,232,27,110,109,105,50,214,130,16,98, -143,41,91,207,164,91,76,173,76,36,212,146,107,46,27,185,235,193,123,199,93,220,144,53,207,156,253,205,203,23,94,117,67,155,236,172,204,150,0,114,45,111,94,113,8,45,14,32,202,24,11,121,60,158,208,200,243,134,7,175,29,125,233,214,54,109,90,215,202,51,20, -23,149,60,248,226,27,83,59,190,253,225,167,57,241,120,60,219,177,1,236,245,218,217,202,42,198,88,5,33,164,244,234,203,70,22,77,28,123,91,179,131,160,217,195,192,215,223,153,246,196,228,39,159,105,25,142,68,10,68,65,200,117,100,215,108,111,218,8,71,162, -177,251,199,222,22,110,200,184,3,79,56,126,212,217,67,79,143,168,154,22,183,24,104,162,102,97,71,2,224,81,20,57,240,222,39,159,101,45,94,178,236,63,13,25,127,242,147,207,100,101,4,2,206,221,42,56,156,76,221,170,43,132,5,129,6,39,141,187,189,100,210,248, -177,23,164,18,62,0,20,182,108,113,207,125,119,221,62,114,226,29,99,74,37,81,12,2,8,91,90,138,89,60,240,88,0,203,166,148,230,113,206,91,188,248,218,212,150,227,39,63,242,196,159,26,0,211,191,156,249,248,131,79,254,171,48,158,72,20,136,162,152,103,37,84, -252,214,78,18,0,112,211,52,141,195,58,28,162,158,113,218,41,215,54,116,252,43,46,185,176,210,208,13,213,18,136,233,114,188,36,0,30,66,136,63,161,170,89,55,143,187,167,96,245,154,117,207,239,205,184,35,70,95,253,246,166,109,219,115,4,129,218,249,8,217, -1,128,234,250,66,56,18,9,223,113,227,117,193,145,231,159,123,201,222,140,123,233,133,35,46,27,125,209,136,160,97,24,206,252,2,177,76,151,29,221,100,81,74,243,4,65,104,241,230,123,31,182,156,252,248,83,79,252,41,1,240,245,183,223,63,122,219,61,147,10, -85,77,107,33,8,130,45,124,231,142,162,0,184,97,154,102,239,35,123,104,141,153,163,85,139,194,213,237,218,180,50,76,198,76,87,146,198,6,128,2,192,79,41,205,218,182,115,87,254,101,55,140,105,251,217,140,89,111,212,53,222,146,165,203,158,59,237,156,139, -166,45,92,178,180,64,18,197,156,20,235,181,1,160,27,134,153,232,217,189,91,228,194,115,254,62,191,33,107,190,111,220,29,151,100,102,4,34,156,243,184,35,100,180,215,107,39,142,178,8,33,185,148,210,130,87,223,158,86,248,200,211,255,126,252,79,21,5,172, -251,99,253,132,179,71,93,85,168,27,70,1,33,196,86,251,54,51,169,67,141,18,206,57,243,251,253,188,81,232,165,116,181,215,235,29,140,138,32,119,197,220,118,100,32,59,226,113,82,84,82,42,94,119,251,56,239,41,195,47,248,228,220,51,135,196,15,235,212,65,23, -136,192,119,22,23,11,159,206,248,74,249,251,165,87,250,1,4,172,16,211,78,71,123,28,94,187,81,157,167,208,117,245,212,65,3,226,45,90,20,60,211,208,117,15,63,227,180,248,235,239,125,168,41,178,172,187,204,150,51,162,73,218,27,198,240,234,91,211,248,199, -159,127,249,232,185,103,157,57,238,160,7,64,81,113,201,216,81,215,221,114,72,56,18,201,79,33,124,217,250,154,97,63,44,1,17,162,177,120,163,52,17,231,188,192,21,170,81,212,44,9,59,83,182,2,33,68,18,69,209,187,230,143,245,153,247,63,241,180,202,76,102, -112,36,251,1,100,73,146,68,81,180,235,14,206,26,132,109,255,157,173,99,166,97,26,198,81,71,116,111,148,230,26,216,175,159,250,202,91,239,233,138,44,51,71,98,137,186,126,86,231,29,18,9,149,61,52,229,223,108,225,226,37,147,251,246,62,234,222,131,26,0,143, -60,243,108,251,85,107,215,229,11,73,111,223,22,190,215,17,255,114,71,230,78,20,69,65,252,125,197,74,185,49,115,21,151,149,158,184,179,168,88,244,120,60,238,221,67,92,59,201,102,172,8,192,35,8,130,238,21,4,103,126,223,254,55,201,145,199,151,29,170,159, -90,234,186,58,39,192,57,152,148,20,96,131,73,241,40,140,243,26,181,5,158,162,174,80,173,213,40,37,108,103,81,177,249,240,83,207,234,187,138,139,199,182,42,44,108,50,147,208,164,62,192,27,239,190,255,228,244,47,103,229,89,177,121,150,67,133,202,168,89, -186,173,102,184,32,8,202,134,205,91,188,115,127,156,247,114,67,231,123,239,163,233,89,0,20,82,179,86,79,92,137,161,234,136,192,218,217,25,86,76,159,99,125,114,173,159,89,216,93,126,246,186,234,12,181,0,69,8,104,44,30,107,20,255,194,145,8,37,164,86,2, -203,9,0,209,242,95,170,125,2,73,146,114,230,47,90,156,255,220,203,255,109,127,80,58,129,235,55,110,186,247,145,167,159,205,211,13,35,151,16,146,229,98,164,179,184,3,71,106,84,2,224,241,120,60,129,187,39,63,146,213,144,249,86,172,92,253,234,212,15,62, -14,120,20,197,57,7,173,99,231,11,14,166,218,64,240,89,107,244,99,119,233,217,139,221,61,7,238,134,210,26,21,63,81,16,197,101,43,86,55,74,115,253,56,255,23,69,18,69,9,169,27,86,137,203,145,173,142,14,36,81,204,121,253,221,15,242,102,204,158,243,196,65, -7,128,49,119,79,108,85,25,142,228,10,130,144,233,218,249,130,43,225,68,92,161,154,87,160,52,99,219,206,93,57,23,95,117,253,219,123,51,215,206,157,187,158,30,117,195,152,66,198,88,38,33,196,235,210,48,238,93,229,4,129,19,120,182,154,87,92,42,63,85,39, -113,45,141,34,203,146,242,249,172,217,222,178,178,242,161,13,229,213,167,51,103,123,37,73,82,80,179,113,21,14,213,239,156,203,174,126,250,9,33,89,132,144,156,219,238,121,32,47,24,10,101,31,52,0,248,207,235,111,61,249,203,111,75,114,36,81,116,219,124, -226,202,159,51,87,194,198,14,213,2,132,144,236,159,22,44,44,184,240,138,107,167,109,222,188,245,169,186,230,250,105,222,130,215,135,93,60,186,115,121,69,48,199,242,214,125,41,0,224,206,118,214,5,4,231,71,112,217,224,186,128,100,155,46,207,198,45,219, -2,175,189,51,109,116,67,120,53,238,190,7,223,78,168,106,128,16,226,140,46,236,226,146,179,99,217,205,39,143,21,210,102,86,86,69,114,238,156,56,105,242,65,145,10,222,188,101,235,93,39,158,121,110,23,66,72,107,0,5,142,100,143,92,135,253,116,34,221,89,39, -143,1,8,171,154,22,201,202,8,68,206,58,253,212,232,224,1,39,168,121,121,185,154,201,76,178,121,203,54,239,231,179,230,120,191,159,183,192,79,8,201,20,40,117,183,139,57,85,106,125,207,198,27,200,15,103,35,168,110,165,109,35,0,130,241,68,162,236,223,143, -76,42,189,120,196,57,245,38,131,94,125,243,237,215,31,120,226,153,2,0,238,188,136,152,98,221,220,241,103,59,249,20,3,80,9,160,76,211,180,157,47,62,245,232,142,179,207,60,99,220,1,5,192,168,107,111,254,247,247,63,207,111,75,8,41,196,238,254,57,5,53,123, -234,121,10,85,234,238,185,215,44,32,196,25,99,170,166,233,9,77,215,117,206,25,3,8,17,4,42,200,146,172,72,146,232,33,132,56,27,68,21,151,240,73,51,212,56,184,107,151,218,194,136,0,8,25,134,17,188,225,138,203,130,231,12,59,163,172,123,183,195,111,116,255, -242,202,85,107,158,253,232,243,25,121,175,189,251,126,182,97,24,217,150,143,228,228,19,65,234,23,85,136,139,79,246,188,65,0,197,135,180,109,179,227,199,153,159,94,119,192,0,240,233,23,51,31,190,243,190,7,219,169,154,214,202,242,166,51,28,5,19,231,43, -86,204,149,240,16,83,216,91,103,231,140,225,248,48,151,83,36,161,118,115,104,115,10,223,13,2,231,59,1,113,88,213,64,195,52,195,157,59,30,26,57,162,235,225,241,14,135,180,87,125,94,47,75,36,18,116,253,166,45,242,138,53,107,60,27,55,111,245,131,144,0,221, -93,13,116,170,127,195,197,43,164,240,89,236,92,132,106,1,175,140,82,90,116,205,101,151,236,24,127,251,45,183,31,144,60,192,59,31,125,154,147,80,213,76,107,71,58,43,113,118,87,174,202,24,211,12,195,48,56,231,12,132,80,81,20,69,129,82,197,145,104,81,92, -145,130,236,240,23,220,217,61,234,16,120,42,187,221,220,228,244,3,176,59,36,36,162,36,138,158,141,155,183,6,54,110,222,170,202,146,100,80,65,96,140,49,162,170,170,68,8,145,40,173,126,123,73,116,9,83,179,10,75,170,110,24,58,103,204,0,8,4,65,16,69,81,144, -29,225,160,226,120,94,5,64,192,52,205,172,217,223,205,141,172,94,251,199,196,174,127,235,60,105,191,2,224,163,207,190,120,236,238,201,143,102,1,53,16,109,239,218,56,128,8,99,44,118,72,219,54,241,147,78,232,167,101,102,102,178,68,34,65,231,206,251,69, -94,189,238,15,159,32,8,118,109,60,195,206,143,56,144,46,185,118,30,113,129,128,166,112,208,208,204,32,32,46,45,230,6,132,66,41,245,1,208,13,211,52,97,154,28,0,17,4,129,186,156,78,238,178,233,17,195,48,163,121,185,217,177,211,6,13,136,183,40,200,55,76, -211,196,146,229,43,165,95,23,47,245,48,198,2,22,159,220,173,233,30,66,72,96,221,134,141,89,51,190,254,38,123,191,106,128,96,40,148,117,199,196,201,89,85,85,225,128,44,203,62,236,110,233,50,56,231,81,74,105,184,251,225,157,131,147,199,141,13,245,233,221, -243,218,159,103,125,86,227,247,55,110,216,244,244,132,71,30,111,51,239,215,223,84,198,152,153,204,228,86,87,197,136,43,116,36,117,120,244,251,75,240,117,153,76,167,131,43,56,66,74,103,63,160,123,205,118,13,68,7,16,229,64,168,109,203,150,161,187,198,92, -95,121,246,176,161,163,151,255,252,109,173,9,111,155,112,223,212,207,190,154,147,157,80,85,131,38,249,228,181,64,151,236,58,38,36,99,198,215,223,102,174,223,184,105,220,97,29,59,60,186,95,194,192,213,107,255,184,251,135,159,23,100,74,201,78,94,219,145, -49,57,231,49,74,73,229,136,191,159,89,50,227,253,183,47,236,211,187,103,202,18,111,199,78,29,254,249,238,43,47,92,112,195,149,163,75,37,73,10,113,206,157,229,81,167,202,79,21,170,165,74,251,238,79,34,72,221,173,108,171,106,175,21,153,184,147,75,246,238, -183,155,85,66,125,123,29,89,62,237,213,231,255,56,123,216,208,58,67,201,167,30,122,96,212,83,147,238,45,205,12,4,130,214,171,109,170,53,142,0,192,35,10,130,127,233,138,149,25,191,45,93,150,191,223,242,0,51,230,124,155,81,17,10,249,173,36,140,173,174, -53,211,52,163,167,157,52,48,52,229,193,251,46,221,155,113,238,186,245,198,75,206,30,122,122,144,82,26,118,0,192,76,177,227,200,30,118,255,129,160,186,50,141,146,43,185,228,52,107,118,33,73,5,16,105,215,166,117,232,209,137,119,111,105,223,190,93,189,93, -63,127,63,115,200,149,247,222,113,75,80,20,197,48,231,92,117,212,37,36,0,30,73,146,252,83,223,255,200,191,95,0,80,90,86,54,252,253,79,63,15,120,61,30,159,195,49,225,156,115,173,77,171,150,177,203,47,186,160,178,33,227,93,127,249,168,29,133,5,249,17,203, -111,112,119,246,224,32,18,58,246,144,96,114,39,153,4,151,131,74,29,187,63,33,8,66,116,212,5,231,85,118,233,124,216,94,191,43,120,241,136,115,47,59,117,208,137,17,77,215,19,150,159,101,155,76,69,150,36,223,47,139,150,4,126,253,109,241,164,102,7,192,23, -179,230,12,44,175,8,250,41,165,118,10,150,2,96,140,49,253,176,14,135,38,250,247,59,166,65,157,61,157,59,119,186,173,251,225,93,98,132,16,103,103,15,219,67,178,230,96,35,82,207,7,174,28,130,42,80,26,189,238,202,203,70,55,116,162,1,199,29,27,247,40,138, -234,208,146,182,249,241,80,74,125,175,191,251,65,70,179,3,224,253,79,62,243,43,73,199,79,113,56,109,92,150,37,179,251,225,93,26,85,31,63,241,184,99,84,129,82,61,69,248,247,103,1,65,125,128,168,110,37,103,140,235,61,14,239,162,54,102,224,46,135,117,76, -180,106,81,96,114,235,109,25,135,51,232,145,101,201,55,125,198,44,127,179,2,96,203,214,109,227,23,252,182,196,103,53,78,56,237,27,161,148,114,191,207,111,54,230,193,50,50,50,76,16,98,166,240,160,255,10,228,122,153,132,179,204,204,204,70,241,201,227,241, -112,73,146,152,3,104,213,78,40,33,196,171,27,134,255,157,15,62,126,168,217,194,192,247,62,153,94,160,40,138,157,123,151,29,225,31,229,140,19,77,211,26,229,84,106,154,118,176,218,249,166,118,24,9,0,18,79,196,27,245,140,134,97,16,147,49,234,10,63,97,107, -1,73,146,188,31,126,246,165,191,217,0,240,197,172,111,188,142,221,111,87,224,24,0,81,55,12,121,203,246,29,141,170,143,175,88,181,70,98,140,137,251,57,177,179,191,65,64,1,80,66,169,184,105,243,214,70,241,105,87,81,137,183,34,24,116,159,141,96,3,64,17, -40,245,46,89,190,210,215,44,38,96,235,182,237,119,109,219,177,211,75,147,101,76,231,43,78,34,0,145,115,46,175,93,191,193,183,126,195,198,41,13,125,176,69,191,47,243,50,198,106,152,148,191,162,240,1,72,4,144,43,42,171,60,223,124,255,195,203,13,231,211, -239,222,80,101,88,33,132,56,207,71,168,145,135,96,140,249,62,249,98,198,131,77,14,128,185,63,207,207,227,156,219,137,14,247,41,29,10,165,212,187,118,253,134,192,151,179,191,105,221,144,135,122,233,181,169,83,55,109,217,102,55,144,164,234,146,249,51,11, -190,86,31,1,0,175,97,24,129,23,95,155,218,160,244,237,202,149,171,95,248,248,139,153,1,81,20,220,237,106,162,51,26,0,224,253,254,199,121,190,38,7,192,79,11,22,122,193,185,211,246,219,8,180,147,31,30,66,72,224,185,87,95,207,249,118,238,143,111,236,205, -152,63,47,248,245,191,255,121,243,237,156,132,170,102,162,102,31,222,129,204,244,53,23,16,4,236,62,52,34,99,209,239,203,178,31,122,242,153,189,234,128,170,168,8,118,185,243,254,135,218,149,149,87,100,90,225,183,226,146,65,181,22,224,156,123,23,47,95, -209,244,0,88,190,122,141,194,107,151,96,157,232,243,17,66,50,98,177,68,246,85,183,222,89,48,253,203,175,246,248,112,179,191,249,238,205,91,198,221,219,98,71,81,113,14,77,54,119,212,215,217,243,103,38,119,123,87,134,97,152,57,47,190,254,86,193,195,83, -254,53,109,215,174,226,58,59,160,86,175,89,251,194,200,171,111,124,106,209,239,203,114,36,73,114,243,73,72,5,130,88,60,225,89,183,126,195,221,13,241,80,247,72,27,54,109,30,127,225,149,215,255,173,164,172,172,61,0,187,241,195,46,2,57,207,229,137,1,136, -48,198,171,18,137,120,248,244,147,7,133,79,63,121,80,172,227,161,237,53,81,20,25,51,25,221,182,99,135,252,221,143,243,188,159,206,156,21,160,130,144,41,10,194,190,116,246,252,153,194,192,148,125,4,241,120,60,220,167,231,17,145,179,206,56,61,218,227,240, -46,170,71,241,152,156,115,82,86,81,46,207,255,245,55,239,187,31,79,247,39,84,53,211,18,190,147,79,206,126,2,123,204,16,128,146,140,128,127,251,99,247,77,216,60,108,200,169,245,118,11,237,85,20,176,121,203,214,12,85,83,83,53,96,184,107,241,60,153,19,32, -162,207,231,243,124,243,195,207,129,217,223,253,160,102,103,101,234,30,175,135,27,186,78,74,202,202,69,81,20,21,89,146,189,174,163,223,148,20,187,255,175,230,8,214,234,35,240,249,124,202,242,213,107,3,139,126,95,158,200,204,8,232,1,127,128,49,102,146, -138,96,72,48,76,83,241,40,138,71,146,164,84,124,114,158,140,86,67,11,168,170,166,108,218,178,69,105,178,48,240,143,77,155,229,68,162,22,0,220,45,211,162,67,221,37,115,212,178,228,7,36,61,161,170,102,60,161,114,66,64,252,62,159,251,188,31,5,251,183,179, -231,64,8,127,79,125,4,178,40,138,186,40,138,186,97,152,70,48,84,201,64,64,36,73,162,146,36,213,215,1,5,212,236,34,22,1,72,9,85,149,215,111,222,218,116,0,40,42,42,145,53,93,175,75,72,212,229,236,80,135,128,237,19,183,25,33,181,236,225,129,236,236,57,80, -201,32,32,117,31,129,147,79,13,233,128,114,191,16,43,88,33,185,84,89,89,41,55,25,0,118,149,148,72,134,97,72,130,32,164,122,83,198,217,173,227,46,143,166,74,237,18,28,216,206,158,131,38,35,136,221,167,141,72,168,89,3,105,104,7,84,13,190,19,66,164,202, -112,68,46,45,43,31,94,223,89,132,123,5,128,68,66,149,234,217,169,36,133,186,115,158,219,183,167,24,249,175,46,248,186,204,1,117,8,185,174,226,87,125,124,74,213,109,45,0,16,213,132,42,197,98,177,35,0,76,223,167,48,176,180,188,124,120,56,18,145,28,217, -167,186,156,180,189,125,1,227,96,233,236,57,24,18,68,78,109,40,52,130,79,169,222,92,162,0,17,171,34,17,161,34,84,153,185,207,38,192,48,140,35,12,211,148,234,88,76,163,67,75,252,143,221,87,84,207,243,19,52,252,101,149,58,65,64,8,168,105,154,130,97,24, -194,62,3,192,52,76,145,49,38,32,245,171,83,105,33,55,15,32,246,89,179,48,102,82,211,52,234,45,171,215,107,2,66,85,85,190,72,52,70,27,33,252,52,29,56,109,66,34,209,24,9,86,86,137,251,12,0,206,57,225,156,239,73,240,105,48,28,132,128,224,28,224,123,209, -86,83,127,20,192,129,61,53,232,112,215,44,214,61,108,123,245,93,43,29,230,252,66,189,173,64,238,241,249,30,158,146,144,189,195,38,223,11,78,165,26,139,115,158,252,93,107,221,246,218,136,245,217,43,126,145,3,187,127,234,5,128,40,137,92,20,68,150,42,76, -17,4,17,178,162,56,158,157,64,83,19,208,117,189,214,131,113,206,33,43,10,146,231,34,236,246,123,52,53,1,211,76,118,72,73,138,7,146,36,213,41,16,66,8,116,77,131,174,107,213,127,247,249,3,41,191,111,154,38,212,68,28,186,166,130,80,10,81,20,65,8,77,53,40, -252,117,140,97,255,59,103,12,106,34,94,253,29,198,24,76,211,64,86,78,30,114,242,10,224,203,200,128,36,202,48,77,19,177,104,24,165,187,118,32,82,21,130,40,201,110,233,67,241,120,33,136,34,192,185,197,47,21,134,161,55,181,92,185,32,80,72,162,176,239,0, -8,248,124,49,143,71,97,174,164,14,55,13,3,29,186,116,197,201,195,70,64,146,21,11,16,2,86,255,254,27,126,156,253,57,116,173,102,223,35,103,12,67,207,191,12,173,218,29,106,243,21,106,34,129,57,211,167,97,243,250,181,0,128,190,39,158,140,222,253,6,194,48, -140,148,107,145,36,25,11,190,159,133,223,230,125,15,102,154,240,103,100,225,170,219,239,69,34,30,119,41,45,14,102,50,232,154,138,202,96,25,182,110,88,135,21,191,45,64,184,50,4,89,241,212,248,174,44,201,184,250,206,7,160,38,226,169,109,36,165,8,87,6,241, -241,155,47,33,26,174,2,231,28,249,133,173,112,202,89,35,80,208,178,13,50,115,114,225,245,7,32,138,18,152,105,34,30,139,34,88,86,130,101,11,127,198,220,153,211,33,74,187,223,114,211,52,13,67,70,92,138,14,93,186,129,115,14,73,150,49,103,250,251,88,185, -248,23,80,65,216,39,129,187,254,204,189,30,133,251,125,62,182,207,0,144,36,201,16,5,193,121,6,62,75,110,104,198,3,153,217,232,220,163,23,146,175,8,36,153,213,162,117,91,172,92,242,43,138,182,111,169,214,2,166,97,160,211,225,61,112,212,113,3,144,157,95, -0,240,228,238,141,71,35,152,255,237,87,213,198,170,69,171,182,232,218,171,47,116,45,117,115,177,236,241,96,253,234,229,213,227,74,178,140,238,189,143,69,52,28,78,105,43,8,8,76,211,64,34,30,195,224,225,23,226,235,79,222,195,252,239,102,65,241,236,6,1, -21,4,116,239,125,44,98,145,212,7,149,82,129,34,88,90,188,91,144,156,163,160,101,107,156,52,108,4,52,53,97,237,100,10,14,14,206,24,2,153,217,40,108,221,14,29,186,116,67,65,203,54,152,246,159,127,65,241,250,44,205,97,162,237,161,157,112,120,207,62,224, -140,67,241,122,177,232,199,111,247,202,4,237,37,8,120,114,133,224,162,40,50,73,150,246,61,10,144,36,233,11,81,20,117,94,243,34,132,228,68,156,131,153,38,24,75,126,12,67,71,126,97,43,116,237,121,116,82,205,57,168,231,177,253,145,149,151,95,227,251,140, -153,53,31,158,16,80,154,60,245,141,115,86,227,123,164,250,223,106,170,212,26,227,113,6,66,118,187,8,204,234,158,246,120,125,40,108,221,14,23,92,117,51,134,156,55,178,150,202,165,52,57,54,231,188,198,156,0,183,230,164,32,14,95,151,16,90,13,66,67,215,177, -117,195,58,20,109,219,98,25,66,14,211,52,32,74,18,250,15,62,19,157,186,30,9,211,52,106,104,194,234,53,155,102,83,8,223,125,148,61,3,7,19,4,209,148,36,201,220,103,13,144,151,155,179,116,244,245,99,116,112,110,160,246,75,27,220,29,5,232,186,142,254,131, -135,98,225,15,95,35,26,9,131,115,134,86,237,15,69,231,238,189,64,64,234,116,242,168,32,224,195,215,254,15,239,190,244,52,218,119,234,130,43,111,189,7,45,219,29,2,206,24,98,209,8,30,27,123,29,74,118,110,135,172,120,106,129,43,41,68,1,37,59,183,226,141, -103,31,3,21,4,248,3,153,232,210,163,39,142,234,55,16,89,57,121,0,0,197,227,197,41,103,157,143,93,219,182,96,213,210,133,160,148,34,17,143,97,212,224,222,80,227,113,92,117,231,253,232,127,202,80,152,166,1,102,154,248,230,179,15,240,238,203,79,195,227, -245,67,146,229,164,208,73,210,159,41,47,222,133,25,239,191,137,249,223,206,132,166,105,0,56,58,119,239,137,203,110,186,11,57,5,133,224,140,129,10,2,122,244,57,22,27,214,172,64,178,140,210,72,151,158,16,120,188,190,36,88,8,129,105,232,208,85,21,68,16, -184,36,201,160,130,192,53,53,193,153,105,90,26,154,27,25,1,191,153,147,149,89,181,239,81,0,0,191,207,103,191,209,90,111,239,62,51,25,218,118,56,12,93,122,28,133,197,243,231,130,16,138,142,127,235,142,118,29,59,131,153,123,6,164,40,74,160,84,128,44,43, -32,148,84,207,64,0,200,178,2,197,227,173,211,86,18,2,104,170,138,45,27,214,38,85,50,231,88,178,224,7,124,255,229,39,184,252,214,9,232,208,165,43,56,231,200,206,203,199,113,39,157,134,45,235,215,32,30,139,86,3,3,60,233,195,56,77,136,32,138,80,60,94,200, -138,82,99,247,111,223,180,30,79,140,191,9,165,187,118,64,146,21,72,114,210,217,219,176,102,5,150,45,154,143,147,135,157,7,131,37,181,79,70,118,14,118,191,199,209,56,242,5,50,48,254,201,151,16,139,70,33,73,50,230,127,247,21,126,153,59,27,221,123,29,131, -35,143,61,1,45,219,180,227,111,252,251,81,190,97,205,10,70,8,49,57,96,120,189,94,61,35,16,152,218,36,0,104,81,144,167,139,162,168,243,221,90,32,101,241,66,83,85,152,166,1,65,16,112,250,121,35,177,100,193,92,248,252,25,56,186,255,73,160,84,64,176,172, -4,25,89,57,205,23,250,16,2,65,16,170,189,125,81,20,81,81,86,140,169,207,63,129,241,79,190,4,65,16,161,107,26,186,246,234,139,236,188,130,106,0,52,148,34,225,74,112,206,106,57,148,150,122,168,241,127,194,149,161,212,209,71,3,136,82,1,45,90,183,67,52,18, -134,32,136,232,220,237,72,116,233,209,11,221,122,245,133,174,107,220,227,245,65,241,120,25,56,55,65,136,1,206,141,128,223,167,229,230,228,108,217,103,31,0,0,218,183,109,99,159,107,91,151,25,224,132,16,20,239,216,138,77,107,87,1,4,104,115,72,39,116,239, -125,28,90,182,109,143,46,61,142,2,165,20,191,206,157,83,167,131,215,108,113,174,36,163,120,251,22,108,92,179,18,130,32,130,115,142,204,172,28,228,22,20,54,58,135,149,244,71,4,87,132,199,144,155,95,128,118,29,59,131,91,187,159,10,2,86,46,254,5,162,40, -238,179,153,55,205,164,207,160,107,42,14,235,118,36,186,246,60,26,140,49,136,162,4,81,148,24,33,164,250,72,30,74,169,214,34,63,111,175,24,45,238,53,0,20,89,75,168,106,93,32,0,33,4,229,37,69,216,180,110,21,186,29,213,23,140,48,12,187,232,114,20,109,219, -2,66,9,212,68,28,191,205,251,14,253,7,15,5,20,101,191,130,64,16,68,236,218,186,9,93,123,245,5,204,164,13,207,202,201,3,161,4,156,53,205,91,104,148,10,56,170,223,64,116,234,122,4,76,211,76,134,196,203,22,99,211,218,85,53,66,193,125,87,114,4,145,170,42, -44,91,52,19,59,183,108,230,186,174,242,188,22,45,121,121,73,17,67,242,170,26,93,150,101,173,93,155,54,106,147,1,160,83,135,67,195,138,162,104,64,216,9,0,167,25,32,182,10,94,181,116,33,6,12,25,142,252,194,86,40,108,221,14,133,173,218,130,51,142,85,75, -23,162,116,215,142,3,246,210,31,175,225,199,55,61,29,222,243,104,156,125,201,213,224,140,37,67,220,88,20,83,159,123,44,165,195,186,175,26,237,247,95,127,194,135,175,253,159,157,163,229,4,96,156,115,211,186,171,72,243,40,138,122,88,135,67,247,10,0,123, -101,2,58,28,210,254,225,128,223,103,31,104,100,59,131,102,237,204,160,128,77,107,87,97,199,150,13,187,195,27,66,96,154,38,86,45,94,136,202,96,197,1,41,28,48,206,208,178,109,123,48,75,53,131,0,161,242,210,106,85,221,104,80,89,94,121,215,158,71,227,218, -177,147,192,147,9,14,168,137,56,158,127,120,60,34,85,149,205,228,239,112,59,13,157,252,79,210,203,172,190,173,212,231,245,36,186,119,237,82,209,100,0,0,128,110,127,235,162,18,2,251,29,126,3,181,239,198,227,0,64,40,197,252,239,102,65,215,52,16,66,147, -234,119,219,38,172,95,189,236,128,228,189,13,61,153,155,232,210,189,39,76,211,0,161,20,161,242,50,148,149,20,237,93,181,164,46,80,153,38,36,89,198,241,167,156,129,107,199,77,134,117,8,26,130,165,37,248,239,211,15,98,203,31,107,246,199,243,58,47,176,182, -207,47,84,51,51,50,18,135,180,107,247,120,147,2,96,64,191,99,227,0,73,184,180,64,173,112,80,148,36,172,90,178,16,219,54,174,67,52,92,137,170,80,5,214,44,91,140,93,219,55,131,82,90,207,142,178,147,36,172,86,144,201,24,131,201,234,73,156,112,14,93,215, -97,232,26,116,77,69,34,30,67,97,155,118,24,121,221,109,160,150,42,22,69,17,203,22,206,67,101,69,89,117,198,136,153,102,202,177,57,103,73,231,203,165,41,12,67,71,70,118,14,206,186,248,74,156,127,197,141,96,140,129,49,134,63,86,253,142,87,159,154,132,229, -139,22,192,48,13,24,186,6,67,215,247,213,254,237,151,0,0,12,192,73,68,65,84,24,6,154,166,1,93,215,172,239,238,254,232,186,86,93,35,217,83,214,15,174,155,73,9,33,241,94,71,116,139,53,89,49,200,166,65,39,244,43,101,140,181,36,132,36,92,90,160,134,31,96, -215,140,223,251,207,191,224,15,100,130,115,142,80,69,233,94,133,66,254,64,38,100,197,131,236,220,124,203,118,242,234,216,59,59,175,0,156,115,168,137,120,202,240,141,115,14,143,63,128,222,199,13,0,21,4,120,60,62,180,62,164,3,186,244,232,133,86,237,59, -84,39,102,202,138,118,97,254,183,95,33,30,139,86,103,29,11,90,182,70,34,30,131,226,241,130,59,218,236,188,94,63,10,90,182,134,40,73,8,135,130,213,64,104,215,225,48,12,191,244,106,116,233,222,171,26,120,161,242,50,44,95,56,15,89,57,121,232,211,127,80, -117,254,194,48,13,108,223,180,30,85,161,218,26,153,49,19,237,59,117,65,239,227,7,213,218,28,148,82,84,148,22,99,251,150,141,245,129,192,121,122,105,130,0,241,1,199,31,23,155,210,212,0,104,89,88,248,196,41,127,31,241,226,218,13,155,18,148,82,247,113,46, -212,161,9,8,21,4,148,22,237,68,41,118,84,251,135,245,237,126,198,76,12,24,50,28,3,134,12,7,99,108,119,230,11,128,226,245,226,202,219,238,133,40,74,248,250,211,119,49,119,230,244,26,233,85,91,67,228,228,230,99,228,245,183,131,128,128,80,2,81,146,33,8, -130,229,152,81,104,137,56,166,191,243,10,54,173,91,85,189,30,89,241,96,220,147,47,33,22,137,192,227,243,85,39,171,40,165,232,115,194,73,56,162,239,241,168,172,40,195,203,79,220,143,170,80,5,100,197,131,147,206,60,15,221,122,246,133,97,232,213,107,204, -204,201,197,233,231,93,82,75,237,199,163,17,76,123,229,89,4,203,75,107,61,179,174,105,56,102,224,169,232,211,255,164,218,41,120,89,193,130,111,191,194,142,169,47,237,145,109,168,121,83,121,194,100,44,54,124,232,144,123,154,92,3,0,192,240,51,135,196,30, -126,234,185,184,44,83,53,133,22,168,21,174,52,52,206,86,60,94,100,100,229,212,170,36,18,66,224,15,100,64,86,60,201,228,75,29,195,18,74,225,241,250,106,59,106,32,40,222,181,13,111,63,63,5,155,215,173,170,225,153,19,66,144,145,149,147,50,85,43,201,10,20, -143,15,134,174,37,51,147,214,247,101,197,83,75,208,130,32,192,235,243,167,244,21,4,129,214,217,82,33,73,50,36,73,78,57,183,40,203,245,237,124,91,253,107,0,84,211,52,99,3,143,63,46,246,206,138,69,104,22,0,156,115,230,25,101,15,77,121,182,0,64,28,132,168, -186,166,26,193,178,18,83,86,60,2,165,148,134,43,67,132,236,97,167,19,74,81,81,86,2,79,52,2,66,8,18,241,88,82,216,150,241,136,70,170,80,94,188,171,186,222,95,171,26,168,40,136,71,35,213,204,100,204,68,105,241,174,228,255,171,181,187,84,132,43,131,216, -181,125,43,86,45,249,21,43,126,91,0,81,146,106,133,101,156,51,148,21,237,172,51,43,72,41,69,101,176,28,204,100,213,223,15,87,134,80,86,178,11,134,94,127,29,63,30,139,66,211,52,171,73,132,34,92,25,66,121,73,81,189,69,32,73,146,17,173,170,4,120,82,187, -149,89,207,41,201,50,34,225,170,148,234,95,215,141,248,249,195,135,69,223,121,229,249,189,150,105,131,221,212,161,231,95,250,210,210,21,43,219,137,162,216,202,52,140,92,85,141,103,128,195,195,1,73,20,69,234,241,250,8,231,156,212,149,196,136,70,194,187, -59,104,8,129,226,241,84,239,62,77,85,147,13,28,123,232,166,145,21,165,186,255,128,115,134,88,36,82,231,247,9,165,160,148,66,16,69,71,35,74,237,49,99,145,112,221,115,34,217,102,235,241,249,147,223,225,28,170,154,128,145,162,233,165,174,244,180,253,140, -54,232,13,195,168,151,241,118,191,128,172,120,106,172,145,115,206,37,89,54,101,197,99,32,121,182,98,4,64,57,231,188,72,20,133,173,155,150,254,114,77,131,242,10,13,5,192,63,70,93,20,185,226,166,219,163,217,89,153,113,65,20,53,159,152,225,12,9,235,20,190, -253,80,62,127,160,206,177,101,69,169,81,120,169,159,183,20,254,140,76,236,11,17,66,26,54,6,33,80,60,222,100,1,169,17,121,3,197,227,133,210,248,53,166,242,254,53,0,137,132,170,198,70,159,61,34,250,228,210,95,26,150,193,108,232,67,156,208,239,216,173,157, -14,109,31,53,77,22,179,16,168,165,136,8,254,74,167,124,29,108,84,43,244,179,228,16,187,236,226,243,195,13,29,172,193,0,40,44,40,248,215,57,195,206,8,171,170,26,65,242,60,128,84,87,183,166,169,121,4,159,210,246,107,186,30,27,212,255,184,200,145,221,187, -77,108,118,0,0,192,25,131,79,174,202,201,201,10,115,206,163,216,125,196,171,187,72,148,6,67,243,239,254,4,128,184,174,235,145,145,35,206,141,52,102,192,70,1,160,111,239,94,19,6,15,60,177,202,186,4,57,173,5,246,223,238,119,171,254,184,97,24,145,190,189, -122,134,143,58,178,71,217,126,3,0,0,12,61,245,228,202,172,204,204,42,75,11,196,210,90,160,89,133,143,20,170,63,14,32,42,8,66,248,204,211,7,87,29,218,190,221,163,251,21,0,103,13,57,109,124,175,35,123,84,2,168,178,0,144,202,33,76,83,211,171,126,205,226, -117,148,49,86,213,169,195,33,161,179,134,156,90,220,216,129,247,169,87,233,154,203,70,134,124,62,111,37,128,48,128,168,165,150,210,90,160,249,85,127,20,64,88,81,148,202,243,134,13,13,53,118,247,239,51,0,78,30,112,194,132,99,123,247,10,33,121,151,157, -125,230,191,154,14,11,155,101,247,27,182,221,183,120,93,89,88,144,31,188,249,218,127,220,177,47,131,239,243,205,161,83,38,223,55,71,16,132,144,101,10,34,46,83,144,118,10,155,102,247,27,14,213,31,1,80,69,8,9,78,188,99,76,197,190,78,178,207,0,40,40,200, -255,236,222,59,198,84,232,186,30,114,152,130,132,43,42,72,107,129,125,83,253,246,238,143,1,8,107,154,30,58,99,240,73,21,67,78,61,101,194,190,78,212,100,45,43,163,174,189,249,249,153,223,124,215,198,231,245,22,34,121,137,100,38,118,159,106,249,87,60,254, -173,185,189,126,167,211,23,183,54,87,133,110,24,197,135,180,105,179,115,193,156,47,174,105,138,201,154,236,246,240,137,99,255,185,171,67,251,118,21,186,97,164,253,129,166,19,190,51,228,139,112,206,43,37,65,8,62,60,113,92,121,83,77,216,100,0,232,220,169, -227,228,187,198,220,88,33,139,98,144,115,158,10,4,166,43,166,77,83,221,194,175,21,239,3,168,138,199,19,161,155,175,185,178,226,228,1,39,220,125,208,1,0,0,70,12,31,118,251,200,243,207,41,51,77,51,104,57,133,209,20,249,1,150,6,65,131,133,95,169,233,122, -112,200,41,131,202,47,31,121,193,215,77,57,177,208,212,79,50,253,163,15,182,47,90,178,172,199,174,226,98,145,16,146,234,250,180,84,135,28,166,133,95,91,248,182,199,95,201,57,175,232,208,190,93,201,164,187,239,216,117,88,199,142,47,53,229,228,180,169, -159,38,47,55,119,217,163,247,221,189,179,109,235,86,101,140,177,10,71,142,32,173,9,26,182,243,171,133,159,145,17,40,29,123,203,245,37,125,122,245,156,216,212,11,160,205,241,84,93,255,214,229,254,135,238,185,171,164,32,47,183,212,48,204,10,87,162,40,13, -130,6,8,95,16,132,210,219,110,184,186,120,248,208,33,227,154,99,17,205,170,126,231,254,60,239,241,171,199,140,109,25,137,197,90,136,130,144,7,32,27,201,51,239,237,155,71,82,157,61,220,220,12,63,160,60,113,197,249,188,110,225,163,60,22,143,149,60,243, -208,253,69,163,46,58,255,206,230,90,8,109,206,167,28,216,255,248,177,207,62,54,185,88,22,165,82,147,177,114,36,47,52,8,99,207,61,4,188,153,152,236,238,166,117,127,82,125,151,55,179,224,157,249,253,152,197,155,16,231,40,143,197,162,37,15,142,31,91,220, -156,194,223,111,14,216,244,25,95,61,113,199,196,201,133,137,132,218,130,16,146,11,32,203,161,9,20,151,38,216,215,155,66,220,71,166,184,25,191,167,35,89,247,116,48,51,105,34,13,196,235,138,243,1,84,114,160,130,153,102,233,216,91,110,40,26,115,221,85,119, -54,183,108,246,155,7,254,229,172,175,31,191,247,145,39,11,75,203,202,11,28,32,240,163,230,245,234,251,114,119,32,175,99,151,57,119,120,93,21,74,247,193,205,169,142,103,111,172,137,170,125,134,79,82,240,118,122,183,134,183,239,245,122,74,199,92,243,143, -146,27,175,190,226,206,253,33,151,253,26,130,205,156,243,237,99,143,62,253,92,139,117,27,54,230,75,146,100,167,139,3,14,16,216,105,227,61,157,74,94,159,106,117,238,48,211,97,102,204,20,230,38,213,185,252,238,11,26,132,38,2,165,115,77,26,106,86,246,170, -12,211,172,104,145,159,87,118,221,229,151,150,92,119,229,232,187,246,151,76,246,123,12,190,124,229,234,201,15,78,249,87,203,111,126,248,41,207,235,241,228,16,66,178,0,216,183,97,41,168,125,35,214,158,24,239,102,176,83,181,218,175,76,217,47,179,186,207, -57,114,158,181,239,190,121,203,190,10,79,70,205,163,219,247,22,148,169,118,189,243,210,40,167,205,175,138,198,98,21,71,118,239,90,126,247,173,55,149,156,118,242,160,9,251,83,30,7,36,9,83,84,92,50,246,229,215,167,182,127,225,181,169,249,148,210,28,65, -16,108,16,216,38,193,121,63,78,125,135,84,187,109,170,238,72,164,84,127,116,93,87,117,195,208,12,195,52,24,99,38,71,242,5,6,66,8,17,4,65,16,69,81,146,37,73,166,148,122,44,223,196,235,210,76,146,43,169,85,31,32,185,43,196,211,93,217,189,48,231,188,50, -18,141,5,207,31,126,102,249,63,111,184,166,184,107,151,206,147,246,183,44,14,104,22,238,163,207,190,152,50,241,145,39,243,130,161,202,28,81,20,179,235,48,9,123,186,169,36,85,201,52,225,96,114,84,211,180,40,99,60,122,98,191,99,226,3,143,63,86,61,162,91, -87,189,109,171,86,149,146,44,113,102,50,132,35,17,101,213,218,117,222,95,23,47,145,103,127,255,163,167,164,172,220,167,40,138,159,18,98,95,211,230,244,83,164,58,252,20,212,33,120,39,40,19,78,149,207,24,11,81,74,131,183,221,112,117,249,173,215,95,115, -251,129,146,193,1,79,195,174,223,184,233,222,155,239,186,167,245,202,53,235,114,173,60,129,29,33,248,92,218,32,149,73,224,174,80,202,102,112,152,115,94,37,73,82,229,37,231,157,29,190,238,242,81,69,109,218,182,30,191,87,17,203,23,51,255,239,225,103,158, -203,220,89,84,156,109,153,39,167,137,114,230,47,220,215,229,165,242,63,156,218,40,106,59,123,0,66,45,91,20,84,60,126,255,132,242,65,39,246,191,231,64,242,255,160,201,195,63,249,236,243,83,94,127,247,131,188,170,112,36,155,115,158,69,146,59,48,213,238, -115,94,153,230,108,149,138,89,12,14,137,162,24,236,119,116,239,224,228,241,119,110,239,216,225,208,70,49,248,249,87,94,127,241,249,255,190,153,87,89,85,149,75,8,201,177,180,147,223,1,2,33,5,0,156,130,119,130,50,202,57,143,112,206,43,51,2,254,224,73,39, -28,95,241,252,148,71,111,59,24,248,126,80,21,98,86,172,94,243,192,191,95,124,53,127,222,194,69,57,101,21,193,44,73,20,51,8,33,254,20,187,207,102,190,205,236,56,128,48,99,44,228,247,249,202,175,26,117,113,217,157,183,220,112,221,190,174,231,247,101,43, -166,140,155,252,72,235,229,171,214,228,83,74,115,28,161,171,13,72,226,0,98,42,31,36,6,32,170,233,122,56,195,239,175,60,178,123,215,224,245,87,140,170,24,124,210,192,123,15,22,158,31,148,149,184,153,95,127,243,216,135,159,125,153,253,245,247,63,100,169, -154,158,161,200,178,243,202,84,59,103,64,44,198,171,72,182,72,87,138,162,88,254,208,132,177,165,151,92,112,222,77,77,181,150,13,27,55,77,254,231,132,7,58,44,94,182,188,192,2,129,221,233,36,57,52,145,219,195,143,3,136,233,186,30,101,156,87,29,127,204, -209,85,35,254,126,102,240,146,243,207,189,235,96,227,245,65,91,138,13,134,66,89,75,151,175,186,231,173,105,31,102,78,159,57,43,131,10,66,64,145,101,31,33,196,214,4,212,2,64,130,115,68,12,211,8,62,243,224,253,101,23,158,55,124,76,83,175,101,211,166,45, -147,70,223,56,166,195,230,109,59,156,245,12,123,13,220,237,128,106,186,30,141,197,98,145,129,199,247,11,95,121,233,69,85,253,250,246,41,106,89,216,98,202,193,200,231,63,69,45,126,237,31,235,31,120,254,191,111,228,125,242,197,204,128,170,234,94,89,150, -20,146,60,116,136,3,80,195,145,104,248,142,27,175,9,78,184,227,214,59,154,107,13,139,22,47,121,104,248,165,255,104,45,8,66,142,5,0,197,1,66,13,128,170,235,122,12,64,116,96,255,227,34,99,174,189,42,220,239,152,163,199,29,236,188,253,83,53,99,148,149,151, -15,120,243,221,15,134,189,245,193,39,74,69,40,36,114,206,185,110,24,234,17,135,255,45,242,226,148,71,139,58,116,56,228,133,230,156,127,210,99,83,30,122,225,181,169,57,146,36,217,0,32,36,121,229,171,166,120,148,248,57,103,14,137,94,125,217,37,21,157,58, -28,250,208,159,133,167,127,218,110,156,159,22,252,114,231,231,95,205,225,63,206,251,69,191,98,228,5,177,171,47,191,244,63,251,99,222,206,125,250,143,55,12,195,31,8,4,100,175,71,33,125,122,30,105,156,117,250,96,117,232,233,131,239,251,51,242,49,221,162, -221,64,122,253,157,105,163,138,138,75,124,199,244,57,74,60,121,192,9,255,151,230,72,154,210,148,166,52,165,41,77,105,74,83,154,210,148,166,52,165,41,77,105,74,83,154,254,20,244,255,28,213,96,150,197,77,175,148,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,32,0,73,68,65,84,120,156,236,189,119,124,148,85,246,248,255,126,202,244,146,153,244,4,18,8,29,65,64,65,68,81,212,21,197,181,160,34,246,130,184,43,174,93,87, +23,187,107,239,186,174,186,174,238,218,215,222,27,202,90,176,1,130,10,130,20,13,45,144,64,10,105,51,147,233,51,207,243,124,255,120,102,38,51,201,164,2,186,159,223,235,119,94,175,36,147,103,238,115,238,185,247,156,123,238,185,231,158,123,174,192,255,7, +33,55,55,215,81,94,94,94,94,86,86,86,62,108,216,176,161,197,197,197,3,11,10,10,242,114,114,114,220,118,187,221,153,151,151,103,147,36,201,162,105,26,0,130,32,160,170,106,184,185,185,217,239,247,251,253,62,159,175,181,177,177,177,169,190,190,190,118,243, +230,205,155,170,171,171,171,107,106,106,170,27,27,27,189,191,113,211,118,59,8,191,53,1,187,10,118,187,221,56,110,220,184,241,147,39,79,158,60,126,252,248,125,70,143,30,61,102,196,136,17,163,220,110,183,107,119,214,227,243,249,218,42,43,43,127,169,172, +172,92,183,122,245,234,85,223,125,247,221,242,213,171,87,175,246,122,189,161,221,89,207,175,13,255,39,5,96,204,152,49,195,15,63,252,240,233,211,166,77,59,236,160,131,14,58,184,168,168,168,56,91,57,85,85,81,20,133,228,72,79,7,65,232,220,244,142,229,4, +65,64,146,36,68,81,204,74,71,99,99,99,227,210,165,75,191,89,188,120,241,151,159,126,250,233,103,171,87,175,254,185,63,237,249,45,225,255,140,0,236,189,247,222,35,102,205,154,53,107,198,140,25,199,30,112,192,1,83,211,191,211,52,141,104,52,138,166,105, +157,24,155,237,127,33,203,115,77,211,208,232,44,4,217,254,23,4,1,131,193,208,73,48,126,248,225,135,239,62,253,244,211,5,111,189,245,214,219,43,86,172,88,219,159,118,254,255,144,6,14,135,195,56,111,222,188,115,62,255,252,243,255,106,29,32,24,12,106,129, +64,64,11,6,131,137,159,144,22,12,6,181,80,40,164,197,162,145,142,197,119,25,226,209,136,22,14,133,210,234,11,102,208,160,170,106,70,249,175,191,254,250,139,75,47,189,244,252,188,188,60,219,111,221,143,221,193,255,164,6,24,62,124,120,217,31,255,248,199, +121,103,157,117,214,185,165,165,165,3,1,20,69,33,20,210,167,219,244,209,43,8,2,86,147,17,36,57,3,135,175,173,141,218,166,86,118,122,125,212,182,120,169,109,241,208,218,22,32,16,142,16,138,198,136,196,227,168,138,162,227,16,37,76,178,132,197,104,192,102, +50,226,182,219,40,201,117,81,154,231,162,208,229,160,52,47,23,87,142,51,147,72,85,33,20,142,160,166,105,8,77,211,208,52,13,139,197,130,44,235,244,52,53,53,237,124,233,165,151,158,127,234,169,167,254,181,118,237,218,77,187,191,183,118,13,254,167,4,96, +194,132,9,35,46,187,236,178,43,207,58,235,172,63,24,12,6,3,64,91,91,91,74,237,10,130,128,166,105,24,100,9,179,197,154,122,47,18,10,178,190,186,150,181,219,118,240,83,213,118,182,52,52,177,169,110,39,117,45,30,188,193,48,209,80,4,98,113,208,84,16,69,16, +5,50,154,174,105,237,63,9,161,192,32,35,153,77,184,172,22,138,220,78,134,151,22,81,81,148,199,184,138,50,246,30,92,198,94,131,6,96,181,181,15,238,72,56,68,52,22,79,209,152,164,217,225,112,36,170,208,120,245,213,87,159,123,228,145,71,30,90,182,108,217, +154,61,223,155,189,131,255,9,1,24,57,114,228,160,249,243,231,95,115,222,121,231,93,8,122,103,249,124,62,68,81,76,117,168,36,138,25,29,190,173,182,158,111,127,217,204,215,107,55,176,98,115,53,63,215,212,209,230,109,131,184,2,70,35,6,171,9,171,201,136, +81,146,145,68,17,65,0,65,72,155,211,83,3,55,109,142,79,123,166,106,160,168,42,209,120,156,80,56,66,44,24,130,104,20,68,9,171,211,198,200,129,37,76,26,62,152,105,123,143,228,192,189,134,51,164,108,64,10,77,40,24,32,174,168,41,218,85,85,197,110,183,35, +73,18,0,175,188,242,202,115,247,220,115,207,221,63,253,244,211,134,61,212,165,189,134,223,84,0,156,78,167,229,246,219,111,191,245,162,139,46,186,82,150,101,89,81,20,252,126,127,6,227,45,70,35,178,201,4,64,77,93,3,31,175,88,195,199,43,214,241,221,134, +42,106,119,54,65,44,142,224,176,227,182,89,49,25,100,196,110,152,156,249,111,118,198,167,131,166,105,8,105,79,5,64,213,52,34,177,56,158,64,16,188,109,32,137,20,20,229,179,223,136,10,126,63,105,28,71,79,30,159,18,6,53,22,37,16,142,100,8,130,213,106,37, +161,220,248,215,191,254,245,200,13,55,220,112,115,83,83,211,111,230,95,248,205,4,96,206,156,57,167,221,117,215,93,247,39,231,120,175,215,155,97,85,59,172,102,144,244,142,250,228,187,85,188,246,205,247,44,92,177,150,218,218,6,48,200,216,93,57,56,44,38, +68,132,52,75,61,59,83,59,243,183,99,185,14,203,196,180,103,237,175,116,92,74,106,9,7,146,134,63,20,33,208,234,129,72,148,252,210,66,102,76,218,155,211,14,61,128,99,15,154,4,136,160,41,180,249,131,25,130,224,112,56,16,69,145,230,230,230,198,155,111,190, +249,186,199,31,127,252,233,222,246,221,238,132,95,93,0,6,15,30,60,240,177,199,30,123,228,152,99,142,57,17,218,25,159,236,28,135,213,2,146,140,22,143,241,226,162,111,121,230,179,197,124,185,234,23,136,68,177,21,228,225,178,91,32,49,199,246,164,198,83, +191,123,203,120,208,113,103,121,150,173,92,6,36,122,210,27,8,17,218,217,4,178,196,148,241,163,57,239,168,67,56,103,198,33,152,76,230,172,130,144,147,147,3,192,151,95,126,249,223,139,47,190,248,210,245,235,215,111,204,222,115,123,6,126,85,1,152,55,111, +222,156,135,31,126,248,31,22,139,197,22,12,6,137,199,227,136,162,136,166,105,152,141,6,12,38,51,168,10,79,125,252,21,255,252,248,75,86,174,221,0,38,19,133,5,121,24,101,17,85,213,0,173,3,223,58,170,123,253,159,46,213,125,55,207,58,177,62,27,227,59,213, +159,168,47,237,153,40,10,196,20,133,166,134,102,8,6,25,61,102,56,23,30,55,157,11,143,63,18,217,96,68,73,76,13,162,238,130,70,146,36,108,54,27,170,170,42,87,95,125,245,101,127,251,219,223,30,207,214,127,123,2,126,21,1,176,88,44,134,103,158,121,230,169, +211,78,59,237,28,0,143,199,147,50,136,68,65,192,102,183,3,240,198,151,223,114,223,91,11,249,225,167,95,192,102,165,180,32,15,17,18,75,173,236,140,78,54,35,18,141,209,234,15,160,6,2,96,54,83,94,84,64,44,30,239,248,66,23,204,239,126,212,203,6,153,237,13, +77,224,15,128,205,138,203,97,195,108,48,164,108,130,44,21,128,166,47,81,53,160,161,177,25,60,94,198,140,27,197,252,83,143,227,156,163,15,7,32,24,8,160,168,186,177,24,143,199,113,185,116,239,245,135,31,126,248,246,156,57,115,230,182,180,180,248,186,235, +215,221,1,123,92,0,38,78,156,56,238,245,215,95,127,99,200,144,33,35,130,193,32,177,88,44,53,234,157,14,59,8,34,63,110,216,194,77,47,188,205,130,197,63,128,217,204,128,162,252,180,206,237,204,120,33,241,203,31,10,227,109,246,66,60,134,201,229,100,204, +160,1,28,178,247,40,162,177,56,47,126,190,4,179,217,136,152,244,25,244,115,212,107,154,70,48,16,100,246,161,7,144,231,180,243,213,234,159,89,179,181,134,112,115,43,72,18,182,92,23,118,171,89,55,22,181,142,218,33,177,217,132,190,4,169,175,223,9,254,0, +135,77,157,196,29,231,159,206,129,227,246,2,72,173,120,210,181,65,125,125,253,246,83,79,61,245,148,175,191,254,250,219,254,246,125,111,96,143,10,192,169,167,158,58,235,213,87,95,125,11,218,71,189,6,72,201,81,175,169,220,240,220,155,220,251,198,199,40, +161,8,197,3,139,145,37,9,85,85,19,24,50,59,84,20,5,194,209,40,77,77,173,16,142,224,42,42,96,218,222,35,249,221,184,81,28,60,118,36,19,134,150,35,138,34,43,55,109,101,226,249,215,81,80,156,143,44,136,244,138,241,144,213,208,83,85,141,157,213,181,124,244, +200,45,252,126,242,4,52,77,229,167,205,213,124,179,182,146,69,63,174,227,203,213,235,105,173,109,0,131,129,156,252,92,172,102,19,170,170,100,212,149,252,32,136,2,113,69,163,169,166,22,36,145,43,78,159,201,253,23,157,131,44,27,82,75,71,208,157,94,73,109, +112,254,249,231,159,251,212,83,79,61,223,159,254,239,13,72,123,10,241,141,55,222,120,237,227,143,63,254,47,128,214,214,86,100,89,70,85,85,156,86,11,70,179,133,229,235,55,112,194,109,143,240,250,71,95,98,207,207,165,184,48,175,221,184,3,146,204,23,0,81, +20,241,4,2,52,111,175,39,138,192,97,19,246,226,210,217,191,231,129,243,79,227,226,227,14,103,202,232,97,148,228,185,82,30,194,239,42,55,243,234,87,203,177,91,44,186,207,39,29,186,152,2,58,131,150,146,191,64,48,200,161,147,198,177,239,240,10,4,65,160, +56,215,197,228,81,195,56,245,176,3,56,121,218,254,12,175,40,67,17,4,54,110,175,197,187,163,142,152,65,198,102,50,39,234,105,23,53,77,213,219,227,204,205,65,51,72,124,179,232,91,222,92,182,130,209,229,3,24,49,168,12,147,65,38,28,137,32,73,18,161,80,8, +179,217,204,204,153,51,79,176,217,108,166,79,63,253,244,243,93,231,74,103,216,35,26,224,217,103,159,253,215,185,231,158,123,126,44,22,35,16,8,32,37,70,117,210,226,189,227,197,119,184,233,133,183,65,19,40,27,88,132,170,106,157,150,114,130,166,51,190,201, +215,70,168,177,153,188,146,34,78,153,54,153,115,166,79,101,202,232,97,25,245,181,107,12,253,157,119,151,174,224,196,155,31,162,48,223,141,148,190,97,163,117,88,218,165,61,107,255,63,179,132,170,105,236,172,109,224,169,27,46,225,15,191,63,140,120,60,158, +120,77,195,32,203,186,119,41,1,63,84,110,230,63,159,124,205,43,159,47,161,113,219,14,164,124,55,5,238,28,180,108,237,67,64,16,5,234,183,215,65,44,198,252,185,39,115,239,197,115,129,246,149,145,162,40,88,44,22,76,38,19,111,191,253,246,235,39,157,116,210, +169,189,227,64,239,65,238,185,72,223,224,189,247,222,123,123,230,204,153,39,6,2,129,212,124,143,166,145,147,147,131,183,205,207,233,119,63,206,199,95,125,135,99,64,49,110,155,149,120,210,245,154,54,215,75,146,136,47,16,194,91,91,79,193,192,18,46,63,239, +20,254,116,204,239,24,84,148,159,170,39,157,233,61,66,111,45,252,222,62,75,64,44,33,12,0,6,131,204,164,145,67,153,52,114,40,215,156,118,60,79,126,248,41,79,126,240,25,245,27,182,96,46,41,194,237,176,161,40,237,83,131,166,105,104,138,74,201,192,98,124, +129,48,247,253,227,5,150,174,169,228,245,59,230,83,146,159,139,223,223,134,40,138,132,195,97,98,177,24,179,102,205,58,229,139,47,190,200,59,252,240,195,167,247,169,237,61,64,246,141,238,126,194,194,133,11,23,206,156,57,243,68,159,207,71,60,30,71,16,68, +100,73,194,225,116,242,227,198,42,198,93,120,35,31,47,94,65,233,176,193,228,88,204,157,152,47,10,34,170,166,81,83,85,67,32,24,228,146,51,78,224,199,127,220,206,221,231,157,146,98,190,170,170,89,153,175,117,197,40,77,235,39,243,211,222,75,183,69,51,166, +169,118,136,197,226,196,98,49,148,120,156,210,130,92,110,157,123,42,63,61,253,0,127,62,255,12,212,104,148,186,77,91,137,43,106,106,64,36,17,42,138,138,221,98,164,96,212,112,22,47,251,145,177,103,93,202,215,171,214,98,183,59,48,26,228,68,25,5,175,215, +203,161,135,30,122,248,146,37,75,150,138,98,167,137,173,223,176,219,4,96,225,194,133,11,103,204,152,49,195,231,243,165,246,214,77,70,25,171,205,198,187,75,190,103,191,203,110,161,186,177,133,242,97,131,16,52,45,205,194,215,59,66,22,37,234,154,91,169, +223,182,157,163,167,77,102,249,223,255,202,163,23,159,205,128,124,55,36,156,38,221,73,126,210,185,146,130,196,230,78,39,117,159,109,217,150,241,76,103,124,146,60,45,237,89,111,64,77,196,38,196,98,49,10,221,57,60,120,241,28,126,124,234,126,78,252,253, +97,180,84,239,160,190,190,81,95,2,39,89,168,161,251,55,52,149,226,225,21,180,248,252,28,114,254,124,158,255,232,115,204,22,43,22,179,41,213,46,143,199,195,148,41,83,14,88,188,120,241,210,174,130,84,250,10,187,5,203,187,239,190,251,206,140,25,51,102,120, +189,94,84,85,69,3,172,38,35,102,139,149,39,62,248,140,19,111,120,16,209,96,100,208,128,98,226,113,37,209,153,122,239,138,130,238,224,169,222,84,69,174,221,194,51,55,93,202,130,219,175,98,223,97,131,129,196,136,239,70,13,103,133,142,115,125,119,140,239, +232,64,210,50,94,132,94,50,190,51,9,26,145,72,132,120,44,198,94,21,101,188,125,231,124,94,185,239,6,74,11,220,212,85,110,38,22,87,16,5,33,67,176,148,120,140,226,210,34,36,187,157,115,231,223,201,221,47,188,129,209,100,198,110,181,166,118,23,61,30,15, +7,28,112,192,148,69,139,22,125,209,47,194,58,192,46,219,0,79,63,253,244,83,199,31,127,252,9,201,145,15,58,243,141,102,11,15,189,185,128,171,30,126,14,91,81,1,121,78,59,177,184,66,250,92,47,75,18,205,222,54,2,13,141,156,56,99,26,255,188,124,46,69,46,125, +223,189,47,243,92,71,149,220,22,12,193,214,26,26,67,33,125,251,183,221,95,148,133,233,100,208,212,225,3,168,42,84,215,210,234,15,244,153,14,65,16,244,205,163,72,4,147,209,200,105,211,15,98,198,148,125,184,232,129,39,120,245,237,133,72,249,185,20,228, +185,80,226,74,74,64,149,184,66,65,174,11,175,65,230,250,187,30,35,24,14,115,251,188,179,177,3,254,96,16,208,141,196,67,14,57,228,208,55,222,120,227,141,147,79,62,249,228,30,9,235,6,118,105,46,185,230,154,107,174,189,231,158,123,238,246,251,253,41,235, +216,98,54,97,50,91,184,247,181,247,185,246,145,23,112,150,22,147,99,179,160,168,42,233,235,122,89,146,168,174,109,0,52,254,118,225,89,92,113,226,12,160,235,57,54,27,100,43,39,138,34,171,54,109,227,159,239,127,138,221,110,109,119,4,233,47,100,195,210, +254,59,139,0,104,26,180,121,124,156,125,204,97,28,52,118,84,134,33,215,19,45,217,202,152,18,59,155,79,190,247,9,127,122,224,9,136,68,41,46,43,69,85,148,244,90,145,4,17,127,40,140,191,170,154,249,151,159,199,189,23,157,75,60,26,161,45,16,76,197,42,58, +28,14,238,185,231,158,123,175,187,238,186,107,123,172,188,11,232,183,0,28,127,252,241,51,223,125,247,221,247,194,225,48,193,96,16,81,20,49,26,13,88,173,54,254,246,230,2,254,252,183,103,201,25,80,140,211,106,65,73,115,140,8,232,129,29,219,171,170,41,25, +80,204,155,55,95,198,129,137,101,93,111,71,125,79,157,157,116,51,239,110,136,70,163,89,99,9,251,2,170,170,98,54,25,65,16,89,81,185,153,19,175,189,139,154,205,213,20,12,29,132,128,134,166,182,227,19,69,129,64,56,140,127,75,13,55,252,249,124,238,184,224, +108,34,225,16,193,80,4,208,133,201,106,181,50,119,238,220,115,159,123,238,185,126,57,139,250,37,0,163,70,141,26,241,243,207,63,87,2,52,55,55,35,73,50,178,36,98,119,56,120,242,131,207,248,211,61,79,226,44,45,74,140,124,37,53,160,116,149,168,82,183,105, +27,251,79,30,207,7,183,95,69,129,211,158,234,152,222,64,111,58,60,25,244,153,97,3,244,132,55,249,59,91,81,33,105,70,116,118,19,247,22,210,203,106,154,150,24,48,70,188,193,32,199,207,191,139,175,62,95,76,238,240,193,200,162,148,42,171,161,33,10,34,193, +132,38,184,227,134,75,185,97,206,41,4,3,126,162,177,184,238,88,115,58,145,101,153,41,83,166,76,94,190,124,249,247,189,38,168,189,105,125,3,73,146,216,180,105,83,205,224,193,131,7,234,204,151,16,4,200,201,113,241,254,146,239,57,254,186,7,176,21,228,146, +235,176,103,48,95,20,4,226,170,66,253,166,109,28,55,99,26,239,223,122,37,176,123,25,223,223,242,191,21,110,77,211,48,155,205,0,156,118,211,253,188,246,230,2,92,67,6,97,52,200,157,156,91,109,129,0,161,154,90,158,121,240,102,230,30,51,29,159,207,139,170, +106,40,138,66,94,94,30,205,205,205,222,193,131,7,151,248,253,254,62,157,83,232,179,174,124,241,197,23,95,61,248,224,131,15,108,105,105,209,125,251,154,134,203,229,102,245,166,42,126,119,237,189,200,54,27,5,110,103,39,230,199,148,56,13,155,182,113,214, +73,71,241,198,141,151,2,123,134,249,125,45,155,237,124,192,175,69,75,114,23,80,150,101,102,255,110,42,117,193,32,75,62,95,140,156,227,192,144,216,55,209,241,168,88,76,70,162,146,196,59,11,22,113,216,148,9,140,28,60,136,112,40,132,40,138,4,2,1,242,242, +242,204,251,238,187,239,254,47,189,244,210,127,250,210,158,62,9,192,105,167,157,118,250,173,183,222,250,215,100,160,166,170,105,228,230,230,226,245,181,113,208,213,119,225,13,132,25,88,148,175,91,181,169,70,234,177,117,13,155,170,153,115,242,49,188,240, +151,11,128,62,122,242,254,71,96,79,8,162,32,8,196,98,49,12,6,3,199,77,221,143,157,145,8,139,63,91,140,193,229,68,146,18,27,89,137,233,199,102,179,18,8,6,121,235,139,165,156,115,244,97,20,230,231,165,236,175,104,52,202,216,177,99,135,52,53,53,181,124, +255,253,247,223,245,150,206,94,139,127,126,126,190,171,166,166,166,217,104,52,138,173,173,173,136,162,136,213,98,198,100,182,240,251,235,239,99,225,226,31,40,27,58,40,141,249,137,120,58,65,160,182,178,138,83,142,159,206,107,215,95,12,244,142,249,123, +82,45,247,181,252,175,49,157,36,195,201,1,230,222,245,8,207,61,247,6,185,35,135,34,165,28,92,122,57,73,146,105,216,184,133,73,147,39,240,253,179,15,17,139,198,104,11,4,208,18,97,102,70,163,145,33,67,134,12,170,170,170,170,238,77,253,189,118,4,61,247, +220,115,175,155,205,102,177,165,165,5,81,146,16,69,1,147,217,194,221,47,191,195,194,47,150,81,50,120,32,106,188,131,107,87,148,168,221,180,141,223,29,58,229,127,134,249,125,89,102,246,7,119,95,32,189,188,32,8,169,115,15,207,94,127,25,199,29,63,131,150, +13,91,208,4,72,247,83,40,241,56,121,67,7,241,195,215,203,184,234,209,103,48,24,141,24,36,17,81,20,241,249,244,248,145,151,94,122,233,157,222,210,208,171,41,224,132,19,78,56,225,166,155,110,186,62,89,129,170,170,184,221,185,172,248,121,3,167,222,245,79, +156,133,249,88,12,134,12,175,150,36,73,212,84,239,96,196,240,193,44,121,248,38,164,68,192,67,111,59,164,167,114,201,185,251,127,129,153,187,75,96,211,167,131,211,142,60,152,119,191,95,69,213,207,27,177,231,229,234,59,138,250,219,186,218,182,217,248,250, +171,101,28,58,121,60,35,43,6,19,10,6,17,37,137,72,36,194,240,225,195,75,106,106,106,118,252,248,227,143,43,123,162,165,199,41,192,96,48,136,213,213,213,45,197,197,197,57,77,77,77,136,162,136,221,102,69,22,37,38,93,126,43,63,110,216,70,217,192,162,118, +7,137,6,146,40,82,223,212,130,40,8,108,124,254,1,202,242,115,119,27,243,251,83,254,127,5,119,95,4,220,98,177,208,208,234,97,196,236,121,248,218,2,20,150,20,102,246,177,36,178,115,123,29,131,202,74,248,249,149,199,49,26,13,120,188,109,104,154,138,219, +237,38,24,12,198,202,202,202,220,94,175,183,91,23,102,143,83,192,109,183,221,118,127,146,249,146,36,33,9,2,70,147,153,91,94,124,135,31,127,92,207,128,1,153,204,23,4,8,132,195,196,188,62,222,185,245,138,221,206,252,222,168,240,244,121,117,79,77,15,123, +114,42,1,8,133,66,20,185,93,188,251,192,77,16,10,227,111,11,232,94,205,4,26,69,81,200,31,88,194,182,181,149,92,241,232,51,72,178,1,131,44,33,73,18,173,173,173,56,28,14,195,3,15,60,240,68,79,245,116,59,5,20,22,22,230,189,245,214,91,239,196,98,49,98,177, +24,154,166,225,206,205,101,205,198,205,156,121,255,83,56,242,115,49,201,105,190,246,68,216,211,206,205,219,152,63,239,116,46,60,230,119,61,174,131,123,11,125,237,192,190,192,255,138,134,72,47,175,105,26,154,170,50,108,96,41,130,213,204,167,31,124,134, +41,223,77,154,123,11,65,211,192,110,103,217,183,43,152,62,101,2,195,43,6,17,72,172,10,52,77,99,255,253,247,31,247,226,139,47,62,223,218,218,234,233,170,190,110,53,192,173,183,222,122,191,44,203,248,124,62,4,65,192,108,212,15,106,204,127,238,109,212,112, +152,28,155,53,205,201,166,33,73,34,59,106,234,25,183,239,222,220,59,247,148,110,59,224,127,133,249,125,133,95,211,40,140,43,10,154,170,242,215,115,79,101,255,195,14,164,181,170,166,221,205,157,88,26,218,173,102,208,224,242,199,158,3,77,197,102,49,235, +97,108,1,93,243,223,125,247,221,143,118,87,103,151,54,64,121,121,249,128,173,91,183,110,15,133,66,132,66,33,52,77,35,63,63,159,119,191,92,202,137,55,61,76,97,121,41,178,144,182,169,141,64,32,20,198,219,234,101,237,179,247,51,102,208,128,78,170,191,63, +140,220,149,141,161,221,85,254,183,92,146,106,154,134,213,106,101,211,246,90,70,156,52,15,163,201,136,195,97,203,120,71,1,60,149,155,249,247,3,55,242,199,19,143,161,185,169,9,33,225,106,182,219,237,140,27,55,110,175,53,107,214,100,77,94,209,165,6,184, +246,218,107,239,16,4,129,64,32,128,32,8,216,173,22,226,209,8,183,190,241,49,88,76,24,19,78,138,84,168,132,32,224,173,169,229,250,115,79,98,204,160,1,187,228,55,79,150,239,237,14,155,166,105,24,12,134,78,63,162,40,100,165,227,255,210,116,34,8,2,145,112, +152,97,3,75,185,253,226,57,68,118,212,161,118,216,224,148,1,220,57,220,246,252,155,4,252,126,28,14,59,26,16,76,108,31,223,120,227,141,247,117,137,63,219,195,194,194,194,188,109,219,182,53,129,174,74,146,163,255,217,5,159,113,222,93,79,80,50,164,28,65, +83,83,91,168,162,32,80,223,216,204,192,226,124,182,60,251,64,42,198,189,183,141,76,135,190,118,96,50,18,104,229,198,42,90,219,252,24,13,6,98,138,130,217,96,96,242,168,161,200,146,148,129,115,79,105,148,61,137,91,213,52,44,102,51,162,32,48,234,140,139, +169,252,101,35,5,165,37,25,187,172,136,34,45,63,111,224,222,91,174,98,254,57,167,208,220,212,4,130,128,217,108,198,102,179,49,124,248,240,33,155,54,109,170,234,136,59,171,6,184,240,194,11,255,108,54,155,105,107,107,3,192,110,49,19,11,135,120,120,193, +151,96,183,33,38,71,125,162,29,113,77,69,241,182,241,224,188,211,127,85,230,107,154,150,154,19,79,189,227,81,142,250,227,181,252,238,170,59,152,241,167,27,56,226,154,187,241,180,5,83,137,26,254,87,70,126,127,218,40,160,175,10,16,4,30,186,100,46,132,194, +132,227,177,140,114,130,170,34,228,229,242,247,55,23,224,243,121,113,38,180,64,210,22,184,244,210,75,175,203,134,191,147,0,200,178,44,252,225,15,127,184,68,15,234,212,79,191,154,109,118,94,251,106,25,63,173,169,164,184,48,55,17,195,6,160,33,138,208,80, +219,192,1,83,39,114,210,212,253,250,221,216,93,89,174,105,154,134,211,102,129,220,28,114,115,28,136,110,39,185,78,91,202,49,181,167,61,133,191,134,157,34,8,2,241,88,140,163,167,238,199,97,51,14,165,173,122,7,162,36,38,11,234,155,114,5,121,212,174,171, +228,217,15,63,199,96,50,163,169,106,106,159,224,236,179,207,158,235,112,56,58,165,171,233,36,0,179,103,207,62,189,172,172,204,233,245,122,19,233,87,12,16,143,242,228,39,75,192,100,66,74,179,250,1,34,113,5,226,10,119,207,57,9,208,189,132,123,106,141,220, +29,94,89,146,64,18,145,37,61,18,217,32,74,244,101,163,239,127,205,103,144,173,124,36,26,5,224,238,63,158,1,6,3,161,112,132,180,101,24,162,166,129,211,193,63,63,248,132,72,40,136,195,102,69,16,4,188,94,47,110,183,91,62,251,236,179,207,235,136,179,147, +0,204,153,51,231,82,32,149,94,205,230,204,225,179,31,214,176,120,213,207,228,23,230,161,106,137,208,46,244,185,191,169,110,39,135,77,157,200,33,227,70,167,136,223,213,134,118,85,182,135,2,137,191,100,116,202,110,193,189,11,229,119,39,110,65,16,136,69, +163,236,191,247,104,126,127,228,33,4,182,215,165,229,84,208,253,6,206,194,124,42,127,92,203,123,95,45,195,108,181,37,78,84,235,112,246,217,103,95,220,17,103,134,0,12,26,52,168,252,240,195,15,159,18,8,4,16,69,49,245,229,203,223,252,0,145,40,38,41,221, +252,132,184,170,66,44,198,85,137,120,190,174,226,229,178,53,114,143,116,98,186,97,210,85,116,79,127,113,179,103,71,125,111,105,73,106,129,171,78,57,22,100,57,97,11,180,183,213,144,240,22,254,231,211,175,1,48,202,98,74,11,76,153,50,101,228,248,241,227, +199,165,227,203,16,128,147,78,58,233,12,131,193,144,50,28,114,28,118,106,182,111,103,193,138,53,88,10,210,230,126,13,4,52,154,154,90,216,123,252,94,28,179,255,62,187,181,145,201,114,125,239,68,45,235,199,221,129,187,187,13,156,108,184,251,130,183,47, +239,8,130,128,18,143,115,248,228,125,217,239,128,137,248,235,27,245,211,199,232,77,86,53,21,99,81,1,159,44,91,201,186,202,141,228,36,178,155,133,195,97,0,102,207,158,125,86,58,190,12,1,56,230,152,99,82,103,207,52,77,67,50,153,89,240,195,58,118,110,175, +199,109,179,164,141,48,125,55,78,241,180,113,238,225,122,206,198,140,19,177,221,52,116,207,65,218,136,223,221,238,103,77,195,100,144,49,155,205,157,126,76,38,19,102,179,121,143,218,16,29,33,148,96,230,185,51,14,133,64,8,125,82,214,244,118,107,96,183, +90,136,214,53,240,206,55,203,65,148,209,52,45,229,30,62,250,232,163,79,73,199,149,58,23,80,94,94,94,54,117,234,212,9,126,191,95,207,132,41,137,160,196,89,184,114,45,24,12,137,78,109,39,216,27,12,227,28,88,204,25,135,29,144,236,163,46,27,218,87,232,251, +59,233,204,79,254,233,140,163,175,12,74,198,235,37,161,177,185,149,95,106,118,80,93,223,72,163,183,141,214,54,63,141,141,205,156,115,236,116,38,141,30,78,44,22,235,2,91,255,233,200,246,78,82,235,156,112,240,100,174,25,60,144,182,64,0,71,34,152,4,208, +207,50,216,172,124,188,252,71,174,159,115,10,102,163,76,56,26,199,231,243,177,239,190,251,14,26,55,110,220,184,159,126,250,233,39,72,19,128,35,143,60,242,88,147,201,68,210,250,119,218,173,108,221,81,199,178,141,91,177,186,156,153,4,0,254,166,102,78,56, +226,96,138,115,93,100,211,183,191,166,251,180,253,99,166,144,106,89,202,246,22,183,206,124,141,79,151,175,226,171,213,235,88,182,126,35,27,183,215,81,221,208,4,193,16,196,227,250,207,142,122,70,14,29,204,148,189,71,247,90,0,250,74,75,54,136,132,195,148, +22,21,114,212,254,251,242,230,155,31,34,84,148,39,202,234,162,111,112,231,240,195,47,155,89,191,121,43,99,71,12,37,220,220,66,56,28,38,39,39,135,35,143,60,242,184,164,0,164,166,128,105,211,166,29,153,172,80,3,68,163,133,197,63,111,166,161,190,9,167,197, +148,78,145,94,145,162,112,204,126,186,61,161,40,187,22,223,183,123,132,69,203,252,220,207,217,70,211,52,140,70,35,107,183,108,99,204,57,87,112,228,37,55,112,231,35,207,240,249,146,239,217,222,212,138,211,110,37,183,164,128,188,242,82,114,7,151,193,208, +65,228,216,173,61,35,102,247,26,145,201,147,201,39,28,60,25,4,1,69,75,59,120,163,129,221,100,34,90,191,147,69,43,215,130,40,161,209,30,68,115,240,193,7,31,153,196,35,2,24,141,70,195,148,41,83,14,77,58,127,146,102,205,226,245,27,33,22,107,223,135,78,8, +135,47,28,193,81,92,200,49,147,39,100,16,220,215,70,166,191,215,219,178,221,150,215,218,231,193,142,218,160,47,184,69,81,164,190,185,133,245,43,126,194,236,202,161,96,200,32,242,139,11,201,117,218,16,19,169,105,154,91,125,180,52,181,194,206,38,130,225, +200,174,209,157,165,124,79,144,100,230,145,147,247,193,93,81,78,155,63,144,214,92,45,225,3,209,248,102,245,58,0,36,65,31,235,145,72,132,253,247,223,127,106,78,34,89,131,8,48,102,204,152,113,195,134,13,115,37,93,191,54,163,1,191,167,149,149,155,171,17, +29,54,52,85,109,223,244,1,2,173,94,166,142,30,70,73,158,59,131,160,61,237,113,235,254,123,210,7,64,226,97,255,233,40,114,187,176,151,149,34,38,202,72,178,72,48,24,194,211,212,138,195,98,97,212,160,1,76,216,107,56,195,38,238,77,113,174,43,43,142,61,237, +92,138,132,195,20,228,229,50,109,220,104,212,102,79,218,90,0,253,132,145,203,197,119,191,108,98,103,67,3,14,155,110,35,180,181,181,81,84,84,36,77,156,56,113,50,36,108,128,201,147,39,79,21,4,33,117,244,201,106,183,242,253,250,77,172,175,169,195,105,179, +102,244,163,0,16,10,51,117,204,112,0,253,76,219,30,114,133,246,237,61,77,79,43,146,252,188,139,11,14,53,201,140,196,72,242,52,181,50,178,98,16,247,223,57,135,81,131,74,113,217,245,76,97,162,40,162,168,74,106,153,213,55,154,251,87,62,89,54,26,139,97,50, +155,57,104,239,209,188,247,214,130,52,215,183,94,206,98,179,80,189,189,142,53,155,171,57,252,192,253,160,45,144,58,195,185,223,126,251,77,93,180,104,209,167,34,192,216,177,99,247,205,32,66,50,178,102,219,14,2,222,54,204,6,57,189,102,226,113,5,108,86, +14,72,158,231,235,39,83,59,110,221,202,89,206,243,245,121,169,148,177,18,232,73,99,116,143,91,81,84,61,133,91,226,255,72,155,159,161,101,197,28,185,255,62,148,23,23,225,180,219,49,154,140,200,6,3,162,32,102,224,235,14,175,166,37,242,30,91,173,237,63, +38,83,191,6,81,114,26,152,50,118,36,184,115,8,199,226,25,6,177,73,150,192,235,99,229,134,205,157,222,25,61,122,244,56,72,104,128,17,35,70,140,78,255,18,96,205,214,29,16,143,183,167,63,75,64,91,36,66,81,97,30,227,135,148,247,138,224,116,194,53,77,67,150, +36,196,4,179,215,108,170,34,16,12,83,90,152,71,121,113,33,134,196,198,69,191,160,23,62,128,116,90,122,4,161,253,52,57,26,32,203,169,185,94,141,199,136,196,226,153,197,123,17,165,172,105,42,54,155,126,22,114,219,142,58,170,235,26,176,152,140,236,187,215, +8,236,118,59,209,72,132,72,210,230,234,53,205,26,99,42,202,24,56,160,132,237,181,245,152,114,28,29,95,100,93,135,35,2,154,166,177,215,94,123,141,7,144,29,14,135,125,196,136,17,99,35,17,189,113,146,40,66,44,204,214,157,205,96,48,116,170,56,236,15,48,117, +244,48,242,59,230,207,239,178,209,237,163,34,201,252,119,151,252,192,157,207,191,201,154,109,53,196,227,10,78,171,133,35,246,221,155,7,47,155,203,192,60,119,175,133,32,221,81,147,57,251,103,78,1,154,166,245,217,70,73,161,19,146,214,79,207,26,165,167, +239,109,54,59,59,61,94,174,126,240,9,62,92,186,130,86,191,31,73,20,217,171,108,0,87,159,123,10,231,28,125,56,130,32,16,142,68,73,207,2,211,29,238,104,56,130,219,229,98,252,208,65,108,223,176,25,146,2,144,212,130,22,51,155,182,215,17,11,5,49,26,100,34, +209,24,193,96,144,193,131,7,15,41,45,45,45,21,203,202,202,42,10,11,11,173,201,67,9,22,163,129,134,102,47,155,106,119,34,89,50,29,33,104,26,132,34,140,26,88,162,255,219,131,247,79,150,165,148,138,55,26,141,136,146,196,147,31,126,206,137,127,186,142,31, +86,175,199,104,50,225,112,216,9,198,226,188,254,198,135,76,56,231,74,54,215,214,99,52,26,49,26,12,24,141,250,123,82,15,233,80,58,25,125,105,235,225,222,116,98,47,48,147,140,193,203,90,42,203,115,73,20,49,27,141,152,141,6,140,6,25,155,205,70,109,99,19, +19,207,184,136,255,60,243,26,158,112,24,187,221,142,209,108,102,205,186,74,230,156,127,53,183,61,251,42,6,163,17,135,205,130,201,96,192,108,52,98,144,187,63,186,17,77,204,233,195,7,150,64,98,16,103,56,237,108,86,54,109,175,99,91,125,3,118,179,190,156, +15,135,195,228,229,229,81,86,86,86,33,14,28,56,176,220,106,181,166,70,157,213,100,100,71,115,43,117,30,175,126,19,71,123,43,83,127,7,23,23,0,160,168,157,27,158,82,245,178,76,199,128,163,117,85,213,252,233,206,71,145,139,242,41,25,52,0,139,193,128,81, +18,201,177,89,40,217,123,36,205,219,182,115,214,93,143,233,133,133,246,75,29,36,89,198,104,52,162,37,2,77,186,157,191,147,26,39,237,119,95,160,29,111,38,243,51,202,100,45,175,131,170,170,88,205,38,76,102,51,162,44,35,202,6,100,131,222,143,231,222,254, +48,219,215,252,66,254,132,189,112,219,109,24,19,183,148,228,149,151,34,15,26,200,95,239,248,59,95,253,176,26,68,9,217,104,64,146,68,61,69,140,221,158,104,115,215,244,14,31,88,10,146,148,145,95,0,192,104,48,208,228,245,81,215,212,138,156,16,128,100,142, +230,33,67,134,12,149,135,14,29,58,44,73,184,32,8,96,52,208,228,107,195,27,12,145,99,179,102,204,169,138,170,130,217,200,200,129,89,47,233,74,129,44,203,124,247,243,38,254,250,212,203,132,85,48,26,13,8,130,192,230,218,122,76,118,43,185,110,87,98,231,48, +13,119,92,33,127,68,5,43,55,84,113,200,229,127,197,106,49,163,40,10,129,182,0,123,143,168,224,222,243,207,208,227,18,227,241,236,149,102,51,252,250,162,241,179,246,110,242,151,214,201,182,232,74,0,77,38,35,254,112,132,235,158,124,145,239,87,173,195,234, +176,97,144,101,194,145,40,75,215,254,130,115,244,240,180,35,116,186,158,210,84,141,156,28,7,109,138,202,25,183,62,200,94,21,101,40,113,133,88,44,134,28,87,184,254,130,179,56,98,255,137,248,3,126,186,138,227,29,94,86,10,118,27,113,69,105,215,26,154,110, +8,182,121,188,212,53,123,64,208,13,250,100,196,86,69,69,197,112,185,168,168,168,44,213,116,35,248,66,0,0,32,0,73,68,65,84,32,65,0,65,162,174,197,75,60,28,65,178,103,6,144,196,226,113,140,86,11,3,242,115,187,236,12,67,194,110,56,235,158,127,176,241,155, +239,160,172,84,247,77,163,33,89,44,20,230,38,114,226,116,26,97,26,178,40,144,99,179,240,245,202,53,137,171,91,244,235,26,150,190,185,128,92,187,141,187,230,157,137,162,196,179,142,132,78,75,191,221,176,52,213,208,16,200,220,2,207,248,155,5,12,6,35,15, +190,242,30,143,221,116,31,12,29,172,95,79,163,234,87,213,228,228,231,98,72,36,205,76,105,168,4,46,85,81,113,228,185,168,109,106,166,182,170,26,4,81,111,126,93,3,63,108,173,97,199,251,207,227,180,219,240,7,130,89,233,46,116,231,96,118,216,136,196,98,24, +36,41,69,164,40,138,16,142,176,173,126,103,234,189,164,193,154,151,151,87,36,187,92,174,118,110,106,26,32,80,219,226,129,104,186,53,170,35,139,197,227,228,216,172,184,187,113,125,234,21,64,145,59,135,141,113,5,146,235,99,13,20,89,207,176,157,202,141, +213,97,242,22,208,67,208,136,68,117,1,16,4,253,10,24,147,145,252,68,242,168,46,53,127,234,239,158,11,209,234,173,74,201,207,113,130,197,12,129,32,24,13,186,0,36,194,235,16,210,172,147,78,237,71,191,219,40,18,37,113,245,9,68,98,20,229,186,144,37,41,145, +103,41,59,221,110,167,29,167,197,194,206,86,79,103,58,227,113,26,154,91,219,91,145,120,223,229,114,229,201,78,167,51,117,195,102,210,147,212,234,15,38,70,173,254,127,178,190,152,162,98,55,27,113,90,173,157,144,165,234,138,197,144,100,153,151,175,191, +132,135,135,14,34,16,139,97,52,24,17,69,129,149,27,182,240,205,143,107,41,46,42,68,235,48,5,0,132,162,49,2,161,48,231,205,62,26,167,205,70,44,22,35,24,8,49,110,212,16,46,59,225,168,174,213,127,170,15,123,231,0,234,21,227,211,13,202,116,163,42,227,203, +206,16,9,135,249,195,177,211,137,60,121,47,223,253,184,14,139,221,138,201,104,36,24,10,243,252,194,69,40,170,130,217,104,236,100,107,136,162,68,211,142,122,38,140,27,205,65,19,198,18,139,69,137,69,227,152,128,75,207,60,17,179,217,136,223,31,200,158,208, +66,83,200,177,89,113,57,236,236,220,217,212,142,53,229,215,17,241,37,52,135,40,8,40,237,2,224,146,109,201,133,41,36,110,85,82,244,245,174,148,136,253,77,107,107,44,30,199,97,181,96,79,108,14,101,237,200,68,214,139,178,194,124,30,188,116,110,198,87,77, +30,47,133,199,255,145,250,29,117,148,12,40,78,139,32,210,23,221,158,159,55,112,220,201,199,242,244,252,139,58,227,85,85,162,177,88,23,25,61,146,243,116,250,231,254,88,253,153,24,209,52,180,140,116,243,169,70,102,127,71,211,18,52,194,197,179,142,225,226, +89,199,100,124,31,12,135,121,249,159,47,96,220,119,239,246,187,141,52,253,36,117,83,67,35,132,195,188,122,219,95,24,89,49,168,19,238,142,87,234,164,131,18,87,176,91,45,184,29,54,136,197,50,153,15,32,138,4,66,33,208,148,12,210,109,54,155,77,118,187,221, +246,36,35,4,0,69,37,20,141,145,208,85,233,221,129,22,87,176,155,205,152,18,71,196,186,130,228,49,231,228,198,82,114,39,42,223,149,195,251,247,94,199,113,151,223,66,221,47,155,144,139,11,49,200,50,33,191,31,234,119,50,238,192,253,120,254,186,75,0,136, +70,35,9,102,11,137,189,136,236,209,55,105,228,165,125,145,106,77,246,242,189,130,172,38,119,215,165,211,54,146,98,113,133,120,60,128,144,96,152,150,184,44,234,223,215,93,202,150,234,29,44,251,120,17,20,23,34,59,29,196,99,113,168,111,0,89,226,217,71,238, +96,100,133,158,250,37,233,97,213,52,61,75,106,119,153,65,21,69,197,104,54,99,51,155,245,41,179,19,157,2,193,196,180,154,180,105,194,250,50,212,34,27,12,6,115,198,17,46,85,213,189,92,29,230,127,52,253,59,147,65,162,55,137,69,58,46,213,52,77,69,85,53,142, +157,178,47,43,94,252,59,119,61,255,6,203,127,222,76,56,20,162,98,112,25,199,157,126,2,183,205,59,3,163,44,19,14,135,211,28,55,61,175,189,51,62,105,36,110,225,128,210,66,61,191,112,199,192,142,174,32,121,10,170,67,69,137,145,154,94,75,122,187,186,160, +15,82,203,86,128,54,191,31,135,195,193,226,103,30,226,182,127,190,192,155,95,44,161,182,177,25,163,211,198,126,147,142,224,234,243,78,227,208,125,199,17,10,6,83,57,148,123,235,188,74,242,207,100,144,211,166,238,118,250,1,34,177,24,164,45,17,21,69,65, +150,101,163,172,40,138,144,217,104,13,77,75,203,244,145,81,191,158,182,172,39,200,70,116,226,138,118,98,209,40,251,14,175,224,205,59,230,211,216,226,33,16,8,48,176,184,32,181,86,78,50,191,47,184,147,164,166,124,31,102,19,177,120,156,27,255,245,34,78, +187,173,115,160,70,186,5,42,8,4,91,60,28,56,121,2,71,78,222,39,179,108,114,101,212,87,90,178,128,32,8,248,124,62,156,14,59,183,94,60,151,27,254,112,58,219,118,212,97,177,152,25,88,170,59,214,2,137,43,100,68,65,232,52,128,186,131,228,154,66,215,18,201, +1,155,246,174,144,20,198,118,173,146,224,135,190,48,236,84,89,86,131,74,255,71,15,11,239,26,186,35,58,153,187,47,18,137,96,144,37,10,114,93,20,228,234,54,104,52,26,73,244,119,127,115,87,182,27,85,54,179,137,120,92,225,206,199,158,135,120,172,253,166, +208,174,156,60,27,171,152,255,247,91,56,102,234,228,78,194,146,105,250,245,60,242,179,82,150,54,61,36,151,113,118,139,153,225,67,43,128,204,91,71,59,238,189,244,6,119,82,173,167,52,121,199,247,181,44,60,78,188,43,139,162,168,117,218,197,18,50,207,252, +183,131,72,52,150,188,136,105,215,50,102,198,18,7,74,122,3,189,199,157,152,2,20,125,217,149,87,94,146,241,85,167,233,68,3,69,85,240,88,245,45,213,44,216,16,211,71,84,22,249,233,47,221,254,80,230,246,113,127,226,41,146,144,92,174,71,99,177,206,26,43,49, +125,9,130,8,105,119,44,38,236,10,77,142,197,98,225,100,196,104,130,18,125,27,49,125,254,77,214,37,233,249,107,163,209,24,70,163,49,173,142,254,17,190,59,203,182,248,252,224,109,163,69,150,73,141,213,44,26,172,147,97,27,8,130,213,194,232,65,3,51,240,41, +138,74,36,28,73,172,140,128,72,132,112,116,207,4,125,246,197,111,145,77,80,36,81,68,141,69,9,134,195,32,38,247,14,180,52,37,174,97,52,200,8,162,110,146,131,174,141,226,241,120,84,110,109,109,13,164,31,160,68,20,245,68,16,73,85,159,214,97,178,44,225,11, +134,240,135,34,228,38,4,224,183,102,190,166,105,136,130,192,144,146,34,90,91,60,228,230,185,58,209,77,167,143,237,207,154,154,91,217,111,236,72,6,151,20,101,24,109,162,40,166,60,152,113,69,210,175,168,77,173,8,119,109,137,217,145,254,222,150,235,74,75, +200,178,132,47,16,164,181,45,0,134,132,23,48,99,238,210,244,125,29,81,76,40,4,61,207,176,223,239,15,201,129,64,192,159,44,167,106,26,72,146,94,88,81,211,6,141,254,193,32,138,4,66,97,124,193,32,185,57,142,61,226,113,75,119,85,246,6,146,70,227,187,119, +206,39,18,141,166,150,94,189,165,69,83,84,172,86,51,106,194,207,144,196,57,124,96,49,203,159,126,144,184,170,32,137,34,74,52,134,219,229,212,147,101,116,145,243,104,79,13,134,30,223,145,100,188,254,32,173,109,126,144,229,14,252,215,64,213,51,135,32,73, +169,229,165,36,73,248,253,254,160,236,243,249,60,153,200,5,92,54,107,226,213,76,181,105,144,37,188,193,16,173,254,0,131,119,149,232,110,202,245,229,29,77,211,169,204,113,58,122,44,223,13,38,2,9,227,44,153,190,213,98,50,50,121,236,168,78,37,253,126,63, +8,25,59,4,123,84,192,123,139,191,181,173,13,111,32,136,40,203,105,138,46,241,41,17,115,1,98,6,46,175,215,235,145,61,30,79,75,6,97,154,66,113,110,14,24,101,84,77,67,76,187,219,196,32,73,248,188,62,234,154,61,236,51,124,247,16,222,31,200,22,22,149,140, +103,232,47,29,233,76,17,4,129,88,92,33,22,239,156,97,109,87,211,197,247,246,157,190,226,109,244,120,9,183,249,177,216,109,164,171,0,13,64,20,41,112,187,82,120,147,184,91,91,91,91,196,134,134,134,29,144,214,176,184,66,137,59,7,209,100,66,81,146,134,96, +66,109,136,34,4,194,108,220,94,215,35,241,123,106,190,215,52,13,163,44,99,49,155,122,126,161,15,184,211,241,247,165,60,128,213,108,194,104,144,187,125,183,47,184,251,67,195,150,237,117,224,243,35,75,233,43,184,196,210,208,98,162,188,184,0,200,220,76, +106,110,110,110,16,183,108,217,178,9,72,185,26,227,209,24,249,14,27,57,22,51,209,244,44,20,169,37,144,202,150,58,125,107,177,111,177,107,217,137,239,43,243,45,22,11,146,193,0,130,168,231,214,213,178,155,100,253,193,221,23,186,147,121,16,236,118,59,162, +44,99,52,153,113,56,28,125,187,209,172,11,220,125,41,155,100,65,229,182,237,16,139,165,109,95,235,3,55,26,143,35,88,173,122,8,127,76,15,250,73,14,246,173,91,183,110,18,119,236,216,177,221,227,241,32,203,186,4,7,35,17,74,242,220,20,185,156,137,61,1,210, +214,208,26,152,141,108,72,104,0,41,17,120,144,154,139,247,96,135,39,253,233,209,120,156,217,215,220,201,248,227,231,242,254,55,203,49,91,44,237,77,238,35,29,201,119,250,82,46,249,87,16,4,236,118,59,31,45,94,206,248,163,207,98,230,101,55,224,15,134,112, +58,157,41,33,216,83,180,164,67,242,192,199,230,237,117,250,25,78,29,83,234,79,44,18,37,215,233,160,40,215,69,40,28,209,157,63,178,76,52,26,165,170,170,106,139,92,83,83,83,213,212,212,20,41,44,44,52,69,163,81,130,145,40,165,185,46,134,150,20,242,203,150, +106,72,206,41,9,144,109,54,126,170,170,161,213,231,195,237,116,246,153,232,158,202,235,222,192,236,254,123,69,81,56,244,79,215,242,237,167,95,67,60,206,188,251,255,201,142,3,39,97,49,155,83,39,102,119,23,29,61,189,99,179,152,137,199,98,156,123,199,195, +52,126,191,138,159,86,172,97,218,206,38,150,60,255,119,156,78,39,164,59,203,52,149,54,127,160,75,3,176,183,54,65,182,200,99,171,213,130,207,235,101,213,166,173,96,183,210,105,9,24,12,50,100,204,8,6,21,23,166,156,79,6,131,129,230,230,102,106,106,106,182, +138,62,159,175,117,211,166,77,235,146,113,103,113,69,69,182,89,24,84,152,11,145,8,130,144,134,77,3,187,197,68,109,253,78,214,84,213,244,178,219,218,27,208,51,243,53,44,38,3,102,179,153,96,48,196,162,239,126,100,193,215,223,210,236,241,18,10,71,152,118, +209,245,124,251,213,50,10,246,25,11,38,19,195,7,20,235,251,219,125,56,156,146,172,167,175,180,119,132,184,162,32,73,18,35,203,6,128,201,72,238,196,177,252,184,116,5,7,206,189,18,159,63,64,83,139,135,247,63,255,154,255,46,94,142,199,215,134,195,225,192, +102,49,247,59,119,98,210,7,208,177,188,32,201,252,188,181,134,173,213,219,49,216,172,29,124,29,26,4,66,12,31,80,130,61,39,135,104,52,150,154,182,182,110,221,186,173,182,182,182,90,6,216,176,97,195,207,71,29,117,212,190,237,222,64,24,83,62,32,177,110, +212,15,220,164,124,1,178,4,222,54,150,173,219,200,180,241,99,250,221,129,29,65,85,53,172,22,19,8,34,127,123,229,93,30,121,253,3,182,214,214,67,44,206,144,225,21,152,13,50,235,127,217,76,193,152,17,52,110,216,66,197,248,209,188,124,203,85,104,64,56,18, +233,213,210,106,119,10,73,40,18,197,110,147,121,253,174,235,56,164,97,39,27,215,252,130,123,204,8,86,173,94,207,196,115,46,69,81,85,170,42,55,131,36,49,176,180,136,139,78,157,201,117,127,56,19,135,93,196,215,230,239,118,123,183,183,180,36,159,47,95,247, +11,52,181,96,169,72,158,213,200,28,180,163,6,151,65,226,86,86,0,147,201,196,47,191,252,242,19,160,137,0,235,214,173,251,49,29,161,26,10,51,118,240,0,76,57,14,253,180,73,71,111,154,209,192,146,117,149,0,250,5,202,253,32,190,35,24,12,18,8,34,151,62,242, +20,127,158,127,7,91,119,212,147,147,235,198,85,92,200,150,218,122,214,111,169,166,104,64,17,77,181,13,84,140,24,194,210,167,31,162,172,168,128,80,40,244,171,51,31,116,3,216,239,15,80,82,144,199,146,23,30,101,248,216,81,180,110,175,37,111,96,9,155,182, +214,80,181,189,22,71,113,1,246,60,55,219,235,26,184,254,170,91,57,247,246,7,17,37,25,179,169,119,43,152,158,32,121,154,106,241,170,245,64,114,27,32,105,171,64,56,174,64,142,157,125,70,12,5,69,55,0,147,26,168,178,178,114,45,36,14,135,254,240,195,15,203, +34,145,8,134,132,17,225,105,11,48,106,64,49,35,75,139,240,119,188,48,81,211,48,186,115,248,102,109,37,141,173,158,212,41,159,204,34,125,55,10,13,6,35,239,126,245,45,143,61,242,12,214,145,195,40,40,202,71,22,69,36,1,242,156,14,242,220,57,180,180,122,25, +80,152,199,178,103,31,162,56,215,149,125,255,190,11,90,122,75,71,95,4,69,16,4,124,94,47,5,174,28,150,189,248,40,131,6,150,226,105,110,197,229,202,193,229,116,32,9,2,178,36,226,46,44,192,60,118,20,207,63,242,52,255,249,240,19,204,22,75,175,166,195,158, +232,177,217,172,180,122,90,249,106,213,90,200,205,209,203,106,237,254,159,104,32,64,225,128,98,198,84,148,209,230,211,29,190,201,123,158,190,255,254,251,165,144,16,128,117,235,214,253,184,113,227,70,95,78,78,78,98,37,16,165,176,184,128,125,134,14,66, +243,249,19,157,220,142,217,105,181,208,90,93,203,127,191,95,157,34,54,157,240,190,66,50,140,249,201,15,62,5,163,41,109,174,204,212,60,26,16,147,164,68,60,97,207,91,199,123,202,17,149,142,91,16,69,208,84,61,140,91,150,146,43,237,246,114,232,233,115,44, +38,35,216,108,252,251,189,133,104,170,138,201,208,117,84,85,175,166,76,77,67,16,37,22,125,191,154,157,27,55,99,113,56,208,82,246,159,166,219,110,173,94,38,143,28,70,69,249,0,124,129,32,154,166,97,179,217,168,174,174,86,87,174,92,185,28,18,2,16,137,68, +130,223,127,255,253,55,54,155,158,132,88,77,152,226,83,247,26,6,178,30,198,156,206,11,17,64,83,249,112,153,126,33,133,33,109,57,216,23,72,74,184,108,48,18,10,133,216,88,83,7,110,103,102,190,33,141,132,224,105,56,108,86,26,182,214,240,229,143,107,123, +133,187,47,52,236,210,20,33,136,124,189,106,45,181,155,182,98,79,203,197,168,165,104,79,168,222,60,23,27,171,119,208,216,220,130,217,154,61,74,169,183,116,200,9,27,226,189,175,190,133,80,20,99,90,186,56,29,143,30,142,126,208,248,49,32,27,83,17,197,46, +151,139,21,43,86,44,247,120,60,141,144,150,33,100,201,146,37,139,210,9,8,249,218,152,50,106,40,238,162,124,218,210,19,32,36,189,113,249,185,124,182,98,13,45,94,47,146,220,249,12,97,119,208,169,195,53,13,81,148,244,81,146,118,249,68,146,241,169,98,0,2, +24,187,177,59,250,202,204,190,64,119,184,77,178,12,2,40,154,30,69,173,165,124,39,105,16,87,176,152,76,24,141,6,52,165,243,106,160,47,66,107,183,219,216,217,216,196,7,139,191,131,14,249,27,209,244,0,84,177,176,128,131,247,25,67,60,164,79,227,201,195,63, +75,151,46,253,60,137,43,37,0,159,125,246,217,2,175,215,155,90,127,183,180,5,24,89,94,202,164,161,131,136,180,122,19,199,228,219,9,204,177,219,104,222,180,149,215,191,248,54,73,85,175,8,207,214,200,112,56,140,201,100,228,132,105,147,193,235,75,115,60, +101,130,207,219,134,41,215,205,164,209,217,55,34,126,13,183,111,246,47,85,246,29,53,12,107,65,30,65,143,47,195,24,75,188,172,255,180,120,152,121,232,129,184,114,114,82,145,65,253,161,91,85,85,4,81,98,193,226,229,120,42,55,97,203,177,167,21,208,189,15, +74,171,135,113,35,134,48,110,88,5,205,30,47,160,175,255,35,145,8,159,125,246,217,130,100,241,148,0,108,219,182,173,114,217,178,101,235,11,10,10,244,216,61,69,193,104,183,113,228,190,99,218,15,29,166,234,72,52,200,106,225,217,79,18,9,9,123,176,108,187, +91,202,152,45,22,98,138,194,242,85,235,145,29,118,50,70,125,194,159,18,83,20,212,205,91,185,108,214,239,41,43,46,204,72,200,176,167,61,110,61,149,15,4,2,148,22,21,114,197,201,199,193,150,109,186,251,53,169,146,211,222,149,114,236,172,92,181,22,127,40, +132,195,233,236,183,255,34,185,15,242,252,194,69,96,144,144,146,17,220,201,129,35,10,208,22,224,168,253,247,193,238,114,19,78,172,255,243,242,242,88,185,114,101,237,234,213,171,151,39,113,102,44,70,23,46,92,248,86,210,74,20,128,160,215,199,140,137,99, +113,150,22,225,13,234,187,109,201,179,2,154,166,145,83,148,207,119,203,86,240,229,138,159,200,136,42,234,101,7,106,154,126,25,66,92,85,153,118,254,95,248,244,243,197,228,13,44,161,185,213,75,115,117,45,205,30,47,45,109,126,154,107,106,241,173,219,192, +204,115,78,230,190,139,231,18,143,199,83,145,179,253,25,245,201,119,236,118,59,118,187,61,107,160,69,95,108,3,69,213,136,70,35,220,121,241,121,156,120,193,217,4,215,85,226,217,86,131,215,215,134,215,227,195,91,189,29,111,75,43,57,3,75,249,230,203,165, +76,61,243,66,130,145,48,110,183,187,199,252,138,233,180,128,238,47,177,88,109,44,251,241,39,190,90,180,24,99,113,81,226,64,104,251,116,25,12,133,17,138,10,56,118,234,254,196,194,237,234,223,108,54,243,201,39,159,188,67,218,8,203,88,195,53,52,52,212,207, +157,59,247,98,77,211,239,164,13,69,34,140,24,92,198,143,149,85,252,180,106,29,118,151,51,67,211,27,36,145,64,179,135,166,120,156,51,166,31,140,152,136,252,77,39,188,59,48,25,141,180,5,67,28,121,249,205,124,251,197,82,10,70,15,103,231,230,173,236,179, +247,104,142,62,236,64,252,129,32,118,147,129,209,195,6,243,151,63,157,195,195,127,190,64,143,226,77,187,23,167,55,208,177,156,40,234,126,252,181,91,182,178,163,177,137,242,146,98,226,241,120,151,174,218,222,224,142,70,99,152,205,38,78,61,242,48,242,203, +74,104,13,134,65,211,200,115,231,112,252,239,15,71,16,69,170,86,173,35,103,196,16,170,87,174,225,163,149,107,152,61,125,26,14,171,181,219,19,79,29,105,55,200,50,70,147,137,43,31,126,146,245,203,86,98,43,42,200,208,50,130,32,16,170,169,229,208,67,14,228, +198,243,207,164,126,103,19,170,166,167,213,183,90,173,92,117,213,85,127,174,175,175,79,185,113,51,172,169,170,170,170,159,191,252,242,203,31,103,206,156,185,79,85,85,149,222,25,2,204,62,104,18,111,252,247,75,162,138,154,184,38,38,33,141,138,134,125,64, +49,11,62,253,154,21,115,102,51,113,212,240,212,233,157,222,48,71,146,101,110,127,246,121,150,188,245,17,249,83,39,209,248,203,102,202,135,85,240,223,191,221,66,129,219,133,215,231,35,22,141,145,159,159,71,162,66,252,193,80,175,241,119,85,198,106,181, +241,225,55,203,56,238,162,235,32,26,229,165,191,223,206,25,51,14,195,159,184,28,163,55,208,89,168,68,60,94,31,54,139,133,75,206,56,137,75,206,152,69,125,125,3,6,131,129,188,188,60,90,60,94,38,157,114,62,85,235,42,201,25,59,138,85,239,253,151,235,199, +140,226,95,55,95,69,56,18,201,90,111,199,103,170,170,98,119,185,88,91,185,145,55,223,93,136,161,172,180,61,58,41,81,52,166,169,160,170,156,54,125,26,130,193,68,84,209,15,138,148,150,150,178,100,201,146,170,85,171,86,45,201,160,187,99,165,175,188,242, +202,147,201,202,5,65,160,161,161,153,163,247,159,192,132,189,71,227,105,108,38,197,255,68,133,54,163,17,194,17,110,124,246,117,160,253,116,112,111,161,40,215,13,138,66,211,210,31,24,54,122,24,223,189,248,8,5,110,23,145,112,152,28,167,147,252,252,60,212, +120,156,96,48,72,32,212,253,153,129,222,128,36,234,201,147,159,126,255,83,104,108,134,64,128,39,222,254,8,4,161,199,68,20,61,129,40,138,132,34,17,124,62,31,209,112,132,226,226,34,242,220,46,252,109,109,228,186,114,248,238,245,127,51,114,194,24,188,139, +191,131,88,140,226,130,228,185,220,236,211,79,71,72,250,14,110,126,234,37,104,109,197,146,200,252,149,156,251,5,1,66,141,205,12,28,183,23,179,126,55,149,150,198,134,148,86,54,24,12,188,254,250,235,79,117,196,217,105,61,245,246,219,111,255,167,178,178, +242,161,146,146,18,107,75,75,11,129,72,132,162,210,66,206,59,226,32,46,251,126,21,42,233,1,225,26,138,170,224,44,31,192,194,5,139,248,116,246,209,28,177,223,62,169,108,99,93,65,178,113,145,72,132,43,79,153,137,38,64,205,150,106,110,185,244,60,242,114, +156,41,15,95,242,206,155,222,66,95,4,207,106,54,232,233,84,68,65,63,82,69,183,103,64,250,92,71,56,26,37,28,141,166,202,183,182,182,146,239,118,179,248,165,199,185,229,161,39,40,28,88,202,95,206,154,77,48,24,68,85,123,190,9,85,85,85,108,46,23,139,87,172, +226,157,215,223,199,56,168,76,95,74,38,152,175,1,170,32,64,171,135,63,28,247,71,10,138,138,216,178,165,10,81,20,112,185,92,236,216,177,67,123,249,229,151,255,221,17,111,39,145,143,70,163,193,23,95,124,241,105,167,211,169,103,146,16,4,154,27,154,56,253, +119,7,48,100,175,17,52,55,182,100,46,115,52,48,203,50,24,36,174,120,244,89,128,84,242,228,158,32,22,139,33,160,50,255,140,89,60,122,227,21,228,229,56,73,230,42,78,239,140,222,26,99,125,209,14,6,89,78,45,207,218,29,89,221,191,179,43,171,7,81,20,105,105, +105,33,63,199,193,99,183,93,203,205,243,206,65,20,132,140,141,172,238,140,101,155,85,31,237,151,63,248,4,196,227,250,74,32,109,185,44,32,16,104,106,193,53,114,56,231,205,156,129,175,181,25,81,212,227,27,243,242,242,120,237,181,215,94,243,122,189,141, +29,113,103,213,121,79,61,245,212,67,45,45,45,56,28,122,160,165,39,16,36,191,168,128,63,29,125,24,120,125,186,187,51,109,26,80,84,5,247,192,18,214,127,187,130,7,95,125,15,81,20,179,170,211,142,140,20,69,145,72,44,78,40,20,36,20,10,165,140,187,244,206, +216,157,126,124,85,85,83,7,91,45,102,147,126,48,69,81,48,26,218,159,117,21,209,211,87,155,35,91,121,73,146,240,250,252,248,124,62,124,62,47,225,104,20,73,20,123,196,47,0,38,179,133,127,190,241,30,43,255,251,5,214,65,3,245,252,140,41,199,47,168,34,176, +179,145,11,102,29,77,121,121,57,77,173,250,218,223,98,177,16,14,135,121,226,137,39,238,201,134,59,107,6,34,191,223,239,25,48,96,192,222,135,31,126,248,94,77,77,77,72,162,132,26,141,50,113,68,5,111,254,176,134,29,59,234,177,219,245,59,121,146,100,75,130, +64,92,150,249,108,217,74,230,28,115,56,121,174,156,212,9,225,174,58,100,119,65,111,55,86,236,54,43,162,108,224,223,111,45,224,169,55,63,36,102,144,49,216,108,52,52,54,97,144,68,166,140,31,139,217,100,36,28,238,121,84,254,26,116,67,226,162,238,220,92, +234,27,27,57,246,130,191,16,51,200,122,224,103,186,229,15,248,27,155,201,29,84,206,115,183,92,5,74,140,80,36,138,162,40,12,30,60,152,151,95,126,249,203,167,159,126,250,222,108,248,187,180,122,30,122,232,161,155,2,129,0,54,155,30,17,228,241,7,112,23,228, +242,151,217,71,131,63,72,52,121,109,28,160,135,158,171,228,184,115,136,121,60,156,115,199,195,0,152,77,166,84,236,92,111,59,100,79,57,117,244,44,101,50,23,222,251,40,243,46,248,11,53,77,45,88,115,28,88,29,118,26,219,252,92,113,217,13,156,118,195,221, +32,136,58,221,191,177,115,41,89,198,146,176,79,230,222,114,63,193,234,237,56,138,242,219,83,204,36,166,48,5,160,169,133,63,159,125,18,3,6,14,164,177,69,191,41,214,148,232,255,7,30,120,224,250,174,234,232,50,7,153,215,235,109,42,42,42,26,63,125,250,244, +209,201,139,163,195,193,16,7,143,27,197,127,215,109,100,243,47,155,112,184,114,210,156,16,9,175,158,43,135,95,150,173,196,86,152,203,65,227,198,244,73,0,250,2,125,197,105,179,217,120,230,221,143,184,249,186,187,48,143,26,134,211,97,71,141,199,209,84, +21,179,217,132,144,151,203,170,5,159,97,43,41,100,218,164,9,68,35,221,39,128,238,47,45,125,41,43,8,224,112,56,249,199,107,239,242,200,61,143,98,25,62,4,65,75,134,153,233,120,68,73,196,95,189,131,161,19,199,243,194,173,127,193,235,241,36,242,19,196,169, +168,168,224,197,23,95,252,234,201,39,159,188,163,171,58,186,93,247,220,115,207,61,87,183,181,181,225,76,196,254,5,194,17,36,89,226,206,115,103,131,40,37,214,228,233,62,111,144,5,48,13,40,102,254,221,255,96,249,250,202,94,25,132,123,210,149,171,105,26, +22,147,145,120,44,198,195,175,189,15,110,23,86,179,57,195,3,167,169,26,102,131,1,138,11,120,236,205,15,9,4,2,216,173,150,110,176,246,157,238,190,182,81,85,20,92,46,55,171,43,55,113,201,13,119,33,20,21,36,12,87,53,197,124,65,16,8,135,34,16,139,115,207, +37,231,97,117,218,105,109,243,183,123,88,227,113,110,191,253,246,43,186,171,167,91,1,168,171,171,219,242,240,195,15,63,91,84,84,68,60,30,71,18,69,170,118,212,115,248,212,137,92,112,202,49,4,107,106,219,79,18,39,44,82,85,211,244,123,106,68,145,227,175, +188,149,182,64,16,155,205,214,229,21,242,123,66,117,118,44,43,27,77,84,237,168,99,75,109,61,66,110,166,251,85,163,125,131,69,206,117,81,93,183,147,53,155,170,16,229,238,179,160,236,201,233,33,174,40,228,230,229,17,142,68,152,121,209,124,8,133,113,20, +228,162,118,184,148,75,19,5,162,91,182,114,226,233,39,50,251,232,233,84,111,171,65,18,37,98,177,24,3,6,12,224,201,39,159,252,96,227,198,141,171,186,171,171,71,207,199,157,119,222,121,89,85,85,85,184,180,180,20,69,81,80,85,13,79,83,11,247,254,241,52,134, +142,29,73,83,109,3,146,212,238,29,4,136,199,21,242,203,74,104,168,170,230,247,87,220,12,232,126,247,93,185,76,122,87,181,68,199,169,40,201,248,142,198,20,170,218,165,176,246,149,142,254,208,172,40,10,110,167,158,17,109,230,37,215,80,189,106,45,246,138, +114,212,14,185,137,69,81,196,191,163,30,247,136,161,252,227,234,139,8,250,188,68,227,10,170,170,80,88,88,72,99,99,35,55,222,120,227,188,158,234,236,81,0,34,145,136,255,202,43,175,188,44,185,105,2,176,179,213,71,142,219,201,195,151,204,129,104,12,127, +48,220,193,106,214,80,227,10,238,225,131,89,242,217,55,156,245,215,251,1,176,219,172,125,190,88,178,175,75,176,108,229,149,88,148,138,1,37,148,23,21,160,121,60,137,35,112,153,101,4,65,32,214,234,165,180,40,159,177,67,43,80,149,120,86,220,189,133,254, +8,183,170,170,216,109,86,36,131,129,121,183,222,199,167,111,124,128,117,248,16,132,14,27,70,2,16,14,133,32,16,228,209,27,174,160,100,64,9,219,27,26,83,153,69,220,110,55,215,92,115,205,245,30,143,167,190,167,186,187,79,68,155,128,202,202,202,149,227,198, +141,59,102,234,212,169,3,118,238,220,137,193,32,227,241,181,177,255,132,177,52,250,131,44,93,180,20,115,190,187,83,167,138,26,24,92,78,126,88,180,4,31,26,51,14,152,132,65,150,244,83,188,187,57,144,179,187,253,129,88,44,142,213,102,67,85,226,44,124,227, +3,132,60,55,178,44,165,148,150,32,232,90,43,186,113,11,127,190,228,60,102,76,221,95,63,4,218,11,220,187,74,119,18,84,85,197,102,177,96,182,88,185,225,209,127,243,247,187,30,193,52,180,2,131,81,110,239,214,164,32,74,34,225,202,77,156,250,135,51,185,237, +210,243,217,182,117,171,158,157,45,22,99,196,136,17,44,90,180,104,227,149,87,94,121,106,151,149,165,65,175,4,0,224,235,175,191,254,108,222,188,121,151,91,44,150,196,141,226,160,198,227,156,56,117,63,62,250,233,103,182,172,223,128,45,223,221,158,171,54, +57,255,202,50,162,195,198,215,31,127,65,204,100,228,240,201,251,96,50,200,221,10,193,238,182,11,180,196,136,159,186,207,222,252,226,107,99,213,135,159,18,177,89,177,38,174,86,245,183,5,8,175,173,100,198,57,39,243,212,77,127,38,18,141,166,238,228,217, +157,116,116,85,94,85,85,108,86,43,102,171,149,59,255,245,2,183,222,120,55,114,249,64,44,86,139,222,159,233,206,51,89,198,191,121,43,21,251,238,205,71,143,222,69,56,24,160,45,16,2,77,195,229,114,97,52,26,57,234,168,163,166,183,182,182,246,56,250,161,15, +2,224,247,251,61,85,85,85,158,179,207,62,251,40,143,71,95,103,6,195,17,114,157,54,142,152,52,142,231,62,91,76,107,115,43,118,167,35,227,252,188,166,105,24,12,50,88,173,44,90,240,57,17,131,196,244,253,39,98,50,25,137,100,137,231,223,19,35,77,64,207,113, +104,50,26,56,121,250,33,88,10,242,89,243,203,38,61,41,83,44,134,205,104,224,47,151,255,145,167,111,249,11,8,208,214,230,239,243,166,83,127,233,86,84,21,87,34,107,248,237,255,124,150,155,174,191,11,105,96,41,54,103,194,102,202,96,190,132,175,174,1,209, +108,230,243,103,31,102,80,73,33,219,118,212,35,73,186,55,177,188,188,156,75,47,189,244,142,79,62,249,228,149,222,210,210,107,1,0,88,183,110,221,242,138,138,138,131,15,59,236,176,33,59,119,238,68,150,101,154,188,126,134,15,41,99,159,97,21,188,244,193, +231,68,84,5,155,53,25,246,172,145,12,30,49,26,141,96,179,242,197,130,207,105,140,68,56,230,160,253,49,153,76,41,33,216,211,171,1,65,16,8,135,35,152,100,137,131,38,77,224,151,234,237,124,247,205,50,98,193,16,71,30,126,48,79,222,116,21,104,42,173,158,174, +19,50,238,42,29,29,203,43,138,66,126,94,46,162,108,224,234,251,30,229,174,91,31,64,42,43,197,230,116,232,22,127,26,106,81,20,241,123,124,104,173,30,254,243,248,189,28,121,240,1,108,216,188,21,89,150,136,70,163,140,28,57,146,247,223,127,127,229,85,87, +93,117,90,95,232,233,243,254,231,5,23,92,48,107,227,198,141,158,97,195,134,233,217,172,37,145,77,91,183,115,212,180,201,252,227,198,75,81,26,91,104,243,7,219,111,26,67,255,163,168,42,22,171,25,219,144,114,30,127,252,121,102,93,117,11,64,234,68,237,158, +176,172,179,237,61,36,111,253,136,43,10,72,34,136,66,42,237,125,32,16,236,53,243,251,99,225,167,140,73,116,181,159,159,159,15,130,200,153,87,223,204,131,119,62,140,97,112,25,182,132,131,42,157,249,130,40,16,10,134,80,183,215,114,203,45,243,57,243,184, +163,168,218,82,133,36,137,196,227,113,6,15,30,76,93,93,93,116,206,156,57,199,246,154,160,4,244,89,0,34,145,136,239,132,19,78,56,22,160,176,176,80,143,102,209,52,170,183,109,231,162,83,143,227,198,43,254,72,120,123,45,193,80,56,227,102,107,52,13,85,81, +49,25,141,56,71,14,225,157,55,62,100,226,25,23,178,189,177,9,135,195,129,65,238,254,124,61,236,222,233,33,154,90,86,9,169,212,112,189,213,250,187,50,234,53,77,191,51,40,47,47,143,134,150,86,14,56,229,15,188,252,212,75,152,71,14,197,108,49,119,90,235, +11,130,64,52,18,37,182,101,43,127,186,242,66,254,122,209,92,118,108,175,33,174,170,250,146,209,237,198,98,177,48,107,214,172,89,30,143,167,251,196,13,89,160,95,17,16,235,215,175,95,50,123,246,236,121,185,185,185,36,207,18,68,98,113,106,183,215,114,251, +69,103,241,231,139,230,16,172,222,65,48,153,244,49,221,89,168,169,200,162,136,123,244,112,86,126,191,154,49,39,158,199,219,139,22,99,182,88,186,61,95,191,187,53,132,63,24,130,182,0,4,67,248,130,201,20,236,187,7,119,122,217,78,243,189,211,65,78,78,14, +31,127,243,45,99,142,58,149,101,95,44,193,182,215,72,12,146,212,41,247,80,242,38,183,200,134,45,204,185,104,46,255,188,229,42,118,214,215,19,12,233,225,102,38,147,137,194,194,66,206,61,247,220,107,150,45,91,182,160,35,13,189,129,62,217,0,233,80,89,89, +185,50,20,10,185,78,58,233,164,41,73,163,48,18,139,19,143,70,153,117,196,52,90,34,81,150,124,246,13,216,172,122,28,124,122,214,49,221,11,131,61,223,77,107,115,43,175,191,253,17,45,193,48,51,166,78,194,108,54,163,196,227,40,138,210,39,219,160,47,229,76, +70,35,162,0,111,46,92,4,74,156,155,174,152,199,196,189,70,18,10,239,90,154,153,100,185,108,134,173,36,10,228,230,230,34,136,18,215,220,255,24,23,93,125,11,161,112,4,231,144,65,237,103,33,218,95,64,16,69,34,145,8,209,77,85,156,57,239,28,94,184,239,38, +154,155,154,104,245,181,33,10,2,130,32,48,100,200,16,238,186,235,174,103,31,122,232,161,249,189,34,46,11,244,91,0,0,150,44,89,242,223,1,3,6,76,156,62,125,250,200,230,230,102,61,192,33,26,67,137,198,152,61,99,26,109,113,149,111,62,251,26,197,98,194,108, +50,118,184,206,68,191,41,195,230,112,160,154,77,44,253,228,75,222,92,242,29,163,43,202,25,49,184,28,147,201,148,10,253,222,213,48,176,116,208,52,77,79,87,59,102,36,211,15,155,202,217,167,158,192,236,35,166,209,230,107,235,82,3,244,87,8,53,64,83,85,242, +242,114,49,155,45,44,93,185,154,227,47,156,207,91,255,121,29,161,180,24,103,65,110,198,237,33,73,163,89,16,69,66,161,48,177,205,91,57,247,194,185,188,112,223,77,180,54,53,209,216,234,213,51,150,41,10,35,70,140,224,181,215,94,251,242,162,139,46,154,213, +191,158,208,97,151,4,0,224,131,15,62,120,101,194,132,9,71,76,157,58,181,188,177,177,17,73,20,9,69,163,40,209,40,179,142,60,4,69,146,249,226,147,175,9,139,34,54,171,181,93,19,36,218,171,106,26,70,131,132,165,48,143,154,77,91,121,225,157,143,169,107,245, +176,223,152,145,228,185,93,152,189,122,5,230,0,0,12,183,73,68,65,84,140,6,34,145,222,133,152,245,22,84,77,35,26,141,49,124,80,57,21,3,74,104,107,107,75,36,152,222,245,4,80,169,58,84,149,28,187,13,187,195,65,179,199,203,117,15,60,206,5,215,222,65,253, +182,237,216,70,12,197,100,144,59,168,252,4,243,37,137,54,95,27,234,182,237,92,244,231,11,249,215,157,215,210,156,198,252,120,60,206,168,81,163,248,226,139,47,214,30,119,220,113,7,3,189,75,183,218,5,236,174,161,37,127,242,201,39,203,142,56,226,136,137, +149,149,149,137,19,168,122,50,137,146,129,165,60,254,242,123,92,124,251,223,192,104,32,175,180,8,53,166,164,197,178,36,64,211,183,54,3,193,16,145,109,53,228,14,29,204,181,231,158,202,21,103,158,164,159,90,214,84,124,109,153,41,218,126,235,253,250,108, +101,147,140,151,77,102,84,37,206,63,94,122,139,187,254,245,2,245,235,42,17,202,7,226,176,219,58,24,122,90,187,71,82,150,105,171,171,7,95,128,59,111,155,207,245,23,205,101,103,125,61,158,54,63,98,34,125,221,168,81,163,88,190,124,249,198,105,211,166,77, +138,70,163,190,62,53,42,11,236,62,221,10,230,79,62,249,100,241,17,71,28,49,113,195,134,13,122,220,62,122,10,243,242,65,101,124,244,229,183,156,114,221,61,122,220,90,69,25,66,186,129,164,165,126,233,87,202,72,18,45,59,155,161,185,153,81,147,198,115,249, +233,39,114,238,204,25,169,99,107,254,46,70,108,87,176,167,5,37,57,239,187,221,57,128,72,44,26,225,63,239,255,151,135,95,120,157,53,75,190,3,183,11,71,81,1,116,90,238,234,231,8,5,65,64,19,5,2,155,183,34,58,28,188,244,183,219,56,237,184,163,216,177,189, +134,64,40,156,202,130,50,114,228,72,150,47,95,190,225,144,67,14,57,32,18,137,180,244,137,208,46,96,119,10,0,128,225,189,247,222,91,52,115,230,204,131,182,108,217,146,48,228,68,4,1,134,86,148,83,185,165,154,51,111,188,143,21,75,190,199,56,104,32,118,171, +53,49,26,50,53,1,180,167,232,245,212,239,252,127,213,157,123,112,84,213,29,199,63,247,238,251,253,8,217,205,107,147,8,9,81,68,36,40,1,95,84,171,86,164,42,82,39,140,15,42,35,83,29,171,182,14,117,168,51,58,142,72,157,105,75,29,164,118,90,156,106,106,237, +88,168,213,97,20,81,235,11,68,42,140,4,229,161,130,64,12,73,220,101,243,216,108,54,217,247,230,238,189,253,227,238,46,155,144,32,90,64,252,254,179,185,247,102,238,57,247,252,190,247,156,115,127,231,119,126,95,136,198,168,111,156,202,146,235,175,225,150, +107,127,72,77,101,46,9,180,44,49,20,75,228,26,113,236,10,157,202,5,28,0,155,197,140,86,175,110,213,10,4,187,249,215,27,239,241,183,87,222,96,223,71,159,128,201,136,165,178,76,21,160,30,53,255,201,191,248,130,70,67,50,153,36,219,118,152,134,89,23,176, +246,201,21,204,56,111,10,135,219,15,147,205,17,70,16,4,234,234,234,120,255,253,247,247,204,157,59,247,242,116,58,29,57,225,138,126,13,78,54,1,0,104,105,105,89,191,100,201,146,5,126,191,159,68,34,129,70,163,65,202,102,169,175,42,39,157,149,121,240,169, +231,248,211,243,47,129,78,139,187,178,12,69,206,146,119,28,142,32,3,168,98,75,138,194,80,111,8,34,131,56,39,214,240,147,43,46,225,134,57,23,241,131,11,166,225,116,58,10,255,154,136,199,145,198,85,21,59,62,78,212,248,26,81,196,102,53,131,168,70,212,15, +13,14,178,245,227,189,108,216,178,141,245,239,108,33,116,224,75,176,91,49,151,121,208,8,194,24,105,101,243,150,71,13,170,57,18,132,120,130,59,22,223,204,170,135,239,199,105,53,115,176,227,171,194,100,207,104,52,82,93,93,205,203,47,191,252,110,115,115, +243,117,64,154,188,156,218,73,192,41,33,0,192,35,143,60,178,106,197,138,21,75,195,225,48,234,10,162,14,41,155,101,130,211,78,137,199,195,198,119,183,114,223,31,214,208,185,239,32,134,154,42,53,41,68,209,216,168,140,34,67,126,151,82,100,48,10,189,33,208, +235,153,116,78,61,63,154,53,131,43,155,166,51,235,188,179,169,42,47,31,81,7,121,56,67,50,157,65,150,229,113,69,174,199,51,188,144,219,40,98,52,232,11,111,120,30,129,96,144,214,207,14,240,238,71,31,243,246,182,157,28,250,252,11,72,36,193,51,1,171,195, +62,114,120,59,90,82,193,246,162,70,67,50,149,66,106,239,164,116,242,68,158,122,104,41,55,223,56,143,193,254,62,186,251,7,208,106,212,160,14,183,219,141,199,227,225,137,39,158,120,118,217,178,101,119,158,104,219,127,19,156,50,2,0,220,118,219,109,63,111, +105,105,249,139,40,138,180,181,181,169,187,134,0,141,40,48,177,214,71,111,111,152,135,255,252,119,158,253,247,107,160,200,216,125,21,104,16,198,15,200,200,53,170,32,8,72,178,76,108,32,2,225,8,24,141,120,106,170,152,57,101,50,141,147,39,49,227,156,58, +234,125,149,84,151,123,114,41,219,190,61,98,209,40,157,193,30,218,186,2,124,178,255,16,187,15,180,177,99,223,1,186,219,187,32,30,7,151,19,163,203,161,58,114,70,5,152,20,215,91,201,213,91,6,18,95,5,96,88,226,214,91,22,240,187,101,247,226,171,42,167,227, +112,39,195,217,44,98,206,249,83,91,91,139,209,104,228,158,123,238,121,240,233,167,159,94,249,127,61,196,113,112,74,9,0,208,212,212,116,229,11,47,188,176,174,190,190,190,180,173,173,13,89,150,11,67,66,89,137,11,71,137,139,55,54,109,99,249,95,255,73,235, +135,59,193,105,195,225,153,48,106,146,56,246,219,164,62,129,128,36,103,137,199,18,16,25,132,244,48,88,205,152,75,156,212,148,121,169,243,85,80,49,161,4,143,219,137,215,237,164,212,229,192,102,54,163,215,105,209,104,84,71,104,86,150,201,12,75,68,227,9, +66,3,131,244,132,7,232,9,71,8,134,250,249,178,43,64,199,145,110,226,253,3,16,141,169,201,24,29,118,140,86,179,154,164,169,184,110,227,213,83,16,64,16,136,245,133,160,47,204,212,139,46,100,249,125,75,184,233,186,171,137,71,6,241,247,246,161,205,9,74,2, +212,215,215,227,247,251,227,139,23,47,94,180,105,211,166,87,78,182,77,138,113,202,9,0,96,179,217,188,45,45,45,207,53,55,55,95,219,223,223,79,95,95,31,58,157,78,221,181,42,10,76,244,85,146,76,165,121,102,253,155,60,185,238,85,58,62,251,2,74,156,56,74, +220,99,116,167,71,141,175,140,113,14,64,146,179,164,210,25,228,68,82,237,154,165,172,154,251,95,167,85,13,168,213,130,86,163,46,6,169,43,51,32,73,170,104,227,112,6,50,57,229,13,141,70,21,128,180,152,48,234,245,57,131,143,44,89,45,126,180,3,72,65,200, +25,94,17,4,226,253,97,232,9,225,157,50,153,95,253,180,153,187,111,93,128,221,97,227,112,71,23,146,36,35,138,234,122,132,203,229,194,235,245,242,250,235,175,111,93,178,100,201,226,222,222,222,195,39,209,12,99,226,116,16,160,48,97,185,247,222,123,151,61, +254,248,227,43,157,78,39,109,109,109,40,138,130,40,138,100,101,25,155,217,72,121,101,5,193,64,55,45,175,190,197,51,175,188,69,215,190,131,96,183,97,243,148,140,152,80,141,103,120,138,175,42,35,143,85,175,156,130,44,43,200,138,140,172,200,133,137,167, +32,168,98,88,121,23,171,88,180,3,122,228,109,198,238,222,71,151,47,32,32,41,10,201,190,126,24,136,224,105,168,227,206,155,126,204,93,11,231,83,93,83,77,79,240,8,131,177,184,170,244,81,244,214,39,18,9,30,123,236,177,21,43,87,174,124,116,116,219,157,42, +156,150,30,160,24,13,13,13,211,87,173,90,245,212,188,121,243,46,27,28,28,36,24,12,170,74,227,185,93,172,37,118,27,37,94,15,254,175,2,172,125,99,51,255,248,207,38,62,223,253,57,40,10,154,178,82,172,38,147,74,132,177,186,219,162,159,226,3,101,20,25,70, +94,30,255,220,113,141,63,214,88,47,8,36,146,41,228,238,94,144,101,234,166,77,225,246,235,174,102,209,13,215,112,214,196,179,136,132,122,233,13,15,34,138,106,179,75,146,132,199,227,193,237,118,179,121,243,230,143,31,120,224,129,95,236,218,181,107,123, +254,110,199,22,122,242,113,186,9,80,120,168,187,238,186,235,254,135,30,122,232,55,53,53,53,182,64,32,64,44,22,35,47,93,35,203,50,46,187,149,9,94,15,125,61,125,188,254,193,71,172,223,188,141,119,90,119,147,10,246,128,217,132,198,229,192,108,48,140,80, +224,60,138,162,62,98,44,227,143,123,238,24,255,228,215,206,63,20,32,153,74,33,135,35,16,141,33,150,121,184,170,105,6,55,93,117,25,215,95,113,9,229,149,21,12,132,250,8,13,12,34,136,170,250,130,36,73,152,205,102,124,62,31,193,96,48,179,114,229,202,229, +171,87,175,254,237,55,105,200,147,133,211,222,3,80,68,130,210,210,82,223,242,229,203,31,91,180,104,209,29,118,187,157,174,174,46,146,201,228,8,34,88,205,38,202,203,60,200,195,18,59,246,238,231,173,237,159,240,118,235,46,118,29,106,39,217,221,167,222, +202,225,192,104,49,163,215,106,242,121,109,139,236,116,34,134,31,121,78,229,194,248,47,95,70,146,200,196,19,48,16,1,89,65,231,45,101,122,253,68,174,158,53,131,185,151,54,113,81,227,84,180,38,3,61,193,94,134,98,241,66,92,68,54,155,197,96,48,80,83,83,67, +50,153,100,237,218,181,235,30,125,244,209,71,2,129,192,151,163,219,230,116,225,187,32,64,113,217,10,192,180,105,211,46,92,186,116,233,175,155,155,155,155,45,22,11,126,191,159,120,60,78,177,152,149,70,35,226,113,59,177,56,236,12,246,71,216,223,222,201, +135,123,246,179,125,239,126,62,62,248,37,29,129,224,209,12,99,38,35,152,77,104,245,58,244,90,13,162,32,22,133,130,143,253,214,143,56,204,245,42,249,100,89,82,58,163,42,129,231,242,36,97,183,81,89,81,198,133,13,117,92,124,254,20,46,110,156,202,185,245, +103,225,154,224,38,25,141,209,19,10,23,62,233,242,177,254,38,147,137,234,234,106,210,233,52,235,215,175,223,184,122,245,234,223,239,216,177,227,191,163,219,226,116,227,187,36,192,49,104,106,106,186,244,238,187,239,254,229,130,5,11,154,157,78,39,125,125, +125,12,12,12,32,230,178,122,128,106,24,131,78,135,203,97,197,106,179,145,205,12,211,238,15,114,160,227,43,246,28,58,204,129,14,63,109,129,110,218,143,4,9,13,14,145,141,39,32,153,134,172,148,11,1,83,245,243,142,162,232,83,83,86,64,145,213,245,121,81,3, +70,3,130,197,204,4,187,141,179,42,202,168,171,42,103,114,77,21,211,27,38,113,118,109,53,147,106,42,209,26,13,36,162,49,194,145,33,82,153,12,32,168,110,236,28,129,28,14,7,94,175,151,104,52,202,198,141,27,95,91,179,102,205,31,183,110,221,250,222,232,103, +255,174,112,70,17,32,143,105,211,166,93,112,251,237,183,255,236,198,27,111,188,117,210,164,73,246,116,58,77,48,24,36,147,201,140,32,3,228,132,27,204,70,156,54,53,178,22,73,162,63,18,37,208,211,71,79,56,66,119,56,130,63,247,119,52,145,32,150,76,145,76, +103,212,36,216,5,137,92,17,163,78,139,201,160,199,98,52,96,55,155,41,117,57,240,149,121,40,43,113,226,117,187,168,242,150,82,226,114,32,232,180,72,233,52,145,161,24,209,120,98,132,135,49,111,116,157,78,71,89,89,25,38,147,137,174,174,174,212,134,13,27, +214,61,255,252,243,207,238,220,185,115,219,105,110,202,175,197,25,73,128,60,60,30,79,213,194,133,11,111,158,63,127,254,194,217,179,103,207,180,90,173,196,98,49,66,161,208,81,117,242,81,171,64,2,160,211,105,49,27,141,152,141,6,12,122,29,98,126,78,49,172, +166,151,147,101,57,23,8,90,152,205,161,17,85,215,175,70,163,65,212,229,134,158,108,150,116,102,152,68,42,77,34,149,34,51,60,124,204,212,32,191,26,168,211,233,112,187,221,216,237,118,18,137,4,173,173,173,123,54,108,216,240,210,139,47,190,184,54,16,8,156, +242,239,249,111,139,51,153,0,35,198,197,89,179,102,205,153,55,111,222,252,203,47,191,252,154,233,211,167,159,155,79,97,19,10,133,72,36,18,133,16,178,227,45,17,139,197,215,11,63,106,49,10,71,215,31,84,163,142,125,143,188,193,243,105,215,220,110,55,122, +189,158,88,44,198,222,189,123,15,110,217,178,229,173,55,223,124,243,213,51,169,155,63,30,206,100,2,228,49,122,130,164,157,57,115,230,236,57,115,230,92,217,212,212,116,105,99,99,227,236,170,170,42,171,41,151,130,61,26,141,18,139,197,200,100,50,199,100, +226,60,145,236,226,163,51,131,8,130,128,70,163,65,175,215,99,177,88,176,217,108,136,162,72,42,149,34,16,8,36,118,239,222,189,163,181,181,245,195,15,62,248,224,189,237,219,183,111,67,93,173,27,175,238,103,28,190,15,4,40,198,49,13,234,245,122,107,166,78, +157,122,126,99,99,99,83,67,67,195,148,250,250,250,115,171,171,171,39,186,92,46,173,213,106,45,124,73,100,115,93,127,58,157,38,157,78,23,122,12,160,224,145,52,26,141,24,12,6,117,24,40,250,116,139,197,98,12,12,12,200,126,191,255,240,193,131,7,63,63,116, +232,208,190,93,187,118,237,248,244,211,79,247,28,57,114,164,253,235,234,120,38,227,251,70,128,19,129,222,231,243,213,86,84,84,84,249,124,190,218,218,218,218,137,110,183,219,235,116,58,221,118,187,221,97,177,88,172,22,139,197,168,211,233,12,138,162,42, +166,8,130,32,75,146,148,137,199,227,169,120,60,30,31,26,26,138,68,34,145,112,56,28,238,237,234,234,106,239,236,236,236,232,238,238,246,119,118,118,118,40,138,242,205,212,169,206,112,252,15,58,29,205,38,15,37,232,42,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; const char* MIDI2LR_png = (const char*) temp_binary_data_0; @@ -187,7 +304,7 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw switch (hash) { - case 0x4e769861: numBytes = 11624; return MIDI2LR_png; + case 0x4e769861: numBytes = 19720; return MIDI2LR_png; default: break; } diff --git a/JuceLibraryCode/BinaryData.h b/JuceLibraryCode/BinaryData.h index 564998f33..216454b03 100644 --- a/JuceLibraryCode/BinaryData.h +++ b/JuceLibraryCode/BinaryData.h @@ -10,7 +10,7 @@ namespace BinaryData { extern const char* MIDI2LR_png; - const int MIDI2LR_pngSize = 11624; + const int MIDI2LR_pngSize = 19720; // Points to the start of a list of resource names. extern const char* namedResourceList[]; diff --git a/JuceLibraryCode/JuceHeader.h b/JuceLibraryCode/JuceHeader.h index 66a5b0802..11f5e1aed 100644 --- a/JuceLibraryCode/JuceHeader.h +++ b/JuceLibraryCode/JuceHeader.h @@ -35,8 +35,8 @@ namespace ProjectInfo { const char* const projectName = "MIDI2LR"; - const char* const versionString = "0.9.4.1"; - const int versionNumber = 0x90401; + const char* const versionString = "0.9.4.2"; + const int versionNumber = 0x90402; } #endif diff --git a/MIDI2LR.jucer b/MIDI2LR.jucer index 5dbe5a27e..ae8fcaf32 100644 --- a/MIDI2LR.jucer +++ b/MIDI2LR.jucer @@ -1,6 +1,6 @@ - diff --git a/Source/MIDI2LR.png b/Source/MIDI2LR.png index 361d2ed3e1b6ba495d02f39c58f4fff7c176436e..3a8d34a1696ed6140cab92550df7eb328fa1ae80 100644 GIT binary patch literal 19720 zcmXt=Wl$Vlw}o++L4pkK9^8TxG+20%Kp=QP{8#Z>Iaq z>3!B(``LtimzP9E0wX~{K%h!XiTwxs_5SyR00;c;71SMtfFOmC786l+PCspTa*tQJ zfBf(qxs6S^g~3E15)l>=Q=I$MU!P5W@7u&s@#_a}tJy_MMN7r`%HjsW$j>TBUnE~_ zRHkTQBop?yBlgJ~_YY@7YWCqjP%T-TCr(2BxEhna2_T_5md+}w+b zTEI(HRaMY@sVb+xzaJVI3F+F_)^^RYbv-31$taF;IM)OW;Y*rbV%pT)ynONS@+O#7 zSzldUUEI;p;dpZ}o>o#?T54u$T0%fT(B5e?>&S=D$qCtt1iS-}7MLZh3Dk_TD0eeyk@FIWLZX@?$M1*50#T3WB zN$TtC@6P1QbgH*GUnOOEJ|7tY@A=*=boRuw{Sgjv+WxRXVK|=3X*Lj!KS*rd1*tUK zIm;1Y%n@2(l7W|Y=0!GYCpSCwml0<99Tx`DuX{?G#q)7H=tA)Ab{5vE{cd5ELA6Y6 zHOuk+BN`4ZsF%lTqs>n6~T^mWZ03}1tticjXjj_cLOJ@g$e5ho>g2^UsQF~qOf$V?Gg^}cF@klF*=vGuz`YjtN zq%k2X+pb6K9@gw8*M)#R5-2d2-yXQB43REhxPQND)p?g2_POQ1#NXmaJx(r z6g9&z!g9Z$Nh;NP2N@Qw)&uEHow!68Be$w{8`N3x4f-sT)1Ryy2MYawugOFKR(PI+ zyqYId7}RD#8iI|zU%MHM7~Pl@lQQNI~&w6D(StkPcdn<*lEY@iS}+0?O*RQ&6VsG;mi+ANxYw?29* zOmH?`-IE`_@0K+WNId4?;9wxls^h6;ki_ftXybnU++X__1ROds|7GxfCqqUN6aO2kr{a}ku3(Erf(xclw(vbsq;x!~mn<@pJ+N{unlDAVPjcvhb8j1VGf zFpe!)Or*=O5&Ci8_G+dsG0yARz7(E*fN{35HOIeta z_~KC%ckIG*ZWJ!%3{`Fm-FrNARJYfh<&U{9<0tO|W<}2IoN9c2t$}cY{#T`_-Sj+k zcv3us?4p)xyr@B&X8Vh~e~WRS&TDtjP*?ZZa81%mEuYSFez&OYr9Tu+M&a8{ zTCK*&d7Od9hd?f5xzr=a+&1ppFXX*E=AHXmH*q%ROm;O&g0yRKFUlV{yl*g;4M|w@ zK$~05!|d4sQ@b3Te2af;H)obA!2&Y4&w-CVth<>%&QhD ziVHKpoXi7DjJzV*4ktCNSXsPwxt6x}GB8M+gU}Bh7DI)oqJo9T#;1%8+cQloCsz)N z+@hz~S=pd?T5nP$Ea_`UPAsQ5iSiZS>$^eTFON=YRmW4_+~c8KZK z^BRUjZohDR-o3UVR$QoJcXa;5q}&3+&nNv=v&;~yq{Lt@;gvKP%0@h|xB!PThCx1S z_zgG1kCEU%8Of;(Eolqu_ou_GmpR}bHnZL@P^H|Et|GWMoX>Wngx;CG7Zy|v)Fo6@ z(p8ZqY6JF9xUG9EqAs5$we=<^^P5;I*PEbY$8aGOv9DmDIIJpZLc4Ua?ssOEI}d$s z6n1xZ(Tqm^>c;Oi|3}<&LC<}2{A09QgRy0jhNvYO>Wg1uY^N~GP)^)H^~EI;j7T=m zV*j3EFV9^SG>^;5J4z+(R}2^~%gX-NyvSsc0Yf&LV-s9Xx%t)Iv2hW0DfimH8XKAo zzSH~Ac&tSzaU#@&A*9lnIo}a#m&e9Z*cGal%?lKOns@W-@SD*R1$b-ODC=$UpTh8D z#GwEokWxuF%_e#5zr^IU%wnsU;PWvf2Ols zFX?ED6CI?GvgLtLmistE7ITixD%u}+ZrF3eI`gxy!XVh=#zhgvf!AglyNiB1pZkQE zTv|0o99e2CtIoIk6PgVBnd0_c;R})TW~t3BKp(id9gL;Wz(M)UxknYm#KrkFj!zyr z2~7-Ydj#nVvs$JlIM3XraxKcl1~Y?tG&B^tyD&csU0}c4k6qv?$7hw$WE=^IS~0zD z2+9aElA%Dr`HlUF`I^FEOS_ov$gkk}NT=X=iGN4Xp!1oo=d3D+_Dl&V^v0pzhP(9K zeOMmec3~4MiudmL4wPcE!ZtSpX+!;cb@i(8Y7NJ~>;n~Ui0}2XxA39(OhEWP;@q>R zCjc22sPQ*qS(B3d#F8K}1L>Y^`|I5S`hj206eP@AB1cu-dun4D$;?RPB?XE~Dql(Q z_F~!Pw+6k|Ce{x#V)Z&oO4L&-9r|hIPH1jsH)I;c*$avtgZp>-^jPDa(`S4&Ei>Hc zg#_LpyaYc`=8WT8*Y*DB%vs|wzr<7<{Tf*;UC?XfV*&4p;loxg zj^+dryFSKJ$s~sA6^4{=R;|M5Yy($p^iSL!-sIme$VuRrjt{iTbQpDxTIRG=2VCp= zfjF4Pdlvabaj1?{HHtSIGV%)L44*bXM)Gj8#=YISDbuOfr9EewV}1J$Js;>zQ=yp6$3MOuP$Yd5> zZy?^I>8}rs^W9m1)KfF|Ui0^zZ{LIynnXn^kSj$Fo?D42@X+jD+G?wz-*rG!5q)3L zc=x7&+P51Kry%&WM~rv^=VWA z`n7;CJ34Vyk1eXOfZ%v{+*a4L*+I!Z;pHMQV4w*lFXgh>&ARXkUAMGwf;nO~=$(1z z3xhBQ*SWZ-dyMH4ayTjnk}YB}EsrE)@}((sJRo|xZXpJX(S2qRSBby<83TjiMH}8( zlKPaCHQ0`uA;S;OVFJna(|;jE`=4Q|Y&~x=b1Q2@{@Vya==FNV{?DyE^lYwpxo zS;44k?jYh-x-@|83MWpS*5&rrRt(KP1;eQ`XqfbmO4Ii!Nh6)mOa1h9?FfUFU=uCBJcL6ZrTl$Y1W;fgMs$U zt!_G3v-=YBJB3cEKvt{6{pq2dx~Sd616n$Esm?@ce5>0J{&*}21T!>jbM+p3!Ta6< zU-fA(_N2;)MH?Gtr$qFvz=DulAAGUtN>$~Czqxtc`N>jlmL+W*BHeNJtqoXR&988} z977rD8WuhfIjKK0T`mm|h}nsI7tB!lTU+6N)sL$! z@VMoNZf;^S?eUTtIJ$3mS3vLSbk;t^MF4AQL~}40&x4xQV6z}Cc{LD`1mza^r%Ec6j=3SM(D1^i`3XtVC{XA0IM~%~CvKI3a(qHLX8w zC=3+j_4W1G%X#a?JK*eQyq;$=1rfVU3Nsv^%NsYI7Y(utN=)_+4tDP9ZKmd(wo(1@ z)#58P>Wd|gs~u3&N>c2uS=%m?ki7+6uiqtg6cBPr5r8@dSgt|2^{9*(gfJnE@a}!F zSWE)-kfTAvT1*5umy@vkbh}$!?1RJn(@JBGk)>+=Ai&SnyMMerY~CeKXoY!sdUli+ z6cj82F1NhA9FV{BdIJUxmoFz5`rA7sv;<#hBc4K>zldZv)PyQUW=)taYNOmnKDqtJ z^icm=$(ljgI}CZSafdJ|@Br6L5k#I(sOicp9c!}G6d)Z(bNN<_juAFsj0`h{scR^a z7en?n5Tyiooy)zoJHiM6)~GUV+^{-7A679IBn}z3+_TQy+1taMsL19_YTD*!_9MP% zy)I&t=*zwru=?tT_wY{Ir0s2_2*q~jlUiQ*gG54piKrS=Fj5anv{yVXU*WHM7e||p zr;S+fBJe0N0D1Iu`xuj?<$9E{F*8+4x8;u|&$C^SX4xXB?o(3IwBB6y=mK51ai@?T z@T7(kh*FtIDLtorq0@KS&FJz-{YR|ps}rTuSn&X*R!-2EML*-nzF{ujmU50+v8KhAW(Ch+boPzLs!qJ z@lXavMn=}ODjPL$4WpF0EE?Axy<(qYDajC_B;ryuwA_P8yfi1hAydY1VG#U#``QFI zn(so_Ctf#-E^l2N6y(s|Z0R8p0z|Q!f3>}I$$^k|t&sm}jl+P&6^BUFdK&5zG_U@$ zOVvR7F_KAR0$YfO5Um#)o&Qoy;m)2978?iW00>4jE`YrXsFc)#?TPW<;{)UAE+0xf z*LJMKCLQ-;OS2Q>tI0wa_MiC=oCGTT+>kxax;nZ(LIb6kD^0+uC2Zz8biVUrg(U8Q zbenRiZpb3DU6w}6jSR_xzoB{=;4q}hkT~S@fn81VuoK2CxVf@&d{ok5$=L-wTdtjq zqmS-_Fd|*%bLggHUgs8b*2#ovoa4g4)na?;9lKPXGuu@gtVszXzuGltf-vkVnniS(}vZv zZ~|`2N=~x{139hfe7L6j6|)NvjE^v>Hz~qWInK^BLSx4jtC}nxmVBskkw58HdGY?U zoq`@<#aj2c6%sGb(9(c_1|?8lD3{hCfA?d?o*V%x#yVLSTBiAJhgZyTF2`|cD;{!< zckTW)4d&I85RDHEk~JsU1WxD&hY+FF-kzSGHjC8;PM?Zzv3VcMuvs=6zZAZ+{UH=l zQqm~OCH=m+G}g7_-oXDNOh3@x7$Fs1}BQV96{hlHos3T<{J5(tL4#o)7l zkN<9UxUFvq`QHBZ12^v0jf)L+o$w4!)9s8*mo=9UmGxzqqzVu7I!X!0t*3f5-(AJJH*pjAMUSou{ zzEB{bGcW`ACa%=N^9s)gb=lGK%U$7fDXEc<(`;c~<|<0}meGXYmh9tLv-9d7iL>j}^v@p%TDcCjEB%JMY44+$g%-oe~VYbuN?%2?w2H?O*pBFSo#Fwp&Q((O-%- zxYtk|1kg$7zIM0fH{f)dxM^Zi2wrhAf-H_IvN~YIiVycNF9uC;#OL#jiV>jnJ0R(X_$Js5_KX4Qb}U6BULd zHTCC`+p88~?T27%eax_}$AuWv$>6$AYb$EHdDDw;Bl87%>4fR`oiE{iMiB@aFotkzB7qG;7*;h9_WE4QpMZRzO5# z@j3_1>}UbP2p<0}+&Y@+H2w@;;JlpR9u2{~~)Dgt;j5sGy8XreP_wxUpq+4GaRN(VRHwZ&W zk|)DVO|mVOxwpMaR%F>B8Rp6IfCmq6ssZnW2IdC30srE78YwJqiYWeTwYXuinP;b! za`Sb?!I}t->X!5r7>M@*LwTMZolv`92D6Qw1uu1P`UTOZ>Ld3!jT7z>3Q3harSm6h z4W1MPjf;xwQ!w42zTM}^NLL9oqOtgP$%mg1&);OYg8h5raX#73y}w)^q>+#-$J2}) z=UQ1GUiLDlsdu_C=u4tdt*wdj5K`071pT|1rausW3cO8b3y4z6zC(-U1@sG9736dv z7WT)>$7sdmT90|Q2;|VV;%qj$`HPRfu1zjW%yNWFP?$BE>yPpNu->EMwmzhoynKqi zSl*ZmowcND{Nvqr{huv-Quma|-cq>$h2aA@W;kw`hL9g022xyx&pFR$-GKaOXPh|0 zqAzXEG_jc7Wj8!YN*@IjUWCN|EU4TUuUNzJojU?D9J9?Jd4wQl!fr*)A=Wq=1JK%{ zL_z1`YR!7$;>uxn5R@V$Cx9abl%toaJh{3b0*m2T zvQ2LwsvXs@POd!2&ccL*v{DQrE)Ero&09#Qa;<_$VhQO?KEG^%Gn&3 zTHDsDqy%#65vdv}7QCL>xzJuc-MMT?*(EccUg~o>n+gVoNP#m=AlSg(+h?;_GoCY4 zSosO@<{vZK@6>6oXY>^sEzOdmuD)JTS(#EUoyUfa(%gF(=qG)GA#=DLHf_9qdzLG! zEbcX_HN4G(03oqEj9Ejx$*vOH2Hc+s$SE+yzP5!Sqj3(0_eouI)U(y-fgUz_gB1O~ z*(~45>gLks7JV~KndeS@`5~yz1rF0?OXD@Zm~MMm@a0%+)SA$%{odXl$(dHl``Y!E z%@qBmw|Ud^MebLf@pK`17of5q#z{rlY7AG=pf6_$=2) z)F*E4T#DnXG5<>I+ec|ADhmW??0iV2W##g3C_fXTR_cUPv;`-#IZ`&+Aq?)|!&OTscAe<&2aacK;0w6k@<|LbvRDIOV=3Que{rE}EB+gHV)yCQG{5kOlS)h<9e= z3VPfBbcM-zhF?m35m1~eg#oLr502#YPm(gM-!n1c>sMreF}_rn^;;= z#<7KraUB->5}s3Z7KdAwYrccYi<;@PJo4dJr=-`ejLFX7R140&T_pL^0E+wdGyf@AyQNIWM(yjmhjR4WIK*|x2h5C?YJ-UotYc@DpEEiUMDfLXyPcoENT|Dhj! z|AOyfaw%1T&dgQ0EGqRiJfIzG zJJQjEdiVDC6@jiU85$u^)tYI2fkeia@#ll;f)nb_>6vjsgPiWr!%%2aGv#si5Rq zGCJeHG-poQ*+f>7w1CL zLEZ+D2mkzJLJ%6!7e?tOQUo22sXen^0+bm2TEns8&=TL}p&=i2=A&;ujHB)kH`MRX zbEEz$EMQaw->!odS6N4fX3HOXhb*X0nq*#LungSFHbeVf{idvWv`9V;5N=ULTN^i% zQ@fbESEmVv?61$cSGD(+*GUV*4S&Bu$Wc?gTl=46y2o7nDDOS4(vAMz6GJPr`0i_W zds#{yz&q3N$BkEBa;l2}Np*;G+9> zY{FHMp|9;)Pf@=1Sn`}?dR1MeU1XOjKgi{gsWW09P}}a?Vaaofhn9nMTHhaxQ7N!LaC14muE6-ohLgwYVgD;c2b*q=~zUoJx?GJSv zmxBBB@F?lT|ImhlBCE)+j5Dr;)B z@i_h@9K#nBVFMd`qK}HLK3SD95;3oPjWhLiDpXPsiVrCsY6}Eq&k1OzEKdGRvU8Odlgj1}QA`heza^TAF2;zCZ{4zxsIb3h zLRG=&%dQPLRby2n#(8t!c7IsDklmrza3*f<7@b<8{N1ajBRN-(o51F0c}8^pacFF+8 zh|>bw*Z9=HEI3zeHqw}D+N6a&kLp%ztd>H8r?s{exxAofa;Pvfm*q2=umE3AITzrAp8~f+O zceS?^ylIZQaQmBL2}3W*Sxk4KH%bSkuN3~h zZLX`@c!{;1MmY9ita?q^FuCk=%WC7X&znX%wXlLPpWdrArz2yrUx zh?psrqjevgA604N$(WLTExvoKhkFD6+0xK&CiK2MXbsvVZHlflr$vV$vktM5b&?!A zv7L9lIls5aKme&Q1^Lt0@Bqug8 z9&axG8c94RVtjGNz{Vx#BkI$)DYAl4-&vMC*D(mle5N|mo#zmcF?C82`6S+N%%#ts zc1Kr>l>yb=SC?96((}wVM^1nOXE%WHS!KRmljy*UxKXbSSsv_MJ!|~I3{R-WaX#ogMl7_TSwe1s%64`^6H3c%?-@~nPV2$0 z$O=*yq>``VAu*|1GOn#H+35d`s(N#Ek_7d3?-&v9Gh3}PU`De=a;owR+so-~M_EjV`sd|)-+A0~`X;v$K^^U7#LqnC|Q7ozn?E?#Sg^ z%k8oyT43oBU^Ms%d0e0*Vguy^edFdF)nD2g|9lx~ku|4@q?73vdg?my}j! z%n+SuDkR%q*n7uZ#vEYjTPH8O9}NU5T(u$2n%fhDnL*BFZv|5o>HGwx$sZ3IJch@6 z@;$L8&v*RSwf`k@2~Z~4IEJNce`W9<(~#slZ@-0e`mel@!)5THo{?X^jUg~(NBsau`SqSk5U-*ejL7BQa=kl}oidrg_FC(5$2~ z&eIX|`uq2TdmFDEy4YyV3Q7Iy2`~ez2cj>6i4!CBDUw`dzuvY%pRq5d2LY?cyW9fR z(UV!;G@e8rYkA~5MhD+$!{h6gMV@$~bi_O(xGYYW0N^!x{)#}eU($tsqa>6r3-^}t zx3-^z@wo4|ijn(HsVEj9ju_ZWO8tOV$3ayAB;N?Rma%>n5j$7T%9a)usDDVZ#jx+h zK+-B%3%WIo+sJ{JLF9YXFk6j=9R()AzFpC=p`R_OA8|~ zS+#kAKI|jhmBm#&Yyc}6#tkcNRBhd$@^=V7r-Z+jBX|2m zaBR%TcXJgK0-iLO);8 zVc0?H!F{e=Jc$t?R*-?yO%=7VM8o^7EcaEmb+wOF`ms&$I91@3-TeWyK{AAclMrt7 zmzn5D76ZmdO_L1gB3;+w$87(@eMZNQ#jP`9<5TsL#h+3LRAFp7>(>9Aj0Zd`)YS;>yjmW03+y49nRx#{I=Z{nH5)(wTs5kpho%#>bkTNA|4nyjg%r6s7*e7Ocusu{dHjrW8` zz>C8^eanblOcgzn_{GDl+N#=YIpl)jh6x8bwj08?=x|}aCe7fjdmXnW&IJSr`dmhR zjuaanLXXzzGUPQ6x-2$hOy}o+| zblhR!DKNfWuVFW*hX_EG{9UPd`8~z~_@NX-z!lP3j%|=H5aNwEmJoN4BI?_vh<%*WkgK!!y1- zk$5`buly5jFCW8^&@{TN zX-YJPPPjw@?fSLJA%lA9ZiBrXo}Hmts%5$>6V!?PA5Q7=G=KO;ITE^Gc@)X;{tDLO2Dxfh-W-HV$ur&pLr zlF5$KckVCqY)JR`$kbT9@Yp9Ws~$Y*v1Nsobx!_Gxd4(uF$(8BEOp*j{n}&?3qR40 znI$Bw6c+R#^pX1USu1jIF|c>L%aHYf&q;3veyX~SbojNcKCpa#m366%$ejobBZ@-u z-B*An$e1HBwV}asy`{XNq2VXoQk8D+q$H8UT*ujlFrJbiX|?4X`r03N$QqapuEg@y zp}H&m=XD<<5f#od94rKKFSq?)#4c~p4GRlj87HE*KP98Gop>$Fb|+(SST2e7KTfx~ zkE$38^I#s$&zL$PNz-EXTgJJ(Rh;nr(WN0+eD!r3Lr^W(n(VXtEUu_hLeK3-$y!wx z944PJ?BK@Oh zG#3|lGN7V4l(^!$U{zdTEQ}#nkE$Gw*E3T{l3P~f{hju--t%*>o`9R)OEh>N?%^@0@N0{m7?LwdT~bZ2O74Vh z2}n&!g?TE3BQrcCP+-NmA>zPAH8r+OlxRWkK=3(A9)l3*kFjln%wj6cN+A<=>D0!e zILp#v_h@KA6;Yl!N0&85?!k?O3P*9_dB+qbaE-DM(@RS`B8ekT33;84cD=@1SLcfV zJ$bOkh$NS1F~Q@b1No<`jHEUU5b(NdF~e36CbmD)`oSgcm{|7jk96bpGei`1Gjh*?X2TsqnV9-hgua^ua7q z$FN&w$H)6iel*D2;bh^h$!1qVTV7sXj|!Au)#U9Fh$edTgq5)txolED_4C)LSEqIc zIakJIhbUY4(=fUqY#yCO#n>D_7!>zMj9+(BW6*5`BOy`)BtE4q5U!CJ%W!sY`}fF> zk(y%3{Pm?hz_=uIc*;RprLsU)?kk82$D=bfgMeG#hG*)(`>cXh%W^I1C_)MGCkS^R z($oUo+U25(3e_JKn$3imP@oVo-%YQNH*T)9On)`G7qShOp9;b&4lh z0GS2v60X#@CUX`{q<|$gC3s6C!w#|t|1A?9b5(G|!sULHnOi_BGso!+Hd(NHyD3wB zT7#a#Xn#?@u|m-XKQ2M3)6~+MFTkpPD{izOLL}H}uj~l;j;;T*g@-7LIMQ?Kk(HD{ z38VjWQrIU3RmKNr{)p&AGK1k*s<0VEgr}8cHdEU3T=$h3EK?20c_JE#}y@ zClp<$sp4KvRK@sP#aPEDvDm9(JqReg)@r`zk+BY8rzW`?6e!wMV)62PcN!DWkE&!@ zya+gs{2SA3W>K@o)urX7KKQUsKeQ);>01cp>MC!)2mG)6e-w6ydxd0@KELsYFi=5c zdE75U0jTItuf{r9Jaw&+KRJHEb*@;0d#i|J)vLxEbqR}|k6h9!l?amyL)JXu!v=f) zCUM;-GIspGeJ57~=@!TTOfPejd!ja4-7~A)6LF%Li4coKG56xhw3U6-IVZdP^=Y!T z{Vzu3Ek{E|1x8V?duQL7o?Cacy71FfJNmcMARCH67E3kQabo7|$`6Vdgnt+1Yj710 zVZPc>Zo6Fb`vd^iZdZH6@9f3F@DP2QM4WBZ<5r8|S|BTnQHq~*8dbgA56v11ra%4- zZ<^|fFRH1M;`pxpcze^ohsv1KJTGJCzy#bplZ9uhndw#eYS);Z{6R<9A!gK|QcUd| z{@t(>aEv;(3YcY!Ynwxh&jW5~&E?7^-MM=iW>IBlS=DcGF>rCWSEHTCN``?KTIT6s zG+$QWM$|Wk#j>$=@HO|bXIC}V_c zg9@C}*$YU*lY?L7XxjK#@FVJAzY@AUjk~|}|A!=jZghB1ep>rr94UAz{OUvM80RzH z3wM(wl+oMk)gc_UBiD*s$URk^PJ8V6TCdSilUE&b9jgau-=vC_jjc!t{p4|Kd4X$| z>(Oth(b;H#D`0nwl&kG|)qs6-%96|#eeM2UdF7-sU|N5* z%{|I&S~_<%E71pD$G9;w|Z9FnmXwTU(q5bNHv#pb@|rIW?4US$ZB*8C&$n4!tI%zraF@MvS8nHsaQL zawjAX1jeg!;i0s>Kc6T#^evkR+yM~&M`2CPbxv$7rkRWkvX7L1?u_UJ-wx^L7tc@h zN08g#(2^}ilCB=uut)p*X~ODF!D4g$Um`U&Kr4hnAti)bcs$Y6viX+(+BTgIUHf_> zZ9`NWX3~`F?~$^Yh|quHjYh)Hnvy(VD#D0@k;aCG*bB$n$Na(O{Tv!vLbVa?iBvfj zJTVow4uDElG5?Gk_M>bkV{vnkr$|=&8+CFeWC^KoX^;@%gCtUD=u%BSk|MTsvnC+7 zzq&o`Cw;7ASkc5pN#u3oYP(;V6wVeK#e!f`2~v69oZwjuDls^?8w@_%aj=ZC;ZasN z->Q2nU+-m-;)Ic9vweiC^SkbT+S})mKA@Ms2;TtfdrYIjsmn7>t`MoOch)kL!Yg8% zn3#|W4R-4{{u&*>nGnJD505B25C5H}LUNWQ^aukq*}jolG&7Qdj7_^aZFvsI(|s!I z@fGKG34pTad{)1xb>rF|L1bez?*g#eb6FqM`(^!DJZc$s(@E z0$#~-_%uEHBaK4CMLPEK`4xyA+y$Apjj^S%-TIgzsA~hfI4EdbGx%Jm0F zu-S;gTD?~V67d~Zuio*w#2U!>3Tq}lnJ<4kAhhFgsYstg+^+ay;3Q(jt$NDEkZZoR zX~ncv%q>J|7|pt5&cVT@8!c84P7=0kKuLJ+qWliF|GJZVzNUFhK)`$N+X-SHa@{g& z*++jQNE;?np0I1wg#8x&oia3+7KNBU`QHq~Xd%!j-7tS_t#c)I{hN~p=_e$`;bK9U9h6zR*JKy$!k=z8*b9*?SD<{VX~k!t!0T|!_?r!PA^xC&$rXVVR^mXAowVP zey>FfgB#{F>n7WobP!@?CPR>RVtJox@~Ft}z^ydIGn7ZaN$s-p!Fp8FQ%fsL6gY5J zS2AL7TKQA$vVU~aXbEhVE(4vx${$2Aigg;`P-60+V?Y1~N}dMIF0O|JqV(_qx<@83 z<;Yn~x=*{^F9&Pzrl;Ji`{au98mq6ksAvm7{a%m%9aDLwUs`_s8^{s((O6%3WAY68ZIivd{N-pY1#OI+1j z-d^a!Vz8kfWGJ%p={Pzf4AfG2qGi>6#(77Bq6)U=XYNu4Zku6LCo=3$lqf$q``txA z2thz(Y&S`DsOzv|VsX>xrnYNi31H?7Ev1DTkVU1XtJi?S7t&Bx76U+SOz{%OIlITX z5KZe5Rv0tWRRv5M#{X1iZ{1AAVs1&~_Ma41{Ag1zeO4n&l;l$J_P4rVxQxTpg~s;RCHTU_zG3aWw< z^27TTM_?q8w2}pM?A$pKOz_~Rf5&c7$-%>qHI%=e55JmaU4PVz4HnZ5KSmBjmT62iFVqa$-@k4OV>+W$F!gHJ0E>cO!cQrLB zeSM05bZ}ed@u?yNc}(!f2t#EXW3vfVRqecFT#u-czj(h6K!xmh3N*c&pUb${StV`sSm?7&&kFRb_|KeHYrFpSy-JKR%K4?@xvn z8)UDJJ$^&kb!{P-738(nZ%&xXD*cAlIt^;g+tXe*53R)A9Cc8Bik24(e@MTPZ;!~O zKL@clpUvDXH#n4LW-#IC0}WWlpLNE&K%nVjnv{?)QV9dGbpnjgm~XVXBxx`v_C@Su z5A3G%I0y*>Ba#heo8C;D>zSooydNWMxxE96Bwiw8278yoFFI^P>qy<_4ajwU!C5Vn z8?QTN`tw0qnAPgl)D^0Cjj#xn?mE zjT_F~wok&0s$m;hM-%Mo0|0~Z>E(P}GHOGd2QQlm1SQwIZ>!4z<~=UTD*%qqd!FYU zbf~R|7Xe@=X4Xy$zR*TVY8%1zV%TPIMJ97Z9tvv6n%OZp7Evw?YBp2^gZuGMcwsRihi7z4+Rx0sVYVhXLEkP)U9 z4lZsAl)R2ql|TI;H+ww$a8FFD=tMTrq2n^@F&xq9@UN_ZoHjqWF(NViE=>kx+!WF+ z+|_Mu>Ho$zBma@?2^%vrW{?nSjh5@zp`oFE=zOPDWPDENVu`;~+dKo&>GZR7KegR< zABri%rg7rmm&KqEvw|aZYOni!Cr!e|cn-4PSW{$y{A;!p@?R05NHz%Zqn6uBIzDrM z7-!S#21ycovM6lWe=?>o&#b^=JEtci8f6F-_0;+d96`q~#QPN*B*OFz{Rj4calF8$ z01@lvZd^|Me)HH)=yC~ZzSQ(?)PV4P*}J~bQWR{dWkxcJBO z;$&Ac$+8Cgd#Y$~9 zxBF9<=H_O~NlY<48&lxEUc`;A4#N&WWg8+aDYvZa>P5vvxxsF?)~cSJsjM`agR5aU z`VDF=0@|Ieoc=<1z6}sCUmtyku}@p!om`jYZ`x-?DE zouhmBeofst6v#BzZ2bA7ZJ*w8VG#@EXxorFE~KYNbOOMw%@Ub38nP)++kFI=A&$PQ zt2eV@BQ*oW+aEgVJQmC_tSE^Thdz#<IzzLX&AcxwL6Hk#^;r|HSo{pEq2V-0f{Eplc=wxTTz5(g5kX*rd2-U~vlrVHxSv{d7}dNL#^Us4u> zA<%itNre#!pmd(v$v-3CYCu3FGOAy1LPEpIrVDyJ4*^-KKo=SKYsf&dfIis5Cc#SZ z1>CRKW6tK-G$GbW*Lz@{ohrxpwkNZpc}M<5kMy=N&r)SS#UZEggU^t1 z7CmibxiGWql%inz!0hBd=-VF%oWe>f*VneJX-tg2np1a~(xVAr z{2Q2=mXyu-Qr}ixjUkPVD4s_!_07tO8f9L%K{mt0S zOolRf;|}I~@fYO;!dBGQUXj|tQ3rJX3E0IAk++7kB?**%gJ`~@SC|{B5H4+k%iry0kb3n0GTHjDv{SA$VrcUD!7hx02Ez=D-20O)_-W4 z>zbe|(#^HVZ};2%#&p|t0oS#k;`pL1K7aB(kA93uVKVWhsHhsjG&2~>J@&5uT3)b{6U%ugxLk>A05{b0*iO?=!cM1T2 z;l20XTQqa#%!9UU*^)5iL<9kbR+Lk@rJ6HuypI)2zQ;IdAa<)YF&Z*80ko&+_0;eD zf7P9Pa8%VD$3OS(`~3*n&1;hg2~k8OC;?wot5&2cQYVZLDkD=JtF{hxs53f_NS$d* z9i(!2Z=A}K>#yOKYkx>hWiAP{EHM;I1A9yR~TzxaYiLo%5p+jf|SSr@SO$ra2vZwiOo z50lLiMi2z*>gss^{rC6GojdpPbUGb5;fj6@PBsAmXlZF#zhudh1%AJuL?VGkqe04M zsjn(0ot1g;spt69^Dlu;i@UN6Mb46U9F8CZsA5Zs!ccDrB7-<5*6@=nF5!kb7x9A& zrr~rt3jdmj$C1WW6+1po)c6`v#AY>vs7BNe4GyyPqsyPybc!E0?-^{9q@5gC1bFky9!eq~AG*Vq%&C4&p{BCn|^L0R)yqwxe zz$qaBz$1@5vTDVO6-&e6FzO1T4k?>ug40fk$HT^Vw{qVf*3h}{AcmSMH7P{V*r<#m zLw=W1WH1W7A<*lYbWS}#nl*zfo2E1CytAn)FCS3{c{oEdok5o6aYe4jGrW-7C}K3| z3vYNHfnbo<&kpeJM<4U{ww)aM{0m4V!7~A?!#;9&J6ck~_M%2ZGL=GV@1%6{M4ozR zDL3CZkHP*vy88#vYSf?(x7&@!xVnR zX~W@}Flv%G_S>XBfq*1uiN_KU8HDsOSk0JAoYa(gsq@MhRXRTV0!o}X zO59^~r$>#ijByS?lCz}J8RSG#?V6>mn)_d;RSl@sf>xt02B|AEAW5od<8THtIpqzF zMiqdxm@w+~IfIWZSuK9F14u#08D0?t;{9Rh3E`bGnP2_1nY(XYfZbu^a7P!CBqNII zdW6g6!t3?&`s=T6U9x1!;@;lg!za-UW8!oWpfF*%_uhM#J^uLPE1ga!ZEbBRih?ML zWMvtf*+_Y11;Ic!Ew8@CGq1cw*S>>bw_)>?jF?c3XLyRQDkG0oubhG`E69qBtjL9l zry!_eSa}z#ShNFr#k6%2&>2n`G(h^qR6BuSXfW_&&$!C)}6a^=e9t5>i7?Kf%2lZDgX z15iYQ($Z4j^5x4PTeN7=9d^5&uC6YU$>azkSj{HN%RI=#5~tcAA9+sY!uT&=Mv}^Po5f%-P*YPwGMQxU+O_K*ee}^s0)fDnqub_m;kzI}aoGyM zv}w~WT)K4WubZ2jn=KX#e!ri1JWjEgl}01taXYa%>A{CUJIcHIr&8(HadTqA|jeAySzPAgFHa9Dy7T2VSq2Xf(>kjT>KEvu4d7 zw{G3~-sorlu5d;XAdhL&rd@FR?YIBz#v570$&4Tat#9}c*q0muv@=>cm0-)1rF&mAT zjRp*Q9b$e?F|4MSlVv#<2wIrUp%GQruSTOm)a8brY?gFpm_#Z~B9$UDJbcX5Aio-@ z)9G-#-PrAR5{U$@t*v`DY}oM9i!Z*oHV_D$^6&X?i!+%3BgVy9vu4eiH*enj%P+tD zn(5Q0pPNr%6AFb$Boc)Xvg0igi^bOqKWZ@wN7o-zqmF%#yutHn*W7M5dcB@lEXLlw zdk=2evgNHe-+c4cGpU_qsw%4~mx4VS zjS`E+$Ye6dWa2!L?Bb&{g9w6vMx#Nm*JH6*u-R;gqDU&0A`l29cJJQ3qqVj5!w)|A z;JxkJw{JsTtsAfIXB@r{1SrNa4eIrJYo<<}dVXVLV^c#z!<72^`g5zRt0%f#F0IvS zEqqC2b6tNrohF@57kUh!;E^;MjTj6Dbr>l6bc@Ae3=9m&e!u_l!Gi}sKXmBOzFoU^ z?fCT5Pxl--a-{w1>UbvO`$m8hf!^oy)mBtgRQY_q+S=OMiEg*s>vTHZcDvnSu~@7Y zi^ZtZ=?sdZDy9g6AWM>ziO1uqcsw2-8XAg3B9U-79PaJv>T2)o?Cj|7?)GIvvd>4<+a-00000NkvXXu0mjf5V^Y$ literal 11624 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 MC#@`1D`67+KZjLfVgLXD From 834c75acc9894ac3632efbf6dd12030accc354cc Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 10:14:33 -0800 Subject: [PATCH 63/87] improve selective paste button lists --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 4 +- .../LRPlugin/MIDI2LR.lrplugin/ParamList.lua | 682 ------------------ Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua | 24 +- 3 files changed, 10 insertions(+), 700 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 910ef7058..56bd62874 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -60,10 +60,10 @@ DataBase structure 11. panel for changing profile errors if: -2=true, 3=false +2=not false, 3=false 4=false, 5=true 4=false, 11 not nil -8 nil and ((2 false and 3 true) or (4 true)) +8 nil and ((2 not false and 3 true) or (4 true)) 9 nil or "" and 4 true unicode to UTF8 decimal mapping at http://www.utf8-chartable.de/unicode-utf8-table.pl diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua index 9cc22153c..0b81eb8cd 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua @@ -1098,688 +1098,6 @@ MIDI2LR. If not, see . WhiteBalanceShade = "adjustPanel", WhiteBalanceTungsten = "adjustPanel", Whites = "adjustPanel" -} - local testcommand = { - "ProcessVersion", - "WhiteBalance", - "WhiteBalanceAs_Shot", - "WhiteBalanceAuto", - "WhiteBalanceCloudy", - "WhiteBalanceDaylight", - "WhiteBalanceFlash", - "WhiteBalanceFluorescent", - "WhiteBalanceShade", - "WhiteBalanceTungsten", - "AutoBrightness", - "AutoContrast", - "AutoExposure", - "AutoShadows", - "Temperature", - "Tint", - "Exposure", - "Exposure2012", - "Contrast", - "Contrast2012", - "Highlights", - "Brightness", - "HighlightRecovery", - "Shadows", - "Shadows2012", - "FillLight", - "Whites", - "Whites2012", - "Blacks", - "Blacks2012", - "Clarity", - "Clarity2012", - "Vibrance", - "Saturation", - "ResetTemperature", - "ResetTint", - "ResetExposure", - "ResetContrast", - "ResetHighlights", - "ResetShadows", - "ResetWhites", - "ResetBlacks", - "ResetClarity", - "ResetVibrance", - "ResetSaturation", - "ToneCurve", - "ToneCurveName", - "ToneCurveName2012", - "ToneCurvePV2012", - "ToneCurvePV2012Blue", - "ToneCurvePV2012Green", - "ToneCurvePV2012Red", - "ParametricDarks", - "ParametricLights", - "ParametricShadows", - "ParametricHighlights", - "ParametricShadowSplit", - "ParametricMidtoneSplit", - "ParametricHighlightSplit", - "ResetParametricDarks", - "ResetParametricLights", - "ResetParametricShadows", - "ResetParametricHighlights", - "ResetParametricShadowSplit", - "ResetParametricMidtoneSplit", - "ResetParametricHighlightSplit", - "EnableColorAdjustments", - "SaturationAdjustmentRed", - "SaturationAdjustmentOrange", - "SaturationAdjustmentYellow", - "SaturationAdjustmentGreen", - "SaturationAdjustmentAqua", - "SaturationAdjustmentBlue", - "SaturationAdjustmentPurple", - "SaturationAdjustmentMagenta", - "HueAdjustmentRed", - "HueAdjustmentOrange", - "HueAdjustmentYellow", - "HueAdjustmentGreen", - "HueAdjustmentAqua", - "HueAdjustmentBlue", - "HueAdjustmentPurple", - "HueAdjustmentMagenta", - "LuminanceAdjustmentRed", - "LuminanceAdjustmentOrange", - "LuminanceAdjustmentYellow", - "LuminanceAdjustmentGreen", - "LuminanceAdjustmentAqua", - "LuminanceAdjustmentBlue", - "LuminanceAdjustmentPurple", - "LuminanceAdjustmentMagenta", - "ConvertToGrayscale", - "EnableGrayscaleMix", - "GrayMixerRed", - "GrayMixerOrange", - "GrayMixerYellow", - "GrayMixerGreen", - "GrayMixerAqua", - "GrayMixerBlue", - "GrayMixerPurple", - "GrayMixerMagenta", - "ResetSaturationAdjustmentRed", - "ResetSaturationAdjustmentOrange", - "ResetSaturationAdjustmentYellow", - "ResetSaturationAdjustmentGreen", - "ResetSaturationAdjustmentAqua", - "ResetSaturationAdjustmentBlue", - "ResetSaturationAdjustmentPurple", - "ResetSaturationAdjustmentMagenta", - "ResetHueAdjustmentRed", - "ResetHueAdjustmentOrange", - "ResetHueAdjustmentYellow", - "ResetHueAdjustmentGreen", - "ResetHueAdjustmentAqua", - "ResetHueAdjustmentBlue", - "ResetHueAdjustmentPurple", - "ResetHueAdjustmentMagenta", - "ResetLuminanceAdjustmentRed", - "ResetLuminanceAdjustmentOrange", - "ResetLuminanceAdjustmentYellow", - "ResetLuminanceAdjustmentGreen", - "ResetLuminanceAdjustmentAqua", - "ResetLuminanceAdjustmentBlue", - "ResetLuminanceAdjustmentPurple", - "ResetLuminanceAdjustmentMagenta", - "ResetGrayMixerRed", - "ResetGrayMixerOrange", - "ResetGrayMixerYellow", - "ResetGrayMixerGreen", - "ResetGrayMixerAqua", - "ResetGrayMixerBlue", - "ResetGrayMixerPurple", - "ResetGrayMixerMagenta", - "EnableSplitToning", - "SplitToningShadowHue", - "SplitToningShadowSaturation", - "SplitToningHighlightHue", - "SplitToningHighlightSaturation", - "SplitToningBalance", - "ResetSplitToningShadowHue", - "ResetSplitToningShadowSaturation", - "ResetSplitToningHighlightHue", - "ResetSplitToningHighlightSaturation", - "ResetSplitToningBalance", - "EnableDetail", - "Sharpness", - "SharpenRadius", - "SharpenDetail", - "SharpenEdgeMasking", - "LuminanceSmoothing", - "LuminanceNoiseReductionDetail", - "LuminanceNoiseReductionContrast", - "ColorNoiseReduction", - "ColorNoiseReductionDetail", - "ColorNoiseReductionSmoothness", - "ResetSharpness", - "ResetSharpenRadius", - "ResetSharpenDetail", - "ResetSharpenEdgeMasking", - "ResetLuminanceSmoothing", - "ResetLuminanceNoiseReductionDetail", - "ResetLuminanceNoiseReductionContrast", - "ResetColorNoiseReduction", - "ResetColorNoiseReductionDetail", - "ResetColorNoiseReductionSmoothness", - "EnableLensCorrections", - "LensProfileEnable", - "LensProfileSetup", - "AutoLateralCA", - "ChromaticAberrationB", - "ChromaticAberrationR", - "PerspectiveUpright", - "UprightOff", - "UprightAuto", - "UprightLevel", - "UprightVertical", - "UprightFull", - "ResetPerspectiveUpright", - "LensProfileDistortionScale", - "LensProfileChromaticAberrationScale", - "LensProfileVignettingScale", - "ResetLensProfileDistortionScale", - "ResetLensProfileChromaticAberrationScale", - "ResetLensProfileVignettingScale", - "DefringePurpleAmount", - "DefringePurpleHueLo", - "DefringePurpleHueHi", - "DefringeGreenAmount", - "DefringeGreenHueLo", - "DefringeGreenHueHi", - "ResetDefringePurpleAmount", - "ResetDefringePurpleHueLo", - "ResetDefringePurpleHueHi", - "ResetDefringeGreenAmount", - "ResetDefringeGreenHueLo", - "ResetDefringeGreenHueHi", - "LensManualDistortionAmount", - "PerspectiveVertical", - "PerspectiveHorizontal", - "PerspectiveRotate", - "PerspectiveScale", - "PerspectiveAspect", - "VignetteAmount", - "VignetteMidpoint", - "ResetLensManualDistortionAmount", - "ResetPerspectiveVertical", - "ResetPerspectiveHorizontal", - "ResetPerspectiveRotate", - "ResetPerspectiveScale", - "ResetPerspectiveAspect", - "ResetVignetteAmount", - "ResetVignetteMidpoint", - "EnableEffects", - "Dehaze", - "PostCropVignetteAmount", - "PostCropVignetteMidpoint", - "PostCropVignetteFeather", - "PostCropVignetteRoundness", - "PostCropVignetteStyle", - "PostCropVignetteHighlightContrast", - "GrainAmount", - "GrainSize", - "GrainFrequency", - "ResetDehaze", - "ResetPostCropVignetteAmount", - "ResetPostCropVignetteMidpoint", - "ResetPostCropVignetteFeather", - "ResetPostCropVignetteRoundness", - "ResetPostCropVignetteStyle", - "ResetPostCropVignetteHighlightContrast", - "ResetGrainAmount", - "ResetGrainSize", - "ResetGrainFrequency", - "EnableCalibration", - "CameraProfile", - "Profile_Adobe_Standard", - "Profile_Camera_Clear", - "Profile_Camera_Deep", - "Profile_Camera_Landscape", - "Profile_Camera_Light", - "Profile_Camera_Neutral", - "Profile_Camera_Portrait", - "Profile_Camera_Standard", - "Profile_Camera_Vivid", - "ShadowTint", - "RedHue", - "RedSaturation", - "GreenHue", - "GreenSaturation", - "BlueHue", - "BlueSaturation", - "ResetShadowTint", - "ResetRedHue", - "ResetRedSaturation", - "ResetGreenHue", - "ResetGreenSaturation", - "ResetBlueHue", - "ResetBlueSaturation", - "Pick", - "Reject", - "Next", - "Prev", - "Select1Left", - "Select1Right", - "VirtualCopy", - "RemoveFlag", - "IncreaseRating", - "DecreaseRating", - "SetRating0", - "SetRating1", - "SetRating2", - "SetRating3", - "SetRating4", - "SetRating5", - "ToggleBlue", - "ToggleGreen", - "ToggleRed", - "TogglePurple", - "ToggleYellow", - "ResetAll", - "ResetLast", - "IncrementLastDevelopParameter", - "DecrementLastDevelopParameter", - "Undo", - "Redo", - "CopySettings", - "PasteSettings", - "PasteSelectedSettings", - "Preset_1", - "Preset_2", - "Preset_3", - "Preset_4", - "Preset_5", - "Preset_6", - "Preset_7", - "Preset_8", - "Preset_9", - "Preset_10", - "Preset_11", - "Preset_12", - "Preset_13", - "Preset_14", - "Preset_15", - "Preset_16", - "Preset_17", - "Preset_18", - "Preset_19", - "Preset_20", - "local_Temperature", - "local_Tint", - "local_Exposure", - "local_Contrast", - "local_Highlights", - "local_Shadows", - "local_Clarity", - "local_Saturation", - "local_Sharpness", - "local_LuminanceNoise", - "local_Moire", - "local_Defringe", - "local_ToningLuminance", - "Resetlocal_Temperature", - "Resetlocal_Tint", - "Resetlocal_Exposure", - "Resetlocal_Contrast", - "Resetlocal_Highlights", - "Resetlocal_Shadows", - "Resetlocal_Clarity", - "Resetlocal_Saturation", - "Resetlocal_Sharpness", - "Resetlocal_LuminanceNoise", - "Resetlocal_Moire", - "Resetlocal_Defringe", - "Resetlocal_ToningLuminance", - "EnableCircularGradientBasedCorrections", - "EnableGradientBasedCorrections", - "EnablePaintBasedCorrections", - "EnableRedEye", - "EnableRetouch", - "RetouchInfo", - "ResetCircGrad", - "ResetGradient", - "ResetBrushing", - "ResetRedeye", - "ResetSpotRem", - "ZoomInLargeStep", - "ZoomInSmallStep", - "ZoomOutSmallStep", - "ZoomOutLargeStep", - "ToggleZoomOffOn", - "orientation", - "CropConstrainToWarp", - "CropAngle", - "CropBottom", - "CropLeft", - "CropRight", - "CropTop", - "ResetCrop", - "Loupe", - "CropOverlay", - "SpotRemoval", - "RedEyeInfo", - "RedEye", - "GraduatedFilter", - "RadialFilter", - "AdjustmentBrush", - "SwToMlibrary", - "SwToMdevelop", - "SwToMmap", - "SwToMbook", - "SwToMslideshow", - "SwToMprint", - "SwToMweb", - "RevealPanelAdjust", - "RevealPanelTone", - "RevealPanelMixer", - "RevealPanelSplit", - "RevealPanelDetail", - "RevealPanelLens", - "RevealPanelEffects", - "RevealPanelCalibrate", - "ShoVwloupe", - "ShoVwgrid", - "ShoVwcompare", - "ShoVwsurvey", - "ShoVwpeople", - "ShoVwdevelop_loupe", - "ShoVwdevelop_before_after_horiz", - "ShoVwdevelop_before_after_vert", - "ShoVwdevelop_before", - "ShoScndVwloupe", - "ShoScndVwlive_loupe", - "ShoScndVwlocked_loupe", - "ShoScndVwgrid", - "ShoScndVwcompare", - "ShoScndVwsurvey", - "ShoScndVwslideshow", - "ToggleScreenTwo", - "profile1", - "profile2", - "profile3", - "profile4", - "profile5", - "profile6", - "profile7", - "profile8", - "profile9", - "profile10", - "TrimEnd", - "TrimStart" -} - local testselectpaste = { - "ProcessVersion", - "WhiteBalance", - "AutoBrightness", - "AutoContrast", - "AutoExposure", - "AutoShadows", - "Temperature", - "Tint", - "Exposure", - "Exposure2012", - "Contrast", - "Contrast2012", - "Highlights", - "Brightness", - "HighlightRecovery", - "Shadows2012", - "FillLight", - "Whites2012", - "Blacks2012", - "Clarity", - "Clarity2012", - "Vibrance", - "Saturation", - "ToneCurve", - "ToneCurveName", - "ToneCurveName2012", - "ToneCurvePV2012", - "ToneCurvePV2012Blue", - "ToneCurvePV2012Green", - "ToneCurvePV2012Red", - "ParametricDarks", - "ParametricLights", - "ParametricShadows", - "ParametricHighlights", - "ParametricShadowSplit", - "ParametricMidtoneSplit", - "ParametricHighlightSplit", - "EnableColorAdjustments", - "SaturationAdjustmentRed", - "SaturationAdjustmentOrange", - "SaturationAdjustmentYellow", - "SaturationAdjustmentGreen", - "SaturationAdjustmentAqua", - "SaturationAdjustmentBlue", - "SaturationAdjustmentPurple", - "SaturationAdjustmentMagenta", - "HueAdjustmentRed", - "HueAdjustmentOrange", - "HueAdjustmentYellow", - "HueAdjustmentGreen", - "HueAdjustmentAqua", - "HueAdjustmentBlue", - "HueAdjustmentPurple", - "HueAdjustmentMagenta", - "LuminanceAdjustmentRed", - "LuminanceAdjustmentOrange", - "LuminanceAdjustmentYellow", - "LuminanceAdjustmentGreen", - "LuminanceAdjustmentAqua", - "LuminanceAdjustmentBlue", - "LuminanceAdjustmentPurple", - "LuminanceAdjustmentMagenta", - "ConvertToGrayscale", - "EnableGrayscaleMix", - "GrayMixerRed", - "GrayMixerOrange", - "GrayMixerYellow", - "GrayMixerGreen", - "GrayMixerAqua", - "GrayMixerBlue", - "GrayMixerPurple", - "GrayMixerMagenta", - "EnableSplitToning", - "SplitToningShadowHue", - "SplitToningShadowSaturation", - "SplitToningHighlightHue", - "SplitToningHighlightSaturation", - "SplitToningBalance", - "EnableDetail", - "Sharpness", - "SharpenRadius", - "SharpenDetail", - "SharpenEdgeMasking", - "LuminanceSmoothing", - "LuminanceNoiseReductionDetail", - "LuminanceNoiseReductionContrast", - "ColorNoiseReduction", - "ColorNoiseReductionDetail", - "ColorNoiseReductionSmoothness", - "EnableLensCorrections", - "LensProfileEnable", - "LensProfileSetup", - "AutoLateralCA", - "ChromaticAberrationB", - "ChromaticAberrationR", - "PerspectiveUpright", - "LensProfileDistortionScale", - "LensProfileChromaticAberrationScale", - "LensProfileVignettingScale", - "DefringePurpleAmount", - "DefringePurpleHueLo", - "DefringePurpleHueHi", - "DefringeGreenAmount", - "DefringeGreenHueLo", - "DefringeGreenHueHi", - "LensManualDistortionAmount", - "PerspectiveVertical", - "PerspectiveHorizontal", - "PerspectiveRotate", - "PerspectiveScale", - "PerspectiveAspect", - "VignetteAmount", - "VignetteMidpoint", - "EnableEffects", - "Dehaze", - "PostCropVignetteAmount", - "PostCropVignetteMidpoint", - "PostCropVignetteFeather", - "PostCropVignetteRoundness", - "PostCropVignetteStyle", - "PostCropVignetteHighlightContrast", - "GrainAmount", - "GrainSize", - "GrainFrequency", - "EnableCalibration", - "CameraProfile", - "ShadowTint", - "RedHue", - "RedSaturation", - "GreenHue", - "GreenSaturation", - "BlueHue", - "BlueSaturation", - "EnableCircularGradientBasedCorrections", - "EnableGradientBasedCorrections", - "EnablePaintBasedCorrections", - "EnableRedEye", - "EnableRetouch", - "RetouchInfo", - "orientation", - "CropConstrainToWarp", - "CropAngle", - "CropBottom", - "CropLeft", - "CropRight", - "CropTop", - "RedEyeInfo", - "TrimEnd", - "TrimStart" -} - local testsendMIDI = { - "Temperature", - "Tint", - "Exposure", - "Contrast", - "Highlights", - "Shadows", - "Whites", - "Blacks", - "Clarity", - "Vibrance", - "Saturation", - "ParametricDarks", - "ParametricLights", - "ParametricShadows", - "ParametricHighlights", - "ParametricShadowSplit", - "ParametricMidtoneSplit", - "ParametricHighlightSplit", - "SaturationAdjustmentRed", - "SaturationAdjustmentOrange", - "SaturationAdjustmentYellow", - "SaturationAdjustmentGreen", - "SaturationAdjustmentAqua", - "SaturationAdjustmentBlue", - "SaturationAdjustmentPurple", - "SaturationAdjustmentMagenta", - "HueAdjustmentRed", - "HueAdjustmentOrange", - "HueAdjustmentYellow", - "HueAdjustmentGreen", - "HueAdjustmentAqua", - "HueAdjustmentBlue", - "HueAdjustmentPurple", - "HueAdjustmentMagenta", - "LuminanceAdjustmentRed", - "LuminanceAdjustmentOrange", - "LuminanceAdjustmentYellow", - "LuminanceAdjustmentGreen", - "LuminanceAdjustmentAqua", - "LuminanceAdjustmentBlue", - "LuminanceAdjustmentPurple", - "LuminanceAdjustmentMagenta", - "GrayMixerRed", - "GrayMixerOrange", - "GrayMixerYellow", - "GrayMixerGreen", - "GrayMixerAqua", - "GrayMixerBlue", - "GrayMixerPurple", - "GrayMixerMagenta", - "SplitToningShadowHue", - "SplitToningShadowSaturation", - "SplitToningHighlightHue", - "SplitToningHighlightSaturation", - "SplitToningBalance", - "Sharpness", - "SharpenRadius", - "SharpenDetail", - "SharpenEdgeMasking", - "LuminanceSmoothing", - "LuminanceNoiseReductionDetail", - "LuminanceNoiseReductionContrast", - "ColorNoiseReduction", - "ColorNoiseReductionDetail", - "ColorNoiseReductionSmoothness", - "LensProfileDistortionScale", - "LensProfileChromaticAberrationScale", - "LensProfileVignettingScale", - "DefringePurpleAmount", - "DefringePurpleHueLo", - "DefringePurpleHueHi", - "DefringeGreenAmount", - "DefringeGreenHueLo", - "DefringeGreenHueHi", - "LensManualDistortionAmount", - "PerspectiveVertical", - "PerspectiveHorizontal", - "PerspectiveRotate", - "PerspectiveScale", - "PerspectiveAspect", - "VignetteAmount", - "VignetteMidpoint", - "Dehaze", - "PostCropVignetteAmount", - "PostCropVignetteMidpoint", - "PostCropVignetteFeather", - "PostCropVignetteRoundness", - "PostCropVignetteStyle", - "PostCropVignetteHighlightContrast", - "GrainAmount", - "GrainSize", - "GrainFrequency", - "ShadowTint", - "RedHue", - "RedSaturation", - "GreenHue", - "GreenSaturation", - "BlueHue", - "BlueSaturation", - "local_Temperature", - "local_Tint", - "local_Exposure", - "local_Contrast", - "local_Highlights", - "local_Shadows", - "local_Clarity", - "local_Saturation", - "local_Sharpness", - "local_LuminanceNoise", - "local_Moire", - "local_Defringe", - "local_ToningLuminance", - "CropAngle", - "CropBottom", - "CropLeft", - "CropRight", - "CropTop" } return { SelectivePasteMenu = SelectivePasteMenu, diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua index 86798fa79..b76542bd8 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua @@ -20,17 +20,6 @@ MIDI2LR. If not, see . local ParamList = require 'ParamList' local LrView = import 'LrView' -local Duplicates = { -- will set each to its duplicate in EndDialog - Exposure2012 = 'Exposure', - Highlights2012 = 'Highlights', - Shadows2012 = 'Shadows', - Contrast2012 = 'Contrast', - Whites2012 = 'Whites', - Blacks2012 = 'Blacks', - Clarity2012 = 'Clarity', - ToneCurveName2012 = 'ToneCurveName', - ToneCurvePV2012 = 'ToneCurve', -} local function StartDialog(obstable,f) @@ -86,7 +75,8 @@ local function StartDialog(obstable,f) } ,-- push_button f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), - action = set_reset {'Exposure','Highlights','Shadows','Contrast','Whites','Blacks'}, + action = set_reset {'WhiteBalance','AutoBrightness','AutoContrast','AutoExposure','AutoShadows','Temperature','Tint' + 'Exposure','Contrast','Highlights','Brightness','HighlightRecovery','Shadows2012','FillLight','Whites2012','Blacks2012'}, }, -- push button f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Color=Color"), @@ -95,7 +85,9 @@ local function StartDialog(obstable,f) 'SaturationAdjustmentMagenta','HueAdjustmentRed','HueAdjustmentOrange','HueAdjustmentYellow','HueAdjustmentGreen', 'HueAdjustmentAqua','HueAdjustmentBlue','HueAdjustmentPurple','HueAdjustmentMagenta','LuminanceAdjustmentRed', 'LuminanceAdjustmentOrange','LuminanceAdjustmentYellow','LuminanceAdjustmentGreen','LuminanceAdjustmentAqua','LuminanceAdjustmentBlue', - 'LuminanceAdjustmentPurple','LuminanceAdjustmentMagenta'}, + 'LuminanceAdjustmentPurple','LuminanceAdjustmentMagenta','ConvertToGrayscale','EnableGrayscaleMix','GrayMixerRed', + 'GrayMixerOrange','GrayMixerYellow','GrayMixerGreen','GrayMixerAqua','GrayMixerBlue','GrayMixerPurple','GrayMixerMagenta', + 'EnableColorAdjustments'}, }, --push button f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/NoiseReduction=Noise Reduction"), @@ -107,12 +99,13 @@ local function StartDialog(obstable,f) action = set_reset {'LensProfileDistortionScale','LensProfileChromaticAberrationScale','LensProfileVignettingScale', 'LensManualDistortionAmount','DefringePurpleAmount','DefringePurpleHueLo','DefringePurpleHueHi','DefringeGreenAmount', 'DefringeGreenHueLo','DefringeGreenHueHi','PerspectiveVertical','PerspectiveHorizontal','PerspectiveRotate', - 'PerspectiveScale','PerspectiveAspect','PerspectiveUpright','VignetteAmount','VignetteMidpoint','Defringe'}, + 'PerspectiveScale','PerspectiveAspect','PerspectiveUpright','VignetteAmount','VignetteMidpoint','Defringe', + 'EnableLensCorrections','LensProfileEnable','LensProfileSetup','AutoLateralCA','ChromaticAberrationB','ChromaticAberrationR'}, }, --push button f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), action = set_reset {'Dehaze','PostCropVignetteAmount','PostCropVignetteMidpoint','PostCropVignetteFeather','PostCropVignetteRoundness', - 'PostCropVignetteStyle','PostCropVignetteHighlightContrast','GrainAmount','GrainSize','GrainFrequency'}, + 'PostCropVignetteStyle','PostCropVignetteHighlightContrast','GrainAmount','GrainSize','GrainFrequency','EnableEffects'}, }, --push button },-- set of pushbuttons f:checkbox {title = 'Ask each time', value = LrView.bind('PastePopup')} @@ -136,5 +129,4 @@ end return { StartDialog = StartDialog, EndDialog = EndDialog, - Duplicates = Duplicates, } \ No newline at end of file From f863ac2c2ed72aefc7a1e062122b01dabbf011f9 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 11:09:34 -0800 Subject: [PATCH 64/87] update commands from generated file --- Source/LRCommands.cpp | 494 ++++++++++++++++++++---------------------- 1 file changed, 234 insertions(+), 260 deletions(-) diff --git a/Source/LRCommands.cpp b/Source/LRCommands.cpp index 32d63b5a7..e9a7fe0e9 100644 --- a/Source/LRCommands.cpp +++ b/Source/LRCommands.cpp @@ -24,21 +24,21 @@ MIDI2LR. If not, see . #include "CommandMap.h" const std::vector LRCommandList::AdjustmentStringList = { - "White Balance Auto", "White Balance As Shot", - "White Balance Daylight", + "White Balance Auto", "White Balance Cloudy", + "White Balance Daylight", + "White Balance Flash", + "White Balance Fluorescent", "White Balance Shade", "White Balance Tungsten", - "White Balance Fluorescent", - "White Balance Flash", "Temperature", "Tint", "Exposure", "Contrast", - "Highlights", - "Shadows", - "Whites", + "Highlights (Recovery in PV2003 and PV2010)", + "Shadows (Fill Light in PV2003 and PV2010)", + "Whites (no effect in PV2003 and PV2010)", "Blacks", "Clarity", "Vibrance", @@ -57,25 +57,24 @@ const std::vector LRCommandList::AdjustmentStringList = { }; const std::vector LRCommandList::ToneStringList = { - "Parametric Darks", - "Parametric Lights", - "Parametric Shadows", - "Parametric Highlights", - "Parametric Shadow Split", - "Parametric Midtone Split", - "Parametric Highlight Split", - "Reset Parametric Darks", - "Reset Parametric Lights", - "Reset Parametric Shadows", - "Reset Parametric Highlights", - "Reset Parametric Shadow Split", - "Reset Parametric Midtone Split", - "Reset Parametric Highlight Split", + "Dark Tones", + "Light Tones", + "Shadow Tones", + "Highlight Tones", + "Shadow Split", + "Midtone Split", + "Highlight Split", + "Reset Dark Tones", + "Reset Light Tones", + "Reset Shadow Tones", + "Reset Highlight Tones", + "Reset Shadow Split", + "Reset Midtone Split", + "Reset Highlight Split", }; const std::vector LRCommandList::MixerStringList = { - // Colour - "Enable/Disable Color Adjustments", + "Enable Color Adjustments", "Saturation Adjustment Red", "Saturation Adjustment Orange", "Saturation Adjustment Yellow", @@ -100,9 +99,8 @@ const std::vector LRCommandList::MixerStringList = { "Luminance Adjustment Blue", "Luminance Adjustment Purple", "Luminance Adjustment Magenta", - // B & W - "Toggle Convert to Grayscale", - "Enable/Disable Grayscale Mix", + "Convert to Grayscale", + "Enable Grayscale Mix", "Gray Mixer Red", "Gray Mixer Orange", "Gray Mixer Yellow", @@ -114,7 +112,6 @@ const std::vector LRCommandList::MixerStringList = { }; const std::vector LRCommandList::ResetMixerStringList = { - // Colour "Reset Saturation Adjustment Red", "Reset Saturation Adjustment Orange", "Reset Saturation Adjustment Yellow", @@ -139,7 +136,6 @@ const std::vector LRCommandList::ResetMixerStringList = { "Reset Luminance Adjustment Blue", "Reset Luminance Adjustment Purple", "Reset Luminance Adjustment Magenta", - // B & W "Reset Gray Mixer Red", "Reset Gray Mixer Orange", "Reset Gray Mixer Yellow", @@ -151,29 +147,29 @@ const std::vector LRCommandList::ResetMixerStringList = { }; const std::vector LRCommandList::SplitToningStringList = { - "Enable/Disable Split Toning", - "Split Toning Shadow Hue", - "Split Toning Shadow Saturation", - "Split Toning Highlight Hue", - "Split Toning Highlight Saturation", + "Enable Split Toning", + "Shadow Hue", + "Shadow Saturation", + "Highlight Hue", + "Highlight Saturation", "Split Toning Balance", - "Reset Split Toning Shadow Hue", - "Reset Split Toning Shadow Saturation", - "Reset Split Toning Highlight Hue", - "Reset Split Toning Highlight Saturation", + "Reset Shadow Hue", + "Reset Shadow Saturation", + "Reset Highlight Hue", + "Reset Highlight Saturation", "Reset Split Toning Balance", }; const std::vector LRCommandList::DetailStringList = { - "Enable/Disable Detail", + "Enable Detail", "Sharpness", "Sharpen Radius", "Sharpen Detail", "Sharpen Edge Masking", "Luminance Smoothing", - "Luminance Noise Reduction Detail", - "Luminance Noise Reduction Contrast", + "Luminance Detail", + "Luminance Contrast", "Color Noise Reduction", "Color Noise Reduction Detail", "Color Noise Reduction Smoothness", @@ -182,23 +178,23 @@ const std::vector LRCommandList::DetailStringList = { "Reset Sharpen Detail", "Reset Sharpen Edge Masking", "Reset Luminance Smoothing", - "Reset Luminance Noise Reduction Detail", - "Reset Luminance Noise Reduction Contrast", + "Reset Luminance Detail", + "Reset Luminance Contrast", "Reset Color Noise Reduction", "Reset Color Noise Reduction Detail", "Reset Color Noise Reduction Smoothness", }; const std::vector LRCommandList::LensCorrectionStringList = { - "Enable/Disable All Lens Corrections", - "Enable/Disable Profile Corrections", - "Enable/Disable Remove Chromatic Aberration", - "Perspective Upright Off", - "Perspective Upright Auto", - "Perspective Upright Level", - "Perspective Upright Vertical", - "Perspective Upright Full", - "Reset Perspective Upright", + "Enable Lens Corrections", + "Lens Profile Enable", + "Remove Chromatic Aberration", + "Perspective Correction Off", + "Perspective Correction Auto", + "Perspective Correction Level", + "Perspective Correction Vertical", + "Perspective Correction Full", + "Reset Upright Settings", "Lens Profile Distortion Scale", "Lens Profile Chromatic Aberration Scale", "Lens Profile Vignetting Scale", @@ -206,38 +202,38 @@ const std::vector LRCommandList::LensCorrectionStringList = { "Reset Lens Profile Chromatic Aberration Scale", "Reset Lens Profile Vignetting Scale", "Defringe Purple Amount", - "Defringe Purple Hue Lo", - "Defringe Purple Hue Hi", + "Defringe Purple Hue - Low", + "Defringe Purple Hue - High", "Defringe Green Amount", - "Defringe Green Hue Lo", - "Defringe Green Hue Hi", + "Defringe Green Hue - Low", + "Defringe Green Hue - High", "Reset Defringe Purple Amount", - "Reset Defringe Purple Hue Lo", - "Reset Defringe Purple Hue Hi", + "Reset Defringe Purple Hue - Low", + "Reset Defringe Purple Hue - High", "Reset Defringe Green Amount", - "Reset Defringe Green Hue Lo", - "Reset Defringe Green Hue Hi", + "Reset Defringe Green Hue - Low", + "Reset Defringe Green Hue - High", "Lens Manual Distortion Amount", "Perspective Vertical", "Perspective Horizontal", "Perspective Rotate", "Perspective Scale", "Perspective Aspect", - "Lens Vignetting Amount", - "Lens Vignetting Midpoint", + "Vignette Amount", + "Vignette Midpoint", "Reset Lens Manual Distortion Amount", "Reset Perspective Vertical", "Reset Perspective Horizontal", "Reset Perspective Rotate", "Reset Perspective Scale", "Reset Perspective Aspect", - "Reset Lens Vignetting Amount", - "Reset Lens Vignetting Midpoint", + "Reset Vignette Amount", + "Reset Vignette Midpoint", }; const std::vector LRCommandList::EffectsStringList = { - "Enable/Disable Effects", - "Dehaze", + "Enable Effects", + "Dehaze Amount", "Post Crop Vignette Amount", "Post Crop Vignette Midpoint", "Post Crop Vignette Feather", @@ -246,8 +242,8 @@ const std::vector LRCommandList::EffectsStringList = { "Post Crop Vignette Highlight Contrast", "Grain Amount", "Grain Size", - "Grain Frequency", - "Reset Dehaze", + "Grain Roughness", + "Reset Dehaze Amount", "Reset Post Crop Vignette Amount", "Reset Post Crop Vignette Midpoint", "Reset Post Crop Vignette Feather", @@ -256,60 +252,62 @@ const std::vector LRCommandList::EffectsStringList = { "Reset Post Crop Vignette Highlight Contrast", "Reset Grain Amount", "Reset Grain Size", - "Reset Grain Frequency", + "Reset Grain Roughness", }; const std::vector LRCommandList::CalibrateStringList = { - "Enable/Disable Calibration", - "Camera Profile Adobe Standard", - "Camera Profile Clear", - "Camera Profile Deep", - "Camera Profile Landscape", - "Camera Profile Light", - "Camera Profile Neutral", - "Camera Profile Portrait", - "Camera Profile Standard", - "Camera Profile Vivid", - "Shadow Tint", - "Red Hue", - "Red Saturation", - "Green Hue", - "Green Saturation", - "Blue Hue", - "Blue Saturation", - "Reset Shadow Tint", - "Reset Red Hue", - "Reset Red Saturation", - "Reset Green Hue", - "Reset Green Saturation", - "Reset Blue Hue", - "Reset Blue Saturation" + "Enable Calibration", + "Adobe Standard", + "Camera Clear", + "Camera Deep", + "Camera Landscape", + "Camera Light", + "Camera Neutral", + "Camera Portrait", + "Camera Standard", + "Camera Vivid", + "Shadow Tint Calibration", + "Red Hue Calibration", + "Red Saturation Calibration", + "Green Hue Calibration", + "Green Saturation Calibration", + "Blue Hue Calibration", + "Blue Saturation Calibration", + "Reset Shadow Tint Calibration", + "Reset Red Hue Calibration", + "Reset Red Saturation Calibration", + "Reset Green Hue Calibration", + "Reset Green Saturation Calibration", + "Reset Blue Hue Calibration", + "Reset Blue Saturation Calibration", }; const std::vector LRCommandList::SelectionList = { - "Pick", - "Reject", + "Set Pick Flag", + "Set Rejected Flag", "Next Photo", "Previous Photo", + "Add to Selection Left", + "Add to Selection Right", "Create Virtual Copy", - "Remove Flag", + "Unflagged", "Increase Rating", "Decrease Rating", - "Set Rating To 0", - "Set Rating To 1", - "Set Rating To 2", - "Set Rating To 3", - "Set Rating To 4", - "Set Rating To 5", - "Toggle Blue Label", - "Toggle Green Label", - "Toggle Red Label", - "Toggle Purple Label", - "Toggle Yellow Label", - "Reset All Develop Adjustments", - "Reset Last Develop Parameter", - "Increment Last Develop Parameter", - "Decrement Last Develop Parameter", + "0 Stars", + "1 Star", + "2 Stars", + "3 Stars", + "4 Stars", + "5 Stars", + "Label Blue Enable/Disable", + "Label Green Enable/Disable", + "Label Red Enable/Disable", + "Label Purple Enable/Disable", + "Label Yellow Enable/Disable", + "Reset Settings", + "Reset Last Modified", + "Increase Last Modified", + "Decrease Last Modified", "Undo", "Redo", "Copy Settings", @@ -318,26 +316,26 @@ const std::vector LRCommandList::SelectionList = { }; const std::vector LRCommandList::PresetsList = { - "Preset 1", - "Preset 2", - "Preset 3", - "Preset 4", - "Preset 5", - "Preset 6", - "Preset 7", - "Preset 8", - "Preset 9", - "Preset 10", - "Preset 11", - "Preset 12", - "Preset 13", - "Preset 14", - "Preset 15", - "Preset 16", - "Preset 17", - "Preset 18", - "Preset 19", - "Preset 20", + "Develop Preset 1", + "Develop Preset 2", + "Develop Preset 3", + "Develop Preset 4", + "Develop Preset 5", + "Develop Preset 6", + "Develop Preset 7", + "Develop Preset 8", + "Develop Preset 9", + "Develop Preset 10", + "Develop Preset 11", + "Develop Preset 12", + "Develop Preset 13", + "Develop Preset 14", + "Develop Preset 15", + "Develop Preset 16", + "Develop Preset 17", + "Develop Preset 18", + "Develop Preset 19", + "Develop Preset 20", }; const std::vector LRCommandList::LocalList = { @@ -367,81 +365,76 @@ const std::vector LRCommandList::LocalList = { "Reset Local Moire (PV2012)", "Reset Local Defringe (PV2012)", "Reset Local Toning Luminance (PV2010)", - "Enable/Disable Radial Filter", - "Enable/Disable Graduated Filter", - "Enable/Disable Brush Adjustments", - "Enable/Disable Red-Eye", - "Enable/Disable Spot Removal", - "Reset Radial Filter", //ResetCircGrad - "Reset Graduated Filter", //ResetGradient - "Reset Brush Adjustments", //ResetBrushing - "Reset Red-Eye", //ResetRedeye - "Reset Spot Removal", //ResetSpotRem + "Enable Radial Filter", + "Enable Graduated Filter", + "Enable Brush Adjustments", + "Enable Red-Eye", + "Enable Spot Removal", + "Reset Radial Filters", + "Reset Graduated Filters", + "Reset Brush Corrections", + "Reset Red-Eye", + "Reset Spot Removal", }; const std::vector LRCommandList::MiscList = { - "Zoom In Large Step", - "Zoom In Small Step", - "Zoom Out Small Step", - "Zoom Out Large Step", + "Zoom In", + "Zoom In Some", + "Zoom Out Some", + "Zoom Out", "Toggle Zoom Off/On", "Crop Angle", - "Crop Bottom", - "Crop Left", - "Crop Right", - "Crop Top", + "Crop - Bottom", + "Crop - Left", + "Crop - Right", + "Crop - Top", "Reset Crop", -/* "Reset Crop Angle", - "Reset Crop Bottom", - "Reset Crop Left", - "Reset Crop Right", - "Reset Crop Top", // Resets don't work for crop */ }; const std::vector LRCommandList::TMPList = { - "Loupe Tool", - "Crop Tool", - "Spot Removal Tool", - "Red Eye Tool", - "Graduated Filter Tool", - "Radial Filter Tool", - "Adjustment Brush Tool", - "Library Module", - "Develop Module", - "Map Module", - "Book Module", - "Slideshow Module", - "Print Module", - "Web Module", - "Basic Adjustments Panel", - "Tone Curve Panel", - "Mixer Panel", - "Split Toning Panel", - "Detail Panel", - "Lens Corrections Panel", - "Effects Panel", - "Camera Calibration Panel", + "Show Loupe", + "Show Crop", + "Show Spot Removal", + "Show Red-Eye Correction", + "Show Graduated Filters", + "Show Radial Filters", + "Show Brush Adjustments", + "Show Library", + "Show Develop", + "Show Map", + "Show Book", + "Show Slideshow", + "Show Print", + "Show Web", + "Show Basic Tone", + "Show Tone Curve", + "Show Color Adjustments", + "Show Split Toning", + "Show Detail", + "Show Lens Corrections", + "Show Effects", + "Show Calibration", }; const std::vector LRCommandList::ViewModesList = { - "Loupe", - "Grid", - "Compare", - "Survey", - "People", - "Develop Loupe", - "Develop Bef/Aft Horizontal", - "Develop Bef/Aft Vertical", - "Develop Before", - "Second Screeen Loupe", - "Second Screen Live Loupe", - "Second Screen Locked Loupe", - "Second Screen Grid", - "Second Screen Compare", - "Second Screen Survey", - "Second Screen Slideshow", - "Toggle on/off Second Screen", + "Primary Display Loupe", + "Primary Display Grid", + "Primary Display Compare", + "Primary Display Survey", + "Primary Display People", + "Primary Display Loupe", + "Primary Display Before/After Left/Right", + "Primary Display Before/After Top/Bottom", + "Primary Display Before", + "Secondary Display Loupe", + "Secondary Display Live Loupe", + "Secondary Display Locked Loupe", + "Secondary Display Grid", + "Secondary Display Compare", + "Secondary Display Survey", + "Secondary Display Slideshow", + "Secondary Display Show", }; const std::vector LRCommandList::ProfilesList = { @@ -460,15 +453,15 @@ const std::vector LRCommandList::ProfilesList = { const std::vector LRCommandList::LRStringList = { "Unmapped", - /* Adjust */ + /* Basic Tone */ + "WhiteBalanceAs_Shot", "WhiteBalanceAuto", - "WhiteBalanceAs_Shot", //watch out for embedded space! - "WhiteBalanceDaylight", "WhiteBalanceCloudy", + "WhiteBalanceDaylight", + "WhiteBalanceFlash", + "WhiteBalanceFluorescent", "WhiteBalanceShade", "WhiteBalanceTungsten", - "WhiteBalanceFluorescent", - "WhiteBalanceFlash", "Temperature", "Tint", "Exposure", @@ -491,8 +484,7 @@ const std::vector LRCommandList::LRStringList = { "ResetClarity", "ResetVibrance", "ResetSaturation", - - /* Tone*/ + /* Tone Curve */ "ParametricDarks", "ParametricLights", "ParametricShadows", @@ -507,8 +499,7 @@ const std::vector LRCommandList::LRStringList = { "ResetParametricShadowSplit", "ResetParametricMidtoneSplit", "ResetParametricHighlightSplit", - - /* Mixer */ + /* Color Adjustments */ "EnableColorAdjustments", "SaturationAdjustmentRed", "SaturationAdjustmentOrange", @@ -544,41 +535,39 @@ const std::vector LRCommandList::LRStringList = { "GrayMixerBlue", "GrayMixerPurple", "GrayMixerMagenta", - - /* Reset Mixer */ - "ResetSaturationAdjustmentRed", - "ResetSaturationAdjustmentOrange", - "ResetSaturationAdjustmentYellow", - "ResetSaturationAdjustmentGreen", - "ResetSaturationAdjustmentAqua", - "ResetSaturationAdjustmentBlue", - "ResetSaturationAdjustmentPurple", - "ResetSaturationAdjustmentMagenta", - "ResetHueAdjustmentRed", - "ResetHueAdjustmentOrange", - "ResetHueAdjustmentYellow", - "ResetHueAdjustmentGreen", - "ResetHueAdjustmentAqua", - "ResetHueAdjustmentBlue", - "ResetHueAdjustmentPurple", - "ResetHueAdjustmentMagenta", - "ResetLuminanceAdjustmentRed", - "ResetLuminanceAdjustmentOrange", - "ResetLuminanceAdjustmentYellow", - "ResetLuminanceAdjustmentGreen", - "ResetLuminanceAdjustmentAqua", - "ResetLuminanceAdjustmentBlue", - "ResetLuminanceAdjustmentPurple", - "ResetLuminanceAdjustmentMagenta", - "ResetGrayMixerRed", - "ResetGrayMixerOrange", - "ResetGrayMixerYellow", - "ResetGrayMixerGreen", - "ResetGrayMixerAqua", - "ResetGrayMixerBlue", - "ResetGrayMixerPurple", - "ResetGrayMixerMagenta", - + /* Reset Color Adjustments */ + "ResetSaturationAdjustmentRed", + "ResetSaturationAdjustmentOrange", + "ResetSaturationAdjustmentYellow", + "ResetSaturationAdjustmentGreen", + "ResetSaturationAdjustmentAqua", + "ResetSaturationAdjustmentBlue", + "ResetSaturationAdjustmentPurple", + "ResetSaturationAdjustmentMagenta", + "ResetHueAdjustmentRed", + "ResetHueAdjustmentOrange", + "ResetHueAdjustmentYellow", + "ResetHueAdjustmentGreen", + "ResetHueAdjustmentAqua", + "ResetHueAdjustmentBlue", + "ResetHueAdjustmentPurple", + "ResetHueAdjustmentMagenta", + "ResetLuminanceAdjustmentRed", + "ResetLuminanceAdjustmentOrange", + "ResetLuminanceAdjustmentYellow", + "ResetLuminanceAdjustmentGreen", + "ResetLuminanceAdjustmentAqua", + "ResetLuminanceAdjustmentBlue", + "ResetLuminanceAdjustmentPurple", + "ResetLuminanceAdjustmentMagenta", + "ResetGrayMixerRed", + "ResetGrayMixerOrange", + "ResetGrayMixerYellow", + "ResetGrayMixerGreen", + "ResetGrayMixerAqua", + "ResetGrayMixerBlue", + "ResetGrayMixerPurple", + "ResetGrayMixerMagenta", /* Split Toning */ "EnableSplitToning", "SplitToningShadowHue", @@ -591,7 +580,6 @@ const std::vector LRCommandList::LRStringList = { "ResetSplitToningHighlightHue", "ResetSplitToningHighlightSaturation", "ResetSplitToningBalance", - /* Detail */ "EnableDetail", "Sharpness", @@ -614,8 +602,7 @@ const std::vector LRCommandList::LRStringList = { "ResetColorNoiseReduction", "ResetColorNoiseReductionDetail", "ResetColorNoiseReductionSmoothness", - - /* Lens Correction */ + /* Lens Corrections */ "EnableLensCorrections", "LensProfileEnable", "AutoLateralCA", @@ -659,7 +646,6 @@ const std::vector LRCommandList::LRStringList = { "ResetPerspectiveAspect", "ResetVignetteAmount", "ResetVignetteMidpoint", - /* Effects */ "EnableEffects", "Dehaze", @@ -682,8 +668,7 @@ const std::vector LRCommandList::LRStringList = { "ResetGrainAmount", "ResetGrainSize", "ResetGrainFrequency", - - /* Calibrate */ + /* Calibration */ "EnableCalibration", "Profile_Adobe_Standard", "Profile_Camera_Clear", @@ -708,12 +693,13 @@ const std::vector LRCommandList::LRStringList = { "ResetGreenSaturation", "ResetBlueHue", "ResetBlueSaturation", - - /* Selection Actions */ + /* Photo Actions */ "Pick", "Reject", "Next", "Prev", + "Select1Left", + "Select1Right", "VirtualCopy", "RemoveFlag", "IncreaseRating", @@ -738,8 +724,7 @@ const std::vector LRCommandList::LRStringList = { "CopySettings", "PasteSettings", "PasteSelectedSettings", - - /* Presets */ + /* Develop Presets */ "Preset_1", "Preset_2", "Preset_3", @@ -760,7 +745,6 @@ const std::vector LRCommandList::LRStringList = { "Preset_18", "Preset_19", "Preset_20", - /* Local Adjustments */ "local_Temperature", "local_Tint", @@ -798,8 +782,7 @@ const std::vector LRCommandList::LRStringList = { "ResetBrushing", "ResetRedeye", "ResetSpotRem", - - /* Misc */ + /* Miscellaneous */ "ZoomInLargeStep", "ZoomInSmallStep", "ZoomOutSmallStep", @@ -811,14 +794,7 @@ const std::vector LRCommandList::LRStringList = { "CropRight", "CropTop", "ResetCrop", -/* "ResetCropAngle", - "ResetCropBottom", - "ResetCropLeft", - "ResetCropRight", - "ResetCropTop", // resets don't work for crop*/ - - - /* TMP (Tools Modules Panels) */ + /* Go to Tool, Module, or Panel */ "Loupe", "CropOverlay", "SpotRemoval", @@ -840,8 +816,7 @@ const std::vector LRCommandList::LRStringList = { "RevealPanelDetail", "RevealPanelLens", "RevealPanelEffects", - "RevealPanelCalibrate", - + "RevealPanelCalibrate", /* View Modes */ "ShoVwloupe", "ShoVwgrid", @@ -860,7 +835,6 @@ const std::vector LRCommandList::LRStringList = { "ShoScndVwsurvey", "ShoScndVwslideshow", "ToggleScreenTwo", - /* Profiles */ "profile1", "profile2", From 49acab47c9a21f8fceb898654ed9af45f3d5c9fe Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 11:09:59 -0800 Subject: [PATCH 65/87] bug--error if paste selective popup dismissed --- Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua index 01e71a671..135c5130d 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua @@ -107,7 +107,9 @@ local function PasteSelectedSettings () contents = f:view{ bind_to_object = properties, Paste.StartDialog(properties,f) } } ) - Paste.EndDialog (properties,result) + if result == 'ok' then + Paste.EndDialog (properties,result) + end end ) end From 0475d35a9d1a3715115c2de673764b5789a924ac Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 11:10:21 -0800 Subject: [PATCH 66/87] automate documentation production --- .../MIDI2LR.lrplugin/Documentation.lua | 69 +++++++++++++++++++ Source/LRPlugin/MIDI2LR.lrplugin/Info.lua | 6 ++ 2 files changed, 75 insertions(+) create mode 100644 Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua new file mode 100644 index 000000000..74073d3a4 --- /dev/null +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua @@ -0,0 +1,69 @@ +--[[---------------------------------------------------------------------------- + +Documentation.lua + +Takes Database.lua and produces text lists and other tools for documentation +and updating. Has to be run under Lightroom to be properly translated, +but is not used by users of the plugin. Running this also forces a refresh +of the ParamList and MenuList files. + +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. + +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] + +local Database = require 'Database'.DataBase +local LrPathUtils = import 'LrPathUtils' +local datafile = LrPathUtils.child(_PLUGIN.path, 'Documentation.txt') +local file = io.open(datafile,'w') +local menulocation = "" + +file:write("Control definitions for wiki\n") +for i,v in ipairs(Database) do + if v[4] then + if v[9] ~= menulocation then + menulocation = v[9] + file:write("New menu "..menulocation.."\n") + end + local experimental = "" + if v[7] then + experimental = "\226\128\187" + end + file:write("| "..v[8]..experimental.." | "..v[10].." |\n" ) + end +end +file:write("\n\nApplication menu entries\n") + +for i,v in ipairs(Database) do + if v[4] then + if v[9] ~= menulocation then + menulocation = v[9] + file:write("New menu "..menulocation.."\n") + end + file:write('"'..v[8]..'",\n') + end +end +file:write("\n\nCommand strings\n") +menulocation = "" +for i,v in ipairs(Database) do + if v[4] then + if v[9] ~= menulocation then + menulocation = v[9] + file:write("/* "..menulocation.." */\n") + end + file:write('"'..v[1]..'",\n') + end +end + +file:close() + + diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua index bb951ea33..68a8642d8 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua @@ -39,6 +39,12 @@ return { title = LOC("$$$/AgPluginManager/Status/HttpServer/StartServer=Start Server"), file = "LaunchServer.lua" }, + ---[[ comment out for end-users, enable for development + { + title = "Produce documentation (development use only)", + file = "Documentation.lua" + }, + --]] }, VERSION = { major=0, minor=9, revision=4, build=1} } From 61f43c2dcb5e71c90c64ea41d58012a84402b5b9 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 11:10:42 -0800 Subject: [PATCH 67/87] correct typos --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 7 +++++-- Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 56bd62874..7702524bc 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -1796,7 +1796,7 @@ To do: integrate "straightenAngle", translate RetouchInfo orientation {"local_LuminanceNoise", false,false,true,true,false,false, "Local Luminance Noise (PV2012)", - "Localized Adjusments", + localizedAdjustments, "Adjust Luminance Noise for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, {"local_Moire", false,false,true,true,false,false, @@ -1861,7 +1861,7 @@ To do: integrate "straightenAngle", translate RetouchInfo orientation {"Resetlocal_LuminanceNoise", false,false,true,false,true,false, "Reset Local Luminance Noise (PV2012)", - "Localized Adjusments", + localizedAdjustments, "Reset to default. *button*"}, {"Resetlocal_Moire", false,false,true,false,true,false, @@ -2338,3 +2338,6 @@ MIDI2LR. If not, see . }]==]) file:close() +return { --used in documentation module + DataBase = DataBase, + } \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua index b76542bd8..34811df8c 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua @@ -75,7 +75,7 @@ local function StartDialog(obstable,f) } ,-- push_button f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), - action = set_reset {'WhiteBalance','AutoBrightness','AutoContrast','AutoExposure','AutoShadows','Temperature','Tint' + action = set_reset {'WhiteBalance','AutoBrightness','AutoContrast','AutoExposure','AutoShadows','Temperature','Tint', 'Exposure','Contrast','Highlights','Brightness','HighlightRecovery','Shadows2012','FillLight','Whites2012','Blacks2012'}, }, -- push button f:push_button { From 2d7b40463828442a7f37989126ea487ac918b700 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 12:05:59 -0800 Subject: [PATCH 68/87] stopped using menulist May want to translate param to friendly name for bezel --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index c56505568..d6752156d 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -72,7 +72,6 @@ LrTasks.startAsyncTask( --delay loading most modules until after data structure refreshed local CU = require 'ClientUtilities' local Limits = require 'Limits' - local MenuList = require 'MenuList' local ParamList = require 'ParamList' local Profiles = require 'Profiles' local Ut = require 'Utilities' @@ -289,9 +288,9 @@ LrTasks.startAsyncTask( value = midi_lerp_to_develop(param, midi_value) local actualvalue = LrDevelopController.getValue(param) local precision = Ut.precision(value) - LrDialogs.showBezel(MenuList.MenuListHashed[param][2]..' '..LrStringUtils.numberToStringWithSeparators(value,precision)..' '..LrStringUtils.numberToStringWithSeparators(actualvalue,precision)) + LrDialogs.showBezel(param..' '..LrStringUtils.numberToStringWithSeparators(value,precision)..' '..LrStringUtils.numberToStringWithSeparators(actualvalue,precision)) else - LrDialogs.showBezel(MenuList.MenuListHashed[param][2]..' '..LrStringUtils.numberToStringWithSeparators(value,Ut.precision(value))) + LrDialogs.showBezel(param..' '..LrStringUtils.numberToStringWithSeparators(value,Ut.precision(value))) end end if ParamList.ProfileMap[param] then From 3fb437abbba5b370f897b279d8dc5875b4138b13 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 12:27:54 -0800 Subject: [PATCH 69/87] cross-platform #include path slashes must be / not \ --- Source/CommandMap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/CommandMap.h b/Source/CommandMap.h index fd45201fd..f63e907f9 100644 --- a/Source/CommandMap.h +++ b/Source/CommandMap.h @@ -25,7 +25,7 @@ MIDI2LR. If not, see . #include "../JuceLibraryCode/JuceHeader.h" #include -#include "Pattern\Subject.h" +#include "Pattern/Subject.h" // encapsulates a MIDI message (Note or CC) struct MIDI_Message From ed5733bbeb59a39ec92a09221ae73c012b7bce5c Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 13:44:07 -0800 Subject: [PATCH 70/87] selective paste groups --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 4394 +++++++++-------- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 24 +- .../LRPlugin/MIDI2LR.lrplugin/ParamList.lua | 191 +- 3 files changed, 2389 insertions(+), 2220 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 7702524bc..7eecd2d44 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -48,11 +48,12 @@ local whiteBalance = LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/W DataBase structure 1. command -2. include in selective paste menu [exclude localized adj] +2. include in selective paste menu [exclude localized adj]. if in button group on + menu, this will be a string identifying group. Otherwise this is true/false. 3. include in selective paste iteration 4. include in application command list 5. send back values to MIDI controller -6. button=true, variable=false +6. button or table or text=true, variable number=false 7. experimental (for documentation) 8. user-friendly name or, for 2=false and 3=true, command it maps to 9. menu group for app @@ -79,2174 +80,2175 @@ To do: integrate "straightenAngle", translate RetouchInfo orientation TrimEnd TrimStart ------------------------------------------------------------------------------]] - local DataBase = { - {"ProcessVersion",true,true,false,false,true,false,LOC("$$$/AgDevelop/Menu/ProcessVersion=Process Version")}, - {"WhiteBalance",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")}, - {"WhiteBalanceAs_Shot", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), - basicTone, - "Use Temperature and Tint as determined by camera. *button*", - 'adjustPanel'}, - {"WhiteBalanceAuto", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), - basicTone, - "Have Lightroom determine Temperature and Tint. *button*", - 'adjustPanel'}, - {"WhiteBalanceCloudy", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), - basicTone, - "Use cloudy white balance. *button*", - 'adjustPanel'}, - {"WhiteBalanceDaylight", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), - basicTone, - "Use daylight white balance. *button*", - 'adjustPanel'}, - {"WhiteBalanceFlash", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), - basicTone, - "Use flash white balance. *button*", - 'adjustPanel'}, - {"WhiteBalanceFluorescent", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), - basicTone, - "Use fluorescent white balance. *button*", - 'adjustPanel'}, - {"WhiteBalanceShade", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), - basicTone, - "Use shade white balance. *button*", - 'adjustPanel'}, - {"WhiteBalanceTungsten", - false,false,true,false,true,true, - whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), - basicTone, - "Use tungsten white balance. *button*", - 'adjustPanel'}, - {"AutoBrightness",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoBrightness=Automatic Brightness")}, - {"AutoContrast",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoContrast=Automatic Contrast")}, - {"AutoExposure",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoExposure=Automatic Exposure")}, - {"AutoShadows",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoShadows=Automatic Shadows")}, - {"Temperature", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), - basicTone, - "Fine-tunes the white balance using the Kelvin color temperature scale. Move the slider to the left to make the photo appear cooler, and right to warm the photo colors.", - 'adjustPanel'}, - {"Tint", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), - basicTone, - "Fine-tunes the white balance to compensate for a green or magenta tint. Move the slider to the left (negative values) to add green to the photo; move it to the right (positive values) to add magenta.", - 'adjustPanel'}, - {"Exposure", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawUI/Exposure=Exposure"), - basicTone, - "Sets the overall image brightness. Adjust the slider until the photo looks good and the image is the desired brightness.", - 'adjustPanel'}, - {"Exposure2012",false,true,false,false,false,false,"Exposure"}, - {"Contrast", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawUI/Contrast=Contrast"), - basicTone, - "Increases or decreases image contrast, mainly affecting midtones. When you increase contrast, the middle-to-dark image areas become darker, and the middle-to-light image areas become lighter. The image tones are inversely affected as you decrease contrast.", - 'adjustPanel'}, - {"Contrast2012",false,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Contrast=Contrast")}, - {"Highlights", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..'(Recovery in PV2003 and PV2010)', - basicTone, - "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.", - 'adjustPanel'}, - {"Brightness", - true,true,false,false,false,false, - LOC("$$$/AgCameraRawUI/Brightness=Brightness"), - basicTone, - "No effect unless in PV2003 or PV2010)", - 'adjustPanel'}, - {"HighlightRecovery",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HighlightRecovery=Highlight Recovery")..' (PV2003 and PV2010)'}, - {"Shadows", - false,false,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..'(Fill Light in PV2003 and PV2010)', - basicTone, - "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.", - 'adjustPanel'}, - {"Shadows2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")},--NOT fill light in 2003 and 2010 - {"FillLight",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/FillLight=Fill Light")..' (PV2003 and PV2010)'}, - {"Whites", - false,false,true,true,false,false, - LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)', - basicTone, - "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping.", - 'adjustPanel'}, - {"Whites2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)'}, - {"Blacks", - false,false,true,true,false,false, - LOC("$$$/AgCameraRawUI/Blacks=Blacks"), - basicTone, - "Specifies which image values map to black. Moving the slider to the right increases the areas that become black, sometimes creating the impression of increased image contrast. The greatest effect is in the shadows, with much less change in the midtones and highlights.", - 'adjustPanel'}, - {"Blacks2012",true,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Blacks=Blacks")}, - {"Clarity", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), - basicTone, - "Adds depth to an image by increasing local contrast. When using this setting, it is best to zoom in to 100% or greater.", - 'adjustPanel'}, - {"Clarity2012",false,true,false,false,false,false,"Clarity"}, - {"Vibrance", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), - basicTone, - "Adjusts the saturation so that clipping is minimized as colors approach full saturation, changing the saturation of all lower-saturated colors with less effect on the higher-saturated colors. Vibrance also prevents skin tones from becoming over saturated.", - 'adjustPanel'}, - {"Saturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawUI/Saturation=Saturation"), - basicTone, - "Adjusts the saturation of all image colors equally from -100 (monochrome) to +100 (double the saturation).", - 'adjustPanel'}, - {"ResetTemperature", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), - basicTone, - "", - 'adjustPanel'}, - {"ResetTint", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ResetExposure", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ResetContrast", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ResetHighlights", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ResetShadows", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ResetWhites", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ResetBlacks", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ResetClarity", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ResetVibrance", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ResetSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), - basicTone, - "Reset to default. *button*", - 'adjustPanel'}, - {"ToneCurve",true,true,false,false,true,false,toneCurve}, - {"ToneCurveName",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurveName2012",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurvePV2012",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurvePV2012Blue",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurvePV2012Green",false,true,false,false,true,false,"ToneCurve"}, - {"ToneCurvePV2012Red",false,true,false,false,true,false,"ToneCurve"}, - {"ParametricDarks", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), - toneCurve, - "Adjust darks.", - 'tonePanel'}, - {"ParametricLights", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), - toneCurve, - "Adjust lights.", - 'tonePanel'}, - {"ParametricShadows", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), - toneCurve, - "Adjust shadows.", - 'tonePanel'}, - {"ParametricHighlights", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), - toneCurve, - "Adjust highlights.", - 'tonePanel'}, - {"ParametricShadowSplit", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), - toneCurve, - "Move division between shadows and darks.", - 'tonePanel'}, - {"ParametricMidtoneSplit", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), - toneCurve, - "Move division between darks and lights.", - 'tonePanel'}, - {"ParametricHighlightSplit", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), - toneCurve, - "Move division between lights and highlights.", - 'tonePanel'}, - {"ResetParametricDarks", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), - toneCurve, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetParametricLights", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), - toneCurve, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetParametricShadows", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), - toneCurve, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetParametricHighlights", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), - toneCurve, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetParametricShadowSplit", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), - toneCurve, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetParametricMidtoneSplit", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), - toneCurve, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetParametricHighlightSplit", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), - toneCurve, - "Reset to default. *button*", - 'tonePanel'}, - {"EnableColorAdjustments", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableColorAdjustments=Enable Color Adjustments"), - colorAdjustments, - "Enable or disable color adjustments. *button*", - 'tonePanel'}, - {"SaturationAdjustmentRed", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), - colorAdjustments, - "Changes the color vividness or purity of the color.", - 'tonePanel'}, - {"SaturationAdjustmentOrange", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), - colorAdjustments, - "Changes the color vividness or purity of the color.", - 'tonePanel'}, - {"SaturationAdjustmentYellow", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), - colorAdjustments, - "Changes the color vividness or purity of the color.", - 'tonePanel'}, - {"SaturationAdjustmentGreen", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), - colorAdjustments, - "Changes the color vividness or purity of the color.", - 'tonePanel'}, - {"SaturationAdjustmentAqua", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), - colorAdjustments, - "Changes the color vividness or purity of the color.", - 'tonePanel'}, - {"SaturationAdjustmentBlue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), - colorAdjustments, - "Changes the color vividness or purity of the color.", - 'tonePanel'}, - {"SaturationAdjustmentPurple", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), - colorAdjustments, - "Changes the color vividness or purity of the color.", - 'tonePanel'}, - {"SaturationAdjustmentMagenta", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), - colorAdjustments, - "Changes the color vividness or purity of the color.", - 'tonePanel'}, - {"HueAdjustmentRed", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), - colorAdjustments, - "Changes the color.", - 'tonePanel'}, - {"HueAdjustmentOrange", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), - colorAdjustments, - "Changes the color.", - 'tonePanel'}, - {"HueAdjustmentYellow", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), - colorAdjustments, - "Changes the color.", - 'tonePanel'}, - {"HueAdjustmentGreen", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), - colorAdjustments, - "Changes the color.", - 'tonePanel'}, - {"HueAdjustmentAqua", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), - colorAdjustments, - "Changes the color.", - 'tonePanel'}, - {"HueAdjustmentBlue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), - colorAdjustments, - "Changes the color.", - 'tonePanel'}, - {"HueAdjustmentPurple", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), - colorAdjustments, - "Changes the color.", - 'tonePanel'}, - {"HueAdjustmentMagenta", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), - colorAdjustments, - "Changes the color.", - 'tonePanel'}, - {"LuminanceAdjustmentRed", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), - colorAdjustments, - "Changes the brightness of the color range.", - 'tonePanel'}, - {"LuminanceAdjustmentOrange", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), - colorAdjustments, - "Changes the brightness of the color range.", - 'tonePanel'}, - {"LuminanceAdjustmentYellow", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), - colorAdjustments, - "Changes the brightness of the color range.", - 'tonePanel'}, - {"LuminanceAdjustmentGreen", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), - colorAdjustments, - "Changes the brightness of the color range.", - 'tonePanel'}, - {"LuminanceAdjustmentAqua", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), - colorAdjustments, - "Changes the brightness of the color range.", - 'tonePanel'}, - {"LuminanceAdjustmentBlue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), - colorAdjustments, - "Changes the brightness of the color range.", - 'tonePanel'}, - {"LuminanceAdjustmentPurple", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), - colorAdjustments, - "Changes the brightness of the color range.", - 'tonePanel'}, - {"LuminanceAdjustmentMagenta", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), - colorAdjustments, - "Changes the brightness of the color range.", - 'tonePanel'}, - {"ConvertToGrayscale", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ConvertToGrayscale=Convert to Grayscale"), - colorAdjustments, - "Enable/disable gray scale conversion. *button*", - 'tonePanel'}, - {"EnableGrayscaleMix", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGrayscaleMix=Enable Grayscale Mix"), - colorAdjustments, - "Enable or disable black and white mix. *button*", - 'tonePanel'}, - {"GrayMixerRed", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), - colorAdjustments, - "Red contribution to luminance.", - 'tonePanel'}, - {"GrayMixerOrange", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), - colorAdjustments, - "Orange contribution to luminance.", - 'tonePanel'}, - {"GrayMixerYellow", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), - colorAdjustments, - "Yellow contribution to luminance.", - 'tonePanel'}, - {"GrayMixerGreen", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), - colorAdjustments, - "Green contribution to luminance.", - 'tonePanel'}, - {"GrayMixerAqua", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), - colorAdjustments, - "Aqua contribution to luminance.", - 'tonePanel'}, - {"GrayMixerBlue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), - colorAdjustments, - "Blue contribution to luminance.", - 'tonePanel'}, - {"GrayMixerPurple", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), - colorAdjustments, - "Purple contribution to luminance.", - 'tonePanel'}, - {"GrayMixerMagenta", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), - colorAdjustments, - "Magenta contribution to luminance.", - 'tonePanel'}, - {"ResetSaturationAdjustmentRed", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetSaturationAdjustmentOrange", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetSaturationAdjustmentYellow", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetSaturationAdjustmentGreen", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetSaturationAdjustmentAqua", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetSaturationAdjustmentBlue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetSaturationAdjustmentPurple", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetSaturationAdjustmentMagenta", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetHueAdjustmentRed", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetHueAdjustmentOrange", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetHueAdjustmentYellow", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetHueAdjustmentGreen", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetHueAdjustmentAqua", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetHueAdjustmentBlue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetHueAdjustmentPurple", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetHueAdjustmentMagenta", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetLuminanceAdjustmentRed", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetLuminanceAdjustmentOrange", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetLuminanceAdjustmentYellow", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetLuminanceAdjustmentGreen", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetLuminanceAdjustmentAqua", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetLuminanceAdjustmentBlue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetLuminanceAdjustmentPurple", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetLuminanceAdjustmentMagenta", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetGrayMixerRed", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetGrayMixerOrange", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetGrayMixerYellow", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetGrayMixerGreen", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetGrayMixerAqua", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetGrayMixerBlue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetGrayMixerPurple", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"ResetGrayMixerMagenta", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), - resetColorAdjustments, - "Reset to default. *button*", - 'tonePanel'}, - {"EnableSplitToning", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSplitToning=Enable Split Toning"), - splitToning, - "Enable or disable split toning effects. *button*", - 'splitToningPanel'}, - {"SplitToningShadowHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), - splitToning, - "Color of the tone for shadows.", - 'splitToningPanel'}, - {"SplitToningShadowSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), - splitToning, - "Strength of the effect.", - 'splitToningPanel'}, - {"SplitToningHighlightHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), - splitToning, - "Color of the tone for highlights.", - 'splitToningPanel'}, - {"SplitToningHighlightSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), - splitToning, - "Strength of the effect.", - 'splitToningPanel'}, - {"SplitToningBalance", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), - splitToning, - "Set the Balance slider to balance the effect between the Highlight and Shadow sliders. Positive values increase the effect of the Highlight sliders; negative values increase the effect of the Shadow sliders.", - 'splitToningPanel'}, - {"ResetSplitToningShadowHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), - splitToning, - "Reset to default. *button*", - 'splitToningPanel'}, - {"ResetSplitToningShadowSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), - splitToning, - "Reset to default. *button*", - 'splitToningPanel'}, - {"ResetSplitToningHighlightHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), - splitToning, - "Reset to default. *button*", - 'splitToningPanel'}, - {"ResetSplitToningHighlightSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), - splitToning, - "Reset to default. *button*", - 'splitToningPanel'}, - {"ResetSplitToningBalance", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), - splitToning, - "Reset to default. *button*", - 'splitToningPanel'}, - {"EnableDetail", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), - detail, - "Enable or disable noise reduction and sharpening. *button*", - 'detailPanel'}, - {"Sharpness", - true,true,true,true,false,false, - LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), - detail, - "Adjusts edge definition. Increase the Amount value to increase sharpening. A value of zero (0) turns off sharpening. In general, set Amount to a lower value for cleaner images. The adjustment locates pixels that differ from surrounding pixels based on the threshold you specify and increases the pixels’ contrast by the amount you specify.", - 'detailPanel'}, - {"SharpenRadius", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), - detail, - "Adjusts the size of the details that sharpening is applied to. Photos with very fine details may need a lower radius setting. Photos with larger details may be able to use a larger radius. Using too large a radius generally results in unnatural-looking results.", - 'detailPanel'}, - {"SharpenDetail", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), - detail, - "Adjusts how much high-frequency information is sharpened in the image and how much the sharpening process emphasizes edges. Lower settings primarily sharpen edges to remove blurring. Higher values are useful for making the textures in the image more pronounced.", - 'detailPanel'}, - {"SharpenEdgeMasking", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), - detail, - "Controls an edge mask. With a setting of zero (0), everything in the image receives the same amount of sharpening. With a setting of 100, sharpening is mostly restricted to those areas near the strongest edges.", - 'detailPanel'}, - {"LuminanceSmoothing", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), - detail, - "Reduces luminance noise.", - 'detailPanel'}, - {"LuminanceNoiseReductionDetail", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), - detail, - "Controls the luminance noise threshold. Useful for very noisy photos. Higher values preserve more detail but may produce noisier results. Lower values produce cleaner results but may also remove some detail.", - 'detailPanel'}, - {"LuminanceNoiseReductionContrast", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), - detail, - "Controls luminance contrast. Useful for very noisy photos. Higher values preserve contrast but may produce noisy blotches or mottling. Lower values produce smoother results but may also have less contrast.", - 'detailPanel'}, - {"ColorNoiseReduction", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), - detail, - "Reduces color noise.", - 'detailPanel'}, - {"ColorNoiseReductionDetail", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), - detail, - "Controls the color noise threshold. Higher values protect thin, detailed color edges but may result in color speckling. Lower values remove color speckles but may result in color bleeding.", - 'detailPanel'}, - {"ColorNoiseReductionSmoothness", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), - detail, - "Increasing this can prevent artifacts especially in the lower frequencies.", - 'detailPanel'}, - {"ResetSharpness", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"ResetSharpenRadius", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"ResetSharpenDetail", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"ResetSharpenEdgeMasking", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"ResetLuminanceSmoothing", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"ResetLuminanceNoiseReductionDetail", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"ResetLuminanceNoiseReductionContrast", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"ResetColorNoiseReduction", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"ResetColorNoiseReductionDetail", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"ResetColorNoiseReductionSmoothness", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), - detail, - "Reset to default. *button*", - 'detailPanel'}, - {"EnableLensCorrections", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), - lensCorrections, - "Enable or disable all lens corrections. *button*", - 'lensCorrectionsPanel'}, - {"LensProfileEnable", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileEnable=Lens Profile Enable"), - lensCorrections, - "Automatic correction using a stored lens profile.", - 'lensCorrectionsPanel'}, - {"LensProfileSetup",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileSetup=Lens Profile Setup")}, - {"AutoLateralCA", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RemoveChromaticAberration=Remove Chromatic Aberration"), - lensCorrections, - "Automatically corrects blue-yellow and red-green fringes (lateral chromatic aberration).", - 'lensCorrectionsPanel'}, - {"ChromaticAberrationB",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationB=Blue Chromatic Aberration")}, - {"ChromaticAberrationR",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationR=Red Chromatic Aberration")}, - {"PerspectiveUpright",true,true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveUpright=Perspective Upright")}, - {"UprightOff", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off"), - lensCorrections, - "Upright mode off. *button*", - 'lensCorrectionsPanel'}, - {"UprightAuto", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto"), - lensCorrections, - "Balanced level, aspect ratio, and perspective corrections. *button*", - 'lensCorrectionsPanel'}, - {"UprightLevel", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level"), - lensCorrections, - "Perspective corrections are weighted toward horizontal details. *button*", - 'lensCorrectionsPanel'}, - {"UprightVertical", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical"), - lensCorrections, - "Perspective corrections are weighted toward vertical details. *button*", - 'lensCorrectionsPanel'}, - {"UprightFull", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full"), - lensCorrections, - "Combination of full Level, Vertical, and Auto perspective corrections. *button*", - 'lensCorrectionsPanel'}, - {"ResetPerspectiveUpright", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/Ops/ResetUprightSettings=Reset Upright Settings"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"LensProfileDistortionScale", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), - lensCorrections, - "The default value 100 applies 100% of the distortion correction in the profile. Values over 100 apply greater correction to the distortion; values under 100 apply less correction to the distortion.", - 'lensCorrectionsPanel'}, - {"LensProfileChromaticAberrationScale", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), - lensCorrections, - "The default value 100 applies 100% of the chromatic aberration correction in the profile. Values over 100 apply greater correction to color fringing; values under 100 apply less correction to color fringing.", - 'lensCorrectionsPanel'}, - {"LensProfileVignettingScale", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), - lensCorrections, - "The default value 100 applies 100% of the vignetting correction in the profile. Values over 100 apply greater correction to vignetting; values under 100 apply less correction to vignetting.", - 'lensCorrectionsPanel'}, - {"ResetLensProfileDistortionScale", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetLensProfileChromaticAberrationScale", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetLensProfileVignettingScale", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"DefringePurpleAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), - lensCorrections, - "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units.", - 'lensCorrectionsPanel'}, - {"DefringePurpleHueLo", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - lensCorrections, - "", - 'lensCorrectionsPanel'}, - {"DefringePurpleHueHi", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - lensCorrections, - "", - 'lensCorrectionsPanel'}, - {"DefringeGreenAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), - lensCorrections, - "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units. The default spacing for the green sliders is narrow to protect green/yellow image colors, like foliage.", - 'lensCorrectionsPanel'}, - {"DefringeGreenHueLo", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - lensCorrections, - "", - 'lensCorrectionsPanel'}, - {"DefringeGreenHueHi", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - lensCorrections, - "", - 'lensCorrectionsPanel'}, - {"ResetDefringePurpleAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetDefringePurpleHueLo", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetDefringePurpleHueHi", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetDefringeGreenAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetDefringeGreenHueLo", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetDefringeGreenHueHi", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"LensManualDistortionAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), - lensCorrections, - "Drag to the right to correct barrel distortion and straighten lines that bend away from the center. Drag to the left to correct pincushion distortion and straighten lines that bend toward the center.", - 'lensCorrectionsPanel'}, - {"PerspectiveVertical", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), - lensCorrections, - "Corrects perspective caused by tilting the camera up or down. Makes vertical lines appear parallel.", - 'lensCorrectionsPanel'}, - {"PerspectiveHorizontal", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), - lensCorrections, - "Corrects perspective caused by angling the camera left or right. Makes horizontal lines parallel.", - 'lensCorrectionsPanel'}, - {"PerspectiveRotate", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), - lensCorrections, - "Corrects for camera tilt. Uses the center of the original, uncropped photo as the axis of rotation.", - 'lensCorrectionsPanel'}, - {"PerspectiveScale", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), - lensCorrections, - "Adjusts the image scale up or down. Helps to remove empty areas caused by perspective corrections and distortions. Displays areas of the image that extend beyond the crop boundary.", - 'lensCorrectionsPanel'}, - {"PerspectiveAspect", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), - lensCorrections, - "Adjusts the amount the image is stretched horizontally or vertically.", - 'lensCorrectionsPanel'}, - {"VignetteAmount", - true,true,true,true,false,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), - lensCorrections, - "Sets the amount of lightening or darkening along the edges of an image. Corrects images that have darkened corners caused by lens faults or improper lens shading.", - 'lensCorrectionsPanel'}, - {"VignetteMidpoint", - true,true,true,true,false,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), - lensCorrections, - "Specifies the width of area affected by the Amount slider. Specify a lower number to affect more of the image. Specify a higher number to restrict the effect to the edges of the image.", - 'lensCorrectionsPanel'}, - {"ResetLensManualDistortionAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetPerspectiveVertical", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetPerspectiveHorizontal", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetPerspectiveRotate", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetPerspectiveScale", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetPerspectiveAspect", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetVignetteAmount", - false,false,true,false,true,true, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"ResetVignetteMidpoint", - false,false,true,false,true,true, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), - lensCorrections, - "Reset to default. *button*", - 'lensCorrectionsPanel'}, - {"EnableEffects", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableEffects=Enable Effects"), - effects, - "Enable or disable effects. *button*", - 'effectsPanel'}, - {"Dehaze", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), - effects, - "Controls the amount of haze in a photograph. Drag to the right to remove haze; drag to the left to add haze.", - 'effectsPanel'}, - {"PostCropVignetteAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), - effects, - "Negative values darken the corners of the photo. Positive values lighten the corners.", - 'effectsPanel'}, - {"PostCropVignetteMidpoint", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), - effects, - "Lower values apply the Amount adjustment to a larger area away from the corners. Higher values restrict the adjustment to an area closer to the corners.", - 'effectsPanel'}, - {"PostCropVignetteFeather", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), - effects, - "Lower values reduce softening between the vignette and the vignette’s surrounding pixels. Higher values increase the softening.", - 'effectsPanel'}, - {"PostCropVignetteRoundness", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), - effects, - "Lower values make the vignette effect more oval. Higher values make the vignette effect more circular.", - 'effectsPanel'}, - {"PostCropVignetteStyle", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), - effects, - "Cycles through: **Highlight Priority** Enables highlight recovery but can lead to color shifts in darkened areas of a photo. Suitable for photos with bright image areas such as clipped specular highlights. **Color Priority** Minimizes color shifts in darkened areas of a photo but cannot perform highlight recovery. **Paint Overlay** Mixes the cropped image values with black or white pixels. Can result in a flat appearance.", - 'effectsPanel'}, - {"PostCropVignetteHighlightContrast", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), - effects, - "(Highlight Priority and Color Priority only) Controls the degree of highlight contrast preserved when Amount is negative. Suitable for photos with small highlights, such as candles and lamps.", - 'effectsPanel'}, - {"GrainAmount", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), - effects, - "Controls the amount of grain applied to the image. Drag to the right to increase the amount. Set to zero to disable grain.", - 'effectsPanel'}, - {"GrainSize", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), - effects, - "Controls grain particle size. At sizes of 25 or greater, blue is added to make the effect look better with noise reduction.", - 'effectsPanel'}, - {"GrainFrequency", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), - effects, - " Controls the regularity of the grain. Drag to the left to make the grain more uniform; drag to the right to make the grain more uneven.", - 'effectsPanel'}, - {"ResetDehaze", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"ResetPostCropVignetteAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"ResetPostCropVignetteMidpoint", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"ResetPostCropVignetteFeather", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"ResetPostCropVignetteRoundness", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"ResetPostCropVignetteStyle", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"ResetPostCropVignetteHighlightContrast", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"ResetGrainAmount", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"ResetGrainSize", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"ResetGrainFrequency", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), - effects, - "Reset to default. *button*", - 'effectsPanel'}, - {"EnableCalibration", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableCalibration=Enable Calibration"), - calibration, - "Enable or disable custom camera calibration. *button*", - 'calibratePanel'}, - {"CameraProfile",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CameraProfile=Camera Profile")}, - {"Profile_Adobe_Standard", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/AdobeStandard=Adobe Standard"), - calibration, - "Applies the Adobe Standard profile. *button*", - 'calibratePanel'}, - {"Profile_Camera_Clear", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraClear=Camera Clear"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - 'calibratePanel'}, - {"Profile_Camera_Deep", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraDeep=Camera Deep"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - 'calibratePanel'}, - {"Profile_Camera_Landscape", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraLandscape=Camera Landscape"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - 'calibratePanel'}, - {"Profile_Camera_Light", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraLight=Camera Light"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - 'calibratePanel'}, - {"Profile_Camera_Neutral", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraNeutral=Camera Neutral"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - 'calibratePanel'}, - {"Profile_Camera_Portrait", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraPortrait=Camera Portrait"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - 'calibratePanel'}, - {"Profile_Camera_Standard", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraStandard=Camera Standard"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - 'calibratePanel'}, - {"Profile_Camera_Vivid", - false,false,true,false,true,true, - LOC("$$$/CRaw/Style/Profile/CameraVivid=Camera Vivid"), - calibration, - "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", - 'calibratePanel'}, - {"ShadowTint", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), - calibration, - "Corrects for any green or magenta tint in the shadow areas of the photo.", - 'calibratePanel'}, - {"RedHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), - calibration, - "For the red primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", - 'calibratePanel'}, - {"RedSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), - calibration, - "For the red primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", - 'calibratePanel'}, - {"GreenHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), - calibration, - "For the green primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", - 'calibratePanel'}, - {"GreenSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), - calibration, - "For the green primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", - 'calibratePanel'}, - {"BlueHue", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), - calibration, - "For the blue primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", - 'calibratePanel'}, - {"BlueSaturation", - true,true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), - calibration, - "For the blue primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", - 'calibratePanel'}, - {"ResetShadowTint", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), - calibration, - "Reset to default. *button*", - 'calibratePanel'}, - {"ResetRedHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), - calibration, - "Reset to default. *button*", - 'calibratePanel'}, - {"ResetRedSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), - calibration, - "Reset to default. *button*", - 'calibratePanel'}, - {"ResetGreenHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), - calibration, - "Reset to default. *button*", - 'calibratePanel'}, - {"ResetGreenSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), - calibration, - "Reset to default. *button*", - 'calibratePanel'}, - {"ResetBlueHue", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), - calibration, - "Reset to default. *button*", - 'calibratePanel'}, - {"ResetBlueSaturation", - false,false,true,false,true,false, - reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), - calibration, - "Reset to default. *button*", - 'calibratePanel'}, - {"Pick", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Help/Shortcuts/SetPick=Set Pick Flag"), - photoActions, - "*button*"}, - {"Reject", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Help/Shortcuts/SetReject=Set Rejected Flag"), - photoActions, - "*button*"}, - {"Next", - false,false,true,false,true,false, - LOC("$$$/AgDevelopShortcuts/Next_Photo=Next Photo"), - photoActions, - "*button*"}, - {"Prev", - false,false,true,false,true,false, - LOC("$$$/AgDevelopShortcuts/Previous_Photo=Previous Photo"), - photoActions, - "*button*"}, - {"Select1Left", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), - 'Photo Actions', - "Extend selection one picture to the left. *button*"}, - {"Select1Right", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), - 'Photo Actions', - "Extend selection one picture to the right. *button*"}, - {"VirtualCopy", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Bezel/CreateVirtualCopy=Create Virtual Copy"):gsub('&',''), - photoActions, - "Creates a virtual copy for each of the currently selected photos and videos. The new virtual copies will be selected. *button*"}, - {"RemoveFlag", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetPick/Unflagged=Unflagged"):gsub('&',''), - photoActions, - "*button*"}, - {"IncreaseRating", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/IncreaseRating=Increase Rating"), - photoActions, - "*button*"}, - {"DecreaseRating", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/DecreaseRating=Decrease Rating"), - photoActions, - "*button*"}, - {"SetRating0", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), - photoActions, - "*button*"}, - {"SetRating1", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), - photoActions, - "*button*"}, - {"SetRating2", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), - photoActions, - "*button*"}, - {"SetRating3", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), - photoActions, - "*button*"}, - {"SetRating4", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), - photoActions, - "*button*"}, - {"SetRating5", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), - photoActions, - "*button*"}, - {"ToggleBlue", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelBlue=Blue")), - photoActions, - "*button*"}, - {"ToggleGreen", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelGreen=Green")), - photoActions, - "*button*"}, - {"ToggleRed", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelRed=Red")), - photoActions, - "*button*"}, - {"TogglePurple", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelPurple=Purple")), - photoActions, - "*button*"}, - {"ToggleYellow", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelYellow=Yellow")), - photoActions, - "*button*"}, - {"ResetAll", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/Ops/ResetSettings=Reset Settings"), - photoActions, - "Reset to defaults. *button*"}, - {"ResetLast", - false,false,true,false,true,false, - reset..' '..LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified"):gsub(':',''), - photoActions, - "Resets the last parameter that was adjusted by an encoder or fader to default. *button*"}, - {"IncrementLastDevelopParameter", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 Increase: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), - photoActions, - "Increments the last parameter that was adjusted by an encoder or fader. *button*"}, - {"DecrementLastDevelopParameter", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 Decrease: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), - photoActions, - "Decrements the last parameter that was adjusted by an encoder or fader. *button*"}, - {"Undo", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawController/SoftProofingVirtualCopyPrompt/Undo=Undo"), - photoActions, - "*button*"}, - {"Redo", - false,false,true,false,true,false, - LOC("$$$/Bezel/RedoTitle=Redo"), - photoActions, - "*button*"}, - {"CopySettings", - false,false,true,false,true,false, - "Copy Settings", - photoActions, - "Copies all develop settings. Application will remember last copy operation and use that for all paste operations until a new *Copy Settings* is done or the application is restarted. *button*"}, - {"PasteSettings", - false,false,true,false,true,false, - LOC("$$$/AgCameraRawNamedSettings/Ops/PasteSettings=Paste Settings"), - photoActions, - "Pastes all develop settings. *button*"}, - {"PasteSelectedSettings", - false,false,true,false,true,false, - "Paste Selected Settings", - photoActions, - "Pastes only those settings checked in the **Options⇢Paste Selections** dialog. *button*"}, - {"Preset_1", - false,false,true,false,true,false, - developPreset.." 1", - developPresets, - ""}, - {"Preset_2", - false,false,true,false,true,false, - developPreset.." 2", - developPresets, - ""}, - {"Preset_3", - false,false,true,false,true,false, - developPreset.." 3", - developPresets, - ""}, - {"Preset_4", - false,false,true,false,true,false, - developPreset.." 4", - developPresets, - ""}, - {"Preset_5", - false,false,true,false,true,false, - developPreset.." 5", - developPresets, - ""}, - {"Preset_6", - false,false,true,false,true,false, - developPreset.." 6", - developPresets, - ""}, - {"Preset_7", - false,false,true,false,true,false, - developPreset.." 7", - developPresets, - ""}, - {"Preset_8", - false,false,true,false,true,false, - developPreset.." 8", - developPresets, - ""}, - {"Preset_9", - false,false,true,false,true,false, - developPreset.." 9", - developPresets, - ""}, - {"Preset_10", - false,false,true,false,true,false, - developPreset.." 10", - developPresets, - ""}, - {"Preset_11", - false,false,true,false,true,false, - developPreset.." 11", - developPresets, - ""}, - {"Preset_12", - false,false,true,false,true,false, - developPreset.." 12", - developPresets, - ""}, - {"Preset_13", - false,false,true,false,true,false, - developPreset.." 13", - developPresets, - ""}, - {"Preset_14", - false,false,true,false,true,false, - developPreset.." 14", - developPresets, - ""}, - {"Preset_15", - false,false,true,false,true,false, - developPreset.." 15", - developPresets, - ""}, - {"Preset_16", - false,false,true,false,true,false, - developPreset.." 16", - developPresets, - ""}, - {"Preset_17", - false,false,true,false,true,false, - developPreset.." 17", - developPresets, - ""}, - {"Preset_18", - false,false,true,false,true,false, - developPreset.." 18", - developPresets, - ""}, - {"Preset_19", - false,false,true,false,true,false, - developPreset.." 19", - developPresets, - ""}, - {"Preset_20", - false,false,true,false,true,false, - developPreset.." 20", - developPresets, - ""}, - {"local_Temperature", - false,false,true,true,false,false, - "Local Temperature (PV2012)", - localizedAdjustments, - "Adjust Temperature for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Tint", - false,false,true,true,false,false, - "Local Tint (PV2012)", - localizedAdjustments, - "Adjust Tint for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Exposure", - false,false,true,true,false,false, - "Local Exposure (PV2010 and PV2012)", - localizedAdjustments, - "Adjust Exposure for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Contrast", - false,false,true,true,false,false, - "Local Contrast (PV2010 and PV2012)", - localizedAdjustments, - "Adjust Contrast for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Highlights", - false,false,true,true,false,false, - "Local Highlights (PV2012)", - localizedAdjustments, - "Adjust Highlights for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Shadows", - false,false,true,true,false,false, - "Local Shadows (PV2012)", - localizedAdjustments, - "Adjust Shadows for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Clarity", - false,false,true,true,false,false, - "Local Clarity (PV2010 and PV2012)", - localizedAdjustments, - "Adjust Clarity for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Saturation", - false,false,true,true,false,false, - "Local Saturation (PV2010 and PV2012)", - localizedAdjustments, - "Adjust Saturation for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Sharpness", - false,false,true,true,false,false, - "Local Sharpness (PV2010 and PV 2012)", - localizedAdjustments, - "Adjust Sharpness for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_LuminanceNoise", - false,false,true,true,false,false, - "Local Luminance Noise (PV2012)", - localizedAdjustments, - "Adjust Luminance Noise for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Moire", - false,false,true,true,false,false, - "Local Moire (PV2012)", - localizedAdjustments, - "Adjust Moire for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_Defringe", - false,false,true,true,false,false, - "Local Defringe (PV2012)", - localizedAdjustments, - "Adjust Defringe for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"local_ToningLuminance", - false,false,true,true,false,false, - "Local Toning Luminance (PV2010)", - localizedAdjustments, - "Adjust Toning Luminance for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, - {"Resetlocal_Temperature", - false,false,true,false,true,false, - "Reset Local Temperature (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Tint", - false,false,true,false,true,false, - "Reset Local Tint (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Exposure", - false,false,true,false,true,false, - "Reset Local Exposure (PV2010 and PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Contrast", - false,false,true,false,true,false, - "Reset Local Contrast (PV2010 and PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Highlights", - false,false,true,false,true,false, - "Reset Local Highlights (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Shadows", - false,false,true,false,true,false, - "Reset Local Shadows (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Clarity", - false,false,true,false,true,false, - "Reset Local Clarity (PV2010 and PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Saturation", - false,false,true,false,true,false, - "Reset Local Saturation (PV2010 and PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Sharpness", - false,false,true,false,true,false, - "Reset Local Sharpness (PV2010 and PV 2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_LuminanceNoise", - false,false,true,false,true,false, - "Reset Local Luminance Noise (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Moire", - false,false,true,false,true,false, - "Reset Local Moire (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_Defringe", - false,false,true,false,true,false, - "Reset Local Defringe (PV2012)", - localizedAdjustments, - "Reset to default. *button*"}, - {"Resetlocal_ToningLuminance", - false,false,true,false,true,false, - "Reset Local Toning Luminance (PV2010)", - localizedAdjustments, - "Reset to default. *button*"}, - {"EnableCircularGradientBasedCorrections", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), - localizedAdjustments, - "Enable or disable radial filter. *button*"}, - {"EnableGradientBasedCorrections", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), - localizedAdjustments, - "Enable or disable graduated filter. *button*"}, - {"EnablePaintBasedCorrections", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), - localizedAdjustments, - "Enable or disable brush adjustments. *button*"}, - {"EnableRedEye", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), - localizedAdjustments, - "Enable or disable red eye correction. *button*"}, - {"EnableRetouch", - true,true,true,false,true,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), - localizedAdjustments, - "Enable or disable spot removal. *button*"}, - {"RetouchInfo",true,true,false,false,true,false,"RetouchInfo"}, - {"ResetCircGrad", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), - localizedAdjustments, - "Delete radial filter. *button*"}, - {"ResetGradient", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), - localizedAdjustments, - "Delete graduated filter. *button*"}, - {"ResetBrushing", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), - localizedAdjustments, - "Delete brush adjustments. *button*"}, - {"ResetRedeye", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), - localizedAdjustments, - "Delete red eye correction. *button*"}, - {"ResetSpotRem", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), - localizedAdjustments, - "Delete spot removal. *button*"}, - {"ZoomInLargeStep", - false,false,true,false,true,false, - LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomIn=Zoom In"), - miscellaneous, - "*button*"}, - {"ZoomInSmallStep", - false,false,true,false,true,false, - LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomInSome=Zoom In Some"), - miscellaneous, - "*button*"}, - {"ZoomOutSmallStep", - false,false,true,false,true,false, - LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOutSome=Zoom Out Some"), - miscellaneous, - "*button*"}, - {"ZoomOutLargeStep", - false,false,true,false,true,false, - LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOut=Zoom Out"), - miscellaneous, - "*button*"}, - {"ToggleZoomOffOn", - false,false,true,false,true,false, - "Toggle Zoom Off/On", - miscellaneous, - "*button*"}, - {"orientation",true,true,false,false,true,false,"orientation"}, - {"CropConstrainToWarp",true,true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropConstrainToWarp=Constrain to Warp")}, - {"CropAngle", - true,true,true,true,false,true, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropAngle=Crop Angle"), - miscellaneous, - "Rotate crop rectangle. This control is constrained to picture boundaries even when \226\128\156constrain to image\226\128\157 is not selected. It also causes the aspect ratio of the crop to change. It may be better to use the [Perspective Rotate in the Lens Corrections](https://github.com/rsjaffe/MIDI2LR/wiki/Commands:-Lens-Correction) set of actions.", - 'crop'}, - {"CropBottom", - true,true,true,true,false,true, - crop..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), - miscellaneous, - "Adjust bottom of crop rectangle.", - 'crop'}, - {"CropLeft", - true,true,true,true,false,true, - crop..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), - miscellaneous, - "Adjust left side of crop rectangle.", - 'crop'}, - {"CropRight", - true,true,true,true,false,true, - crop..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), - miscellaneous, - "Adjust right side of crop rectangle.", - 'crop'}, - {"CropTop", - true,true,true,true,false,true, - crop..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), - miscellaneous, - "Adjust top of crop rectangle.", - 'crop'}, - {"ResetCrop", - false,false,true,false,true,false, - LOC("$$$/AgLibrary/Ops/ResetCrop=Reset Crop"), - miscellaneous, - "Reset the crop angle and frame for the current photo. *button*", - 'crop'}, - {"Loupe", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), - gotoToolModulePanel, - "Select Loupe View mode in Develop Module. Repeated press toggles in and out of Loupe View. *button*", - 'loupe'}, - {"CropOverlay", - false,false,true,false,true,false, - show..' '..crop, - gotoToolModulePanel, - "Select Crop Overlay mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"SpotRemoval", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), - gotoToolModulePanel, - "Select Spot Removal mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"RedEyeInfo",true,true,false,false,true,false,LOC("$$$/MIDI2LR/Parameters/RedEyeInfo=Red-Eye Information")}, - {"RedEye", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), - gotoToolModulePanel, - "Select Red Eye mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"GraduatedFilter", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), - gotoToolModulePanel, - "Select Graduated Filter mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"RadialFilter", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), - gotoToolModulePanel, - "Select Radial Filter View mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"AdjustmentBrush", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), - gotoToolModulePanel, - "Select Adjustment Brush mode in Develop Module. Repeated press toggles Loupe View. *button*"}, - {"SwToMlibrary", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), - gotoToolModulePanel, - "Switch to Library module. *button*"}, - {"SwToMdevelop", - false,false,true,false,true,false, - show..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), - gotoToolModulePanel, - "Switch to Develop module. *button*"}, - {"SwToMmap", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), - gotoToolModulePanel, - "Switch to Map module. *button*"}, - {"SwToMbook", - false,false,true,false,true,false, - show..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), - gotoToolModulePanel, - "Switch to Book module. *button*"}, - {"SwToMslideshow", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), - gotoToolModulePanel, - "Switch to Slideshow module. *button*"}, - {"SwToMprint", - false,false,true,false,true,false, - show..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), - gotoToolModulePanel, - "Switch to Print module. *button*"}, - {"SwToMweb", - false,false,true,false,true,false, - show..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), - gotoToolModulePanel, - "Switch to Web module. *button*"}, - {"RevealPanelAdjust", - false,false,true,false,true,false, - show..' '..basicTone, - gotoToolModulePanel, - "Open Basic Adjustments Panel in Develop Module. *button*"}, - {"RevealPanelTone", - false,false,true,false,true,false, - show..' '..toneCurve, - gotoToolModulePanel, - "Open Tone Curve Panel in Develop Module. *button*"}, - {"RevealPanelMixer", - false,false,true,false,true,false, - show..' '..colorAdjustments, - gotoToolModulePanel, - "Open Mixer Panel in Develop Module. *button*"}, - {"RevealPanelSplit", - false,false,true,false,true,false, - show..' '..splitToning, - gotoToolModulePanel, - "Open Split Toning Panel in Develop Module. *button*"}, - {"RevealPanelDetail", - false,false,true,false,true,false, - show..' '..detail, - gotoToolModulePanel, - "Open Detail Panel in Develop Module. *button*"}, - {"RevealPanelLens", - false,false,true,false,true,false, - show..' '..lensCorrections, - gotoToolModulePanel, - "Open Lens Corrections Panel in Develop Module. *button*"}, - {"RevealPanelEffects", - false,false,true,false,true,false, - show..' '..effects, - gotoToolModulePanel, - "Open Effects Panel in Develop Module. *button*"}, - {"RevealPanelCalibrate", - false,false,true,false,true,false, - show..' '..calibration, - gotoToolModulePanel, - "Open Camera Calibration Panel in Develop Module. *button*"}, - {"ShoVwloupe", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), - viewModes, - "Displays a single photo. Zoom levels up to 11:1 are available. *button*"}, - {"ShoVwgrid", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), - viewModes, - "Displays photos as thumbnails in cells, which can be viewed in compact and expanded sizes. *button*"}, - {"ShoVwcompare", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), - viewModes, - "Displays photos side by side so that you can evaluate them. *button*"}, - {"ShoVwsurvey", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), - viewModes, - "Displays the active photo with selected photos so that you can evaluate them. The active photo has the lightest colored cell. *button*"}, - {"ShoVwpeople", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), - viewModes, - "In the People view, the different faces are organized by people stacks. *button*"}, - {"ShoVwdevelop_loupe", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), - viewModes, - "*button*"}, - {"ShoVwdevelop_before_after_horiz", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), - viewModes, - "*button*"}, - {"ShoVwdevelop_before_after_vert", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), - viewModes, - "*button*"}, - {"ShoVwdevelop_before", - false,false,true,false,true,false, - primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), - viewModes, - "*button*"}, - {"ShoScndVwloupe", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), - viewModes, - "Shows Loupe view on the secondary screen, or hides the secondary screen if Loupe view was previously being shown. *button*"}, - {"ShoScndVwlive_loupe", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), - viewModes, - "Shows Live Loupe view on the secondary screen, or hides the secondary screen if Live Loupe view was previously being shown. *button*"}, - {"ShoScndVwlocked_loupe", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), - viewModes, - "Shows Locked Loupe view on the secondary screen, or hides the secondary screen if Locked Loupe view was previously being shown. *button*"}, - {"ShoScndVwgrid", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), - viewModes, - "Shows Grid view on the secondary screen, or hides the secondary screen if Grid view was previously being shown. *button*"}, - {"ShoScndVwcompare", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), - viewModes, - "Shows Compare view on the secondary screen, or hides the secondary screen if Compare view was previously being shown. *button*"}, - {"ShoScndVwsurvey", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), - viewModes, - "Shows Survey view on the secondary screen, or hides the secondary screen if Survey view was previously being shown. *button*"}, - {"ShoScndVwslideshow", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), - viewModes, - "Shows Slideshow view on the secondary screen, or hides the secondary screen if Slideshow view was previously being shown. *button*"}, - {"ToggleScreenTwo", - false,false,true,false,true,false, - secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), - viewModes, - "Toggles the the secondary window on/off. *button*"}, - {"profile1", - false,false,true,false,true,false, - profile.." 1", - profiles, - ""}, - {"profile2", - false,false,true,false,true,false, - profile.." 2", - profiles, - ""}, - {"profile3", - false,false,true,false,true,false, - profile.." 3", - profiles, - ""}, - {"profile4", - false,false,true,false,true,false, - profile.." 4", - profiles, - ""}, - {"profile5", - false,false,true,false,true,false, - profile.." 5", - profiles, - ""}, - {"profile6", - false,false,true,false,true,false, - profile.." 6", - profiles, - ""}, - {"profile7", - false,false,true,false,true,false, - profile.." 7", - profiles, - ""}, - {"profile8", - false,false,true,false,true,false, - profile.." 8", - profiles, - ""}, - {"profile9", - false,false,true,false,true,false, - profile.." 9", - profiles, - ""}, - {"profile10", - false,false,true,false,true,false, - profile.." 10", - profiles, - ""}, - {"TrimEnd",true,true,false,false,true,false,"TrimEnd"}, - {"TrimStart",true,true,false,false,true,false,"TrimStart"}, - } +local DataBase = { + {"ProcessVersion",'basicTone',true,false,false,true,false,LOC("$$$/AgDevelop/Menu/ProcessVersion=Process Version")}, + {"WhiteBalance",'basicTone',true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/WhiteBalance=White Balance")}, + {"WhiteBalanceAs_Shot", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/AsShot=As Shot"), + basicTone, + "Use Temperature and Tint as determined by camera. *button*", + 'adjustPanel'}, + {"WhiteBalanceAuto", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Auto=Auto"), + basicTone, + "Have Lightroom determine Temperature and Tint. *button*", + 'adjustPanel'}, + {"WhiteBalanceCloudy", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Cloudy=Cloudy"), + basicTone, + "Use cloudy white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceDaylight", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Daylight=Daylight"), + basicTone, + "Use daylight white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceFlash", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Flash=Flash"), + basicTone, + "Use flash white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceFluorescent", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Fluorescent=Fluorescent"), + basicTone, + "Use fluorescent white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceShade", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Shade=Shade"), + basicTone, + "Use shade white balance. *button*", + 'adjustPanel'}, + {"WhiteBalanceTungsten", + false,false,true,false,true,true, + whiteBalance..' '..LOC("$$$/AgCameraRawUI/WhiteBalance/Tungsten=Tungsten"), + basicTone, + "Use tungsten white balance. *button*", + 'adjustPanel'}, + {"AutoBrightness",'basicTone',true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoBrightness=Automatic Brightness")}, + {"AutoContrast",'basicTone',true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoContrast=Automatic Contrast")}, + {"AutoExposure",'basicTone',true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoExposure=Automatic Exposure")}, + {"AutoShadows",'basicTone',true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/AutoShadows=Automatic Shadows")}, + {"Temperature", + 'basicTone',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), + basicTone, + "Fine-tunes the white balance using the Kelvin color temperature scale. Move the slider to the left to make the photo appear cooler, and right to warm the photo colors.", + 'adjustPanel'}, + {"Tint", + 'basicTone',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), + basicTone, + "Fine-tunes the white balance to compensate for a green or magenta tint. Move the slider to the left (negative values) to add green to the photo; move it to the right (positive values) to add magenta.", + 'adjustPanel'}, + {"Exposure", + 'basicTone',true,true,true,false,false, + LOC("$$$/AgCameraRawUI/Exposure=Exposure"), + basicTone, + "Sets the overall image brightness. Adjust the slider until the photo looks good and the image is the desired brightness.", + 'adjustPanel'}, + {"Exposure2012",false,true,false,false,false,false,"Exposure"}, + {"Contrast", + 'basicTone',true,true,true,false,false, + LOC("$$$/AgCameraRawUI/Contrast=Contrast"), + basicTone, + "Increases or decreases image contrast, mainly affecting midtones. When you increase contrast, the middle-to-dark image areas become darker, and the middle-to-light image areas become lighter. The image tones are inversely affected as you decrease contrast.", + 'adjustPanel'}, + {"Contrast2012",false,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Contrast=Contrast")}, + {"Highlights", + 'basicTone',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..'(Recovery in PV2003 and PV2010)', + basicTone, + "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.", + 'adjustPanel'}, + {"Brightness", + 'basicTone',true,false,false,false,false, + LOC("$$$/AgCameraRawUI/Brightness=Brightness"), + basicTone, + "No effect unless in PV2003 or PV2010)", + 'adjustPanel'}, + {"HighlightRecovery",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HighlightRecovery=Highlight Recovery")..' (PV2003 and PV2010)'}, + {"Shadows", + false,false,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..'(Fill Light in PV2003 and PV2010)', + basicTone, + "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.", + 'adjustPanel'}, + {"Shadows2012",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")},--NOT fill light in 2003 and 2010 + {"FillLight",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/FillLight=Fill Light")..' (PV2003 and PV2010)'}, + {"Whites", + false,false,true,true,false,false, + LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)', + basicTone, + "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping.", + 'adjustPanel'}, + {"Whites2012",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)'}, + {"Blacks", + false,false,true,true,false,false, + LOC("$$$/AgCameraRawUI/Blacks=Blacks"), + basicTone, + "Specifies which image values map to black. Moving the slider to the right increases the areas that become black, sometimes creating the impression of increased image contrast. The greatest effect is in the shadows, with much less change in the midtones and highlights.", + 'adjustPanel'}, + {"Blacks2012",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/Blacks=Blacks")}, + {"Clarity", + 'basicTone',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), + basicTone, + "Adds depth to an image by increasing local contrast. When using this setting, it is best to zoom in to 100% or greater.", + 'adjustPanel'}, + {"Clarity2012",false,true,false,false,false,false,"Clarity"}, + {"Vibrance", + 'basicTone',true,true,true,false,false, + LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), + basicTone, + "Adjusts the saturation so that clipping is minimized as colors approach full saturation, changing the saturation of all lower-saturated colors with less effect on the higher-saturated colors. Vibrance also prevents skin tones from becoming over saturated.", + 'adjustPanel'}, + {"Saturation", + 'basicTone',true,true,true,false,false, + LOC("$$$/AgCameraRawUI/Saturation=Saturation"), + basicTone, + "Adjusts the saturation of all image colors equally from -100 (monochrome) to +100 (double the saturation).", + 'adjustPanel'}, + {"ResetTemperature", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), + basicTone, + "", + 'adjustPanel'}, + {"ResetTint", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Tint=Tint"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetExposure", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Exposure=Exposure"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetContrast", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Contrast=Contrast"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetHighlights", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetShadows", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetWhites", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Whites=Whites"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetBlacks", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Blacks=Blacks"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetClarity", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Clarity=Clarity"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetVibrance", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Vibrance=Vibrance"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ResetSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawUI/Saturation=Saturation"), + basicTone, + "Reset to default. *button*", + 'adjustPanel'}, + {"ToneCurve",'toneCurve',true,false,false,true,false,toneCurve}, + {"ToneCurveName",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurveName2012",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012Blue",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012Green",false,true,false,false,true,false,"ToneCurve"}, + {"ToneCurvePV2012Red",false,true,false,false,true,false,"ToneCurve"}, + {"ParametricDarks", + 'toneCurve',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), + toneCurve, + "Adjust darks.", + 'tonePanel'}, + {"ParametricLights", + 'toneCurve',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), + toneCurve, + "Adjust lights.", + 'tonePanel'}, + {"ParametricShadows", + 'toneCurve',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), + toneCurve, + "Adjust shadows.", + 'tonePanel'}, + {"ParametricHighlights", + 'toneCurve',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), + toneCurve, + "Adjust highlights.", + 'tonePanel'}, + {"ParametricShadowSplit", + 'toneCurve',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), + toneCurve, + "Move division between shadows and darks.", + 'tonePanel'}, + {"ParametricMidtoneSplit", + 'toneCurve',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), + toneCurve, + "Move division between darks and lights.", + 'tonePanel'}, + {"ParametricHighlightSplit", + 'toneCurve',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), + toneCurve, + "Move division between lights and highlights.", + 'tonePanel'}, + {"ResetParametricDarks", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneDarks=Dark Tones"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricLights", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneLights=Light Tones"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricShadows", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadows=Shadow Tones"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricHighlights", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlights=Highlight Tones"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricShadowSplit", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneShadowSplit=Shadow Split"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricMidtoneSplit", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneMidtoneSplit=Midtone Split"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetParametricHighlightSplit", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ToneHighlightSplit=Highlight Split"), + toneCurve, + "Reset to default. *button*", + 'tonePanel'}, + {"EnableColorAdjustments", + 'colorAdjustments',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableColorAdjustments=Enable Color Adjustments"), + colorAdjustments, + "Enable or disable color adjustments. *button*", + 'tonePanel'}, + {"SaturationAdjustmentRed", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentOrange", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentYellow", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentGreen", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentAqua", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentBlue", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentPurple", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"SaturationAdjustmentMagenta", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), + colorAdjustments, + "Changes the color vividness or purity of the color.", + 'tonePanel'}, + {"HueAdjustmentRed", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentOrange", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentYellow", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentGreen", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentAqua", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentBlue", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentPurple", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"HueAdjustmentMagenta", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), + colorAdjustments, + "Changes the color.", + 'tonePanel'}, + {"LuminanceAdjustmentRed", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentOrange", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentYellow", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentGreen", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentAqua", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentBlue", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentPurple", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"LuminanceAdjustmentMagenta", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), + colorAdjustments, + "Changes the brightness of the color range.", + 'tonePanel'}, + {"ConvertToGrayscale", + 'colorAdjustments',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ConvertToGrayscale=Convert to Grayscale"), + colorAdjustments, + "Enable/disable gray scale conversion. *button*", + 'tonePanel'}, + {"EnableGrayscaleMix", + 'colorAdjustments',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGrayscaleMix=Enable Grayscale Mix"), + colorAdjustments, + "Enable or disable black and white mix. *button*", + 'tonePanel'}, + {"GrayMixerRed", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), + colorAdjustments, + "Red contribution to luminance.", + 'tonePanel'}, + {"GrayMixerOrange", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), + colorAdjustments, + "Orange contribution to luminance.", + 'tonePanel'}, + {"GrayMixerYellow", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), + colorAdjustments, + "Yellow contribution to luminance.", + 'tonePanel'}, + {"GrayMixerGreen", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), + colorAdjustments, + "Green contribution to luminance.", + 'tonePanel'}, + {"GrayMixerAqua", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), + colorAdjustments, + "Aqua contribution to luminance.", + 'tonePanel'}, + {"GrayMixerBlue", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), + colorAdjustments, + "Blue contribution to luminance.", + 'tonePanel'}, + {"GrayMixerPurple", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), + colorAdjustments, + "Purple contribution to luminance.", + 'tonePanel'}, + {"GrayMixerMagenta", + 'colorAdjustments',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), + colorAdjustments, + "Magenta contribution to luminance.", + 'tonePanel'}, + {"ResetSaturationAdjustmentRed", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentRed=Saturation Adjustment Red"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentOrange", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentOrange=Saturation Adjustment Orange"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentYellow", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentYellow=Saturation Adjustment Yellow"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentGreen", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentGreen=Saturation Adjustment Green"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentAqua", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentAqua=Saturation Adjustment Aqua"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentBlue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentBlue=Saturation Adjustment Blue"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentPurple", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentPurple=Saturation Adjustment Purple"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetSaturationAdjustmentMagenta", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SaturationAdjustmentMagenta=Saturation Adjustment Magenta"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentRed", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentRed=Hue Adjustment Red"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentOrange", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentOrange=Hue Adjustment Orange"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentYellow", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentYellow=Hue Adjustment Yellow"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentGreen", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentGreen=Hue Adjustment Green"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentAqua", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentAqua=Hue Adjustment Aqua"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentBlue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentBlue=Hue Adjustment Blue"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentPurple", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentPurple=Hue Adjustment Purple"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetHueAdjustmentMagenta", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HueAdjustmentMagenta=Hue Adjustment Magenta"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentRed", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentRed=Luminance Adjustment Red"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentOrange", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentOrange=Luminance Adjustment Orange"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentYellow", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentYellow=Luminance Adjustment Yellow"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentGreen", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentGreen=Luminance Adjustment Green"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentAqua", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentAqua=Luminance Adjustment Aqua"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentBlue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentBlue=Luminance Adjustment Blue"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentPurple", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentPurple=Luminance Adjustment Purple"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetLuminanceAdjustmentMagenta", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceAdjustmentMagenta=Luminance Adjustment Magenta"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerRed", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerRed=Gray Mixer Red"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerOrange", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerOrange=Gray Mixer Orange"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerYellow", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerYellow=Gray Mixer Yellow"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerGreen", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerGreen=Gray Mixer Green"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerAqua", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerAqua=Gray Mixer Aqua"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerBlue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerBlue=Gray Mixer Blue"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerPurple", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerPurple=Gray Mixer Purple"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"ResetGrayMixerMagenta", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrayMixerMagenta=Gray Mixer Magenta"), + resetColorAdjustments, + "Reset to default. *button*", + 'tonePanel'}, + {"EnableSplitToning", + 'splitToningPanel',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSplitToning=Enable Split Toning"), + splitToning, + "Enable or disable split toning effects. *button*", + 'splitToningPanel'}, + {"SplitToningShadowHue", + 'splitToningPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), + splitToning, + "Color of the tone for shadows.", + 'splitToningPanel'}, + {"SplitToningShadowSaturation", + 'splitToningPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), + splitToning, + "Strength of the effect.", + 'splitToningPanel'}, + {"SplitToningHighlightHue", + 'splitToningPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), + splitToning, + "Color of the tone for highlights.", + 'splitToningPanel'}, + {"SplitToningHighlightSaturation", + true,true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), + splitToning, + "Strength of the effect.", + 'splitToningPanel'}, + {"SplitToningBalance", + 'splitToningPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), + splitToning, + "Set the Balance slider to balance the effect between the Highlight and Shadow sliders. Positive values increase the effect of the Highlight sliders; negative values increase the effect of the Shadow sliders.", + 'splitToningPanel'}, + {"ResetSplitToningShadowHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowHue=Shadow Hue"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"ResetSplitToningShadowSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningShadowSaturation=Shadow Saturation"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"ResetSplitToningHighlightHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightHue=Highlight Hue"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"ResetSplitToningHighlightSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"ResetSplitToningBalance", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningBalance=Split Toning Balance"), + splitToning, + "Reset to default. *button*", + 'splitToningPanel'}, + {"EnableDetail", + 'detailPanel',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableDetail=Enable Detail"), + detail, + "Enable or disable noise reduction and sharpening. *button*", + 'detailPanel'}, + {"Sharpness", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), + detail, + "Adjusts edge definition. Increase the Amount value to increase sharpening. A value of zero (0) turns off sharpening. In general, set Amount to a lower value for cleaner images. The adjustment locates pixels that differ from surrounding pixels based on the threshold you specify and increases the pixels’ contrast by the amount you specify.", + 'detailPanel'}, + {"SharpenRadius", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), + detail, + "Adjusts the size of the details that sharpening is applied to. Photos with very fine details may need a lower radius setting. Photos with larger details may be able to use a larger radius. Using too large a radius generally results in unnatural-looking results.", + 'detailPanel'}, + {"SharpenDetail", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), + detail, + "Adjusts how much high-frequency information is sharpened in the image and how much the sharpening process emphasizes edges. Lower settings primarily sharpen edges to remove blurring. Higher values are useful for making the textures in the image more pronounced.", + 'detailPanel'}, + {"SharpenEdgeMasking", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), + detail, + "Controls an edge mask. With a setting of zero (0), everything in the image receives the same amount of sharpening. With a setting of 100, sharpening is mostly restricted to those areas near the strongest edges.", + 'detailPanel'}, + {"LuminanceSmoothing", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), + detail, + "Reduces luminance noise.", + 'detailPanel'}, + {"LuminanceNoiseReductionDetail", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), + detail, + "Controls the luminance noise threshold. Useful for very noisy photos. Higher values preserve more detail but may produce noisier results. Lower values produce cleaner results but may also remove some detail.", + 'detailPanel'}, + {"LuminanceNoiseReductionContrast", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), + detail, + "Controls luminance contrast. Useful for very noisy photos. Higher values preserve contrast but may produce noisy blotches or mottling. Lower values produce smoother results but may also have less contrast.", + 'detailPanel'}, + {"ColorNoiseReduction", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), + detail, + "Reduces color noise.", + 'detailPanel'}, + {"ColorNoiseReductionDetail", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), + detail, + "Controls the color noise threshold. Higher values protect thin, detailed color edges but may result in color speckling. Lower values remove color speckles but may result in color bleeding.", + 'detailPanel'}, + {"ColorNoiseReductionSmoothness", + 'detailPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), + detail, + "Increasing this can prevent artifacts especially in the lower frequencies.", + 'detailPanel'}, + {"ResetSharpness", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgDevelop/Localized/Sharpness=Sharpness"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetSharpenRadius", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenRadius=Sharpen Radius"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetSharpenDetail", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenDetail=Sharpen Detail"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetSharpenEdgeMasking", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SharpenEdgeMasking=Sharpen Edge Masking"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetLuminanceSmoothing", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceSmoothing=Luminance Smoothing"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetLuminanceNoiseReductionDetail", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionDetail=Luminance Detail"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetLuminanceNoiseReductionContrast", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LuminanceNoiseReductionContrast=Luminance Contrast"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetColorNoiseReduction", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReduction=Color Noise Reduction"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetColorNoiseReductionDetail", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionDetail=Color Noise Reduction Detail"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"ResetColorNoiseReductionSmoothness", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ColorNoiseReductionSmoothness=Color Noise Reduction Smoothness"), + detail, + "Reset to default. *button*", + 'detailPanel'}, + {"EnableLensCorrections", + 'lensCorrectionsPanel',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableLensCorrections=Enable Lens Corrections"), + lensCorrections, + "Enable or disable all lens corrections. *button*", + 'lensCorrectionsPanel'}, + {"LensProfileEnable", + 'lensCorrectionsPanel',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileEnable=Lens Profile Enable"), + lensCorrections, + "Automatic correction using a stored lens profile.", + 'lensCorrectionsPanel'}, + {"LensProfileSetup",'lensCorrectionsPanel',true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileSetup=Lens Profile Setup")}, + {"AutoLateralCA", + 'lensCorrectionsPanel',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RemoveChromaticAberration=Remove Chromatic Aberration"), + lensCorrections, + "Automatically corrects blue-yellow and red-green fringes (lateral chromatic aberration).", + 'lensCorrectionsPanel'}, + {"ChromaticAberrationB",'lensCorrectionsPanel',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationB=Blue Chromatic Aberration")}, + {"ChromaticAberrationR",'lensCorrectionsPanel',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ChromaticAberrationR=Red Chromatic Aberration")}, + {"PerspectiveUpright",'lensCorrectionsPanel',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveUpright=Perspective Upright")}, + {"UprightOff", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueOff=Off"), + lensCorrections, + "Upright mode off. *button*", + 'lensCorrectionsPanel'}, + {"UprightAuto", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueAuto=Auto"), + lensCorrections, + "Balanced level, aspect ratio, and perspective corrections. *button*", + 'lensCorrectionsPanel'}, + {"UprightLevel", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevel=Level"), + lensCorrections, + "Perspective corrections are weighted toward horizontal details. *button*", + 'lensCorrectionsPanel'}, + {"UprightVertical", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueLevelVertical=Vertical"), + lensCorrections, + "Perspective corrections are weighted toward vertical details. *button*", + 'lensCorrectionsPanel'}, + {"UprightFull", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/UprightPerspectiveCorrection=Perspective Correction")..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ValueFull=Full"), + lensCorrections, + "Combination of full Level, Vertical, and Auto perspective corrections. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveUpright", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/Ops/ResetUprightSettings=Reset Upright Settings"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"LensProfileDistortionScale", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), + lensCorrections, + "The default value 100 applies 100% of the distortion correction in the profile. Values over 100 apply greater correction to the distortion; values under 100 apply less correction to the distortion.", + 'lensCorrectionsPanel'}, + {"LensProfileChromaticAberrationScale", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), + lensCorrections, + "The default value 100 applies 100% of the chromatic aberration correction in the profile. Values over 100 apply greater correction to color fringing; values under 100 apply less correction to color fringing.", + 'lensCorrectionsPanel'}, + {"LensProfileVignettingScale", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), + lensCorrections, + "The default value 100 applies 100% of the vignetting correction in the profile. Values over 100 apply greater correction to vignetting; values under 100 apply less correction to vignetting.", + 'lensCorrectionsPanel'}, + {"ResetLensProfileDistortionScale", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileDistortionScale=Lens Profile Distortion Scale"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetLensProfileChromaticAberrationScale", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileChromaticAberrationScale=Lens Profile Chromatic Aberration Scale"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetLensProfileVignettingScale", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensProfileVignettingScale=Lens Profile Vignetting Scale"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"DefringePurpleAmount", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), + lensCorrections, + "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units.", + 'lensCorrectionsPanel'}, + {"DefringePurpleHueLo", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, + "", + 'lensCorrectionsPanel'}, + {"DefringePurpleHueHi", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, + "", + 'lensCorrectionsPanel'}, + {"DefringeGreenAmount", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), + lensCorrections, + "You can adjust the affected purple or green hue range using the Purple Hue and the Green Hue sliders. Drag either end-point control to expand or decrease the range of affected colors. Drag between the end point controls to move the hue range. The minimum space between end points is ten units. The default spacing for the green sliders is narrow to protect green/yellow image colors, like foliage.", + 'lensCorrectionsPanel'}, + {"DefringeGreenHueLo", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, + "", + 'lensCorrectionsPanel'}, + {"DefringeGreenHueHi", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, + "", + 'lensCorrectionsPanel'}, + {"ResetDefringePurpleAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeAmount=Defringe Purple Amount"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringePurpleHueLo", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringePurpleHueHi", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PurpleDefringeHueLo=Defringe Purple Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringeGreenAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeAmount=Defringe Green Amount"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringeGreenHueLo", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/Low=Low"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetDefringeGreenHueHi", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenDefringeHueLo=Defringe Green Hue")..' - '..LOC("$$$/Slideshow/Panels/PanAndZoom/High=High"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"LensManualDistortionAmount", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), + lensCorrections, + "Drag to the right to correct barrel distortion and straighten lines that bend away from the center. Drag to the left to correct pincushion distortion and straighten lines that bend toward the center.", + 'lensCorrectionsPanel'}, + {"PerspectiveVertical", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), + lensCorrections, + "Corrects perspective caused by tilting the camera up or down. Makes vertical lines appear parallel.", + 'lensCorrectionsPanel'}, + {"PerspectiveHorizontal", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), + lensCorrections, + "Corrects perspective caused by angling the camera left or right. Makes horizontal lines parallel.", + 'lensCorrectionsPanel'}, + {"PerspectiveRotate", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), + lensCorrections, + "Corrects for camera tilt. Uses the center of the original, uncropped photo as the axis of rotation.", + 'lensCorrectionsPanel'}, + {"PerspectiveScale", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), + lensCorrections, + "Adjusts the image scale up or down. Helps to remove empty areas caused by perspective corrections and distortions. Displays areas of the image that extend beyond the crop boundary.", + 'lensCorrectionsPanel'}, + {"PerspectiveAspect", + 'lensCorrectionsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), + lensCorrections, + "Adjusts the amount the image is stretched horizontally or vertically.", + 'lensCorrectionsPanel'}, + {"VignetteAmount", + 'lensCorrectionsPanel',true,true,true,false,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), + lensCorrections, + "Sets the amount of lightening or darkening along the edges of an image. Corrects images that have darkened corners caused by lens faults or improper lens shading.", + 'lensCorrectionsPanel'}, + {"VignetteMidpoint", + 'lensCorrectionsPanel',true,true,true,false,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), + lensCorrections, + "Specifies the width of area affected by the Amount slider. Specify a lower number to affect more of the image. Specify a higher number to restrict the effect to the edges of the image.", + 'lensCorrectionsPanel'}, + {"ResetLensManualDistortionAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/LensManualDistortionAmount=Lens Manual Distortion Amount"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveVertical", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveVertical=Perspective Vertical"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveHorizontal", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveHorizontal=Perspective Horizontal"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveRotate", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveRotate=Perspective Rotate"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveScale", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveScale=Perspective Scale"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetPerspectiveAspect", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PerspectiveAspect=Perspective Aspect"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetVignetteAmount", + false,false,true,false,true,true, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteAmount=Vignette Amount"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"ResetVignetteMidpoint", + false,false,true,false,true,true, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/VignetteMidpoint=Vignette Midpoint"), + lensCorrections, + "Reset to default. *button*", + 'lensCorrectionsPanel'}, + {"EnableEffects", + 'effectsPanel',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableEffects=Enable Effects"), + effects, + "Enable or disable effects. *button*", + 'effectsPanel'}, + {"Dehaze", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), + effects, + "Controls the amount of haze in a photograph. Drag to the right to remove haze; drag to the left to add haze.", + 'effectsPanel'}, + {"PostCropVignetteAmount", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), + effects, + "Negative values darken the corners of the photo. Positive values lighten the corners.", + 'effectsPanel'}, + {"PostCropVignetteMidpoint", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), + effects, + "Lower values apply the Amount adjustment to a larger area away from the corners. Higher values restrict the adjustment to an area closer to the corners.", + 'effectsPanel'}, + {"PostCropVignetteFeather", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), + effects, + "Lower values reduce softening between the vignette and the vignette’s surrounding pixels. Higher values increase the softening.", + 'effectsPanel'}, + {"PostCropVignetteRoundness", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), + effects, + "Lower values make the vignette effect more oval. Higher values make the vignette effect more circular.", + 'effectsPanel'}, + {"PostCropVignetteStyle", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), + effects, + "Cycles through: **Highlight Priority** Enables highlight recovery but can lead to color shifts in darkened areas of a photo. Suitable for photos with bright image areas such as clipped specular highlights. **Color Priority** Minimizes color shifts in darkened areas of a photo but cannot perform highlight recovery. **Paint Overlay** Mixes the cropped image values with black or white pixels. Can result in a flat appearance.", + 'effectsPanel'}, + {"PostCropVignetteHighlightContrast", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), + effects, + "(Highlight Priority and Color Priority only) Controls the degree of highlight contrast preserved when Amount is negative. Suitable for photos with small highlights, such as candles and lamps.", + 'effectsPanel'}, + {"GrainAmount", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), + effects, + "Controls the amount of grain applied to the image. Drag to the right to increase the amount. Set to zero to disable grain.", + 'effectsPanel'}, + {"GrainSize", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), + effects, + "Controls grain particle size. At sizes of 25 or greater, blue is added to make the effect look better with noise reduction.", + 'effectsPanel'}, + {"GrainFrequency", + 'effectsPanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), + effects, + " Controls the regularity of the grain. Drag to the left to make the grain more uniform; drag to the right to make the grain more uneven.", + 'effectsPanel'}, + {"ResetDehaze", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/DehazeAmount=Dehaze Amount"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteAmount=Post Crop Vignette Amount"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteMidpoint", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteMidpoint=Post Crop Vignette Midpoint"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteFeather", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteFeather=Post Crop Vignette Feather"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteRoundness", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteRoundness=Post Crop Vignette Roundness"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteStyle", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteStyle=Post Crop Vignette Style"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetPostCropVignetteHighlightContrast", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/PostCropVignetteHighlightContrast=Post Crop Vignette Highlight Contrast"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetGrainAmount", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainAmount=Grain Amount"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetGrainSize", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainSize=Grain Size"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"ResetGrainFrequency", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GrainRoughness=Grain Roughness"), + effects, + "Reset to default. *button*", + 'effectsPanel'}, + {"EnableCalibration", + 'calibratePanel',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableCalibration=Enable Calibration"), + calibration, + "Enable or disable custom camera calibration. *button*", + 'calibratePanel'}, + {"CameraProfile",'calibratePanel',true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CameraProfile=Camera Profile")}, + {"Profile_Adobe_Standard", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/AdobeStandard=Adobe Standard"), + calibration, + "Applies the Adobe Standard profile. *button*", + 'calibratePanel'}, + {"Profile_Camera_Clear", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraClear=Camera Clear"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Deep", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraDeep=Camera Deep"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Landscape", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraLandscape=Camera Landscape"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Light", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraLight=Camera Light"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Neutral", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraNeutral=Camera Neutral"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Portrait", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraPortrait=Camera Portrait"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Standard", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraStandard=Camera Standard"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"Profile_Camera_Vivid", + false,false,true,false,true,true, + LOC("$$$/CRaw/Style/Profile/CameraVivid=Camera Vivid"), + calibration, + "These profiles attempt to match the camera manufacturer\226\128\153s color appearance under specific settings. *button*", + 'calibratePanel'}, + {"ShadowTint", + 'calibratePanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), + calibration, + "Corrects for any green or magenta tint in the shadow areas of the photo.", + 'calibratePanel'}, + {"RedHue", + 'calibratePanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), + calibration, + "For the red primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", + 'calibratePanel'}, + {"RedSaturation", + 'calibratePanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), + calibration, + "For the red primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", + 'calibratePanel'}, + {"GreenHue", + 'calibratePanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), + calibration, + "For the green primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", + 'calibratePanel'}, + {"GreenSaturation", + 'calibratePanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), + calibration, + "For the green primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", + 'calibratePanel'}, + {"BlueHue", + 'calibratePanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), + calibration, + "For the blue primary. Moving the Hue slider to the left (negative value) is similar to a counterclockwise move on the color wheel; moving it to the right (positive value) is similar to a clockwise move.", + 'calibratePanel'}, + {"BlueSaturation", + 'calibratePanel',true,true,true,false,false, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), + calibration, + "For the blue primary. Moving the Saturation slider to the left (negative value) desaturates the color; moving it to the right (positive value) increases saturation.", + 'calibratePanel'}, + {"ResetShadowTint", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/ShadowTintCalibration=Shadow Tint Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetRedHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedHueCalibration=Red Hue Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetRedSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/RedSaturationCalibration=Red Saturation Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetGreenHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenHueCalibration=Green Hue Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetGreenSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/GreenSaturationCalibration=Green Saturation Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetBlueHue", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueHueCalibration=Blue Hue Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"ResetBlueSaturation", + false,false,true,false,true,false, + reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/BlueSaturationCalibration=Blue Saturation Calibration"), + calibration, + "Reset to default. *button*", + 'calibratePanel'}, + {"Pick", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Help/Shortcuts/SetPick=Set Pick Flag"), + photoActions, + "*button*"}, + {"Reject", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Help/Shortcuts/SetReject=Set Rejected Flag"), + photoActions, + "*button*"}, + {"Next", + false,false,true,false,true,false, + LOC("$$$/AgDevelopShortcuts/Next_Photo=Next Photo"), + photoActions, + "*button*"}, + {"Prev", + false,false,true,false,true,false, + LOC("$$$/AgDevelopShortcuts/Previous_Photo=Previous Photo"), + photoActions, + "*button*"}, + {"Select1Left", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), + 'Photo Actions', + "Extend selection one picture to the left. *button*"}, + {"Select1Right", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Edit/AddToSelection=Add to Selection")..' '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), + 'Photo Actions', + "Extend selection one picture to the right. *button*"}, + {"VirtualCopy", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Bezel/CreateVirtualCopy=Create Virtual Copy"):gsub('&',''), + photoActions, + "Creates a virtual copy for each of the currently selected photos and videos. The new virtual copies will be selected. *button*"}, + {"RemoveFlag", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetPick/Unflagged=Unflagged"):gsub('&',''), + photoActions, + "*button*"}, + {"IncreaseRating", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/IncreaseRating=Increase Rating"), + photoActions, + "*button*"}, + {"DecreaseRating", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/DecreaseRating=Decrease Rating"), + photoActions, + "*button*"}, + {"SetRating0", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Filter/Stars=^1 Stars",'0'), + photoActions, + "*button*"}, + {"SetRating1", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating1=1 Star"):gsub('&',''), + photoActions, + "*button*"}, + {"SetRating2", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating2=&2 Stars"):gsub('&',''), + photoActions, + "*button*"}, + {"SetRating3", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating3=&3 Stars"):gsub('&',''), + photoActions, + "*button*"}, + {"SetRating4", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating4=&4 Stars"):gsub('&',''), + photoActions, + "*button*"}, + {"SetRating5", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Menu/Photo/SetRating/Win/Rating5=&5 Stars"):gsub('&',''), + photoActions, + "*button*"}, + {"ToggleBlue", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelBlue=Blue")), + photoActions, + "*button*"}, + {"ToggleGreen", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelGreen=Green")), + photoActions, + "*button*"}, + {"ToggleRed", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelRed=Red")), + photoActions, + "*button*"}, + {"TogglePurple", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelPurple=Purple")), + photoActions, + "*button*"}, + {"ToggleYellow", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Undo/ToggleColorLabel=Label ^1 Enable/Disable",LOC("$$$/LibraryImporter/ColorLabelYellow=Yellow")), + photoActions, + "*button*"}, + {"ResetAll", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/Ops/ResetSettings=Reset Settings"), + photoActions, + "Reset to defaults. *button*"}, + {"ResetLast", + false,false,true,false,true,false, + reset..' '..LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified"):gsub(':',''), + photoActions, + "Resets the last parameter that was adjusted by an encoder or fader to default. *button*"}, + {"IncrementLastDevelopParameter", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawController/TargetAdjustment/Increase=^1 Increase: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), + photoActions, + "Increments the last parameter that was adjusted by an encoder or fader. *button*"}, + {"DecrementLastDevelopParameter", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawController/TargetAdjustment/Decrease=^1 Decrease: ^2",'',LOC("$$$/LibraryUpgradeCatalogUtils/CatalogInfo/LastModified/Label=Last Modified")):gsub(':',''):gsub("^%s*(.-)%s*$", "%1"), + photoActions, + "Decrements the last parameter that was adjusted by an encoder or fader. *button*"}, + {"Undo", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawController/SoftProofingVirtualCopyPrompt/Undo=Undo"), + photoActions, + "*button*"}, + {"Redo", + false,false,true,false,true,false, + LOC("$$$/Bezel/RedoTitle=Redo"), + photoActions, + "*button*"}, + {"CopySettings", + false,false,true,false,true,false, + "Copy Settings", + photoActions, + "Copies all develop settings. Application will remember last copy operation and use that for all paste operations until a new *Copy Settings* is done or the application is restarted. *button*"}, + {"PasteSettings", + false,false,true,false,true,false, + LOC("$$$/AgCameraRawNamedSettings/Ops/PasteSettings=Paste Settings"), + photoActions, + "Pastes all develop settings. *button*"}, + {"PasteSelectedSettings", + false,false,true,false,true,false, + "Paste Selected Settings", + photoActions, + "Pastes only those settings checked in the **Options⇢Paste Selections** dialog. *button*"}, + {"Preset_1", + false,false,true,false,true,false, + developPreset.." 1", + developPresets, + ""}, + {"Preset_2", + false,false,true,false,true,false, + developPreset.." 2", + developPresets, + ""}, + {"Preset_3", + false,false,true,false,true,false, + developPreset.." 3", + developPresets, + ""}, + {"Preset_4", + false,false,true,false,true,false, + developPreset.." 4", + developPresets, + ""}, + {"Preset_5", + false,false,true,false,true,false, + developPreset.." 5", + developPresets, + ""}, + {"Preset_6", + false,false,true,false,true,false, + developPreset.." 6", + developPresets, + ""}, + {"Preset_7", + false,false,true,false,true,false, + developPreset.." 7", + developPresets, + ""}, + {"Preset_8", + false,false,true,false,true,false, + developPreset.." 8", + developPresets, + ""}, + {"Preset_9", + false,false,true,false,true,false, + developPreset.." 9", + developPresets, + ""}, + {"Preset_10", + false,false,true,false,true,false, + developPreset.." 10", + developPresets, + ""}, + {"Preset_11", + false,false,true,false,true,false, + developPreset.." 11", + developPresets, + ""}, + {"Preset_12", + false,false,true,false,true,false, + developPreset.." 12", + developPresets, + ""}, + {"Preset_13", + false,false,true,false,true,false, + developPreset.." 13", + developPresets, + ""}, + {"Preset_14", + false,false,true,false,true,false, + developPreset.." 14", + developPresets, + ""}, + {"Preset_15", + false,false,true,false,true,false, + developPreset.." 15", + developPresets, + ""}, + {"Preset_16", + false,false,true,false,true,false, + developPreset.." 16", + developPresets, + ""}, + {"Preset_17", + false,false,true,false,true,false, + developPreset.." 17", + developPresets, + ""}, + {"Preset_18", + false,false,true,false,true,false, + developPreset.." 18", + developPresets, + ""}, + {"Preset_19", + false,false,true,false,true,false, + developPreset.." 19", + developPresets, + ""}, + {"Preset_20", + false,false,true,false,true,false, + developPreset.." 20", + developPresets, + ""}, + {"local_Temperature", + false,false,true,true,false,false, + "Local Temperature (PV2012)", + localizedAdjustments, + "Adjust Temperature for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Tint", + false,false,true,true,false,false, + "Local Tint (PV2012)", + localizedAdjustments, + "Adjust Tint for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Exposure", + false,false,true,true,false,false, + "Local Exposure (PV2010 and PV2012)", + localizedAdjustments, + "Adjust Exposure for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Contrast", + false,false,true,true,false,false, + "Local Contrast (PV2010 and PV2012)", + localizedAdjustments, + "Adjust Contrast for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Highlights", + false,false,true,true,false,false, + "Local Highlights (PV2012)", + localizedAdjustments, + "Adjust Highlights for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Shadows", + false,false,true,true,false,false, + "Local Shadows (PV2012)", + localizedAdjustments, + "Adjust Shadows for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Clarity", + false,false,true,true,false,false, + "Local Clarity (PV2010 and PV2012)", + localizedAdjustments, + "Adjust Clarity for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Saturation", + false,false,true,true,false,false, + "Local Saturation (PV2010 and PV2012)", + localizedAdjustments, + "Adjust Saturation for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Sharpness", + false,false,true,true,false,false, + "Local Sharpness (PV2010 and PV 2012)", + localizedAdjustments, + "Adjust Sharpness for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_LuminanceNoise", + false,false,true,true,false,false, + "Local Luminance Noise (PV2012)", + localizedAdjustments, + "Adjust Luminance Noise for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Moire", + false,false,true,true,false,false, + "Local Moire (PV2012)", + localizedAdjustments, + "Adjust Moire for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_Defringe", + false,false,true,true,false,false, + "Local Defringe (PV2012)", + localizedAdjustments, + "Adjust Defringe for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"local_ToningLuminance", + false,false,true,true,false,false, + "Local Toning Luminance (PV2010)", + localizedAdjustments, + "Adjust Toning Luminance for the currently active tool: Brush, Radial Filter, or Graduated Filter."}, + {"Resetlocal_Temperature", + false,false,true,false,true,false, + "Reset Local Temperature (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Tint", + false,false,true,false,true,false, + "Reset Local Tint (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Exposure", + false,false,true,false,true,false, + "Reset Local Exposure (PV2010 and PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Contrast", + false,false,true,false,true,false, + "Reset Local Contrast (PV2010 and PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Highlights", + false,false,true,false,true,false, + "Reset Local Highlights (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Shadows", + false,false,true,false,true,false, + "Reset Local Shadows (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Clarity", + false,false,true,false,true,false, + "Reset Local Clarity (PV2010 and PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Saturation", + false,false,true,false,true,false, + "Reset Local Saturation (PV2010 and PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Sharpness", + false,false,true,false,true,false, + "Reset Local Sharpness (PV2010 and PV 2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_LuminanceNoise", + false,false,true,false,true,false, + "Reset Local Luminance Noise (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Moire", + false,false,true,false,true,false, + "Reset Local Moire (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_Defringe", + false,false,true,false,true,false, + "Reset Local Defringe (PV2012)", + localizedAdjustments, + "Reset to default. *button*"}, + {"Resetlocal_ToningLuminance", + false,false,true,false,true,false, + "Reset Local Toning Luminance (PV2010)", + localizedAdjustments, + "Reset to default. *button*"}, + {"EnableCircularGradientBasedCorrections", + 'localizedAdjustments',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRadialFilter=Enable Radial Filter"), + localizedAdjustments, + "Enable or disable radial filter. *button*"}, + {"EnableGradientBasedCorrections", + 'localizedAdjustments',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableGraduatedFilter=Enable Graduated Filter"), + localizedAdjustments, + "Enable or disable graduated filter. *button*"}, + {"EnablePaintBasedCorrections", + 'localizedAdjustments',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableBrushAdjustments=Enable Brush Adjustments"), + localizedAdjustments, + "Enable or disable brush adjustments. *button*"}, + {"EnableRedEye", + 'localizedAdjustments',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableRedEye=Enable Red-Eye"), + localizedAdjustments, + "Enable or disable red eye correction. *button*"}, + {"EnableRetouch", + 'localizedAdjustments',true,true,false,true,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/EnableSpotRemoval=Enable Spot Removal"), + localizedAdjustments, + "Enable or disable spot removal. *button*"}, + {"RetouchInfo",'localizedAdjustments',true,false,false,true,false,"RetouchInfo"}, + {"ResetCircGrad", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetRadialFilters=Reset Radial Filters"), + localizedAdjustments, + "Delete radial filter. *button*"}, + {"ResetGradient", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetGraduatedFilters=Reset Graduated Filters"), + localizedAdjustments, + "Delete graduated filter. *button*"}, + {"ResetBrushing", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetBrushing=Reset Brush Corrections"), + localizedAdjustments, + "Delete brush adjustments. *button*"}, + {"ResetRedeye", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetRedeye=Reset Red-Eye"), + localizedAdjustments, + "Delete red eye correction. *button*"}, + {"ResetSpotRem", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetSpotRemoval=Reset Spot Removal"), + localizedAdjustments, + "Delete spot removal. *button*"}, + {"ZoomInLargeStep", + false,false,true,false,true,false, + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomIn=Zoom In"), + miscellaneous, + "*button*"}, + {"ZoomInSmallStep", + false,false,true,false,true,false, + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomInSome=Zoom In Some"), + miscellaneous, + "*button*"}, + {"ZoomOutSmallStep", + false,false,true,false,true,false, + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOutSome=Zoom Out Some"), + miscellaneous, + "*button*"}, + {"ZoomOutLargeStep", + false,false,true,false,true,false, + LOC("$$$/AgApplication/Menu/Window/SecondMonitor/ZoomOut=Zoom Out"), + miscellaneous, + "*button*"}, + {"ToggleZoomOffOn", + false,false,true,false,true,false, + "Toggle Zoom Off/On", + miscellaneous, + "*button*"}, + {"orientation",'miscellaneous',true,false,false,true,false,"orientation"}, + {"CropConstrainToWarp",'miscellaneous',true,false,false,true,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropConstrainToWarp=Constrain to Warp")}, + {"CropAngle", + 'miscellaneous',true,true,true,false,true, + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/CropAngle=Crop Angle"), + miscellaneous, + "Rotate crop rectangle. This control is constrained to picture boundaries even when \226\128\156constrain to image\226\128\157 is not selected. It also causes the aspect ratio of the crop to change. It may be better to use the [Perspective Rotate in the Lens Corrections](https://github.com/rsjaffe/MIDI2LR/wiki/Commands:-Lens-Correction) set of actions.", + 'crop'}, + {"CropBottom", + 'miscellaneous',true,true,true,false,true, + crop..' - '.. LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Bottom=Bottom"), + miscellaneous, + "Adjust bottom of crop rectangle.", + 'crop'}, + {"CropLeft", + 'miscellaneous',true,true,true,false,true, + crop..' - '..LOC("$$$/AgWatermarking/Alignment/Left=Left"), + miscellaneous, + "Adjust left side of crop rectangle.", + 'crop'}, + {"CropRight", + 'miscellaneous',true,true,true,false,true, + crop..' - '..LOC("$$$/AgWatermarking/Alignment/Right=Right"), + miscellaneous, + "Adjust right side of crop rectangle.", + 'crop'}, + {"CropTop", + 'miscellaneous',true,true,true,false,true, + crop..' - '..LOC("$$$/Layout/Panel/Panel/OutputFormat/PageNumber/Top=Top"), + miscellaneous, + "Adjust top of crop rectangle.", + 'crop'}, + {"ResetCrop", + false,false,true,false,true,false, + LOC("$$$/AgLibrary/Ops/ResetCrop=Reset Crop"), + miscellaneous, + "Reset the crop angle and frame for the current photo. *button*", + 'crop'}, + {"Loupe", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), + gotoToolModulePanel, + "Select Loupe View mode in Develop Module. Repeated press toggles in and out of Loupe View. *button*", + 'loupe'}, + {"CropOverlay", + false,false,true,false,true,false, + show..' '..crop, + gotoToolModulePanel, + "Select Crop Overlay mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"SpotRemoval", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SpotRemoval=Spot Removal"), + gotoToolModulePanel, + "Select Spot Removal mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"RedEyeInfo",'localizedAdjustments',true,false,false,true,false,LOC("$$$/MIDI2LR/Parameters/RedEyeInfo=Red-Eye Information")}, + {"RedEye", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Redeye=Red-Eye Correction"), + gotoToolModulePanel, + "Select Red Eye mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"GraduatedFilter", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/GraduatedFilters=Graduated Filters"), + gotoToolModulePanel, + "Select Graduated Filter mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"RadialFilter", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/RadialFilters=Radial Filters"), + gotoToolModulePanel, + "Select Radial Filter View mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"AdjustmentBrush", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BrushAdjustments=Brush Adjustments"), + gotoToolModulePanel, + "Select Adjustment Brush mode in Develop Module. Repeated press toggles Loupe View. *button*"}, + {"SwToMlibrary", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgLibraryModule/ModuleTitle=Library"), + gotoToolModulePanel, + "Switch to Library module. *button*"}, + {"SwToMdevelop", + false,false,true,false,true,false, + show..' '..LOC("$$$/SmartCollection/Criteria/Heading/Develop=Develop"), + gotoToolModulePanel, + "Switch to Develop module. *button*"}, + {"SwToMmap", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgLocation/ModuleTitle=Map"), + gotoToolModulePanel, + "Switch to Map module. *button*"}, + {"SwToMbook", + false,false,true,false,true,false, + show..' '..LOC("$$$/Ag/Layout/Book/ModuleTitle=Book"), + gotoToolModulePanel, + "Switch to Book module. *button*"}, + {"SwToMslideshow", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), + gotoToolModulePanel, + "Switch to Slideshow module. *button*"}, + {"SwToMprint", + false,false,true,false,true,false, + show..' '..LOC("$$$/AgPrint/Menu/File/Print=Print"), + gotoToolModulePanel, + "Switch to Print module. *button*"}, + {"SwToMweb", + false,false,true,false,true,false, + show..' '..LOC("$$$/WPG/Help/Shortcuts/WebHeader=Web"), + gotoToolModulePanel, + "Switch to Web module. *button*"}, + {"RevealPanelAdjust", + false,false,true,false,true,false, + show..' '..basicTone, + gotoToolModulePanel, + "Open Basic Adjustments Panel in Develop Module. *button*"}, + {"RevealPanelTone", + false,false,true,false,true,false, + show..' '..toneCurve, + gotoToolModulePanel, + "Open Tone Curve Panel in Develop Module. *button*"}, + {"RevealPanelMixer", + false,false,true,false,true,false, + show..' '..colorAdjustments, + gotoToolModulePanel, + "Open Mixer Panel in Develop Module. *button*"}, + {"RevealPanelSplit", + false,false,true,false,true,false, + show..' '..splitToning, + gotoToolModulePanel, + "Open Split Toning Panel in Develop Module. *button*"}, + {"RevealPanelDetail", + false,false,true,false,true,false, + show..' '..detail, + gotoToolModulePanel, + "Open Detail Panel in Develop Module. *button*"}, + {"RevealPanelLens", + false,false,true,false,true,false, + show..' '..lensCorrections, + gotoToolModulePanel, + "Open Lens Corrections Panel in Develop Module. *button*"}, + {"RevealPanelEffects", + false,false,true,false,true,false, + show..' '..effects, + gotoToolModulePanel, + "Open Effects Panel in Develop Module. *button*"}, + {"RevealPanelCalibrate", + false,false,true,false,true,false, + show..' '..calibration, + gotoToolModulePanel, + "Open Camera Calibration Panel in Develop Module. *button*"}, + {"ShoVwloupe", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Loupe=Loupe"), + viewModes, + "Displays a single photo. Zoom levels up to 11:1 are available. *button*"}, + {"ShoVwgrid", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Grid=Grid"), + viewModes, + "Displays photos as thumbnails in cells, which can be viewed in compact and expanded sizes. *button*"}, + {"ShoVwcompare", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Compare=Compare"), + viewModes, + "Displays photos side by side so that you can evaluate them. *button*"}, + {"ShoVwsurvey", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/Survey=Survey"), + viewModes, + "Displays the active photo with selected photos so that you can evaluate them. The active photo has the lightest colored cell. *button*"}, + {"ShoVwpeople", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Library/People=People"), + viewModes, + "In the People view, the different faces are organized by people stacks. *button*"}, + {"ShoVwdevelop_loupe", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Loupe=Loupe"), + viewModes, + "*button*"}, + {"ShoVwdevelop_before_after_horiz", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterLR=Before/After Left/Right"), + viewModes, + "*button*"}, + {"ShoVwdevelop_before_after_vert", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/BeforeAfterTB=Before/After Top/Bottom"), + viewModes, + "*button*"}, + {"ShoVwdevelop_before", + false,false,true,false,true,false, + primaryDisplay..' '..LOC("$$$/AgPhotoBin/ViewMode/Develop/Before=Before"), + viewModes, + "*button*"}, + {"ShoScndVwloupe", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Loupe=Loupe"), + viewModes, + "Shows Loupe view on the secondary screen, or hides the secondary screen if Loupe view was previously being shown. *button*"}, + {"ShoScndVwlive_loupe", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LiveLoupe=Live Loupe"), + viewModes, + "Shows Live Loupe view on the secondary screen, or hides the secondary screen if Live Loupe view was previously being shown. *button*"}, + {"ShoScndVwlocked_loupe", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/LockedLoupe=Locked Loupe"), + viewModes, + "Shows Locked Loupe view on the secondary screen, or hides the secondary screen if Locked Loupe view was previously being shown. *button*"}, + {"ShoScndVwgrid", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Grid=Grid"), + viewModes, + "Shows Grid view on the secondary screen, or hides the secondary screen if Grid view was previously being shown. *button*"}, + {"ShoScndVwcompare", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Compare=Compare"), + viewModes, + "Shows Compare view on the secondary screen, or hides the secondary screen if Compare view was previously being shown. *button*"}, + {"ShoScndVwsurvey", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Survey=Survey"), + viewModes, + "Shows Survey view on the secondary screen, or hides the secondary screen if Survey view was previously being shown. *button*"}, + {"ShoScndVwslideshow", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Slideshow=Slideshow"), + viewModes, + "Shows Slideshow view on the secondary screen, or hides the secondary screen if Slideshow view was previously being shown. *button*"}, + {"ToggleScreenTwo", + false,false,true,false,true,false, + secondaryDisplay..' '..LOC("$$$/AgApplication/Menu/Window/SecondMonitor/Show=Show"), + viewModes, + "Toggles the the secondary window on/off. *button*"}, + {"profile1", + false,false,true,false,true,false, + profile.." 1", + profiles, + ""}, + {"profile2", + false,false,true,false,true,false, + profile.." 2", + profiles, + ""}, + {"profile3", + false,false,true,false,true,false, + profile.." 3", + profiles, + ""}, + {"profile4", + false,false,true,false,true,false, + profile.." 4", + profiles, + ""}, + {"profile5", + false,false,true,false,true,false, + profile.." 5", + profiles, + ""}, + {"profile6", + false,false,true,false,true,false, + profile.." 6", + profiles, + ""}, + {"profile7", + false,false,true,false,true,false, + profile.." 7", + profiles, + ""}, + {"profile8", + false,false,true,false,true,false, + profile.." 8", + profiles, + ""}, + {"profile9", + false,false,true,false,true,false, + profile.." 9", + profiles, + ""}, + {"profile10", + false,false,true,false,true,false, + profile.." 10", + profiles, + ""}, + {"TrimEnd",true,true,false,false,true,false,"TrimEnd"}, + {"TrimStart",true,true,false,false,true,false,"TrimStart"}, +} local MenuList = {} local SelectivePasteMenu = {} local SelectivePasteHidden = {} local SelectivePasteIteration = {} +local SelectivePasteGroups = {} local LimitEligible = {} local SendToMidi = {} local ProfileMap = {} @@ -2264,6 +2266,12 @@ for i,v in ipairs(DataBase) do table.insert(SelectivePasteIteration,v[1]) if v[2] then table.insert(SelectivePasteMenu,{v[1],v[8]}) + if type(v[2]) == 'string' then + if SelectivePasteGroups[v[2]] == nil then + SelectivePasteGroups[v[2]] = {} + end + table.insert(SelectivePasteGroups[v[2]],v[1]) + end else SelectivePasteHidden[v[1]] = v[8] end @@ -2284,50 +2292,52 @@ by the app and the plugin. Edits to this file will be lost any time MIDI2LR is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have persistent changes to the translations or menu structure. -This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. -MIDI2LR is free software: you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later version. + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. -MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with -MIDI2LR. If not, see . -------------------------------------------------------------------------------]] + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . + ------------------------------------------------------------------------------]] local MenuList = ]=],serpent.block(MenuList, {comment = false})) file:close() datafile = LrPathUtils.child(_PLUGIN.path, 'ParamList.lua') file = io.open(datafile,'w') file:write([=[ ---[[---------------------------------------------------------------------------- -This file was auto-generated by MIDI2LR and contains the parameters used by the -plugin. Edits to this file will be lost any time MIDI2LR is updated or the -language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have -persistent changes to the translations or menu structure. + --[[---------------------------------------------------------------------------- + This file was auto-generated by MIDI2LR and contains the parameters used by the + plugin. Edits to this file will be lost any time MIDI2LR is updated or the + language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have + persistent changes to the translations or menu structure. -This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. -MIDI2LR is free software: you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later version. + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. -MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with -MIDI2LR. If not, see . -------------------------------------------------------------------------------]] + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . + ------------------------------------------------------------------------------]] local SelectivePasteMenu = ]=],serpent.block(SelectivePasteMenu, {comment = false}), [==[ local SelectivePasteHidden = ]==],serpent.block(SelectivePasteHidden, {comment = false}), [==[ local SelectivePasteIteration = ]==],serpent.block(SelectivePasteIteration, {comment = false}), [==[ + local SelectivePasteGroups = ]==],serpent.block(SelectivePasteGroups, {comment = false}), [==[ + local SendToMidi = ]==],serpent.block(SendToMidi, {comment = false}), [==[ local ProfileMap = ]==],serpent.block(ProfileMap, {comment = false}), [==[ - + return { SelectivePasteMenu = SelectivePasteMenu, SelectivePasteHidden = SelectivePasteHidden, @@ -2340,4 +2350,4 @@ file:close() return { --used in documentation module DataBase = DataBase, - } \ No newline at end of file +} \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index ded71e217..1368d56e9 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -4,17 +4,17 @@ by the app and the plugin. Edits to this file will be lost any time MIDI2LR is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have persistent changes to the translations or menu structure. -This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. -MIDI2LR is free software: you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later version. + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. -MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with -MIDI2LR. If not, see . -------------------------------------------------------------------------------]] + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . + ------------------------------------------------------------------------------]] local MenuList = { { "WhiteBalanceAs_Shot", @@ -1759,7 +1759,7 @@ MIDI2LR. If not, see . { "local_LuminanceNoise", "Local Luminance Noise (PV2012)", - "Localized Adjusments", + "Local Adjustments", false }, { @@ -1837,7 +1837,7 @@ MIDI2LR. If not, see . { "Resetlocal_LuminanceNoise", "Reset Local Luminance Noise (PV2012)", - "Localized Adjusments", + "Local Adjustments", true }, { diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua index 0b81eb8cd..6123c0918 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua @@ -1,20 +1,20 @@ ---[[---------------------------------------------------------------------------- -This file was auto-generated by MIDI2LR and contains the parameters used by the -plugin. Edits to this file will be lost any time MIDI2LR is updated or the -language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have -persistent changes to the translations or menu structure. + --[[---------------------------------------------------------------------------- + This file was auto-generated by MIDI2LR and contains the parameters used by the + plugin. Edits to this file will be lost any time MIDI2LR is updated or the + language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have + persistent changes to the translations or menu structure. -This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. -MIDI2LR is free software: you can redistribute it and/or modify it under the -terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later version. + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. -MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU General Public License along with -MIDI2LR. If not, see . -------------------------------------------------------------------------------]] + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . + ------------------------------------------------------------------------------]] local SelectivePasteMenu = { { "ProcessVersion", @@ -738,6 +738,165 @@ MIDI2LR. If not, see . "RedEyeInfo", "TrimEnd", "TrimStart" +} + local SelectivePasteGroups = { + basicTone = { + "ProcessVersion", + "WhiteBalance", + "AutoBrightness", + "AutoContrast", + "AutoExposure", + "AutoShadows", + "Temperature", + "Tint", + "Exposure", + "Contrast", + "Highlights", + "Brightness", + "HighlightRecovery", + "Shadows2012", + "FillLight", + "Whites2012", + "Blacks2012", + "Clarity", + "Vibrance", + "Saturation" + }, + calibratePanel = { + "EnableCalibration", + "CameraProfile", + "ShadowTint", + "RedHue", + "RedSaturation", + "GreenHue", + "GreenSaturation", + "BlueHue", + "BlueSaturation" + }, + colorAdjustments = { + "EnableColorAdjustments", + "SaturationAdjustmentRed", + "SaturationAdjustmentOrange", + "SaturationAdjustmentYellow", + "SaturationAdjustmentGreen", + "SaturationAdjustmentAqua", + "SaturationAdjustmentBlue", + "SaturationAdjustmentPurple", + "SaturationAdjustmentMagenta", + "HueAdjustmentRed", + "HueAdjustmentOrange", + "HueAdjustmentYellow", + "HueAdjustmentGreen", + "HueAdjustmentAqua", + "HueAdjustmentBlue", + "HueAdjustmentPurple", + "HueAdjustmentMagenta", + "LuminanceAdjustmentRed", + "LuminanceAdjustmentOrange", + "LuminanceAdjustmentYellow", + "LuminanceAdjustmentGreen", + "LuminanceAdjustmentAqua", + "LuminanceAdjustmentBlue", + "LuminanceAdjustmentPurple", + "LuminanceAdjustmentMagenta", + "ConvertToGrayscale", + "EnableGrayscaleMix", + "GrayMixerRed", + "GrayMixerOrange", + "GrayMixerYellow", + "GrayMixerGreen", + "GrayMixerAqua", + "GrayMixerBlue", + "GrayMixerPurple", + "GrayMixerMagenta" + }, + detailPanel = { + "EnableDetail", + "Sharpness", + "SharpenRadius", + "SharpenDetail", + "SharpenEdgeMasking", + "LuminanceSmoothing", + "LuminanceNoiseReductionDetail", + "LuminanceNoiseReductionContrast", + "ColorNoiseReduction", + "ColorNoiseReductionDetail", + "ColorNoiseReductionSmoothness" + }, + effectsPanel = { + "EnableEffects", + "Dehaze", + "PostCropVignetteAmount", + "PostCropVignetteMidpoint", + "PostCropVignetteFeather", + "PostCropVignetteRoundness", + "PostCropVignetteStyle", + "PostCropVignetteHighlightContrast", + "GrainAmount", + "GrainSize", + "GrainFrequency" + }, + lensCorrectionsPanel = { + "EnableLensCorrections", + "LensProfileEnable", + "LensProfileSetup", + "AutoLateralCA", + "ChromaticAberrationB", + "ChromaticAberrationR", + "PerspectiveUpright", + "LensProfileDistortionScale", + "LensProfileChromaticAberrationScale", + "LensProfileVignettingScale", + "DefringePurpleAmount", + "DefringePurpleHueLo", + "DefringePurpleHueHi", + "DefringeGreenAmount", + "DefringeGreenHueLo", + "DefringeGreenHueHi", + "LensManualDistortionAmount", + "PerspectiveVertical", + "PerspectiveHorizontal", + "PerspectiveRotate", + "PerspectiveScale", + "PerspectiveAspect", + "VignetteAmount", + "VignetteMidpoint" + }, + localizedAdjustments = { + "EnableCircularGradientBasedCorrections", + "EnableGradientBasedCorrections", + "EnablePaintBasedCorrections", + "EnableRedEye", + "EnableRetouch", + "RetouchInfo", + "RedEyeInfo" + }, + miscellaneous = { + "orientation", + "CropConstrainToWarp", + "CropAngle", + "CropBottom", + "CropLeft", + "CropRight", + "CropTop" + }, + splitToningPanel = { + "EnableSplitToning", + "SplitToningShadowHue", + "SplitToningShadowSaturation", + "SplitToningHighlightHue", + "SplitToningBalance" + }, + toneCurve = { + "ToneCurve", + "ParametricDarks", + "ParametricLights", + "ParametricShadows", + "ParametricHighlights", + "ParametricShadowSplit", + "ParametricMidtoneSplit", + "ParametricHighlightSplit" + } } local SendToMidi = { "Temperature", @@ -1098,7 +1257,7 @@ MIDI2LR. If not, see . WhiteBalanceShade = "adjustPanel", WhiteBalanceTungsten = "adjustPanel", Whites = "adjustPanel" -} +} return { SelectivePasteMenu = SelectivePasteMenu, SelectivePasteHidden = SelectivePasteHidden, From a2d440d335f7c3faf71b2cf0c4b5d34fe7d9752b Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 14:11:43 -0800 Subject: [PATCH 71/87] completed paste groups --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 3 +- .../LRPlugin/MIDI2LR.lrplugin/ParamList.lua | 2 + Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua | 52 +++++++++++-------- 3 files changed, 34 insertions(+), 23 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 7eecd2d44..6e3b631ba 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -799,7 +799,7 @@ local DataBase = { "Color of the tone for highlights.", 'splitToningPanel'}, {"SplitToningHighlightSaturation", - true,true,true,true,false,false, + 'splitToningPanel',true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/SplitToningHighlightSaturation=Highlight Saturation"), splitToning, "Strength of the effect.", @@ -2342,6 +2342,7 @@ file:write([=[ SelectivePasteMenu = SelectivePasteMenu, SelectivePasteHidden = SelectivePasteHidden, SelectivePasteIteration = SelectivePasteIteration, + SelectivePasteGroups = SelectivePasteGroups, SendToMidi = SendToMidi, LimitEligible = LimitEligible, ProfileMap = ProfileMap, diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua index 6123c0918..28025e5cc 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua @@ -885,6 +885,7 @@ "SplitToningShadowHue", "SplitToningShadowSaturation", "SplitToningHighlightHue", + "SplitToningHighlightSaturation", "SplitToningBalance" }, toneCurve = { @@ -1262,6 +1263,7 @@ SelectivePasteMenu = SelectivePasteMenu, SelectivePasteHidden = SelectivePasteHidden, SelectivePasteIteration = SelectivePasteIteration, + SelectivePasteGroups = SelectivePasteGroups, SendToMidi = SendToMidi, LimitEligible = LimitEligible, ProfileMap = ProfileMap, diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua index 34811df8c..10538ae97 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Paste.lua @@ -22,7 +22,7 @@ local LrView = import 'LrView' local function StartDialog(obstable,f) - + local function set_reset(parmarray) --closure factory for toggle buttons local set = true return function() @@ -32,7 +32,7 @@ local function StartDialog(obstable,f) set = not set end end - + for k,v in pairs(ProgramPreferences.PasteList) do obstable['Paste'..k] = v end @@ -75,38 +75,46 @@ local function StartDialog(obstable,f) } ,-- push_button f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone"), - action = set_reset {'WhiteBalance','AutoBrightness','AutoContrast','AutoExposure','AutoShadows','Temperature','Tint', - 'Exposure','Contrast','Highlights','Brightness','HighlightRecovery','Shadows2012','FillLight','Whites2012','Blacks2012'}, + action = set_reset (ParamList.SelectivePasteGroups.basicTone), }, -- push button + f:push_button { + title = LOC("$$$/AgDevelop/CameraRawPanel/TargetName/ToneCurve=Tone Curve"), + action = set_reset (ParamList.SelectivePasteGroups.toneCurve), + }, --push button f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Color=Color"), - action = set_reset {'Vibrance','Saturation','SaturationAdjustmentRed','SaturationAdjustmentOrange','SaturationAdjustmentYellow', - 'SaturationAdjustmentGreen','SaturationAdjustmentAqua','SaturationAdjustmentBlue','SaturationAdjustmentPurple', - 'SaturationAdjustmentMagenta','HueAdjustmentRed','HueAdjustmentOrange','HueAdjustmentYellow','HueAdjustmentGreen', - 'HueAdjustmentAqua','HueAdjustmentBlue','HueAdjustmentPurple','HueAdjustmentMagenta','LuminanceAdjustmentRed', - 'LuminanceAdjustmentOrange','LuminanceAdjustmentYellow','LuminanceAdjustmentGreen','LuminanceAdjustmentAqua','LuminanceAdjustmentBlue', - 'LuminanceAdjustmentPurple','LuminanceAdjustmentMagenta','ConvertToGrayscale','EnableGrayscaleMix','GrayMixerRed', - 'GrayMixerOrange','GrayMixerYellow','GrayMixerGreen','GrayMixerAqua','GrayMixerBlue','GrayMixerPurple','GrayMixerMagenta', - 'EnableColorAdjustments'}, + action = set_reset (ParamList.SelectivePasteGroups.colorAdjustments), + }, + f:push_button { + title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/SplitToning=Split Toning"), + action = set_reset (ParamList.SelectivePasteGroups.splitToningPanel), }, --push button f:push_button { - title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/NoiseReduction=Noise Reduction"), - action = set_reset {'LuminanceSmoothing','LuminanceNoiseReductionDetail','LuminanceNoiseReductionContrast','ColorNoiseReduction', - 'ColorNoiseReductionDetail','ColorNoiseReductionSmoothness'}, + title = LOC("$$$/AgDevelop/Panel/Detail=Detail"), + action = set_reset (ParamList.SelectivePasteGroups.detailPanel), }, --push button f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections"), - action = set_reset {'LensProfileDistortionScale','LensProfileChromaticAberrationScale','LensProfileVignettingScale', - 'LensManualDistortionAmount','DefringePurpleAmount','DefringePurpleHueLo','DefringePurpleHueHi','DefringeGreenAmount', - 'DefringeGreenHueLo','DefringeGreenHueHi','PerspectiveVertical','PerspectiveHorizontal','PerspectiveRotate', - 'PerspectiveScale','PerspectiveAspect','PerspectiveUpright','VignetteAmount','VignetteMidpoint','Defringe', - 'EnableLensCorrections','LensProfileEnable','LensProfileSetup','AutoLateralCA','ChromaticAberrationB','ChromaticAberrationR'}, + action = set_reset (ParamList.SelectivePasteGroups.lensCorrectionsPanel), }, --push button f:push_button { title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects"), - action = set_reset {'Dehaze','PostCropVignetteAmount','PostCropVignetteMidpoint','PostCropVignetteFeather','PostCropVignetteRoundness', - 'PostCropVignetteStyle','PostCropVignetteHighlightContrast','GrainAmount','GrainSize','GrainFrequency','EnableEffects'}, + action = set_reset (ParamList.SelectivePasteGroups.effectsPanel), }, --push button + f:push_button { + title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration"), + action = set_reset (ParamList.SelectivePasteGroups.calibratePanel), + }, --push button + f:push_button { + title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LocalAdjustments=Local Adjustments"), + action = set_reset (ParamList.SelectivePasteGroups.localizedAdjustments), + }, --push button + f:push_button { + title = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Crop=Crop"), + action = set_reset (ParamList.SelectivePasteGroups.miscellaneous), + }, --push button + + },-- set of pushbuttons f:checkbox {title = 'Ask each time', value = LrView.bind('PastePopup')} } --row with pushbuttons and checkbox From 26656ad20ab45e0d13ec4726d8dc228ec9f958ae Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 14:26:43 -0800 Subject: [PATCH 72/87] added database tests --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 32 +++++++++++++++++++ .../MIDI2LR.lrplugin/Documentation.lua | 10 +++--- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 6e3b631ba..2d38196df 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -2349,6 +2349,38 @@ file:write([=[ }]==]) file:close() +local function RunTests() + --[[DataBase structure +1. command +2. include in selective paste menu [exclude localized adj]. if in button group on + menu, this will be a string identifying group. Otherwise this is true/false. +3. include in selective paste iteration +4. include in application command list +5. send back values to MIDI controller +6. button or table or text=true, variable number=false +7. experimental (for documentation) +8. user-friendly name or, for 2=false and 3=true, command it maps to +9. menu group for app +10. documentation right column +11. panel for changing profile + +errors if: +2=not false, 3=false +4=false, 5=true +4=false, 11 not nil +8 nil and ((2 not false and 3 true) or (4 true)) +9 nil or "" and 4 true +--]] + for _,v in ipairs(DataBase) do + assert (not (v[2] and v[3]==false), v[1].." included in selective paste menu but not in selective paste iteration.") + assert (not (v[4]==false and v[5]==true), v[1].." included in send back values to MIDI controller but not command list.") + assert (not (v[4]==false and v[11]~=nil), v[1].." not in command list but assigned a panel for changing profile.") + assert (not (v[8]==nil and ((v[2]~=false and v[3]==true) or (v[4]==true))), v[1].." missing a user-friendly name.") + assert (not (v[4]==true and (v[9]==nil or v[9]=="")), v[1].." needs a menu group for app.") + end +end + return { --used in documentation module DataBase = DataBase, + RunTests = RunTests, } \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua index 74073d3a4..b8fb97ae0 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua @@ -21,14 +21,16 @@ You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] -local Database = require 'Database'.DataBase +local Database = require 'Database' local LrPathUtils = import 'LrPathUtils' local datafile = LrPathUtils.child(_PLUGIN.path, 'Documentation.txt') local file = io.open(datafile,'w') local menulocation = "" +Database.RunTests() + file:write("Control definitions for wiki\n") -for i,v in ipairs(Database) do +for _,v in ipairs(Database.DataBase) do if v[4] then if v[9] ~= menulocation then menulocation = v[9] @@ -43,7 +45,7 @@ for i,v in ipairs(Database) do end file:write("\n\nApplication menu entries\n") -for i,v in ipairs(Database) do +for _,v in ipairs(Database.DataBase) do if v[4] then if v[9] ~= menulocation then menulocation = v[9] @@ -54,7 +56,7 @@ for i,v in ipairs(Database) do end file:write("\n\nCommand strings\n") menulocation = "" -for i,v in ipairs(Database) do +for _,v in ipairs(Database.DataBase) do if v[4] then if v[9] ~= menulocation then menulocation = v[9] From 84adaecb1594f867d86ede1cbf0fed4aaa342ea9 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 14:41:24 -0800 Subject: [PATCH 73/87] changed database tests to text output instead of assert failure --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 101 ++++++++++-------- .../MIDI2LR.lrplugin/Documentation.lua | 3 +- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 20 ++-- .../LRPlugin/MIDI2LR.lrplugin/ParamList.lua | 59 +++++----- 4 files changed, 97 insertions(+), 86 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 2d38196df..07d96dae1 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -2292,61 +2292,60 @@ by the app and the plugin. Edits to this file will be lost any time MIDI2LR is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have persistent changes to the translations or menu structure. - This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - MIDI2LR is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or (at your option) any later version. +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. - MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along with - MIDI2LR. If not, see . - ------------------------------------------------------------------------------]] +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] local MenuList = ]=],serpent.block(MenuList, {comment = false})) file:close() datafile = LrPathUtils.child(_PLUGIN.path, 'ParamList.lua') file = io.open(datafile,'w') file:write([=[ - --[[---------------------------------------------------------------------------- - This file was auto-generated by MIDI2LR and contains the parameters used by the - plugin. Edits to this file will be lost any time MIDI2LR is updated or the - language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have - persistent changes to the translations or menu structure. +--[[---------------------------------------------------------------------------- +This file was auto-generated by MIDI2LR and contains the parameters used by the +plugin. Edits to this file will be lost any time MIDI2LR is updated or the +language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have +persistent changes to the translations or menu structure. - This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - MIDI2LR is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or (at your option) any later version. +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. - MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along with - MIDI2LR. If not, see . - ------------------------------------------------------------------------------]] - local SelectivePasteMenu = ]=],serpent.block(SelectivePasteMenu, {comment = false}), [==[ +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] +local SelectivePasteMenu = ]=],serpent.block(SelectivePasteMenu, {comment = false}), [==[ - local SelectivePasteHidden = ]==],serpent.block(SelectivePasteHidden, {comment = false}), [==[ +local SelectivePasteHidden = ]==],serpent.block(SelectivePasteHidden, {comment = false}), [==[ - local SelectivePasteIteration = ]==],serpent.block(SelectivePasteIteration, {comment = false}), [==[ +local SelectivePasteIteration = ]==],serpent.block(SelectivePasteIteration, {comment = false}), [==[ - local SelectivePasteGroups = ]==],serpent.block(SelectivePasteGroups, {comment = false}), [==[ +local SelectivePasteGroups = ]==],serpent.block(SelectivePasteGroups, {comment = false}), [==[ - local SendToMidi = ]==],serpent.block(SendToMidi, {comment = false}), [==[ +local SendToMidi = ]==],serpent.block(SendToMidi, {comment = false}), [==[ - local ProfileMap = ]==],serpent.block(ProfileMap, {comment = false}), [==[ +local ProfileMap = ]==],serpent.block(ProfileMap, {comment = false}), [==[ - return { - SelectivePasteMenu = SelectivePasteMenu, - SelectivePasteHidden = SelectivePasteHidden, - SelectivePasteIteration = SelectivePasteIteration, - SelectivePasteGroups = SelectivePasteGroups, - SendToMidi = SendToMidi, - LimitEligible = LimitEligible, - ProfileMap = ProfileMap, - }]==]) +return { + SelectivePasteMenu = SelectivePasteMenu, + SelectivePasteHidden = SelectivePasteHidden, + SelectivePasteIteration = SelectivePasteIteration, + SelectivePasteGroups = SelectivePasteGroups, + SendToMidi = SendToMidi, + ProfileMap = ProfileMap, + }]==]) file:close() local function RunTests() @@ -2371,13 +2370,25 @@ errors if: 8 nil and ((2 not false and 3 true) or (4 true)) 9 nil or "" and 4 true --]] + local retval = "" for _,v in ipairs(DataBase) do - assert (not (v[2] and v[3]==false), v[1].." included in selective paste menu but not in selective paste iteration.") - assert (not (v[4]==false and v[5]==true), v[1].." included in send back values to MIDI controller but not command list.") - assert (not (v[4]==false and v[11]~=nil), v[1].." not in command list but assigned a panel for changing profile.") - assert (not (v[8]==nil and ((v[2]~=false and v[3]==true) or (v[4]==true))), v[1].." missing a user-friendly name.") - assert (not (v[4]==true and (v[9]==nil or v[9]=="")), v[1].." needs a menu group for app.") + if (v[2] and v[3]==false)then + retval = retval .. v[1].." included in selective paste menu but not in selective paste iteration.\n" + end + if (v[4]==false and v[5]==true) then + retval = retval .. v[1].." included in send back values to MIDI controller but not command list.\n" + end + if (v[4]==false and v[11]~=nil) then + retval = retval .. v[1].." not in command list but assigned a panel for changing profile.\n" + end + if (v[8]==nil and ((v[2]~=false and v[3]==true) or (v[4]==true))) then + retval = retval .. v[1].." missing a user-friendly name.\n" + end + if (v[4]==true and (v[9]==nil or v[9]=="")) then + retval = retval .. v[1].." needs a menu group for app.\n" + end end + return retval end return { --used in documentation module diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua index b8fb97ae0..9fe647de4 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua @@ -27,7 +27,7 @@ local datafile = LrPathUtils.child(_PLUGIN.path, 'Documentation.txt') local file = io.open(datafile,'w') local menulocation = "" -Database.RunTests() + file:write("Control definitions for wiki\n") for _,v in ipairs(Database.DataBase) do @@ -65,6 +65,7 @@ for _,v in ipairs(Database.DataBase) do file:write('"'..v[1]..'",\n') end end +file:write("\n\nRunning Tests\n\n",Database.RunTests(),"\n") file:close() diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index 1368d56e9..5da745584 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -4,17 +4,17 @@ by the app and the plugin. Edits to this file will be lost any time MIDI2LR is updated or the language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have persistent changes to the translations or menu structure. - This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - MIDI2LR is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or (at your option) any later version. +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. - MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along with - MIDI2LR. If not, see . - ------------------------------------------------------------------------------]] +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] local MenuList = { { "WhiteBalanceAs_Shot", diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua index 28025e5cc..1afad7126 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua @@ -1,21 +1,21 @@ - --[[---------------------------------------------------------------------------- - This file was auto-generated by MIDI2LR and contains the parameters used by the - plugin. Edits to this file will be lost any time MIDI2LR is updated or the - language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have - persistent changes to the translations or menu structure. +--[[---------------------------------------------------------------------------- +This file was auto-generated by MIDI2LR and contains the parameters used by the +plugin. Edits to this file will be lost any time MIDI2LR is updated or the +language used by Lightroom changes. Edit MenuListPreTrans.lua if you want to have +persistent changes to the translations or menu structure. - This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. - MIDI2LR is free software: you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or (at your option) any later version. +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. - MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License along with - MIDI2LR. If not, see . - ------------------------------------------------------------------------------]] - local SelectivePasteMenu = { +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . +------------------------------------------------------------------------------]] +local SelectivePasteMenu = { { "ProcessVersion", "Process Version" @@ -577,7 +577,7 @@ "TrimStart" } } - local SelectivePasteHidden = { +local SelectivePasteHidden = { Clarity2012 = "Clarity", Contrast2012 = "Contrast", Exposure2012 = "Exposure", @@ -588,7 +588,7 @@ ToneCurvePV2012Green = "ToneCurve", ToneCurvePV2012Red = "ToneCurve" } - local SelectivePasteIteration = { +local SelectivePasteIteration = { "ProcessVersion", "WhiteBalance", "AutoBrightness", @@ -739,7 +739,7 @@ "TrimEnd", "TrimStart" } - local SelectivePasteGroups = { +local SelectivePasteGroups = { basicTone = { "ProcessVersion", "WhiteBalance", @@ -899,7 +899,7 @@ "ParametricHighlightSplit" } } - local SendToMidi = { +local SendToMidi = { "Temperature", "Tint", "Exposure", @@ -1018,7 +1018,7 @@ "CropRight", "CropTop" } - local ProfileMap = { +local ProfileMap = { AutoLateralCA = "lensCorrectionsPanel", Blacks = "adjustPanel", BlueHue = "calibratePanel", @@ -1259,12 +1259,11 @@ WhiteBalanceTungsten = "adjustPanel", Whites = "adjustPanel" } - return { - SelectivePasteMenu = SelectivePasteMenu, - SelectivePasteHidden = SelectivePasteHidden, - SelectivePasteIteration = SelectivePasteIteration, - SelectivePasteGroups = SelectivePasteGroups, - SendToMidi = SendToMidi, - LimitEligible = LimitEligible, - ProfileMap = ProfileMap, - } \ No newline at end of file +return { + SelectivePasteMenu = SelectivePasteMenu, + SelectivePasteHidden = SelectivePasteHidden, + SelectivePasteIteration = SelectivePasteIteration, + SelectivePasteGroups = SelectivePasteGroups, + SendToMidi = SendToMidi, + ProfileMap = ProfileMap, + } \ No newline at end of file From bea8e4ac1402f7161d292e589f3a55b4b13310c8 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 16:49:40 -0800 Subject: [PATCH 74/87] ignore documentation.txt file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8229fc26e..28d228598 100644 --- a/.gitignore +++ b/.gitignore @@ -265,3 +265,4 @@ Source/LRPlugin/MIDI2LR.lrplugin/untitled.lua Source/LRPlugin/MIDI2LR.lrplugin/test.lua /DoxyGen/html +Source/LRPlugin/MIDI2LR.lrplugin/Documentation.txt From 9c776a10cb87993c261290e30212534a74a8a7da Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 16:50:10 -0800 Subject: [PATCH 75/87] add more type tests to database; add brightness to commands list --- Source/LRCommands.cpp | 8 +++++--- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 9 ++++++++- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 6 ++++++ Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua | 1 + 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/Source/LRCommands.cpp b/Source/LRCommands.cpp index e9a7fe0e9..6fe27aa34 100644 --- a/Source/LRCommands.cpp +++ b/Source/LRCommands.cpp @@ -36,9 +36,10 @@ const std::vector LRCommandList::AdjustmentStringList = { "Tint", "Exposure", "Contrast", - "Highlights (Recovery in PV2003 and PV2010)", - "Shadows (Fill Light in PV2003 and PV2010)", - "Whites (no effect in PV2003 and PV2010)", + "Highlights(Recovery in PV2003 and PV2010)", + "Brightness", + "Shadows(Fill Light in PV2003 and PV2010)", + "Whites(no effect in PV2003 and PV2010)", "Blacks", "Clarity", "Vibrance", @@ -467,6 +468,7 @@ const std::vector LRCommandList::LRStringList = { "Exposure", "Contrast", "Highlights", + "Brightness", "Shadows", "Whites", "Blacks", diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 07d96dae1..39597ae98 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -168,7 +168,7 @@ local DataBase = { "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.", 'adjustPanel'}, {"Brightness", - 'basicTone',true,false,false,false,false, + 'basicTone',true,true,true,false,false, LOC("$$$/AgCameraRawUI/Brightness=Brightness"), basicTone, "No effect unless in PV2003 or PV2010)", @@ -2372,6 +2372,13 @@ errors if: --]] local retval = "" for _,v in ipairs(DataBase) do + local correcttypes = type(v[1])=='string' and (type(v[2])=='string' or type(v[2])=='boolean') and + type(v[3])=='boolean' and type(v[4])=='boolean' and type(v[5])=='boolean' and type(v[6])=='boolean' + and type(v[7])=='boolean' and type(v[8])=='string' and (v[9]==nil or type(v[9])=='string') + and (v[10]==nil or type(v[10])=='string') and (v[11]==nil or type(v[11])=='string') + if correcttypes==false then + retval = retval .. v[1].. " includes incorrect types in its data.\n" + end if (v[2] and v[3]==false)then retval = retval .. v[1].." included in selective paste menu but not in selective paste iteration.\n" end diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index 5da745584..2da5fbd05 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -94,6 +94,12 @@ MIDI2LR. If not, see . "Basic Tone", false }, + { + "Brightness", + "Brightness", + "Basic Tone", + false + }, { "Shadows", "Shadows(Fill Light in PV2003 and PV2010)", diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua index 1afad7126..3e6b13265 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua @@ -905,6 +905,7 @@ local SendToMidi = { "Exposure", "Contrast", "Highlights", + "Brightness", "Shadows", "Whites", "Blacks", From 73b2eef16c78e395aadf3c876e79c50a813a9634 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 17:00:30 -0800 Subject: [PATCH 76/87] minor text corrections --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 39597ae98..b58938ea7 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -163,7 +163,7 @@ local DataBase = { {"Contrast2012",false,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Contrast=Contrast")}, {"Highlights", 'basicTone',true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..'(Recovery in PV2003 and PV2010)', + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..' (Recovery in PV2003 and PV2010)', basicTone, "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.", 'adjustPanel'}, @@ -176,7 +176,7 @@ local DataBase = { {"HighlightRecovery",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HighlightRecovery=Highlight Recovery")..' (PV2003 and PV2010)'}, {"Shadows", false,false,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..'(Fill Light in PV2003 and PV2010)', + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..' (Fill Light in PV2003 and PV2010)', basicTone, "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.", 'adjustPanel'}, @@ -184,7 +184,7 @@ local DataBase = { {"FillLight",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/FillLight=Fill Light")..' (PV2003 and PV2010)'}, {"Whites", false,false,true,true,false,false, - LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)', + LOC("$$$/AgCameraRawUI/Whites=Whites")..' (no effect in PV2003 and PV2010)', basicTone, "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping.", 'adjustPanel'}, @@ -219,7 +219,7 @@ local DataBase = { false,false,true,false,true,false, reset..' '..LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Temperature=Temperature"), basicTone, - "", + "Reset to default. *button*", 'adjustPanel'}, {"ResetTint", false,false,true,false,true,false, From 1fe9aa620b91628fe32f89bd50bca565f8ef76bd Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 17:06:19 -0800 Subject: [PATCH 77/87] copyright added --- Source/Pattern/Observer.cpp | 12 ++++++++++++ Source/Pattern/Observer.h | 12 ++++++++++++ Source/Pattern/Subject.cpp | 14 +++++++++++++- Source/Pattern/Subject.h | 12 ++++++++++++ 4 files changed, 49 insertions(+), 1 deletion(-) diff --git a/Source/Pattern/Observer.cpp b/Source/Pattern/Observer.cpp index fc406b041..3773a5035 100644 --- a/Source/Pattern/Observer.cpp +++ b/Source/Pattern/Observer.cpp @@ -5,6 +5,18 @@ Created: 23 Jan 2016 9:01:16am Author: Jeffrey + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. + + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . ============================================================================== */ diff --git a/Source/Pattern/Observer.h b/Source/Pattern/Observer.h index 88e5072aa..667b8b2c0 100644 --- a/Source/Pattern/Observer.h +++ b/Source/Pattern/Observer.h @@ -5,6 +5,18 @@ Created: 23 Jan 2016 9:01:16am Author: Jeffrey + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. + + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . ============================================================================== */ diff --git a/Source/Pattern/Subject.cpp b/Source/Pattern/Subject.cpp index abbe7be52..92cb46843 100644 --- a/Source/Pattern/Subject.cpp +++ b/Source/Pattern/Subject.cpp @@ -5,7 +5,19 @@ Created: 23 Jan 2016 9:00:58am Author: Jeffrey - ============================================================================== +This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + +MIDI2LR is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later version. + +MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +MIDI2LR. If not, see . + ============================================================================== */ #include "Subject.h" diff --git a/Source/Pattern/Subject.h b/Source/Pattern/Subject.h index 6eb0441e7..eb37ebfa7 100644 --- a/Source/Pattern/Subject.h +++ b/Source/Pattern/Subject.h @@ -5,6 +5,18 @@ Created: 23 Jan 2016 9:00:58am Author: Jeffrey + This file is part of MIDI2LR. Copyright 2015-2016 by Rory Jaffe. + + MIDI2LR is free software: you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later version. + + MIDI2LR is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + MIDI2LR. If not, see . ============================================================================== */ From 85f0b943aa4fa0fb7f320ef89d152bbaea230919 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 17:08:27 -0800 Subject: [PATCH 78/87] change to version 0.9.5 --- Builds/MacOSX/Info.plist | 4 ++-- Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj | 8 ++++---- Builds/VisualStudio2015/MIDI2LR.vcxproj | 4 ++-- Builds/VisualStudio2015/resources.rc | 6 +++--- JuceLibraryCode/JuceHeader.h | 4 ++-- MIDI2LR.jucer | 2 +- Source/LRPlugin/MIDI2LR.lrplugin/Info.lua | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Builds/MacOSX/Info.plist b/Builds/MacOSX/Info.plist index 3348d0a05..42dd3108a 100644 --- a/Builds/MacOSX/Info.plist +++ b/Builds/MacOSX/Info.plist @@ -16,9 +16,9 @@ CFBundleSignature ???? CFBundleShortVersionString - 0.9.4.2 + 0.9.5 CFBundleVersion - 0.9.4.2 + 0.9.5 NSHumanReadableCopyright NSHighResolutionCapable diff --git a/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj b/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj index 68856ca5f..d0fde37ff 100644 --- a/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/MIDI2LR.xcodeproj/project.pbxproj @@ -1926,8 +1926,8 @@ "_NDEBUG=1", "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=0.9.4.2", - "JUCE_APP_VERSION_HEX=0x90402", ); + "JUCE_APP_VERSION=0.9.5", + "JUCE_APP_VERSION_HEX=0x905", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "$(inherited)"); @@ -1950,8 +1950,8 @@ "_NDEBUG=1", "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=0.9.4.2", - "JUCE_APP_VERSION_HEX=0x90402", ); + "JUCE_APP_VERSION=0.9.5", + "JUCE_APP_VERSION_HEX=0x905", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "$(inherited)"); diff --git a/Builds/VisualStudio2015/MIDI2LR.vcxproj b/Builds/VisualStudio2015/MIDI2LR.vcxproj index 3287bbc8e..797f267ad 100644 --- a/Builds/VisualStudio2015/MIDI2LR.vcxproj +++ b/Builds/VisualStudio2015/MIDI2LR.vcxproj @@ -56,7 +56,7 @@ Disabled EditAndContinue ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.4.2;JUCE_APP_VERSION_HEX=0x90402;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.5;JUCE_APP_VERSION_HEX=0x905;%(PreprocessorDefinitions) MultiThreadedDebug true @@ -97,7 +97,7 @@ Full ..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.4.2;JUCE_APP_VERSION_HEX=0x90402;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=0.9.5;JUCE_APP_VERSION_HEX=0x905;%(PreprocessorDefinitions) MultiThreaded true diff --git a/Builds/VisualStudio2015/resources.rc b/Builds/VisualStudio2015/resources.rc index d798f68c2..901d91e8a 100644 --- a/Builds/VisualStudio2015/resources.rc +++ b/Builds/VisualStudio2015/resources.rc @@ -7,16 +7,16 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 0,9,4,2 +FILEVERSION 0,9,5,0 BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904E4" BEGIN VALUE "FileDescription", "MIDI2LR\0" - VALUE "FileVersion", "0.9.4.2\0" + VALUE "FileVersion", "0.9.5\0" VALUE "ProductName", "MIDI2LR\0" - VALUE "ProductVersion", "0.9.4.2\0" + VALUE "ProductVersion", "0.9.5\0" END END diff --git a/JuceLibraryCode/JuceHeader.h b/JuceLibraryCode/JuceHeader.h index 11f5e1aed..32ca632c2 100644 --- a/JuceLibraryCode/JuceHeader.h +++ b/JuceLibraryCode/JuceHeader.h @@ -35,8 +35,8 @@ namespace ProjectInfo { const char* const projectName = "MIDI2LR"; - const char* const versionString = "0.9.4.2"; - const int versionNumber = 0x90402; + const char* const versionString = "0.9.5"; + const int versionNumber = 0x905; } #endif diff --git a/MIDI2LR.jucer b/MIDI2LR.jucer index ae8fcaf32..8a2d8fea3 100644 --- a/MIDI2LR.jucer +++ b/MIDI2LR.jucer @@ -1,6 +1,6 @@ - diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua index 68a8642d8..2ff86e9ed 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua @@ -46,5 +46,5 @@ return { }, --]] }, - VERSION = { major=0, minor=9, revision=4, build=1} + VERSION = { major=0, minor=9, revision=5, build=1} } From 3868cedbc1b5d51bfad96c7438ed020d0f384b84 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 17:21:06 -0800 Subject: [PATCH 79/87] improve tool descriptions --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index b58938ea7..5e10c07c8 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -77,7 +77,7 @@ local rsquo = '\226\128\153' local mdash = '\226\128\148' To do: integrate "straightenAngle", translate RetouchInfo orientation - TrimEnd TrimStart + TrimEnd TrimStart and translate the local variables above not yet translated. ------------------------------------------------------------------------------]] local DataBase = { @@ -165,20 +165,20 @@ local DataBase = { 'basicTone',true,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..' (Recovery in PV2003 and PV2010)', basicTone, - "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.", + "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.

In PV2003 and PV2010, controls recovery and reduces the tones of extreme highlights and attempts to recover highlight detail lost because of camera overexposure. Lightroom can recover detail in raw image files if one or two channels are clipped.", 'adjustPanel'}, {"Brightness", 'basicTone',true,true,true,false,false, LOC("$$$/AgCameraRawUI/Brightness=Brightness"), basicTone, - "No effect unless in PV2003 or PV2010)", + "Adjusts image brightness, mainly affecting midtones. Adjust Brightness after setting Exposure, Recovery, and Blacks sliders. Large brightness adjustments can affect shadow or highlight clipping, so you may want to readjust the Exposure, Recovery, or Blacks slider after adjusting brightness. No effect unless in PV2003 or PV2010)", 'adjustPanel'}, {"HighlightRecovery",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HighlightRecovery=Highlight Recovery")..' (PV2003 and PV2010)'}, {"Shadows", false,false,true,true,false,false, LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..' (Fill Light in PV2003 and PV2010)', basicTone, - "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.", + "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.

In PV2003 and PV2010, controls Fill Light, and lightens shadow to reveal more detail while maintaining blacks. Take care not to over apply the setting and reveal image noise.", 'adjustPanel'}, {"Shadows2012",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")},--NOT fill light in 2003 and 2010 {"FillLight",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/FillLight=Fill Light")..' (PV2003 and PV2010)'}, From 9743433a5097d7935c27ccbb7aad2bdc8f621403 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 21:42:02 -0800 Subject: [PATCH 80/87] work on addtocollection --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 8 +++++--- Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index d6752156d..b574571cb 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -84,6 +84,8 @@ LrTasks.startAsyncTask( local LrUndo = import 'LrUndo' local ACTIONS = { + -- AddToQuickCollection = CU.addToCollection('quick',LrApplication.activeCatalog():getTargetPhotos()), + -- AddToTargetCollection = CU.addToCollection('target',LrApplication.activeCatalog():getTargetPhotos()), AdjustmentBrush = CU.fToggleTool('localized'), AutoLateralCA = CU.fToggle01('AutoLateralCA'), ConvertToGrayscale = CU.fToggleTF('ConvertToGrayscale'), @@ -328,11 +330,11 @@ LrTasks.startAsyncTask( plugin = _PLUGIN, port = MIDI2LR.SEND_PORT, mode = 'send', - onClosed = function( socket ) -- this callback never seems to get called... + onClosed = function( ) -- this callback never seems to get called... -- MIDI2LR closed connection, allow for reconnection -- socket:reconnect() end, - onError = function( socket, err ) + onError = function( socket ) socket:reconnect() end, } @@ -343,7 +345,7 @@ LrTasks.startAsyncTask( plugin = _PLUGIN, port = MIDI2LR.RECEIVE_PORT, mode = 'receive', - onMessage = function(socket, message) --message processor + onMessage = function(_, message) --message processor if type(message) == 'string' then local split = message:find(' ',1,true) local param = message:sub(1,split-1) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua index 135c5130d..8b92c1077 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ClientUtilities.lua @@ -190,7 +190,7 @@ local function addToCollection() end ) return function(collectiontype,photos) - if LrApplication.activeCatalog():getTargetPhoto() == nil then return end + if collectiontype==nil or photos==nil then return end local CollectionName if collectiontype == 'quick' then CollectionName = "$$$/AgLibrary/ThumbnailBadge/AddToQuickCollection=Add to Quick Collection." From 2a6faed09650ce0041c1baf7048e09f265072da7 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 21:45:39 -0800 Subject: [PATCH 81/87] text typos --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 2 +- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 6 +++--- Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index 5e10c07c8..a13f8f5e2 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -188,7 +188,7 @@ local DataBase = { basicTone, "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping.", 'adjustPanel'}, - {"Whites2012",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/Whites=Whites")..'(no effect in PV2003 and PV2010)'}, + {"Whites2012",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/Whites=Whites")..' (no effect in PV2003 and PV2010)'}, {"Blacks", false,false,true,true,false,false, LOC("$$$/AgCameraRawUI/Blacks=Blacks"), diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index 2da5fbd05..b72662fb8 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -90,7 +90,7 @@ MIDI2LR. If not, see . }, { "Highlights", - "Highlights(Recovery in PV2003 and PV2010)", + "Highlights (Recovery in PV2003 and PV2010)", "Basic Tone", false }, @@ -102,13 +102,13 @@ MIDI2LR. If not, see . }, { "Shadows", - "Shadows(Fill Light in PV2003 and PV2010)", + "Shadows (Fill Light in PV2003 and PV2010)", "Basic Tone", false }, { "Whites", - "Whites(no effect in PV2003 and PV2010)", + "Whites (no effect in PV2003 and PV2010)", "Basic Tone", false }, diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua index 3e6b13265..e0b42697b 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua @@ -58,7 +58,7 @@ local SelectivePasteMenu = { }, { "Highlights", - "Highlights(Recovery in PV2003 and PV2010)" + "Highlights (Recovery in PV2003 and PV2010)" }, { "Brightness", @@ -78,7 +78,7 @@ local SelectivePasteMenu = { }, { "Whites2012", - "Whites(no effect in PV2003 and PV2010)" + "Whites (no effect in PV2003 and PV2010)" }, { "Blacks2012", From b7e8491b31a71b20d6cf50152f9de5e3f83e513f Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sat, 30 Jan 2016 22:06:15 -0800 Subject: [PATCH 82/87] translation work --- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index a13f8f5e2..abc5cf28e 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -19,6 +19,7 @@ MIDI2LR. If not, see . --local function LOC(str) return str end--for debugging +local PV2003and2010 = 'PV2003'..LOC("$$$/AgStringUtils/localizedList/finalSeparatorString= and ")..'PV2010' local basicTone = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/BasicTone=Basic Tone") local calibration = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Calibration=Calibration") local colorAdjustments = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/ColorAdjustments=Color Adjustments") @@ -27,7 +28,8 @@ local detail = LOC("$$$/AgDevelop/Panel/Detail=Detail") local developPreset = LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Single=Develop Preset") local developPresets = LOC("$$$/AgLibrary/Filter/BrowserCriteria/DevelopPreset/Plural=Develop Presets") local effects = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/Effects=Effects") -local gotoToolModulePanel = "Go to Tool, Module, or Panel" +local gotoToolModulePanel = LOC("$$$/AgDialogs/Select=Select").. ' '..LOC("$$$/AgDevelop/RedEye/Tool=Tool:"):gsub(':','')..LOC("$$$/AgStringUtils/localizedList/separatorString=, ") + ..'Module'..LOC("$$$/AgStringUtils/localizedList/finalSeparatorString= and ")..'Panel' local lensCorrections = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LensCorrections=Lens Corrections") local localizedAdjustments = LOC("$$$/AgCameraRawNamedSettings/SaveNamedDialog/LocalAdjustments=Local Adjustments") local miscellaneous = "Miscellaneous" @@ -163,9 +165,9 @@ local DataBase = { {"Contrast2012",false,true,false,false,false,false,LOC("$$$/AgCameraRawUI/Contrast=Contrast")}, {"Highlights", 'basicTone',true,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..' (Recovery in PV2003 and PV2010)', + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Highlights=Highlights")..' (Recovery in '..PV2003and2010..')', basicTone, - "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.

In PV2003 and PV2010, controls recovery and reduces the tones of extreme highlights and attempts to recover highlight detail lost because of camera overexposure. Lightroom can recover detail in raw image files if one or two channels are clipped.", + "Adjusts bright image areas. Drag to the left to darken highlights and recover \226\128\156blown out\226\128\157 highlight details. Drag to the right to brighten highlights while minimizing clipping.

In '..PV2003and2010..', controls recovery and reduces the tones of extreme highlights and attempts to recover highlight detail lost because of camera overexposure. Lightroom can recover detail in raw image files if one or two channels are clipped.", 'adjustPanel'}, {"Brightness", 'basicTone',true,true,true,false,false, @@ -173,22 +175,22 @@ local DataBase = { basicTone, "Adjusts image brightness, mainly affecting midtones. Adjust Brightness after setting Exposure, Recovery, and Blacks sliders. Large brightness adjustments can affect shadow or highlight clipping, so you may want to readjust the Exposure, Recovery, or Blacks slider after adjusting brightness. No effect unless in PV2003 or PV2010)", 'adjustPanel'}, - {"HighlightRecovery",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HighlightRecovery=Highlight Recovery")..' (PV2003 and PV2010)'}, + {"HighlightRecovery",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/HighlightRecovery=Highlight Recovery")..' ('..PV2003and2010..')'}, {"Shadows", false,false,true,true,false,false, - LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..' (Fill Light in PV2003 and PV2010)', + LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")..' (Fill Light in '..PV2003and2010..')', basicTone, - "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.

In PV2003 and PV2010, controls Fill Light, and lightens shadow to reveal more detail while maintaining blacks. Take care not to over apply the setting and reveal image noise.", + "Adjusts dark image areas. Drag to the left to darken shadows while minimizing clipping. Drag to the right to brighten shadows and recover shadow details.

In '..PV2003and2010..', controls Fill Light, and lightens shadow to reveal more detail while maintaining blacks. Take care not to over apply the setting and reveal image noise.", 'adjustPanel'}, {"Shadows2012",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawNamedSettings/CameraRawSettingMapping/Shadows=Shadows")},--NOT fill light in 2003 and 2010 - {"FillLight",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/FillLight=Fill Light")..' (PV2003 and PV2010)'}, + {"FillLight",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/FillLight=Fill Light")..' ('..PV2003and2010..')'}, {"Whites", false,false,true,true,false,false, - LOC("$$$/AgCameraRawUI/Whites=Whites")..' (no effect in PV2003 and PV2010)', + LOC("$$$/AgCameraRawUI/Whites=Whites")..' (no effect in '..PV2003and2010..')', basicTone, "Adjusts white clipping. Drag to the left to reduce clipping in highlights. Drag to the right to increase highlight clipping.", 'adjustPanel'}, - {"Whites2012",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/Whites=Whites")..' (no effect in PV2003 and PV2010)'}, + {"Whites2012",'basicTone',true,false,false,false,false,LOC("$$$/AgCameraRawUI/Whites=Whites")..' (no effect in '..PV2003and2010..')'}, {"Blacks", false,false,true,true,false,false, LOC("$$$/AgCameraRawUI/Blacks=Blacks"), From 1a6f0a0a94e7e35612ecd1ca67ea9aba0a56cb50 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 31 Jan 2016 11:15:08 -0800 Subject: [PATCH 83/87] clean up Limits preferences handling --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 10 +- Source/LRPlugin/MIDI2LR.lrplugin/Database.lua | 5 +- Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua | 13 +- Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua | 44 +- .../LRPlugin/MIDI2LR.lrplugin/ParamList.lua | 475 ++++++++++++++++++ .../LRPlugin/MIDI2LR.lrplugin/Preferences.lua | 21 +- 6 files changed, 533 insertions(+), 35 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index b574571cb..e88dd9de2 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -22,11 +22,16 @@ MIDI2LR. If not, see . local LrMobdebug = import 'LrMobdebug' LrMobdebug.start() --]]-----------end debug section + local LrTasks = import 'LrTasks' -- Main task LrTasks.startAsyncTask( function() -- LrMobdebug.on() +-------------preferences + local Preferences = require 'Preferences' + Preferences.Load() +-------------end preferences section -- signal for halt plugin if reloaded--LR doesn't kill main loop otherwise math.randomseed(os.time()) currentLoadVersion = rawget (_G, 'currentLoadVersion') or math.random() @@ -34,10 +39,7 @@ LrTasks.startAsyncTask( MIDI2LR = {RECEIVE_PORT = 58763, SEND_PORT = 58764, PICKUP_THRESHOLD = 4, CONTROL_MAX = 127, BUTTON_ON = 127; --constants LAST_PARAM = '', PARAM_OBSERVER = {}, PICKUP_ENABLED = true, SERVER = {} } --non-local but in MIDI2LR namespace --------------preferences - local Preferences = require 'Preferences' - Preferences.Load() --------------end preferences section + local LrFunctionContext = import 'LrFunctionContext' local LrPathUtils = import 'LrPathUtils' do --save localized file for app diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua index abc5cf28e..ede54c3e7 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Database.lua @@ -2259,7 +2259,7 @@ for i,v in ipairs(DataBase) do table.insert(MenuList,{v[1],v[8],v[9],v[6]}) if v[5] then table.insert(SendToMidi,v[1]) - if v[6] then + if v[6]==false then LimitEligible[v[1]] = {v[8],i} end end @@ -2336,6 +2336,8 @@ local SelectivePasteIteration = ]==],serpent.block(SelectivePasteIteration, {com local SelectivePasteGroups = ]==],serpent.block(SelectivePasteGroups, {comment = false}), [==[ +local LimitEligible = ]==],serpent.block(LimitEligible, {comment = false}), [==[ + local SendToMidi = ]==],serpent.block(SendToMidi, {comment = false}), [==[ local ProfileMap = ]==],serpent.block(ProfileMap, {comment = false}), [==[ @@ -2345,6 +2347,7 @@ return { SelectivePasteHidden = SelectivePasteHidden, SelectivePasteIteration = SelectivePasteIteration, SelectivePasteGroups = SelectivePasteGroups, + LimitEligible = LimitEligible, SendToMidi = SendToMidi, ProfileMap = ProfileMap, }]==]) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua index f153407e5..9fad36c65 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Limits.lua @@ -32,6 +32,7 @@ local LrApplication = import 'LrApplication' local LrApplicationView = import 'LrApplicationView' local LrDevelopController = import 'LrDevelopController' local LrView = import 'LrView' +local ParamList = require 'ParamList' --hidden local DisplayOrder = {'Temperature','Tint','Exposure'} @@ -46,6 +47,16 @@ for _, p in ipairs(DisplayOrder) do Parameters[p] = true end +--clean up the preferences of discarded Limits and fix label and order +for k,v in pairs(ProgramPreferences.Limits) do + if Parameters[k] then + ProgramPreferences.Limits[k]['label'] = ParamList.LimitEligible[k][1] + ProgramPreferences.Limits[k]['order'] = ParamList.LimitEligible[k][2] + else + ProgramPreferences.Limits[k] = nil --erase unused + end +end + -------------------------------------------------------------------------------- -- Limits a given parameter to the min,max set up. -- This function is used to avoid the bug in pickup mode, in which the parameter's @@ -88,7 +99,7 @@ local function OptionsRows(f,obstable) table.insert( retval, f:row { f:static_text { - title = p..' '..LOC('$$$/MIDI2LR/Limits/Limits=Limits'), + title = ProgramPreferences.Limits[p]['label']..' '..LOC('$$$/MIDI2LR/Limits/Limits=Limits'), width = LrView.share('limit_label'), }, -- static_text f:slider { diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua index b72662fb8..f48885e62 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/MenuList.lua @@ -1993,133 +1993,133 @@ MIDI2LR. If not, see . { "Loupe", "Show Loupe", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "CropOverlay", "Show Crop", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "SpotRemoval", "Show Spot Removal", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RedEye", "Show Red-Eye Correction", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "GraduatedFilter", "Show Graduated Filters", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RadialFilter", "Show Radial Filters", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "AdjustmentBrush", "Show Brush Adjustments", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "SwToMlibrary", "Show Library", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "SwToMdevelop", "Show Develop", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "SwToMmap", "Show Map", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "SwToMbook", "Show Book", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "SwToMslideshow", "Show Slideshow", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "SwToMprint", "Show Print", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "SwToMweb", "Show Web", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RevealPanelAdjust", "Show Basic Tone", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RevealPanelTone", "Show Tone Curve", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RevealPanelMixer", "Show Color Adjustments", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RevealPanelSplit", "Show Split Toning", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RevealPanelDetail", "Show Detail", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RevealPanelLens", "Show Lens Corrections", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RevealPanelEffects", "Show Effects", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { "RevealPanelCalibrate", "Show Calibration", - "Go to Tool, Module, or Panel", + "Select Tool, Module and Panel", true }, { diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua index e0b42697b..21548e8c9 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/ParamList.lua @@ -899,6 +899,480 @@ local SelectivePasteGroups = { "ParametricHighlightSplit" } } +local LimitEligible = { + Blacks = { + "Blacks", + 29 + }, + BlueHue = { + "Blue Hue Calibration", + 250 + }, + BlueSaturation = { + "Blue Saturation Calibration", + 251 + }, + Brightness = { + "Brightness", + 22 + }, + Clarity = { + "Clarity", + 31 + }, + ColorNoiseReduction = { + "Color Noise Reduction", + 153 + }, + ColorNoiseReductionDetail = { + "Color Noise Reduction Detail", + 154 + }, + ColorNoiseReductionSmoothness = { + "Color Noise Reduction Smoothness", + 155 + }, + Contrast = { + "Contrast", + 19 + }, + CropAngle = { + "Crop Angle", + 353 + }, + CropBottom = { + "Crop - Bottom", + 354 + }, + CropLeft = { + "Crop - Left", + 355 + }, + CropRight = { + "Crop - Right", + 356 + }, + CropTop = { + "Crop - Top", + 357 + }, + DefringeGreenAmount = { + "Defringe Green Amount", + 188 + }, + DefringeGreenHueHi = { + "Defringe Green Hue - High", + 190 + }, + DefringeGreenHueLo = { + "Defringe Green Hue - Low", + 189 + }, + DefringePurpleAmount = { + "Defringe Purple Amount", + 185 + }, + DefringePurpleHueHi = { + "Defringe Purple Hue - High", + 187 + }, + DefringePurpleHueLo = { + "Defringe Purple Hue - Low", + 186 + }, + Dehaze = { + "Dehaze Amount", + 214 + }, + Exposure = { + "Exposure", + 17 + }, + GrainAmount = { + "Grain Amount", + 221 + }, + GrainFrequency = { + "Grain Roughness", + 223 + }, + GrainSize = { + "Grain Size", + 222 + }, + GrayMixerAqua = { + "Gray Mixer Aqua", + 98 + }, + GrayMixerBlue = { + "Gray Mixer Blue", + 99 + }, + GrayMixerGreen = { + "Gray Mixer Green", + 97 + }, + GrayMixerMagenta = { + "Gray Mixer Magenta", + 101 + }, + GrayMixerOrange = { + "Gray Mixer Orange", + 95 + }, + GrayMixerPurple = { + "Gray Mixer Purple", + 100 + }, + GrayMixerRed = { + "Gray Mixer Red", + 94 + }, + GrayMixerYellow = { + "Gray Mixer Yellow", + 96 + }, + GreenHue = { + "Green Hue Calibration", + 248 + }, + GreenSaturation = { + "Green Saturation Calibration", + 249 + }, + Highlights = { + "Highlights (Recovery in PV2003 and PV2010)", + 21 + }, + HueAdjustmentAqua = { + "Hue Adjustment Aqua", + 80 + }, + HueAdjustmentBlue = { + "Hue Adjustment Blue", + 81 + }, + HueAdjustmentGreen = { + "Hue Adjustment Green", + 79 + }, + HueAdjustmentMagenta = { + "Hue Adjustment Magenta", + 83 + }, + HueAdjustmentOrange = { + "Hue Adjustment Orange", + 77 + }, + HueAdjustmentPurple = { + "Hue Adjustment Purple", + 82 + }, + HueAdjustmentRed = { + "Hue Adjustment Red", + 76 + }, + HueAdjustmentYellow = { + "Hue Adjustment Yellow", + 78 + }, + LensManualDistortionAmount = { + "Lens Manual Distortion Amount", + 197 + }, + LensProfileChromaticAberrationScale = { + "Lens Profile Chromatic Aberration Scale", + 180 + }, + LensProfileDistortionScale = { + "Lens Profile Distortion Scale", + 179 + }, + LensProfileVignettingScale = { + "Lens Profile Vignetting Scale", + 181 + }, + LuminanceAdjustmentAqua = { + "Luminance Adjustment Aqua", + 88 + }, + LuminanceAdjustmentBlue = { + "Luminance Adjustment Blue", + 89 + }, + LuminanceAdjustmentGreen = { + "Luminance Adjustment Green", + 87 + }, + LuminanceAdjustmentMagenta = { + "Luminance Adjustment Magenta", + 91 + }, + LuminanceAdjustmentOrange = { + "Luminance Adjustment Orange", + 85 + }, + LuminanceAdjustmentPurple = { + "Luminance Adjustment Purple", + 90 + }, + LuminanceAdjustmentRed = { + "Luminance Adjustment Red", + 84 + }, + LuminanceAdjustmentYellow = { + "Luminance Adjustment Yellow", + 86 + }, + LuminanceNoiseReductionContrast = { + "Luminance Contrast", + 152 + }, + LuminanceNoiseReductionDetail = { + "Luminance Detail", + 151 + }, + LuminanceSmoothing = { + "Luminance Smoothing", + 150 + }, + ParametricDarks = { + "Dark Tones", + 53 + }, + ParametricHighlightSplit = { + "Highlight Split", + 59 + }, + ParametricHighlights = { + "Highlight Tones", + 56 + }, + ParametricLights = { + "Light Tones", + 54 + }, + ParametricMidtoneSplit = { + "Midtone Split", + 58 + }, + ParametricShadowSplit = { + "Shadow Split", + 57 + }, + ParametricShadows = { + "Shadow Tones", + 55 + }, + PerspectiveAspect = { + "Perspective Aspect", + 202 + }, + PerspectiveHorizontal = { + "Perspective Horizontal", + 199 + }, + PerspectiveRotate = { + "Perspective Rotate", + 200 + }, + PerspectiveScale = { + "Perspective Scale", + 201 + }, + PerspectiveVertical = { + "Perspective Vertical", + 198 + }, + PostCropVignetteAmount = { + "Post Crop Vignette Amount", + 215 + }, + PostCropVignetteFeather = { + "Post Crop Vignette Feather", + 217 + }, + PostCropVignetteHighlightContrast = { + "Post Crop Vignette Highlight Contrast", + 220 + }, + PostCropVignetteMidpoint = { + "Post Crop Vignette Midpoint", + 216 + }, + PostCropVignetteRoundness = { + "Post Crop Vignette Roundness", + 218 + }, + PostCropVignetteStyle = { + "Post Crop Vignette Style", + 219 + }, + RedHue = { + "Red Hue Calibration", + 246 + }, + RedSaturation = { + "Red Saturation Calibration", + 247 + }, + Saturation = { + "Saturation", + 34 + }, + SaturationAdjustmentAqua = { + "Saturation Adjustment Aqua", + 72 + }, + SaturationAdjustmentBlue = { + "Saturation Adjustment Blue", + 73 + }, + SaturationAdjustmentGreen = { + "Saturation Adjustment Green", + 71 + }, + SaturationAdjustmentMagenta = { + "Saturation Adjustment Magenta", + 75 + }, + SaturationAdjustmentOrange = { + "Saturation Adjustment Orange", + 69 + }, + SaturationAdjustmentPurple = { + "Saturation Adjustment Purple", + 74 + }, + SaturationAdjustmentRed = { + "Saturation Adjustment Red", + 68 + }, + SaturationAdjustmentYellow = { + "Saturation Adjustment Yellow", + 70 + }, + ShadowTint = { + "Shadow Tint Calibration", + 245 + }, + Shadows = { + "Shadows (Fill Light in PV2003 and PV2010)", + 24 + }, + SharpenDetail = { + "Sharpen Detail", + 148 + }, + SharpenEdgeMasking = { + "Sharpen Edge Masking", + 149 + }, + SharpenRadius = { + "Sharpen Radius", + 147 + }, + Sharpness = { + "Sharpness", + 146 + }, + SplitToningBalance = { + "Split Toning Balance", + 139 + }, + SplitToningHighlightHue = { + "Highlight Hue", + 137 + }, + SplitToningHighlightSaturation = { + "Highlight Saturation", + 138 + }, + SplitToningShadowHue = { + "Shadow Hue", + 135 + }, + SplitToningShadowSaturation = { + "Shadow Saturation", + 136 + }, + Temperature = { + "Temperature", + 15 + }, + Tint = { + "Tint", + 16 + }, + Vibrance = { + "Vibrance", + 33 + }, + VignetteAmount = { + "Vignette Amount", + 203 + }, + VignetteMidpoint = { + "Vignette Midpoint", + 204 + }, + Whites = { + "Whites (no effect in PV2003 and PV2010)", + 27 + }, + local_Clarity = { + "Local Clarity (PV2010 and PV2012)", + 315 + }, + local_Contrast = { + "Local Contrast (PV2010 and PV2012)", + 312 + }, + local_Defringe = { + "Local Defringe (PV2012)", + 320 + }, + local_Exposure = { + "Local Exposure (PV2010 and PV2012)", + 311 + }, + local_Highlights = { + "Local Highlights (PV2012)", + 313 + }, + local_LuminanceNoise = { + "Local Luminance Noise (PV2012)", + 318 + }, + local_Moire = { + "Local Moire (PV2012)", + 319 + }, + local_Saturation = { + "Local Saturation (PV2010 and PV2012)", + 316 + }, + local_Shadows = { + "Local Shadows (PV2012)", + 314 + }, + local_Sharpness = { + "Local Sharpness (PV2010 and PV 2012)", + 317 + }, + local_Temperature = { + "Local Temperature (PV2012)", + 309 + }, + local_Tint = { + "Local Tint (PV2012)", + 310 + }, + local_ToningLuminance = { + "Local Toning Luminance (PV2010)", + 321 + } +} local SendToMidi = { "Temperature", "Tint", @@ -1265,6 +1739,7 @@ return { SelectivePasteHidden = SelectivePasteHidden, SelectivePasteIteration = SelectivePasteIteration, SelectivePasteGroups = SelectivePasteGroups, + LimitEligible = LimitEligible, SendToMidi = SendToMidi, ProfileMap = ProfileMap, } \ No newline at end of file diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua index e4622e0bd..ed28184e3 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Preferences.lua @@ -35,7 +35,6 @@ local LrDevelopController = import 'LrDevelopController' local LrDialogs = import 'LrDialogs' local ParamList = require 'ParamList' local prefs = import 'LrPrefs'.prefsForPlugin() -local Profiles = require 'Profiles' local serpent = require 'serpent' -- hidden local changed = false @@ -75,6 +74,7 @@ local function useDefaults() ProgramPreferences = {} ProgramPreferences = {Limits = setmetatable({},metalimit1), Presets = {}, PasteList = {}, Profiles = {}, } ProgramPreferences.Limits['Temperature'][50000] = {3000,9000} + local Profiles = require 'Profiles' --delay loading as profiles loads limits, until after Limits defined Profiles.useDefaults() changed = true end @@ -159,11 +159,6 @@ local function Load() if loaded ~= true then useDefaults() LrDialogs.message(LOC("$$$/MIDI2LR/Preferences/cantload=Unable to load preferences. Using default settings.")) - else --need to add back in the metatables. serpent doesn't serialize metatables - setmetatable(ProgramPreferences.Limits,metalimit1) - for k in pairs(ProgramPreferences.Limits) do -- k is parameter name, v is table under name - setmetatable(ProgramPreferences.Limits[k],metalimit2) - end end else -- not current version return load0() --load prior version, proper tail call @@ -174,6 +169,18 @@ local function Load() return loaded end +local function LoadShell() --encapsulates all loading, allowing post-processing + local loadretval = Load() + ProgramPreferences.Limits = ProgramPreferences.Limits or {} + if getmetatable(ProgramPreferences.Limits)==nil then + setmetatable(ProgramPreferences.Limits,metalimit1) + for k in pairs(ProgramPreferences.Limits) do -- k is parameter name, v is table under name + setmetatable(ProgramPreferences.Limits[k],metalimit2) + end + end +end + + local function ClearAll() for k in prefs:pairs() do prefs[k] = nil @@ -184,7 +191,7 @@ end return { --commented out unused exports -- ClearAll = ClearAll, - Load = Load, + Load = LoadShell, -- Reset = useDefaults, Save = Save, } \ No newline at end of file From 5502c3c468b8df4c9ff6ccf74cb39657f1f37e74 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 31 Jan 2016 14:54:12 -0800 Subject: [PATCH 84/87] add limits codes to documentation --- Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua index 9fe647de4..07d9374c7 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua @@ -32,7 +32,7 @@ local menulocation = "" file:write("Control definitions for wiki\n") for _,v in ipairs(Database.DataBase) do if v[4] then - if v[9] ~= menulocation then + if v[9] ~= menulocation then menulocation = v[9] file:write("New menu "..menulocation.."\n") end @@ -65,6 +65,14 @@ for _,v in ipairs(Database.DataBase) do file:write('"'..v[1]..'",\n') end end + +file:write("\n\nLimits codes for documentation\n\n") +for _,v in ipairs(Database.DataBase) do + if v[4] and v[5] and v[6]==false then + file:write("| "..v[1].." | "..v[8].." |\n") + end +end + file:write("\n\nRunning Tests\n\n",Database.RunTests(),"\n") file:close() From ab57b45fe89d970719e899f3144b354ba339be66 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 31 Jan 2016 16:32:30 -0800 Subject: [PATCH 85/87] whitespace --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 20 ++++++++++--------- .../MIDI2LR.lrplugin/Documentation.lua | 12 +++++------ 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index e88dd9de2..9e946254b 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -23,7 +23,7 @@ local LrMobdebug = import 'LrMobdebug' LrMobdebug.start() --]]-----------end debug section -local LrTasks = import 'LrTasks' +local LrTasks = import 'LrTasks' -- Main task LrTasks.startAsyncTask( function() @@ -41,14 +41,15 @@ LrTasks.startAsyncTask( LAST_PARAM = '', PARAM_OBSERVER = {}, PICKUP_ENABLED = true, SERVER = {} } --non-local but in MIDI2LR namespace local LrFunctionContext = import 'LrFunctionContext' - local LrPathUtils = import 'LrPathUtils' + local LrPathUtils = import 'LrPathUtils' do --save localized file for app local LrFileUtils = import 'LrFileUtils' local LrLocalization = import 'LrLocalization' - local Info = require 'Info' + local Info = require 'Info' local versionmismatch = false - local appdatafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') - local plugindatafile = LrPathUtils.child(_PLUGIN.path, 'ParamList.lua') + local appdatafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') + local plugindatafile = LrPathUtils.child(_PLUGIN.path, 'ParamList.lua') + if ProgramPreferences.DataStructure == nil then versionmismatch = true else @@ -56,11 +57,12 @@ LrTasks.startAsyncTask( versionmismatch = versionmismatch or ProgramPreferences.DataStructure.version[k] ~= v end end + if - versionmismatch or - LrFileUtils.exists(appdatafile) ~= 'file' or - LrFileUtils.exists(plugindatafile) ~= 'file' or - ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() + versionmismatch or + LrFileUtils.exists(appdatafile) ~= 'file' or + LrFileUtils.exists(plugindatafile) ~= 'file' or + ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() then require 'Database' ProgramPreferences.DataStructure = {version={},language = LrLocalization.currentLanguage()} diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua index 07d9374c7..edb87e88d 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Documentation.lua @@ -21,10 +21,10 @@ You should have received a copy of the GNU General Public License along with MIDI2LR. If not, see . ------------------------------------------------------------------------------]] -local Database = require 'Database' -local LrPathUtils = import 'LrPathUtils' -local datafile = LrPathUtils.child(_PLUGIN.path, 'Documentation.txt') -local file = io.open(datafile,'w') +local Database = require 'Database' +local LrPathUtils = import 'LrPathUtils' +local datafile = LrPathUtils.child(_PLUGIN.path, 'Documentation.txt') +local file = io.open(datafile,'w') local menulocation = "" @@ -43,8 +43,8 @@ for _,v in ipairs(Database.DataBase) do file:write("| "..v[8]..experimental.." | "..v[10].." |\n" ) end end -file:write("\n\nApplication menu entries\n") +file:write("\n\nApplication menu entries\n") for _,v in ipairs(Database.DataBase) do if v[4] then if v[9] ~= menulocation then @@ -54,6 +54,7 @@ for _,v in ipairs(Database.DataBase) do file:write('"'..v[8]..'",\n') end end + file:write("\n\nCommand strings\n") menulocation = "" for _,v in ipairs(Database.DataBase) do @@ -74,7 +75,6 @@ for _,v in ipairs(Database.DataBase) do end file:write("\n\nRunning Tests\n\n",Database.RunTests(),"\n") - file:close() From be5860b7e2238668480fc637066604c4b1e4a5b3 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 31 Jan 2016 16:39:21 -0800 Subject: [PATCH 86/87] bugfix: error if startup LR in develop module with no photo selected --- Source/LRPlugin/MIDI2LR.lrplugin/Client.lua | 45 +++++++++++---------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua index 9e946254b..81cbc5a70 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Client.lua @@ -49,7 +49,7 @@ LrTasks.startAsyncTask( local versionmismatch = false local appdatafile = LrPathUtils.child(_PLUGIN.path, 'MenuList.lua') local plugindatafile = LrPathUtils.child(_PLUGIN.path, 'ParamList.lua') - + if ProgramPreferences.DataStructure == nil then versionmismatch = true else @@ -57,12 +57,12 @@ LrTasks.startAsyncTask( versionmismatch = versionmismatch or ProgramPreferences.DataStructure.version[k] ~= v end end - + if - versionmismatch or - LrFileUtils.exists(appdatafile) ~= 'file' or - LrFileUtils.exists(plugindatafile) ~= 'file' or - ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() + versionmismatch or + LrFileUtils.exists(appdatafile) ~= 'file' or + LrFileUtils.exists(plugindatafile) ~= 'file' or + ProgramPreferences.DataStructure.language ~= LrLocalization.currentLanguage() then require 'Database' ProgramPreferences.DataStructure = {version={},language = LrLocalization.currentLanguage()} @@ -392,26 +392,27 @@ LrTasks.startAsyncTask( local loadVersion = currentLoadVersion -- add an observer for develop param changes--needs to occur in develop module - while (loadVersion == currentLoadVersion) and (LrApplicationView.getCurrentModuleName() ~= 'develop') do + -- will drop out of loop if loadversion changes or if in develop module with selected photo + while (loadVersion == currentLoadVersion) and ((LrApplicationView.getCurrentModuleName() ~= 'develop') or (LrApplication.activeCatalog():getTargetPhoto() == nil)) do LrTasks.sleep ( .29 ) Profiles.checkProfile() end --sleep away until ended or until develop module activated - LrDevelopController.revealAdjustedControls( true ) -- reveal affected parameter in panel track - LrDevelopController.addAdjustmentChangeObserver( - context, - MIDI2LR.PARAM_OBSERVER, - function ( observer ) - if LrApplicationView.getCurrentModuleName() == 'develop' then - guard:performWithGuard(AdjustmentChangeObserver,observer) - end - end - ) - - while (loadVersion == currentLoadVersion) do --detect halt or reload - LrTasks.sleep( .29 ) - Profiles.checkProfile() + if loadVersion == currentLoadVersion then --didn't drop out of loop because of program termination + LrDevelopController.revealAdjustedControls( true ) -- reveal affected parameter in panel track + LrDevelopController.addAdjustmentChangeObserver( + context, + MIDI2LR.PARAM_OBSERVER, + function ( observer ) + if LrApplicationView.getCurrentModuleName() == 'develop' then + guard:performWithGuard(AdjustmentChangeObserver,observer) + end + end + ) + while (loadVersion == currentLoadVersion) do --detect halt or reload + LrTasks.sleep( .29 ) + Profiles.checkProfile() + end end - client:close() MIDI2LR.SERVER:close() end From 88c82c1adb8cc19277e7d7c1f7fe8a497e585102 Mon Sep 17 00:00:00 2001 From: rsjaffe Date: Sun, 31 Jan 2016 19:10:47 -0800 Subject: [PATCH 87/87] comment out documentation.lua --- Source/LRPlugin/MIDI2LR.lrplugin/Info.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua index 2ff86e9ed..0e46c5a8f 100644 --- a/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua +++ b/Source/LRPlugin/MIDI2LR.lrplugin/Info.lua @@ -39,7 +39,7 @@ return { title = LOC("$$$/AgPluginManager/Status/HttpServer/StartServer=Start Server"), file = "LaunchServer.lua" }, - ---[[ comment out for end-users, enable for development + --[[ comment out for end-users, enable for development { title = "Produce documentation (development use only)", file = "Documentation.lua"