From 3b9b484ec162d5bf2a0aa6c86a0efb7f2a69895b Mon Sep 17 00:00:00 2001 From: Philip Rinn Date: Fri, 14 Aug 2015 19:06:01 +0200 Subject: [PATCH 01/35] Fix CMake and AboutThisBuild with git (see issue #2860) Tools to generate the release info are not updated jet, namely tools/generateReleaseInfo{.bat}. Only tested on Linux, OS X and Windows are untested. --- AboutThisBuild.cmake | 38 ++++++++++---------- AboutThisBuild.txt.in | 6 ++-- rtdata/CMakeLists.txt | 10 ------ rtdata/win/InnoSetup/WindowsInnoSetup.iss.in | 4 +-- rtgui/version.h.in | 4 +-- 5 files changed, 27 insertions(+), 35 deletions(-) diff --git a/AboutThisBuild.cmake b/AboutThisBuild.cmake index 330086838..425bd23de 100644 --- a/AboutThisBuild.cmake +++ b/AboutThisBuild.cmake @@ -1,36 +1,38 @@ # cmakefile executed within a makefile target -# If we find ReleaseInfo.cmake we use the info from there and don't need Mercurial to be installed +# If we find ReleaseInfo.cmake we use the info from there and don't need Git to be installed find_file(REL_INFO_FILE ReleaseInfo.cmake PATHS "${PROJECT_SOURCE_DIR}" NO_DEFAULT_PATH) if (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) - # we look for the hg command in this paths by order of preference + # we look for the git command in this paths by order of preference if (WIN32) - find_file(HG_CMD hg.exe HINTS ENV Path PATH_SUFFIXES ../) + find_file(GIT_CMD git.exe HINTS ENV Path PATH_SUFFIXES ../) elseif (APPLE) - find_file(HG_CMD hg PATHS "/opt/local/bin" "/usr/local/bin" "/usr/bin") - find_file(HG_CMD hg) + find_file(GIT_CMD git PATHS "/opt/local/bin" "/usr/local/bin" "/usr/bin") + find_file(GIT_CMD git) set (SHELL "/bin/bash") else (WIN32) # Linux - find_file(HG_CMD hg) + find_file(GIT_CMD git) set (SHELL "/bin/bash") endif (WIN32) - # Fail if Mercurial is not installed - if (HG_CMD STREQUAL HG_CMD-NOTFOUND) - message(FATAL_ERROR "hg command not found!") + # Fail if Git is not installed + if (GIT_CMD STREQUAL GIT_CMD-NOTFOUND) + message(FATAL_ERROR "git command not found!") else () - message(STATUS "hg command found: ${HG_CMD}") + message(STATUS "git command found: ${GIT_CMD}") endif () - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" branch OUTPUT_VARIABLE HG_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag}.{latesttagdistance} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={node|short} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttagdistance} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_TAGDISTANCE OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" symbolic-ref --short -q HEAD OUTPUT_VARIABLE GIT_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" describe --tags --always OUTPUT_VARIABLE GIT_VERSION_WHOLE OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "-g.*" "" GIT_VERSION ${GIT_VERSION_WHOLE}) + string(REPLACE "-" "." GIT_VERSION ${GIT_VERSION}) + execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" rev-parse --verify HEAD OUTPUT_VARIABLE GIT_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE ".*-(.*)-g.*" "\\1" GIT_TAGDISTANCE ${GIT_VERSION_WHOLE}) if (NOT DEFINED CACHE_NAME_SUFFIX) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE CACHE_NAME_SUFFIX OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "-.*" "" CACHE_NAME_SUFFIX ${GIT_VERSION_WHOLE}) message(STATUS "CACHE_NAME_SUFFIX was not defined, it is now \"${CACHE_NAME_SUFFIX}\"") elseif (CACHE_NAME_SUFFIX STREQUAL "latesttag") - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE CACHE_NAME_SUFFIX OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "-.*" "" CACHE_NAME_SUFFIX ${GIT_VERSION_WHOLE}) message(STATUS "CACHE_NAME_SUFFIX was \"latesttag\", it is now \"${CACHE_NAME_SUFFIX}\"") else () message(STATUS "CACHE_NAME_SUFFIX is \"${CACHE_NAME_SUFFIX}\"") @@ -40,9 +42,9 @@ else (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) endif (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) if (VERSION_SUFFIX STREQUAL "") - set (HG_VERSION_SUFFIX "${HG_VERSION}") + set (GIT_VERSION_SUFFIX "${GIT_VERSION}") else () - set (HG_VERSION_SUFFIX "${HG_VERSION} ${VERSION_SUFFIX}") + set (GIT_VERSION_SUFFIX "${GIT_VERSION} ${VERSION_SUFFIX}") endif () # build version.h from template diff --git a/AboutThisBuild.txt.in b/AboutThisBuild.txt.in index 2d8cf207e..b8ae4be1a 100644 --- a/AboutThisBuild.txt.in +++ b/AboutThisBuild.txt.in @@ -1,6 +1,6 @@ -Branch: ${HG_BRANCH} -Version: ${HG_VERSION_SUFFIX} -Changeset: ${HG_CHANGESET} +Branch: ${GIT_BRANCH} +Version: ${GIT_VERSION_SUFFIX} +Changeset: ${GIT_CHANGESET} Compiler: ${COMPILER_INFO} Processor: ${PROC_LABEL} System: ${SYSTEM} diff --git a/rtdata/CMakeLists.txt b/rtdata/CMakeLists.txt index 81620221d..d91e43994 100644 --- a/rtdata/CMakeLists.txt +++ b/rtdata/CMakeLists.txt @@ -19,16 +19,6 @@ else (WIN32) endif (WIN32) if (WIN32) - find_file(HG_CMD hg.exe HINTS ENV Path PATH_SUFFIXES ../) - # Fail if Mercurial is not installed - if (HG_CMD STREQUAL HG_CMD-NOTFOUND) - message(FATAL_ERROR "hg command not found!") - else (HG_CMD STREQUAL HG_CMD-NOTFOUND) - message(STATUS "hg command found: ${HG_CMD}") - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttagdistance} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_TAGDISTANCE OUTPUT_STRIP_TRAILING_WHITESPACE) - endif (HG_CMD STREQUAL HG_CMD-NOTFOUND) - if (CMAKE_SIZEOF_VOID_P EQUAL 4) set(BUILD_BIT_DEPTH 32) # 32 bits builds has to be installable on 64 bits system, to support WinXP/64. diff --git a/rtdata/win/InnoSetup/WindowsInnoSetup.iss.in b/rtdata/win/InnoSetup/WindowsInnoSetup.iss.in index 9333bd86a..42f2a0feb 100644 --- a/rtdata/win/InnoSetup/WindowsInnoSetup.iss.in +++ b/rtdata/win/InnoSetup/WindowsInnoSetup.iss.in @@ -23,8 +23,8 @@ #define MyAppName "RawTherapee" -#define MyAppVersion "${HG_VERSION}" -#define MyAppFullVersion "${HG_VERSION}.${HG_TAGDISTANCE}" +#define MyAppVersion "${GIT_VERSION}" +#define MyAppFullVersion "${GIT_VERSION}.${GIT_TAGDISTANCE}" #define MyAppPublisher "rawtherapee.com" #define MyAppURL "http://www.rawtherapee.com/" #define MyAppExeName "rawtherapee.exe" diff --git a/rtgui/version.h.in b/rtgui/version.h.in index 29e7ccbed..03630075b 100644 --- a/rtgui/version.h.in +++ b/rtgui/version.h.in @@ -4,9 +4,9 @@ #ifndef _VERSION_ #define _VERSION_ -#define VERSION "${HG_VERSION}" +#define VERSION "${GIT_VERSION}" #define VERSION_SUFFIX "${VERSION_SUFFIX}" -#define TAGDISTANCE ${HG_TAGDISTANCE} +#define TAGDISTANCE ${GIT_TAGDISTANCE} #define CACHEFOLDERNAME "RawTherapee${CACHE_NAME_SUFFIX}" #endif From 50156688659bbc6a5d092436f0eaa40e42f46602 Mon Sep 17 00:00:00 2001 From: Philip Rinn Date: Sat, 15 Aug 2015 19:39:05 +0200 Subject: [PATCH 02/35] Fix generation of WindowsInnoSetup.iss (see issue #2865) --- rtdata/CMakeLists.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/rtdata/CMakeLists.txt b/rtdata/CMakeLists.txt index d91e43994..c5ae268c4 100644 --- a/rtdata/CMakeLists.txt +++ b/rtdata/CMakeLists.txt @@ -36,6 +36,27 @@ if (WIN32) # set part of the output archive name set(SYSTEM_NAME "WinVista") endif (CMAKE_SIZEOF_VOID_P EQUAL 4) + + # If we find ReleaseInfo.cmake we use the info from there and don't need Git to be installed + find_file(REL_INFO_FILE ReleaseInfo.cmake PATHS "${PROJECT_SOURCE_DIR}" NO_DEFAULT_PATH) + if (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) + # we look for the git command in this paths by order of preference + find_file(GIT_CMD git.exe HINTS ENV Path PATH_SUFFIXES ../) + + # Fail if Git is not installed + if (GIT_CMD STREQUAL GIT_CMD-NOTFOUND) + message(FATAL_ERROR "git command not found!") + else () + message(STATUS "git command found: ${GIT_CMD}") + endif () + + execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" describe --tags --always OUTPUT_VARIABLE GIT_VERSION_WHOLE OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "-.*" "" GIT_VERSION ${GIT_VERSION_WHOLE}) + string(REGEX REPLACE ".*-(.*)-g.*" "\\1" GIT_TAGDISTANCE ${GIT_VERSION_WHOLE}) + else (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) + include("${PROJECT_SOURCE_DIR}/ReleaseInfo.cmake") + endif (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) + configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/win/InnoSetup/WindowsInnoSetup.iss.in" "${CMAKE_CURRENT_BINARY_DIR}/WindowsInnoSetup.iss") install (FILES "${CMAKE_CURRENT_BINARY_DIR}/WindowsInnoSetup.iss" DESTINATION ${BINDIR}) endif (WIN32) From bdbe5395f5483cc8553b9054358c866d17e751ca Mon Sep 17 00:00:00 2001 From: Philip Rinn Date: Sat, 15 Aug 2015 20:05:23 +0200 Subject: [PATCH 03/35] Update tools/generateReleaseInfo to work with git (see #2865) --- tools/generateReleaseInfo | 17 +++++++++-------- tools/generateReleaseInfo.bat | 11 ----------- 2 files changed, 9 insertions(+), 19 deletions(-) delete mode 100644 tools/generateReleaseInfo.bat diff --git a/tools/generateReleaseInfo b/tools/generateReleaseInfo index 4b3d8f427..79189ad44 100755 --- a/tools/generateReleaseInfo +++ b/tools/generateReleaseInfo @@ -1,11 +1,12 @@ #!/usr/bin/env bash -hgBranch="`hg branch`" -hgLatesttag="`hg parents --template '{latesttag}'`" -hgLatesttagdistance="`hg parents --template '{latesttagdistance}'`" -hgChangeset="`hg parents --template '{node|short}'`" +gitBranch="`git symbolic-ref --short -q HEAD`" +gitVersion="`git describe --tags --always`" +gitLatesttag="`echo $gitVersion | sed 's/-.*//'`" +gitLatesttagdistance="`echo $gitVersion | sed 's/.*-\(.*\)-g.*/\1/'`" +gitChangeset="`git rev-parse --verify HEAD`" -echo "set(HG_BRANCH $hgBranch) -set(HG_VERSION $hgLatesttag.$hgLatesttagdistance) -set(HG_CHANGESET $hgChangeset) -set(HG_TAGDISTANCE $hgLatesttagdistance)" > ReleaseInfo.cmake +echo "set(GIT_BRANCH $gitBranch) +set(GIT_VERSION $gitLatesttag.$gitLatesttagdistance) +set(GIT_CHANGESET $gitChangeset) +set(GIT_TAGDISTANCE $gitLatesttagdistance)" > ReleaseInfo.cmake diff --git a/tools/generateReleaseInfo.bat b/tools/generateReleaseInfo.bat deleted file mode 100644 index a8ac1289e..000000000 --- a/tools/generateReleaseInfo.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off -for /f "tokens=*" %%a in ('hg branch') do @set hgBranch=%%a -for /f "tokens=*" %%a in ('hg parents --template "{latesttag}"') do @set hgLatesttag=%%a -for /f "tokens=*" %%a in ('hg parents --template "{latesttagdistance}"') do @set hgLatesttagdistance=%%a -for /f "tokens=*" %%a in ('hg parents --template "{node|short}"') do @set hgChangeset=%%a - -echo set(HG_BRANCH %hgBranch%) > ReleaseInfo.cmake -echo set(HG_VERSION %hgLatesttag%.%hgLatesttagdistance%) >> ReleaseInfo.cmake -echo set(HG_CHANGESET %hgChangeset%) >> ReleaseInfo.cmake -echo set(HG_TAGDISTANCE %hgLatesttagdistance%) >> ReleaseInfo.cmake - From 44516902c97a08ca135c845650e57a4f277b88d9 Mon Sep 17 00:00:00 2001 From: Philip Rinn Date: Sat, 15 Aug 2015 20:56:52 +0200 Subject: [PATCH 04/35] Clean CMakeLists.txt from unneeded code (see #2861). This also suppresses warnings from CMake > 2.8.12 --- CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 55d8ef011..f69ba6cad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,5 @@ if (WIN32) cmake_minimum_required(VERSION 2.8.4) - cmake_policy(SET CMP0015 OLD) else (WIN32) cmake_minimum_required(VERSION 2.6) endif (WIN32) @@ -352,7 +351,6 @@ add_custom_target(AboutFile ALL COMMAND ${ABOUT_COMMAND_WITH_ARGS} COMMENT "Creating the about file") -add_dependencies(AboutFile Debug Release MinSizeRel RelWithDebInfo) ## END: Generating AboutThisBuild.txt install (FILES AUTHORS.txt DESTINATION "${CREDITSDIR}") From f7907a54745c6e6e556d2c981c56abcf1ba55280 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Mon, 17 Aug 2015 13:31:20 +0200 Subject: [PATCH 05/35] Speedup for perceptual curve, #2817 --- rtengine/ciecam02.cc | 93 +++++++++++++---- rtengine/ciecam02.h | 22 ++-- rtengine/curves.cc | 232 ++++++++++++++++++++++++------------------ rtengine/curves.h | 14 ++- rtengine/improcfun.cc | 17 +--- rtengine/init.cc | 1 - 6 files changed, 234 insertions(+), 145 deletions(-) diff --git a/rtengine/ciecam02.cc b/rtengine/ciecam02.cc index 47b24eba0..ec9d6722d 100644 --- a/rtengine/ciecam02.cc +++ b/rtengine/ciecam02.cc @@ -462,7 +462,6 @@ void Ciecam02::cat02_to_xyz( double &x, double &y, double &z, double r, double g } } -#ifndef __SSE2__ void Ciecam02::cat02_to_xyzfloat( float &x, float &y, float &z, float r, float g, float b, int gamu ) { gamu = 1; @@ -480,7 +479,7 @@ void Ciecam02::cat02_to_xyzfloat( float &x, float &y, float &z, float r, float g z = ( 0.000000f * r) - (0.000000f * g) + (1.000000f * b); } } -#else +#ifdef __SSE2__ void Ciecam02::cat02_to_xyzfloat( vfloat &x, vfloat &y, vfloat &z, vfloat r, vfloat g, vfloat b ) { //gamut correction M.H.Brill S.Susstrunk @@ -497,14 +496,14 @@ void Ciecam02::hpe_to_xyz( double &x, double &y, double &z, double r, double g, z = b; } -#ifndef __SSE2__ + void Ciecam02::hpe_to_xyzfloat( float &x, float &y, float &z, float r, float g, float b ) { x = (1.910197f * r) - (1.112124f * g) + (0.201908f * b); y = (0.370950f * r) + (0.629054f * g) - (0.000008f * b); z = b; } -#else +#ifdef __SSE2__ void Ciecam02::hpe_to_xyzfloat( vfloat &x, vfloat &y, vfloat &z, vfloat r, vfloat g, vfloat b ) { x = (F2V(1.910197f) * r) - (F2V(1.112124f) * g) + (F2V(0.201908f) * b); @@ -565,7 +564,6 @@ void Ciecam02::Aab_to_rgb( double &r, double &g, double &b, double A, double aa, b = (0.32787 * x) - (0.15681 * aa) - (4.49038 * bb); } -#ifndef __SSE2__ void Ciecam02::Aab_to_rgbfloat( float &r, float &g, float &b, float A, float aa, float bb, float nbb ) { float x = (A / nbb) + 0.305f; @@ -577,7 +575,7 @@ void Ciecam02::Aab_to_rgbfloat( float &r, float &g, float &b, float A, float aa, /* c1 c6 c7 */ b = (0.32787f * x) - (0.15681f * aa) - (4.49038f * bb); } -#else +#ifdef __SSE2__ void Ciecam02::Aab_to_rgbfloat( vfloat &r, vfloat &g, vfloat &b, vfloat A, vfloat aa, vfloat bb, vfloat nbb ) { vfloat c1 = F2V(0.32787f) * ((A / nbb) + F2V(0.305f)); @@ -619,7 +617,6 @@ void Ciecam02::calculate_ab( double &aa, double &bb, double h, double e, double bb = (aa * sinh) / cosh; } } -#ifndef __SSE2__ void Ciecam02::calculate_abfloat( float &aa, float &bb, float h, float e, float t, float nbb, float a ) { float2 sincosval = xsincosf((h * M_PI) / 180.0f); @@ -657,7 +654,7 @@ void Ciecam02::calculate_abfloat( float &aa, float &bb, float h, float e, float std::swap(aa, bb); } } -#else +#ifdef __SSE2__ void Ciecam02::calculate_abfloat( vfloat &aa, vfloat &bb, vfloat h, vfloat e, vfloat t, vfloat nbb, vfloat a ) { vfloat2 sincosval = xsincosf((h * F2V(M_PI)) / F2V(180.0f)); @@ -862,7 +859,7 @@ void Ciecam02::xyz2jchqms_ciecam02( double &J, double &C, double &h, double &Q, void Ciecam02::xyz2jchqms_ciecam02float( float &J, float &C, float &h, float &Q, float &M, float &s, float &aw, float &fl, float &wh, float x, float y, float z, float xw, float yw, float zw, - float yb, float la, float f, float c, float nc, float pilotd, int gamu, float pow1, float nbb, float ncb, float pfl, float cz, float d) + float c, float nc, int gamu, float pow1, float nbb, float ncb, float pfl, float cz, float d) { float r, g, b; @@ -876,9 +873,9 @@ void Ciecam02::xyz2jchqms_ciecam02float( float &J, float &C, float &h, float &Q, gamu = 1; xyz_to_cat02float( r, g, b, x, y, z, gamu ); xyz_to_cat02float( rw, gw, bw, xw, yw, zw, gamu ); - rc = r * (((yw * d) / rw) + (1.0 - d)); - gc = g * (((yw * d) / gw) + (1.0 - d)); - bc = b * (((yw * d) / bw) + (1.0 - d)); + rc = r * (((yw * d) / rw) + (1.f - d)); + gc = g * (((yw * d) / gw) + (1.f - d)); + bc = b * (((yw * d) / bw) + (1.f - d)); cat02_to_hpefloat( rp, gp, bp, rc, gc, bc, gamu ); @@ -924,7 +921,7 @@ void Ciecam02::xyz2jchqms_ciecam02float( float &J, float &C, float &h, float &Q, #ifdef __SSE2__ void Ciecam02::xyz2jchqms_ciecam02float( vfloat &J, vfloat &C, vfloat &h, vfloat &Q, vfloat &M, vfloat &s, vfloat aw, vfloat fl, vfloat wh, vfloat x, vfloat y, vfloat z, vfloat xw, vfloat yw, vfloat zw, - vfloat yb, vfloat la, vfloat f, vfloat c, vfloat nc, vfloat pow1, vfloat nbb, vfloat ncb, vfloat pfl, vfloat cz, vfloat d) + vfloat c, vfloat nc, vfloat pow1, vfloat nbb, vfloat ncb, vfloat pfl, vfloat cz, vfloat d) { vfloat r, g, b; @@ -979,6 +976,65 @@ void Ciecam02::xyz2jchqms_ciecam02float( vfloat &J, vfloat &C, vfloat &h, vfloat } #endif +void Ciecam02::xyz2jch_ciecam02float( float &J, float &C, float &h, float aw, float fl, + float x, float y, float z, float xw, float yw, float zw, + float c, float nc, float pow1, float nbb, float ncb, float cz, float d) + +{ + float r, g, b; + float rw, gw, bw; + float rc, gc, bc; + float rp, gp, bp; + float rpa, gpa, bpa; + float a, ca, cb; + float e, t; + float myh; + int gamu = 1; + xyz_to_cat02float( r, g, b, x, y, z, gamu ); + xyz_to_cat02float( rw, gw, bw, xw, yw, zw, gamu ); + rc = r * (((yw * d) / rw) + (1.f - d)); + gc = g * (((yw * d) / gw) + (1.f - d)); + bc = b * (((yw * d) / bw) + (1.f - d)); + + cat02_to_hpefloat( rp, gp, bp, rc, gc, bc, gamu ); + + if (gamu == 1) { //gamut correction M.H.Brill S.Susstrunk + rp = MAXR(rp, 0.0f); + gp = MAXR(gp, 0.0f); + bp = MAXR(bp, 0.0f); + } + + rpa = nonlinear_adaptationfloat( rp, fl ); + gpa = nonlinear_adaptationfloat( gp, fl ); + bpa = nonlinear_adaptationfloat( bp, fl ); + + ca = rpa - ((12.0f * gpa) - bpa) / 11.0f; + cb = (0.11111111f) * (rpa + gpa - (2.0f * bpa)); + + myh = xatan2f( cb, ca ); + + if ( myh < 0.0f ) { + myh += (2.f * M_PI); + } + + a = ((2.0f * rpa) + gpa + (0.05f * bpa) - 0.305f) * nbb; + + if (gamu == 1) { + a = MAXR(a, 0.0f); //gamut correction M.H.Brill S.Susstrunk + } + + J = pow_F( a / aw, c * cz * 0.5f); + + e = ((961.53846f) * nc * ncb) * (xcosf( myh + 2.0f ) + 3.8f); + t = (e * sqrtf( (ca * ca) + (cb * cb) )) / (rpa + gpa + (1.05f * bpa)); + + C = pow_F( t, 0.9f ) * J * pow1; + + J *= J * 100.0f; + h = (myh * 180.f) / (float)M_PI; +} + + void Ciecam02::jch2xyz_ciecam02( double &x, double &y, double &z, double J, double C, double h, double xw, double yw, double zw, double yb, double la, double f, double c, double nc , int gamu, double n, double nbb, double ncb, double fl, double cz, double d, double aw ) @@ -1012,9 +1068,9 @@ void Ciecam02::jch2xyz_ciecam02( double &x, double &y, double &z, double J, doub cat02_to_xyz( x, y, z, r, g, b, gamu ); } -#ifndef __SSE2__ + void Ciecam02::jch2xyz_ciecam02float( float &x, float &y, float &z, float J, float C, float h, - float xw, float yw, float zw, float yb, float la, + float xw, float yw, float zw, float f, float c, float nc , int gamu, float pow1, float nbb, float ncb, float fl, float cz, float d, float aw) { float r, g, b; @@ -1047,9 +1103,9 @@ void Ciecam02::jch2xyz_ciecam02float( float &x, float &y, float &z, float J, flo cat02_to_xyzfloat( x, y, z, r, g, b, gamu ); } -#else +#ifdef __SSE2__ void Ciecam02::jch2xyz_ciecam02float( vfloat &x, vfloat &y, vfloat &z, vfloat J, vfloat C, vfloat h, - vfloat xw, vfloat yw, vfloat zw, vfloat yb, vfloat la, + vfloat xw, vfloat yw, vfloat zw, vfloat f, vfloat nc, vfloat pow1, vfloat nbb, vfloat ncb, vfloat fl, vfloat d, vfloat aw, vfloat reccmcz) { vfloat r, g, b; @@ -1135,7 +1191,6 @@ double Ciecam02::inverse_nonlinear_adaptation( double c, double fl ) return c1 * (100.0 / fl) * pow( (27.13 * fabs( c - 0.1 )) / (400.0 - fabs( c - 0.1 )), 1.0 / 0.42 ); } -#ifndef __SSE2__ float Ciecam02::inverse_nonlinear_adaptationfloat( float c, float fl ) { c -= 0.1f; @@ -1153,7 +1208,7 @@ float Ciecam02::inverse_nonlinear_adaptationfloat( float c, float fl ) return (100.0f / fl) * pow_F( (27.13f * fabsf( c )) / (400.0f - fabsf( c )), 2.38095238f ); } -#else +#ifdef __SSE2__ vfloat Ciecam02::inverse_nonlinear_adaptationfloat( vfloat c, vfloat fl ) { c -= F2V(0.1f); diff --git a/rtengine/ciecam02.h b/rtengine/ciecam02.h index b598f4678..e5b61d466 100644 --- a/rtengine/ciecam02.h +++ b/rtengine/ciecam02.h @@ -55,13 +55,13 @@ private: static float nonlinear_adaptationfloat( float c, float fl ); static double inverse_nonlinear_adaptation( double c, double fl ); -#ifndef __SSE2__ + static float inverse_nonlinear_adaptationfloat( float c, float fl ); static void calculate_abfloat( float &aa, float &bb, float h, float e, float t, float nbb, float a ); static void Aab_to_rgbfloat( float &r, float &g, float &b, float A, float aa, float bb, float nbb ); static void hpe_to_xyzfloat ( float &x, float &y, float &z, float r, float g, float b ); static void cat02_to_xyzfloat ( float &x, float &y, float &z, float r, float g, float b, int gamu ); -#else +#ifdef __SSE2__ static vfloat inverse_nonlinear_adaptationfloat( vfloat c, vfloat fl ); static void calculate_abfloat( vfloat &aa, vfloat &bb, vfloat h, vfloat e, vfloat t, vfloat nbb, vfloat a ); static void Aab_to_rgbfloat( vfloat &r, vfloat &g, vfloat &b, vfloat A, vfloat aa, vfloat bb, vfloat nbb ); @@ -85,17 +85,15 @@ public: double yb, double la, double f, double c, double nc, int gamu, double n, double nbb, double ncb, double fl, double cz, double d, double aw); -#ifndef __SSE2__ + static void jch2xyz_ciecam02float( float &x, float &y, float &z, float J, float C, float h, float xw, float yw, float zw, - float yb, float la, float f, float c, float nc, int gamu, float n, float nbb, float ncb, float fl, float cz, float d, float aw ); -#else +#ifdef __SSE2__ static void jch2xyz_ciecam02float( vfloat &x, vfloat &y, vfloat &z, vfloat J, vfloat C, vfloat h, vfloat xw, vfloat yw, vfloat zw, - vfloat yb, vfloat la, vfloat f, vfloat nc, vfloat n, vfloat nbb, vfloat ncb, vfloat fl, vfloat d, vfloat aw, vfloat reccmcz ); #endif /** @@ -120,20 +118,24 @@ public: double yb, double la, double f, double c, double nc, double pilotd, int gamu , double n, double nbb, double ncb, double pfl, double cz, double d ); + static void xyz2jch_ciecam02float( float &J, float &C, float &h, + float aw, float fl, + float x, float y, float z, + float xw, float yw, float zw, + float c, float nc, float n, float nbb, float ncb, float cz, float d ); + static void xyz2jchqms_ciecam02float( float &J, float &C, float &h, float &Q, float &M, float &s, float &aw, float &fl, float &wh, float x, float y, float z, float xw, float yw, float zw, - float yb, float la, - float f, float c, float nc, float pilotd, int gamu, float n, float nbb, float ncb, float pfl, float cz, float d ); + float c, float nc, int gamu, float n, float nbb, float ncb, float pfl, float cz, float d ); #ifdef __SSE2__ static void xyz2jchqms_ciecam02float( vfloat &J, vfloat &C, vfloat &h, vfloat &Q, vfloat &M, vfloat &s, vfloat aw, vfloat fl, vfloat wh, vfloat x, vfloat y, vfloat z, vfloat xw, vfloat yw, vfloat zw, - vfloat yb, vfloat la, - vfloat f, vfloat c, vfloat nc, vfloat n, vfloat nbb, vfloat ncb, vfloat pfl, vfloat cz, vfloat d ); + vfloat c, vfloat nc, vfloat n, vfloat nbb, vfloat ncb, vfloat pfl, vfloat cz, vfloat d ); #endif diff --git a/rtengine/curves.cc b/rtengine/curves.cc index 4e94be1b8..f4316f128 100644 --- a/rtengine/curves.cc +++ b/rtengine/curves.cc @@ -33,6 +33,7 @@ #include "LUT.h" #include "curves.h" #include "opthelper.h" +#include "ciecam02.h" #undef CLIPD #define CLIPD(a) ((a)>0.0f?((a)<1.0f?(a):1.0f):0.0f) @@ -2083,14 +2084,14 @@ float PerceptualToneCurve::calculateToneCurveContrastValue(void) const void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurveState & state) const { float x, y, z; - cmsCIEXYZ XYZ; - cmsJCh JCh; - - int thread_idx = 0; -#ifdef _OPENMP - thread_idx = omp_get_thread_num(); -#endif +// cmsCIEXYZ XYZ; +// cmsJCh JCh; + /* int thread_idx = 0; + #ifdef _OPENMP + thread_idx = omp_get_thread_num(); + #endif + */ if (!state.isProphoto) { // convert to prophoto space to make sure the same result is had regardless of working color space float newr = state.Working2Prophoto[0][0] * r + state.Working2Prophoto[0][1] * g + state.Working2Prophoto[0][2] * b; @@ -2134,12 +2135,21 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv // move to JCh so we can modulate chroma based on the global contrast-related chroma scaling factor Color::Prophotoxyz(r, g, b, x, y, z); - XYZ.X = x * 100.0f / 65535; - XYZ.Y = y * 100.0f / 65535; - XYZ.Z = z * 100.0f / 65535; - cmsCIECAM02Forward(h02[thread_idx], &XYZ, &JCh); - if (!isfinite(JCh.J) || !isfinite(JCh.C) || !isfinite(JCh.h)) { +// XYZ = (cmsCIEXYZ){ .X = x * 0.0015259022f, .Y = y * 0.0015259022f, .Z = z * 0.0015259022f }; + float J, C, h; + Ciecam02::xyz2jch_ciecam02float( J, C, h, + aw, fl, + x * 0.0015259022f, y * 0.0015259022f, z * 0.0015259022f, + xw, yw, zw, + c, nc, n, nbb, ncb, cz, d); + + +// cmsCIECAM02Forward(h02[thread_idx], &XYZ, &JCh); +// XYZ.X = x * 0.0015259022f; +// XYZ.Y = y * 0.0015259022f; +// XYZ.Z = z * 0.0015259022f; + if (!isfinite(J) || !isfinite(C) || !isfinite(h)) { // this can happen for dark noise colors or colors outside human gamut. Then we just return the curve's result. if (!state.isProphoto) { float newr = state.Prophoto2Working[0][0] * r + state.Prophoto2Working[0][1] * g + state.Prophoto2Working[0][2] * b; @@ -2159,24 +2169,26 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv { // decrease chroma scaling sligthly of extremely saturated colors - float saturated_scale_factor = 0.95; - const float lolim = 35; // lower limit, below this chroma all colors will keep original chroma scaling factor - const float hilim = 60; // high limit, above this chroma the chroma scaling factor is multiplied with the saturated scale factor value above + float saturated_scale_factor = 0.95f; + const float lolim = 35.f; // lower limit, below this chroma all colors will keep original chroma scaling factor + const float hilim = 60.f; // high limit, above this chroma the chroma scaling factor is multiplied with the saturated scale factor value above - if (JCh.C < lolim) { + if (C < lolim) { // chroma is low enough, don't scale - saturated_scale_factor = 1.0; - } else if (JCh.C < hilim) { + saturated_scale_factor = 1.f; + } else if (C < hilim) { // S-curve transition between low and high limit - float x = (JCh.C - lolim) / (hilim - lolim); // x = [0..1], 0 at lolim, 1 at hilim + float x = (C - lolim) / (hilim - lolim); // x = [0..1], 0 at lolim, 1 at hilim - if (x < 0.5) { - x = 0.5 * powf(2 * x, 2); + if (x < 0.5f) { + x = 2.f * SQR(x); +// x = 0.5f * powf(2*x, 2); } else { - x = 0.5 + 0.5 * (1 - powf(1 - 2 * (x - 0.5), 2)); + x = 1.f - 2.f * SQR(1 - x); +// x = 1.f - 0.5f * powf(2-2*x, 2); } - saturated_scale_factor = 1.0 * (1.0 - x) + saturated_scale_factor * x; + saturated_scale_factor = (1.f - x) + saturated_scale_factor * x; } else { // do nothing, high saturation color, keep scale factor } @@ -2186,11 +2198,11 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv { // increase chroma scaling slightly of shadows - float nL = CurveFactory::gamma2(newLuminance / 65535); // apply gamma so we make comparison and transition with a more perceptual lightness scale - float dark_scale_factor = 1.20; + float nL = gamma2curve[newLuminance]; // apply gamma so we make comparison and transition with a more perceptual lightness scale + float dark_scale_factor = 1.20f; //float dark_scale_factor = 1.0 + state.debug.p2 / 100.0f; - const float lolim = 0.15; - const float hilim = 0.50; + const float lolim = 0.15f; + const float hilim = 0.50f; if (nL < lolim) { // do nothing, keep scale factor @@ -2198,15 +2210,17 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv // S-curve transition float x = (nL - lolim) / (hilim - lolim); // x = [0..1], 0 at lolim, 1 at hilim - if (x < 0.5) { - x = 0.5 * powf(2 * x, 2); + if (x < 0.5f) { + x = 2.f * SQR(x); +// x = 0.5f * powf(2*x, 2); } else { - x = 0.5 + 0.5 * (1 - powf(1 - 2 * (x - 0.5), 2)); + x = 1.f - 2.f * SQR(1 - x); +// x = 1.f - 0.5f * (powf(2-2*x, 2)); } - dark_scale_factor = dark_scale_factor * (1.0 - x) + 1.0 * x; + dark_scale_factor = dark_scale_factor * (1.0f - x) + x; } else { - dark_scale_factor = 1.0; + dark_scale_factor = 1.f; } cmul *= dark_scale_factor; @@ -2214,34 +2228,41 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv { // to avoid strange CIECAM02 chroma errors on close-to-shadow-clipping colors we reduce chroma scaling towards 1.0 for black colors - float dark_scale_factor = 1.0 / cmul; - const float lolim = 4; - const float hilim = 7; + float dark_scale_factor = 1.f / cmul; + const float lolim = 4.f; + const float hilim = 7.f; - if (JCh.J < lolim) { + if (J < lolim) { // do nothing, keep scale factor - } else if (JCh.J < hilim) { + } else if (J < hilim) { // S-curve transition - float x = (JCh.J - lolim) / (hilim - lolim); + float x = (J - lolim) / (hilim - lolim); - if (x < 0.5) { - x = 0.5 * powf(2 * x, 2); + if (x < 0.5f) { + x = 2.f * SQR(x); +// x = 0.5f * powf(2*x, 2); } else { - x = 0.5 + 0.5 * (1 - powf(1 - 2 * (x - 0.5), 2)); + x = 1.f - 2.f * SQR(1 - x); +// x = 1.f - 0.5f * (powf(2-2*x, 2)); } - dark_scale_factor = dark_scale_factor * (1.0 - x) + 1.0 * x; + dark_scale_factor = dark_scale_factor * (1.f - x) + x; } else { - dark_scale_factor = 1.0; + dark_scale_factor = 1.f; } cmul *= dark_scale_factor; } - JCh.C *= cmul; - cmsCIECAM02Reverse(h02[thread_idx], &JCh, &XYZ); + C *= cmul; +// cmsCIECAM02Reverse(h02[thread_idx], &JCh, &XYZ); - if (!isfinite(XYZ.X) || !isfinite(XYZ.Y) || !isfinite(XYZ.Z)) { + Ciecam02::jch2xyz_ciecam02float( x, y, z, + J, C, h, + xw, yw, zw, + f, c, nc, 1, n, nbb, ncb, fl, cz, d, aw ); + + if (!isfinite(x) || !isfinite(y) || !isfinite(z)) { // can happen for colors on the rim of being outside gamut, that worked without chroma scaling but not with. Then we return only the curve's result. if (!state.isProphoto) { float newr = state.Prophoto2Working[0][0] * r + state.Prophoto2Working[0][1] * g + state.Prophoto2Working[0][2] * b; @@ -2255,10 +2276,10 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv return; } - Color::xyz2Prophoto(XYZ.X, XYZ.Y, XYZ.Z, r, g, b); - r *= 655.35; - g *= 655.35; - b *= 655.35; + Color::xyz2Prophoto(x, y, z, r, g, b); + r *= 655.35f; + g *= 655.35f; + b *= 655.35f; r = LIM(r, 0.f, 65535.f); g = LIM(g, 0.f, 65535.f); b = LIM(b, 0.f, 65535.f); @@ -2273,34 +2294,36 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv Color::rgb2hsv(ar, ag, ab, ah, as, av); Color::rgb2hsv(r, g, b, h, s, v); - float sat_scale = as <= 0.0 ? 1.0 : s / as; // saturation scale compared to Adobe curve - float keep = 0.2; - const float lolim = 1.00; // only mix in the Adobe curve if we have increased saturation compared to it - const float hilim = 1.20; + float sat_scale = as <= 0.f ? 1.f : s / as; // saturation scale compared to Adobe curve + float keep = 0.2f; + const float lolim = 1.00f; // only mix in the Adobe curve if we have increased saturation compared to it + const float hilim = 1.20f; if (sat_scale < lolim) { // saturation is low enough, don't desaturate - keep = 1.0; + keep = 1.f; } else if (sat_scale < hilim) { // S-curve transition float x = (sat_scale - lolim) / (hilim - lolim); // x = [0..1], 0 at lolim, 1 at hilim - if (x < 0.5) { - x = 0.5 * powf(2 * x, 2); + if (x < 0.5f) { + x = 2.f * SQR(x); +// x = 0.5f * powf(2*x, 2); } else { - x = 0.5 + 0.5 * (1 - powf(1 - 2 * (x - 0.5), 2)); + x = 1.f - 2.f * SQR(1 - x); +// x = 1.f - 0.5f * (powf(2-2*x, 2)); } - keep = 1.0 * (1.0 - x) + keep * x; + keep = (1.f - x) + keep * x; } else { // do nothing, very high increase, keep minimum amount } - if (keep < 1.0) { + if (keep < 1.f) { // mix in some of the Adobe curve result - r = r * keep + (1.0 - keep) * ar; - g = g * keep + (1.0 - keep) * ag; - b = b * keep + (1.0 - keep) * ab; + r = r * keep + (1.f - keep) * ar; + g = g * keep + (1.f - keep) * ag; + b = b * keep + (1.f - keep) * ab; } } @@ -2314,42 +2337,58 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv } } -cmsContext * PerceptualToneCurve::c02; -cmsHANDLE * PerceptualToneCurve::h02; +//cmsContext * PerceptualToneCurve::c02; +//cmsHANDLE * PerceptualToneCurve::h02; float PerceptualToneCurve::cf_range[2]; float PerceptualToneCurve::cf[1000]; +LUTf PerceptualToneCurve::gamma2curve; +float PerceptualToneCurve::f, PerceptualToneCurve::c, PerceptualToneCurve::nc, PerceptualToneCurve::yb, PerceptualToneCurve::la, PerceptualToneCurve::xw, PerceptualToneCurve::yw, PerceptualToneCurve::zw, PerceptualToneCurve::gamut; +float PerceptualToneCurve::n, PerceptualToneCurve::d, PerceptualToneCurve::nbb, PerceptualToneCurve::ncb, PerceptualToneCurve::cz, PerceptualToneCurve::aw, PerceptualToneCurve::wh, PerceptualToneCurve::pfl, PerceptualToneCurve::fl, PerceptualToneCurve::pow1; void PerceptualToneCurve::init() { - { - // init ciecam02 state, used for chroma scalings - cmsViewingConditions vc; - vc.whitePoint = *cmsD50_XYZ(); - vc.whitePoint.X *= 100; - vc.whitePoint.Y *= 100; - vc.whitePoint.Z *= 100; - vc.Yb = 20; - vc.La = 20; - vc.surround = AVG_SURROUND; - vc.D_value = 1.0; + /* { // init ciecam02 state, used for chroma scalings - int thread_count = 1; -#ifdef _OPENMP - thread_count = omp_get_max_threads(); -#endif - h02 = (cmsHANDLE *)malloc(sizeof(h02[0]) * (thread_count + 1)); - c02 = (cmsContext *)malloc(sizeof(c02[0]) * (thread_count + 1)); - h02[thread_count] = NULL; - c02[thread_count] = NULL; - - // little cms requires one state per thread, for thread safety - for (int i = 0; i < thread_count; i++) { - c02[i] = cmsCreateContext(NULL, NULL); - h02[i] = cmsCIECAM02Init(c02[i], &vc); + cmsViewingConditions vc; + vc.whitePoint = *cmsD50_XYZ(); + vc.whitePoint.X *= 100; + vc.whitePoint.Y *= 100; + vc.whitePoint.Z *= 100; + */ + xw = 96.42f; + yw = 100.0f; + zw = 82.49f; + /* + vc.Yb = 20; + vc.La = 20; + vc.surround = AVG_SURROUND; + */ + yb = 20; + la = 20; + f = 1.00f; + c = 0.69f; + nc = 1.00f; +// vc.D_value = 1.0; + Ciecam02::initcam1float(gamut, yb, 1.f, f, la, xw, yw, zw, n, d, nbb, ncb, + cz, aw, wh, pfl, fl, c); + pow1 = pow_F( 1.64f - pow_F( 0.29f, n ), 0.73f ); + /* + int thread_count = 1; + #ifdef _OPENMP + thread_count = omp_get_max_threads(); + #endif + h02 = (cmsHANDLE *)malloc(sizeof(h02[0]) * (thread_count + 1)); + c02 = (cmsContext *)malloc(sizeof(c02[0]) * (thread_count + 1)); + h02[thread_count] = NULL; + c02[thread_count] = NULL; + // little cms requires one state per thread, for thread safety + for (int i = 0; i < thread_count; i++) { + c02[i] = cmsCreateContext(NULL, NULL); + h02[i] = cmsCIECAM02Init(c02[i], &vc); + } } - } - + */ { // init contrast-value-to-chroma-scaling conversion curve @@ -2392,17 +2431,12 @@ void PerceptualToneCurve::init() cf_range[0] = in_x[0]; cf_range[1] = in_x[in_len - 1]; } -} + gamma2curve(65536, 0); -void PerceptualToneCurve::cleanup() -{ - for (int i = 0; h02[i] != NULL; i++) { - cmsCIECAM02Done(h02[i]); - cmsDeleteContext(c02[i]); + for (int i = 0; i < 65536; i++) { + gamma2curve[i] = CurveFactory::gamma2(i / 65535.0); } - free(h02); - free(c02); } void PerceptualToneCurve::initApplyState(PerceptualToneCurveState & state, Glib::ustring workingSpace) const diff --git a/rtengine/curves.h b/rtengine/curves.h index f43542dba..b130b7a7d 100644 --- a/rtengine/curves.h +++ b/rtengine/curves.h @@ -800,10 +800,10 @@ public: class PerceptualToneCurveState { public: - bool isProphoto; float Working2Prophoto[3][3]; float Prophoto2Working[3][3]; float cmul_contrast; + bool isProphoto; }; // Tone curve whose purpose is to keep the color appearance constant, that is the curve changes contrast @@ -813,10 +813,17 @@ public: class PerceptualToneCurve : public ToneCurve { private: - static cmsHANDLE *h02; - static cmsContext *c02; +// static cmsHANDLE *h02; +// static cmsContext *c02; static float cf_range[2]; static float cf[1000]; + static LUTf gamma2curve; + // for ciecam02 +// float aw, fl, xw, yw, zw, c, nc, pow1, n, nbb, ncb, cz, d; +// float yb2, la2, f2, c2, nc2, pow1n, nbbj, ncbj, flj, czj, dj, awj; + + static float f, c, nc, yb, la, xw, yw, zw, gamut; + static float n, d, nbb, ncb, cz, aw, wh, pfl, fl, pow1; static void cubic_spline(const float x[], const float y[], const int len, const float out_x[], float out_y[], const int out_len); static float find_minimum_interval_halving(float (*func)(float x, void *arg), void *arg, float a, float b, float tol, int nmax); static float find_tc_slope_fun(float k, void *arg); @@ -824,7 +831,6 @@ private: float calculateToneCurveContrastValue() const; public: static void init(); - static void cleanup(); void initApplyState(PerceptualToneCurveState & state, Glib::ustring workingSpace) const; void Apply(float& r, float& g, float& b, PerceptualToneCurveState & state) const; }; diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index f1f0bf31f..37304f48b 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -40,7 +40,7 @@ #include "improccoordinator.h" #include "clutstore.h" #include "ciecam02.h" - +#include "StopWatch.h" #ifdef _OPENMP #include #endif @@ -2049,8 +2049,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int Q, M, s, F2V(aw), F2V(fl), F2V(wh), x, y, z, F2V(xw1), F2V(yw1), F2V(zw1), - F2V(yb), F2V(la), - F2V(f), F2V(c), F2V(nc), F2V(pow1), F2V(nbb), F2V(ncb), F2V(pfl), F2V(cz), F2V(d)); + F2V(c), F2V(nc), F2V(pow1), F2V(nbb), F2V(ncb), F2V(pfl), F2V(cz), F2V(d)); STVF(Jbuffer[k], J); STVF(Cbuffer[k], C); STVF(hbuffer[k], h); @@ -2074,8 +2073,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int Q, M, s, aw, fl, wh, x, y, z, xw1, yw1, zw1, - yb, la, - f, c, nc, pilot, gamu, pow1, nbb, ncb, pfl, cz, d); + c, nc, gamu, pow1, nbb, ncb, pfl, cz, d); Jbuffer[k] = J; Cbuffer[k] = C; hbuffer[k] = h; @@ -2113,8 +2111,7 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int Q, M, s, aw, fl, wh, x, y, z, xw1, yw1, zw1, - yb, la, - f, c, nc, pilot, gamu, pow1, nbb, ncb, pfl, cz, d); + c, nc, gamu, pow1, nbb, ncb, pfl, cz, d); #endif float Jpro, Cpro, hpro, Qpro, Mpro, spro; Jpro = J; @@ -2545,7 +2542,6 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int Ciecam02::jch2xyz_ciecam02float( xx, yy, zz, J, C, h, xw2, yw2, zw2, - yb2, la2, f2, c2, nc2, gamu, pow1n, nbbj, ncbj, flj, czj, dj, awj); float x, y, z; x = (float)xx * 655.35f; @@ -2607,7 +2603,6 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int Ciecam02::jch2xyz_ciecam02float( x, y, z, LVF(Jbuffer[k]), LVF(Cbuffer[k]), LVF(hbuffer[k]), F2V(xw2), F2V(yw2), F2V(zw2), - F2V(yb2), F2V(la2), F2V(f2), F2V(nc2), F2V(pow1n), F2V(nbbj), F2V(ncbj), F2V(flj), F2V(dj), F2V(awj), F2V(reccmcz)); STVF(xbuffer[k], x * c655d35); STVF(ybuffer[k], y * c655d35); @@ -2936,7 +2931,6 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int Ciecam02::jch2xyz_ciecam02float( xx, yy, zz, ncie->J_p[i][j], ncie_C_p, ncie->h_p[i][j], xw2, yw2, zw2, - yb2, la2, f2, c2, nc2, gamu, pow1n, nbbj, ncbj, flj, czj, dj, awj); x = (float)xx * 655.35f; y = (float)yy * 655.35f; @@ -2992,7 +2986,6 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int Ciecam02::jch2xyz_ciecam02float( x, y, z, LVF(Jbuffer[k]), LVF(Cbuffer[k]), LVF(hbuffer[k]), F2V(xw2), F2V(yw2), F2V(zw2), - F2V(yb2), F2V(la2), F2V(f2), F2V(nc2), F2V(pow1n), F2V(nbbj), F2V(ncbj), F2V(flj), F2V(dj), F2V(awj), F2V(reccmcz)); x *= c655d35; y *= c655d35; @@ -3178,7 +3171,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, EditBuffer *e SHMap* shmap, int sat, LUTf & rCurve, LUTf & gCurve, LUTf & bCurve, float satLimit , float satLimitOpacity, const ColorGradientCurve & ctColorCurve, const OpacityCurve & ctOpacityCurve, bool opautili, LUTf & clToningcurve, LUTf & cl2Toningcurve, const ToneCurve & customToneCurve1, const ToneCurve & customToneCurve2, const ToneCurve & customToneCurvebw1, const ToneCurve & customToneCurvebw2, double &rrm, double &ggm, double &bbm, float &autor, float &autog, float &autob, double expcomp, int hlcompr, int hlcomprthresh, DCPProfile *dcpProf) { - + StopWatch Stop1("rgbProc"); LUTf fGammaLUTf; Imagefloat *tmpImage = NULL; diff --git a/rtengine/init.cc b/rtengine/init.cc index 1fdcb6438..acedd844f 100644 --- a/rtengine/init.cc +++ b/rtengine/init.cc @@ -66,7 +66,6 @@ void cleanup () ProcParams::cleanup (); Color::cleanup (); - PerceptualToneCurve::cleanup (); ImProcFunctions::cleanupCache (); Thumbnail::cleanupGamma (); RawImageSource::cleanup (); From 7f32b09fab5552d46d981afd7e07608dad8e769e Mon Sep 17 00:00:00 2001 From: Hombre Date: Tue, 18 Aug 2015 01:05:13 +0200 Subject: [PATCH 06/35] Adding Gcc 5 support for backard compatibility with Mingw/Gtkmm2 (windows related) --- CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index f69ba6cad..60c86edd3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,16 @@ endif () string (TOUPPER ${CMAKE_BUILD_TYPE} UPPER_CMAKE_BUILD_TYPE) +# assuming that Linux and Apple users will have gtk2 built by their installed gcc +if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) + if (GCC_VERSION VERSION_GREATER 5.0 OR GCC_VERSION VERSION_EQUAL 5.0) + message(STATUS "Gcc Version >= 5.0 ; adding -D_GLIBCXX_USE_CXX11_ABI=0 to build with Gtk2") + add_definitions (-D_GLIBCXX_USE_CXX11_ABI=0) + # see here : https://gcc.gnu.org/gcc-5/changes.html#libstdcxx + endif() +endif() + if (UPPER_CMAKE_BUILD_TYPE STREQUAL "DEBUG") add_definitions (-D_DEBUG) else () From 73744fe131b55b47b7485fa555210d45e6e394b9 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Tue, 18 Aug 2015 13:50:06 +0200 Subject: [PATCH 07/35] Fixed formatting in rtengine/helpersse2.h and rtengine/opthelper.h --- rtengine/helpersse2.h | 24 +++++----- rtengine/opthelper.h | 100 +++++++++++++++++++++--------------------- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/rtengine/helpersse2.h b/rtengine/helpersse2.h index 5969784a4..c7dce8806 100644 --- a/rtengine/helpersse2.h +++ b/rtengine/helpersse2.h @@ -22,19 +22,19 @@ typedef __m128i vint2; // #ifdef __GNUC__ -#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 9) || __GNUC__ > 4 -#define LVF(x) _mm_load_ps(&x) -#define LVFU(x) _mm_loadu_ps(&x) -#define STVF(x,y) _mm_store_ps(&x,y) -#else // there is a bug in gcc 4.7.x when using openmp and aligned memory and -O3 -#define LVF(x) _mm_loadu_ps(&x) -#define LVFU(x) _mm_loadu_ps(&x) -#define STVF(x,y) _mm_storeu_ps(&x,y) -#endif + #if (__GNUC__ == 4 && __GNUC_MINOR__ >= 9) || __GNUC__ > 4 + #define LVF(x) _mm_load_ps(&x) + #define LVFU(x) _mm_loadu_ps(&x) + #define STVF(x,y) _mm_store_ps(&x,y) + #else // there is a bug in gcc 4.7.x when using openmp and aligned memory and -O3 + #define LVF(x) _mm_loadu_ps(&x) + #define LVFU(x) _mm_loadu_ps(&x) + #define STVF(x,y) _mm_storeu_ps(&x,y) + #endif #else -#define LVF(x) _mm_load_ps(&x) -#define LVFU(x) _mm_loadu_ps(&x) -#define STVF(x,y) _mm_store_ps(&x,y) + #define LVF(x) _mm_load_ps(&x) + #define LVFU(x) _mm_loadu_ps(&x) + #define STVF(x,y) _mm_store_ps(&x,y) #endif // Load 8 floats from a and combine a[0],a[2],a[4] and a[6] into a vector of 4 floats diff --git a/rtengine/opthelper.h b/rtengine/opthelper.h index 1da03190b..fc49ad12e 100644 --- a/rtengine/opthelper.h +++ b/rtengine/opthelper.h @@ -20,56 +20,56 @@ //////////////////////////////////////////////////////////////// #ifndef OPTHELPER_H -#define OPTHELPER_H + #define OPTHELPER_H -#ifdef __SSE2__ -#include "sleefsseavx.c" -#ifdef __GNUC__ -#if defined(WIN32) && !defined( __x86_64__ ) -// needed for actual versions of GCC with 32-Bit Windows -#define SSEFUNCTION __attribute__((force_align_arg_pointer)) -#else -#define SSEFUNCTION -#endif -#else -#define SSEFUNCTION -#endif -#else -#ifdef __SSE__ -#ifdef __GNUC__ -#if defined(WIN32) && !defined( __x86_64__ ) -// needed for actual versions of GCC with 32-Bit Windows -#define SSEFUNCTION __attribute__((force_align_arg_pointer)) -#else -#define SSEFUNCTION -#endif -#else -#define SSEFUNCTION -#endif -#else -#define SSEFUNCTION -#endif -#endif + #ifdef __SSE2__ + #include "sleefsseavx.c" + #ifdef __GNUC__ + #if defined(WIN32) && !defined( __x86_64__ ) + // needed for actual versions of GCC with 32-Bit Windows + #define SSEFUNCTION __attribute__((force_align_arg_pointer)) + #else + #define SSEFUNCTION + #endif + #else + #define SSEFUNCTION + #endif + #else + #ifdef __SSE__ + #ifdef __GNUC__ + #if defined(WIN32) && !defined( __x86_64__ ) + // needed for actual versions of GCC with 32-Bit Windows + #define SSEFUNCTION __attribute__((force_align_arg_pointer)) + #else + #define SSEFUNCTION + #endif + #else + #define SSEFUNCTION + #endif + #else + #define SSEFUNCTION + #endif + #endif -#ifdef __GNUC__ -#define RESTRICT __restrict__ -#define LIKELY(x) __builtin_expect (!!(x), 1) -#define UNLIKELY(x) __builtin_expect (!!(x), 0) -#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 9) || __GNUC__ > 4 -#define ALIGNED64 __attribute__ ((aligned (64))) -#define ALIGNED16 __attribute__ ((aligned (16))) -#else // there is a bug in gcc 4.7.x when using openmp and aligned memory and -O3 -#define ALIGNED64 -#define ALIGNED16 -#endif -#else -#define RESTRICT -#define LIKELY(x) (x) -#define UNLIKELY(x) (x) -#define ALIGNED64 -#define ALIGNED16 -#endif -#ifndef __clang__ -#define _RT_NESTED_OPENMP _OPENMP -#endif + #ifdef __GNUC__ + #define RESTRICT __restrict__ + #define LIKELY(x) __builtin_expect (!!(x), 1) + #define UNLIKELY(x) __builtin_expect (!!(x), 0) + #if (__GNUC__ == 4 && __GNUC_MINOR__ >= 9) || __GNUC__ > 4 + #define ALIGNED64 __attribute__ ((aligned (64))) + #define ALIGNED16 __attribute__ ((aligned (16))) + #else // there is a bug in gcc 4.7.x when using openmp and aligned memory and -O3 + #define ALIGNED64 + #define ALIGNED16 + #endif + #else + #define RESTRICT + #define LIKELY(x) (x) + #define UNLIKELY(x) (x) + #define ALIGNED64 + #define ALIGNED16 + #endif + #ifndef __clang__ + #define _RT_NESTED_OPENMP _OPENMP + #endif #endif From 0216c16a4907f9be351d853c6648ef8b2f988fd8 Mon Sep 17 00:00:00 2001 From: Marcin Bajor Date: Tue, 18 Aug 2015 15:40:27 +0200 Subject: [PATCH 08/35] Fixed "Unknown git option: -C" for git<1.8.5 (issue #2871) --- AboutThisBuild.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AboutThisBuild.cmake b/AboutThisBuild.cmake index 425bd23de..68dea478d 100644 --- a/AboutThisBuild.cmake +++ b/AboutThisBuild.cmake @@ -22,11 +22,11 @@ if (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) message(STATUS "git command found: ${GIT_CMD}") endif () - execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" symbolic-ref --short -q HEAD OUTPUT_VARIABLE GIT_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" describe --tags --always OUTPUT_VARIABLE GIT_VERSION_WHOLE OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${GIT_CMD} symbolic-ref --short -q HEAD OUTPUT_VARIABLE GIT_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") + execute_process(COMMAND ${GIT_CMD} describe --tags --always OUTPUT_VARIABLE GIT_VERSION_WHOLE OUTPUT_STRIP_TRAILING_WHITESPACE WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") string(REGEX REPLACE "-g.*" "" GIT_VERSION ${GIT_VERSION_WHOLE}) string(REPLACE "-" "." GIT_VERSION ${GIT_VERSION}) - execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" rev-parse --verify HEAD OUTPUT_VARIABLE GIT_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${GIT_CMD} rev-parse --verify HEAD OUTPUT_VARIABLE GIT_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") string(REGEX REPLACE ".*-(.*)-g.*" "\\1" GIT_TAGDISTANCE ${GIT_VERSION_WHOLE}) if (NOT DEFINED CACHE_NAME_SUFFIX) string(REGEX REPLACE "-.*" "" CACHE_NAME_SUFFIX ${GIT_VERSION_WHOLE}) From 0187ca10d2f3d6eb7d2f84b9468ac4df7e70ed9b Mon Sep 17 00:00:00 2001 From: Marcin Bajor Date: Tue, 18 Aug 2015 16:32:57 +0200 Subject: [PATCH 09/35] Missing changes for commit 0216c16a49 (issue #2871) @mbajor mbajor authored an hour ago --- rtdata/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rtdata/CMakeLists.txt b/rtdata/CMakeLists.txt index c5ae268c4..9f6eee693 100644 --- a/rtdata/CMakeLists.txt +++ b/rtdata/CMakeLists.txt @@ -50,7 +50,7 @@ if (WIN32) message(STATUS "git command found: ${GIT_CMD}") endif () - execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" describe --tags --always OUTPUT_VARIABLE GIT_VERSION_WHOLE OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${GIT_CMD} describe --tags --always OUTPUT_VARIABLE GIT_VERSION_WHOLE OUTPUT_STRIP_TRAILING_WHITESPACE WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}") string(REGEX REPLACE "-.*" "" GIT_VERSION ${GIT_VERSION_WHOLE}) string(REGEX REPLACE ".*-(.*)-g.*" "\\1" GIT_TAGDISTANCE ${GIT_VERSION_WHOLE}) else (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) From cd7f5d9bdeff706cff18b823336de241748b6587 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Tue, 18 Aug 2015 23:40:25 +0200 Subject: [PATCH 10/35] More meaningful processor info --- CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 60c86edd3..4fccd3ea6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,6 +54,14 @@ endif () if (NOT(PROC_TARGET_NUMBER EQUAL 0)) set (PROC_FLAGS ${PROC_TARGET_${PROC_TARGET_NUMBER}_FLAGS}) endif () +if (PROC_LABEL STREQUAL "undefined") + execute_process(COMMAND uname -p OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE cpu) + if ("${cpu}" STREQUAL "unknown") + set(PROC_LABEL "${CMAKE_SYSTEM_PROCESSOR}") + else () + set (PROC_LABEL "${cpu}") + endif () +endif () # if it exists, the PROC_FORCED_LABEL value is loaded in PROC_LABEL to override the one of ProcessorTargets if (DEFINED PROC_FORCED_LABEL) From 697612b4cc423a07e48484e21e00b397c49fc2b0 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Wed, 19 Aug 2015 00:27:54 +0200 Subject: [PATCH 11/35] If unix --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4fccd3ea6..dd5fcbc63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,7 +54,7 @@ endif () if (NOT(PROC_TARGET_NUMBER EQUAL 0)) set (PROC_FLAGS ${PROC_TARGET_${PROC_TARGET_NUMBER}_FLAGS}) endif () -if (PROC_LABEL STREQUAL "undefined") +if (UNIX AND PROC_LABEL STREQUAL "undefined") execute_process(COMMAND uname -p OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE cpu) if ("${cpu}" STREQUAL "unknown") set(PROC_LABEL "${CMAKE_SYSTEM_PROCESSOR}") From 0b2b19a7610fd419f7dedabc7d5a6269f8ec31d5 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Wed, 19 Aug 2015 20:55:25 +0200 Subject: [PATCH 12/35] Speedup for Wavelet/Final Touchup/Final local contrast curve, #2874 --- rtengine/improcfun.h | 7 ++-- rtengine/ipwavelet.cc | 88 +++++++++++++------------------------------ 2 files changed, 29 insertions(+), 66 deletions(-) diff --git a/rtengine/improcfun.h b/rtengine/improcfun.h index 8857677a8..351cadac8 100644 --- a/rtengine/improcfun.h +++ b/rtengine/improcfun.h @@ -310,16 +310,15 @@ public: void WaveletcontAllL(LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_L, struct cont_params &cp, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveW & waOpacityCurveW, const WavOpacityCurveWL & waOpacityCurveWL, FlatCurve* ChCurve, bool Chutili); - void WaveletcontAllLfinal(LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_L, - struct cont_params &cp, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveWL & waOpacityCurveWL, FlatCurve* ChCurve, bool Chutili); + void WaveletcontAllLfinal(wavelet_decomposition &WaveletCoeffs_L, struct cont_params &cp, float *mean, float *sigma, float *MaxP, const WavOpacityCurveWL & waOpacityCurveWL); void WaveletcontAllAB(LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_a, const WavOpacityCurveW & waOpacityCurveW, struct cont_params &cp, const bool useChannelA); void WaveletAandBAllAB(LabImage * lab, float **varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_a, wavelet_decomposition &WaveletCoeffs_b, struct cont_params &cp, const WavOpacityCurveW & waOpacityCurveW, FlatCurve* hhcurve, bool hhutili); void ContAllL (float **koeLi, float *maxkoeLi, bool lipschitz, int maxlvl, LabImage * lab, float **varhue, float **varchrom, float ** WavCoeffs_L, float * WavCoeffs_L0, int level, int dir, struct cont_params &cp, int W_L, int H_L, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveW & waOpacityCurveW, FlatCurve* ChCurve, bool Chutili); - void finalContAllL (int maxlvl, LabImage * lab, float **varhue, float **varchrom, float ** WavCoeffs_L, float * WavCoeffs_L0, int level, int dir, struct cont_params &cp, - int W_L, int H_L, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveWL & waOpacityCurveWL, FlatCurve* ChCurve, bool Chutili); + void finalContAllL (float ** WavCoeffs_L, float * WavCoeffs_L0, int level, int dir, struct cont_params &cp, + int W_L, int H_L, float *mean, float *sigma, float *MaxP, const WavOpacityCurveWL & waOpacityCurveWL); void ContAllAB (LabImage * lab, int maxlvl, float **varhue, float **varchrom, float ** WavCoeffs_a, float * WavCoeffs_a0, int level, int dir, const WavOpacityCurveW & waOpacityCurveW, struct cont_params &cp, int W_ab, int H_ab, const bool useChannelA); void Evaluate2(wavelet_decomposition &WaveletCoeffs_L, diff --git a/rtengine/ipwavelet.cc b/rtengine/ipwavelet.cc index 6eddf7e3b..d0793dcd3 100644 --- a/rtengine/ipwavelet.cc +++ b/rtengine/ipwavelet.cc @@ -164,6 +164,7 @@ SSEFUNCTION void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int { + StopWatch Stop1("ip_wavelet"); MyTime t1e, t2e ; t1e.set(); @@ -994,7 +995,7 @@ SSEFUNCTION void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int Evaluate2(*Ldecomp, cp, ind, mean, meanN, sigma, sigmaN, MaxP, MaxN, madL); } - WaveletcontAllLfinal(labco, varhue, varchro, *Ldecomp, cp, skip, mean, meanN, sigma, sigmaN, MaxP, MaxN, wavCLVCcurve, waOpacityCurveWL, ChCurve, Chutili); + WaveletcontAllLfinal(*Ldecomp, cp, mean, sigma, MaxP, waOpacityCurveWL); //Evaluate2(*Ldecomp, cp, ind, mean, meanN, sigma, sigmaN, MaxP, MaxN, madL); Ldecomp->reconstruct(labco->data, cp.strength); @@ -1745,41 +1746,25 @@ void ImProcFunctions::EPDToneMapResid(float * WavCoeffs_L0, unsigned int Iterat } } -void ImProcFunctions::WaveletcontAllLfinal(LabImage * labco, float ** varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_L, - struct cont_params &cp, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveWL & waOpacityCurveWL, FlatCurve* ChCurve, bool Chutili) +void ImProcFunctions::WaveletcontAllLfinal(wavelet_decomposition &WaveletCoeffs_L, struct cont_params &cp, float *mean,float *sigma, float *MaxP, const WavOpacityCurveWL & waOpacityCurveWL) { - int maxlvl = WaveletCoeffs_L.maxlevel(); - int W_L = WaveletCoeffs_L.level_W(0); - int H_L = WaveletCoeffs_L.level_H(0); float * WavCoeffs_L0 = WaveletCoeffs_L.coeff0; - -#ifdef _RT_NESTED_OPENMP - #pragma omp for schedule(dynamic) collapse(2) -#endif - for (int dir = 1; dir < 4; dir++) { for (int lvl = 0; lvl < maxlvl; lvl++) { - int Wlvl_L = WaveletCoeffs_L.level_W(lvl); int Hlvl_L = WaveletCoeffs_L.level_H(lvl); - float ** WavCoeffs_L = WaveletCoeffs_L.level_coeffs(lvl); - - finalContAllL (maxlvl, labco, varhue, varchrom, WavCoeffs_L, WavCoeffs_L0, lvl, dir, cp, Wlvl_L, Hlvl_L, skip, mean, meanN, sigma, sigmaN, MaxP, MaxN, wavCLVCcurve, waOpacityCurveWL, ChCurve, Chutili); - - + finalContAllL (WavCoeffs_L, WavCoeffs_L0, lvl, dir, cp, Wlvl_L, Hlvl_L, mean, sigma, MaxP, waOpacityCurveWL); } } - } void ImProcFunctions::WaveletcontAllL(LabImage * labco, float ** varhue, float **varchrom, wavelet_decomposition &WaveletCoeffs_L, struct cont_params &cp, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveW & waOpacityCurveW, const WavOpacityCurveWL & waOpacityCurveWL, FlatCurve* ChCurve, bool Chutili) { - //StopWatch Stop1("WaveletcontAllL"); int maxlvl = WaveletCoeffs_L.maxlevel(); int W_L = WaveletCoeffs_L.level_W(0); int H_L = WaveletCoeffs_L.level_H(0); @@ -2530,14 +2515,10 @@ void ImProcFunctions::calckoe(float ** WavCoeffs_LL, struct cont_params cp, floa } -void ImProcFunctions::finalContAllL (int maxlvl, LabImage * labco, float ** varhue, float **varchrom, float ** WavCoeffs_L, float * WavCoeffs_L0, int level, int dir, struct cont_params &cp, - int W_L, int H_L, int skip, float *mean, float *meanN, float *sigma, float *sigmaN, float *MaxP, float *MaxN, const WavCurve & wavCLVCcurve, const WavOpacityCurveWL & waOpacityCurveWL, FlatCurve* ChCurve, bool Chutili) +void ImProcFunctions::finalContAllL (float ** WavCoeffs_L, float * WavCoeffs_L0, int level, int dir, struct cont_params &cp, + int W_L, int H_L, float *mean, float *sigma, float *MaxP, const WavOpacityCurveWL & waOpacityCurveWL) { - bool lipschitz = true; - float edge = 1.f; - bool curvdiag = true; - - if(curvdiag && cp.finena) {//curve + if(cp.diagcurv && cp.finena) {//curve float insigma = 0.666f; //SD float logmax = log(MaxP[level]); //log Max float rapX = (mean[level] + sigma[level]) / MaxP[level]; //rapport between sD / max @@ -2547,47 +2528,30 @@ void ImProcFunctions::finalContAllL (int maxlvl, LabImage * labco, float ** varh float asig = 0.166f / sigma[level]; float bsig = 0.5f - asig * mean[level]; float amean = 0.5f / mean[level]; - float absciss; - float kinterm; - float kmul; +#ifdef _RT_NESTED_OPENMP + #pragma omp parallel for schedule(dynamic, W_L * 16) num_threads(wavNestedLevels) if(wavNestedLevels>1) +#endif for (int i = 0; i < W_L * H_L; i++) { - edge = 1.f; - kinterm = 1.f; + float absciss; - if(cp.diagcurv) { - if(fabs(WavCoeffs_L[dir][i]) >= (mean[level] + sigma[level])) { //for max - float valcour = log(fabs(WavCoeffs_L[dir][i])); - float valc = valcour - logmax; - float vald = valc * rap; - absciss = exp(vald); - - } else if(fabs(WavCoeffs_L[dir][i]) >= mean[level] && fabs(WavCoeffs_L[dir][i]) < (mean[level] + sigma[level])) { - absciss = asig * fabs(WavCoeffs_L[dir][i]) + bsig; - } - // else if(fabs(WavCoeffs_L[dir][i]) < mean[level]){ - else { - absciss = amean * fabs(WavCoeffs_L[dir][i]); - } - - // } - kinterm = 1.f; - kmul = 1.f; - - float kc = kmul * (waOpacityCurveWL[absciss * 500.f] - 0.5f); - float reduceeffect = 1.5f; - - if(kc <= 0.f) { - reduceeffect = 1.f; - } - - kinterm = 1.f + reduceeffect * kmul * (waOpacityCurveWL[absciss * 500.f] - 0.5f); - - if(kinterm < 0.f) { - kinterm = 0.01f; - } + if(fabsf(WavCoeffs_L[dir][i]) >= (mean[level] + sigma[level])) { //for max + float valcour = xlogf(fabsf(WavCoeffs_L[dir][i])); + float valc = valcour - logmax; + float vald = valc * rap; + absciss = xexpf(vald); + } else if(fabsf(WavCoeffs_L[dir][i]) >= mean[level]) { + absciss = asig * fabsf(WavCoeffs_L[dir][i]) + bsig; + } else { + absciss = amean * fabsf(WavCoeffs_L[dir][i]); } + float kc = waOpacityCurveWL[absciss * 500.f] - 0.5f; + float reduceeffect = kc <= 0.f ? 1.f : 1.5f; + + float kinterm = 1.f + reduceeffect * kc; + kinterm = kinterm <= 0.f ? 0.01f : kinterm; + WavCoeffs_L[dir][i] *= kinterm; } } From c351be41b83c4a83a6ec0d283562a9a163bdf082 Mon Sep 17 00:00:00 2001 From: Hombre Date: Thu, 20 Aug 2015 02:33:46 +0200 Subject: [PATCH 13/35] Add some new features to the On Preview Objects mechanism --- rtengine/CMakeLists.txt | 2 +- rtengine/coord.cc | 39 +++++ {rtgui => rtengine}/coord.h | 42 ++++- rtengine/editbuffer.h | 1 + rtengine/procparams.h | 3 +- rtgui/cropwindow.cc | 107 +++++++++---- rtgui/curveeditor.cc | 2 +- rtgui/curveeditor.h | 7 +- rtgui/edit.cc | 286 ++++++++++++++++++++------------- rtgui/edit.h | 309 ++++++++++++++++++++++++++++++------ rtgui/editenums.h | 2 +- rtgui/gradient.cc | 29 ++-- rtgui/gradient.h | 5 +- rtgui/inspector.cc | 8 +- rtgui/inspector.h | 4 +- 15 files changed, 618 insertions(+), 228 deletions(-) create mode 100644 rtengine/coord.cc rename {rtgui => rtengine}/coord.h (84%) diff --git a/rtengine/CMakeLists.txt b/rtengine/CMakeLists.txt index 0cda358e0..70c593a9c 100644 --- a/rtengine/CMakeLists.txt +++ b/rtengine/CMakeLists.txt @@ -11,7 +11,7 @@ set (RTENGINESOURCEFILES safegtk.cc colortemp.cc curves.cc flatcurves.cc diagona dfmanager.cc ffmanager.cc rawimage.cc image8.cc image16.cc imagefloat.cc imagedata.cc imageio.cc improcfun.cc init.cc dcrop.cc loadinitial.cc procparams.cc rawimagesource.cc demosaic_algos.cc shmap.cc simpleprocess.cc refreshmap.cc fast_demo.cc amaze_demosaic_RT.cc CA_correct_RT.cc cfa_linedn_RT.cc green_equil_RT.cc hilite_recon.cc expo_before_b.cc - stdimagesource.cc myfile.cc iccjpeg.cc hlmultipliers.cc improccoordinator.cc editbuffer.cc + stdimagesource.cc myfile.cc iccjpeg.cc hlmultipliers.cc improccoordinator.cc editbuffer.cc coord.cc processingjob.cc rtthumbnail.cc utils.cc labimage.cc slicer.cc cieimage.cc iplab2rgb.cc ipsharpen.cc iptransform.cc ipresize.cc ipvibrance.cc imagedimensions.cc jpeg_memsrc.cc jdatasrc.cc iimage.cc diff --git a/rtengine/coord.cc b/rtengine/coord.cc new file mode 100644 index 000000000..c35d71e73 --- /dev/null +++ b/rtengine/coord.cc @@ -0,0 +1,39 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2004-2010 Gabor Horvath + * + * RawTherapee 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. + * + * RawTherapee 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 RawTherapee. If not, see . + */ + +#include "coord.h" + +namespace rtengine +{ + +void Coord::setFromPolar(PolarCoord polar) +{ + while (polar.angle < 0.f) { + polar.angle += 360.f; + } + + while (polar.angle > 360.f) { + polar.angle -= 360.f; + } + + x = polar.radius * cos(polar.angle / 180.f * M_PI); + y = polar.radius * sin(polar.angle / 180.f * M_PI); +} + +} diff --git a/rtgui/coord.h b/rtengine/coord.h similarity index 84% rename from rtgui/coord.h rename to rtengine/coord.h index cf0d9be29..0b134ce21 100644 --- a/rtgui/coord.h +++ b/rtengine/coord.h @@ -16,12 +16,17 @@ * You should have received a copy of the GNU General Public License * along with RawTherapee. If not, see . */ -#ifndef _COORD_H_ -#define _COORD_H_ +#ifndef __COORD__ +#define __COORD__ + +#include "rt_math.h" + +namespace rtengine +{ class PolarCoord; -// Do not confuse with rtengine::Coord2D, Coord is for the GUI +// Do not confuse with rtengine::Coord2D, this one is for the GUI class Coord { public: @@ -51,6 +56,16 @@ public: return retval; } + bool operator== (const Coord& other) const + { + return other.x == x && other.y == y; + } + + bool operator!= (const Coord& other) const + { + return other.x != x || other.y != y; + } + void operator+=(const Coord & rhs) { x += rhs.x; @@ -91,6 +106,14 @@ public: PolarCoord() : radius(1.), angle(0.) {} PolarCoord(double radius, double angle) : radius(radius), angle(angle) {} + PolarCoord(Coord start, Coord end) : radius(1.), angle(0.) + { + setFromCartesian(start, end); + } + PolarCoord(Coord delta) : radius(1.), angle(0.) + { + setFromCartesian(delta); + } void set (double radius, double angle) { @@ -134,6 +157,16 @@ public: } } + bool operator== (const PolarCoord& other) const + { + return other.radius == radius && other.angle == angle; + } + + bool operator!= (const PolarCoord& other) const + { + return other.radius != radius || other.angle != angle; + } + void operator+=(const PolarCoord & rhs) { Coord thisCoord, rhsCoord; @@ -182,4 +215,7 @@ public: }; + +} + #endif diff --git a/rtengine/editbuffer.h b/rtengine/editbuffer.h index ba1cc7e0c..1a55a39ed 100644 --- a/rtengine/editbuffer.h +++ b/rtengine/editbuffer.h @@ -22,6 +22,7 @@ #include "../rtgui/edit.h" #include "array2D.h" #include "iimage.h" +#include "coord.h" namespace rtengine { diff --git a/rtengine/procparams.h b/rtengine/procparams.h index 47dccb47f..ad8c963e8 100644 --- a/rtengine/procparams.h +++ b/rtengine/procparams.h @@ -24,6 +24,7 @@ #include #include #include "LUT.h" +#include "coord.h" class ParamsEdited; @@ -1221,7 +1222,7 @@ public: ResizeParams resize; ///< Resize parameters ColorManagementParams icm; ///< profiles/color spaces used during the image processing RAWParams raw; ///< RAW parameters before demosaicing - WaveletParams wavelet; ///< wavelet wavelet parameters + WaveletParams wavelet; ///< Wavelet parameters DirPyrEqualizerParams dirpyrequalizer; ///< directional pyramid wavelet parameters HSVEqualizerParams hsvequalizer; ///< hsv wavelet parameters FilmSimulationParams filmSimulation; ///< film simulation parameters diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc index e787a11e1..1c5b62a33 100644 --- a/rtgui/cropwindow.cc +++ b/rtgui/cropwindow.cc @@ -267,6 +267,8 @@ void CropWindow::flawnOver (bool isFlawnOver) void CropWindow::buttonPress (int button, int type, int bstate, int x, int y) { + bool needRedraw = true; // most common case ; not redrawing are exceptions + iarea->grabFocus (this); if (button == 1 && type == GDK_2BUTTON_PRESS && onArea (CropImage, x, y) && (state == SNormal || state == SCropImgMove)) { @@ -355,33 +357,55 @@ void CropWindow::buttonPress (int button, int type, int bstate, int x, int y) } else if (iarea->getToolMode () == TMHand) { EditSubscriber *editSubscriber = iarea->getCurrSubscriber(); - if (button == 1 && editSubscriber && cropgl && cropgl->inImageArea(iarea->posImage.x, iarea->posImage.y) && (editSubscriber->getEditingType() == ET_OBJECTS && iarea->object > -1) ) { - editSubscriber->button1Pressed(bstate); - state = SEditDrag; - press_x = x; - press_y = y; - action_x = 0; - action_y = 0; - } else if (onArea (CropObserved, x, y)) { - state = SObservedMove; - press_x = x; - press_y = y; - action_x = 0; - action_y = 0; - } else if (button == 1 && editSubscriber && cropgl && cropgl->inImageArea(iarea->posImage.x, iarea->posImage.y) && (editSubscriber->getEditingType() == ET_PIPETTE && (bstate & GDK_CONTROL_MASK)) ) { - editSubscriber->button1Pressed(bstate); - state = SEditDrag; - press_x = x; - press_y = y; - action_x = 0; - action_y = 0; - } else if(zoomSteps[cropZoom].zoom > cropHandler.getFitZoom()) { // only allow move when image is only partial visible - state = SCropImgMove; + if (editSubscriber && cropgl && cropgl->inImageArea(iarea->posImage.x, iarea->posImage.y) && (editSubscriber->getEditingType() == ET_OBJECTS)) { + if (button == 1) { + needRedraw = editSubscriber->button1Pressed(bstate); + + if (editSubscriber->isDragging()) { + state = SEditDrag1; + } + } else if (button == 2) { + needRedraw = editSubscriber->button2Pressed(bstate); + + if (editSubscriber->isDragging()) { + state = SEditDrag2; + } + } else if (button == 3) { + needRedraw = editSubscriber->button3Pressed(bstate); + + if (editSubscriber->isDragging()) { + state = SEditDrag3; + } + } + press_x = x; press_y = y; action_x = 0; action_y = 0; } + + if (state != SEditDrag1 && state != SEditDrag2 && state != SEditDrag3) { + if (onArea (CropObserved, x, y)) { + state = SObservedMove; + press_x = x; + press_y = y; + action_x = 0; + action_y = 0; + } else if (button == 1 && editSubscriber && cropgl && cropgl->inImageArea(iarea->posImage.x, iarea->posImage.y) && (editSubscriber->getEditingType() == ET_PIPETTE && (bstate & GDK_CONTROL_MASK)) ) { + editSubscriber->button1Pressed(bstate); + state = SEditDrag1; + press_x = x; + press_y = y; + action_x = 0; + action_y = 0; + } else if(zoomSteps[cropZoom].zoom > cropHandler.getFitZoom()) { // only allow move when image is only partial visible + state = SCropImgMove; + press_x = x; + press_y = y; + action_x = 0; + action_y = 0; + } + } } else if (onArea (CropObserved, x, y)) { state = SObservedMove; press_x = x; @@ -424,7 +448,10 @@ void CropWindow::buttonPress (int button, int type, int bstate, int x, int y) } } - iarea->redraw (); + if (needRedraw) { + iarea->redraw (); + } + updateCursor (x, y); } @@ -472,8 +499,14 @@ void CropWindow::buttonRelease (int button, int num, int bstate, int x, int y) observedCropWin->remoteMoveReady (); state = SNormal; needRedraw = true; - } else if (state == SEditDrag) { - editSubscriber->button1Released(); + } else if (state == SEditDrag1 || state == SEditDrag2 || state == SEditDrag3) { + if (state == SEditDrag1) { + needRedraw = editSubscriber->button1Released(); + } else if (state == SEditDrag2) { + needRedraw = editSubscriber->button2Released(); + } else if (state == SEditDrag3) { + needRedraw = editSubscriber->button3Released(); + } if (editSubscriber) { rtengine::Crop* crop = static_cast(cropHandler.getCrop()); @@ -488,7 +521,7 @@ void CropWindow::buttonRelease (int button, int num, int bstate, int x, int y) Coord cropPos; screenCoordToCropBuffer(x, y, cropPos.x, cropPos.y); - if (editSubscriber->getEditingType() == ET_PIPETTE) { + if (state == SEditDrag1 && editSubscriber->getEditingType() == ET_PIPETTE) { iarea->object = onArea (CropImage, x, y) && !onArea (CropObserved, x, y) ? 1 : 0; //iarea->object = cropgl && cropgl->inImageArea(iarea->posImage.x, iarea->posImage.y) ? 1 : 0; @@ -506,9 +539,7 @@ void CropWindow::buttonRelease (int button, int num, int bstate, int x, int y) } } - if (editSubscriber->mouseOver(bstate)) { - iarea->redraw (); - } + needRedraw |= editSubscriber->mouseOver(bstate); } else { iarea->object = 0; } @@ -518,7 +549,6 @@ void CropWindow::buttonRelease (int button, int num, int bstate, int x, int y) iarea->deltaPrevImage.set(0, 0); iarea->deltaPrevScreen.set(0, 0); state = SNormal; - needRedraw = true; } if (cropgl && (state == SCropSelecting || state == SResizeH1 || state == SResizeH2 || state == SResizeW1 || state == SResizeW2 || state == SResizeTL || state == SResizeTR || state == SResizeBL || state == SResizeBR || state == SCropMove)) { @@ -703,7 +733,7 @@ void CropWindow::pointerMoved (int bstate, int x, int y) if (editSubscriber->mouseOver(bstate)) { iarea->redraw (); } - } else if (state == SEditDrag) { + } else if (state == SEditDrag1 || state == SEditDrag2 || state == SEditDrag3) { Coord currPos; action_x = x; action_y = y; @@ -721,8 +751,18 @@ void CropWindow::pointerMoved (int bstate, int x, int y) iarea->deltaPrevScreen = currPos - oldPosScreen; //printf(" action_ & xy (%d x %d) -> (%d x %d) = (%d x %d) + (%d x %d) / deltaPrev(%d x %d)\n", action_x, action_y, currPos.x, currPos.y, iarea->posScreen.x, iarea->posScreen.y, iarea->deltaScreen.x, iarea->deltaScreen.y, iarea->deltaPrevScreen.x, iarea->deltaPrevScreen.y); - if (editSubscriber->drag(bstate)) { - iarea->redraw (); + if (state == SEditDrag1) { + if (editSubscriber->drag1(bstate)) { + iarea->redraw (); + } + } else if (state == SEditDrag2) { + if (editSubscriber->drag2(bstate)) { + iarea->redraw (); + } + } else if (state == SEditDrag3) { + if (editSubscriber->drag3(bstate)) { + iarea->redraw (); + } } } } @@ -1465,7 +1505,6 @@ void CropWindow::expose (Cairo::RefPtr cr) if (editSubscriber && crop->bufferCreated()) { - // clip the region if (this != iarea->mainCropWindow) { cr->set_line_width (0.); cr->rectangle (x + imgX, y + imgY, imgW, imgH); diff --git a/rtgui/curveeditor.cc b/rtgui/curveeditor.cc index 840ea25e9..3cfe335b2 100644 --- a/rtgui/curveeditor.cc +++ b/rtgui/curveeditor.cc @@ -422,7 +422,7 @@ bool CurveEditor::button1Released() return true; } -bool CurveEditor::drag(int modifierKey) +bool CurveEditor::drag1(int modifierKey) { EditDataProvider* provider = getEditProvider(); subGroup->pipetteDrag(provider, modifierKey); diff --git a/rtgui/curveeditor.h b/rtgui/curveeditor.h index 2708c4df2..10e3d9668 100644 --- a/rtgui/curveeditor.h +++ b/rtgui/curveeditor.h @@ -35,9 +35,8 @@ class CurveEditorSubGroup; */ -/* - * This class is an interface between RT and the curve editor group ; it handles the methods - * related to a specific curve. It is created by CurveEditorGroup::addCurve +/** @brief This class is an interface between RT and the curve editor group + * It handles the methods related to a specific curve. It is created by CurveEditorGroup::addCurve */ class CurveEditor : public EditSubscriber { @@ -131,7 +130,7 @@ public: bool mouseOver(int modifierKey); bool button1Pressed(int modifierKey); bool button1Released(); - bool drag(int modifierKey); + bool drag1(int modifierKey); CursorShape getCursor(int objectID); diff --git a/rtgui/edit.cc b/rtgui/edit.cc index dc054cdc1..3efdea7f4 100644 --- a/rtgui/edit.cc +++ b/rtgui/edit.cc @@ -19,32 +19,21 @@ #include "edit.h" #include "../rtengine/editbuffer.h" - -void Coord::setFromPolar(PolarCoord polar) -{ - while (polar.angle < 0.f) { - polar.angle += 360.f; - } - - while (polar.angle > 360.f) { - polar.angle -= 360.f; - } - - x = polar.radius * cos(polar.angle / 180.f * M_PI); - y = polar.radius * sin(polar.angle / 180.f * M_PI); -} +#include "rtimage.h" RGBColor Geometry::getInnerLineColor () { RGBColor color; - if (flags & AUTO_COLOR) { + if (flags & F_AUTO_COLOR) { if (state == NORMAL) { - color.setColor (1., 1., 1.); // White + color.setColor (1., 1., 1.); // White + } else if (state == ACTIVE) { + color.setColor (1., 1., 0.); // Yellow } else if (state == PRELIGHT) { - color.setColor (1., 1., 0.); // Orange - } else if (state == DRAGGED) { - color.setColor (1., 0., 0.); // Red + color.setColor (1., 100. / 255., 0.); // Orange + } else if (state == DRAGGED) { + color.setColor (1., 0., 0.); // Red } } else { color = innerLineColor; @@ -57,7 +46,7 @@ RGBColor Geometry::getOuterLineColor () { RGBColor color; - if (flags & AUTO_COLOR) { + if (flags & F_AUTO_COLOR) { /* if (state == NORMAL) { color.setColor (0., 0., 0.); } // Black else if (state == PRELIGHT) { color.setColor (0., 0., 0.); } // Black @@ -73,10 +62,10 @@ RGBColor Geometry::getOuterLineColor () void Circle::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if (flags & ACTIVE) { + if ((flags & F_VISIBLE) && state != INSENSITIVE) { RGBColor color; - if (flags & AUTO_COLOR) { + if (flags & F_AUTO_COLOR) { color = getOuterLineColor(); } else { color = outerLineColor; @@ -85,7 +74,7 @@ void Circle::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::Edit cr->set_source_rgb (color.getR(), color.getG(), color.getB()); cr->set_line_width( getOuterLineWidth() ); - Coord center_ = center; + rtengine::Coord center_ = center; double radius_ = radiusInImageSpace ? coordSystem.scaleValueToScreen(double(radius)) : double(radius); if (datum == IMAGE) { @@ -93,7 +82,7 @@ void Circle::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::Edit } else if (datum == CLICKED_POINT) { center_ += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - center_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + center_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } cr->arc(center_.x + 0.5, center_.y + 0.5, radius_, 0., 2.*M_PI); @@ -103,19 +92,22 @@ void Circle::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::Edit void Circle::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if (flags & ACTIVE) { - RGBColor color; + if (flags & F_VISIBLE) { + if (state != INSENSITIVE) { + RGBColor color; - if (flags & AUTO_COLOR) { - color = getInnerLineColor(); - } else { - color = innerLineColor; + if (flags & F_AUTO_COLOR) { + color = getInnerLineColor(); + } else { + color = innerLineColor; + } + + cr->set_source_rgb(color.getR(), color.getG(), color.getB()); } - cr->set_source_rgb (color.getR(), color.getG(), color.getB()); cr->set_line_width( innerLineWidth ); - Coord center_ = center; + rtengine::Coord center_ = center; double radius_ = radiusInImageSpace ? coordSystem.scaleValueToScreen(double(radius)) : double(radius); if (datum == IMAGE) { @@ -123,10 +115,10 @@ void Circle::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::Edit } else if (datum == CLICKED_POINT) { center_ += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - center_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + center_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } - if (filled) { + if (filled && state != INSENSITIVE) { cr->arc(center_.x + 0.5, center_.y + 0.5, radius_, 0., 2.*M_PI); if (innerLineWidth > 0.) { @@ -137,16 +129,29 @@ void Circle::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::Edit } } else if (innerLineWidth > 0.) { cr->arc(center_.x + 0.5, center_.y + 0.5, radius_, 0., 2.*M_PI); - cr->stroke(); + + if (state == INSENSITIVE) { + std::valarray ds(1); + ds[0] = 4; + cr->set_source_rgba(1.0, 1.0, 1.0, 0.618); + cr->stroke_preserve(); + cr->set_source_rgba(0.0, 0.0, 0.0, 0.618); + cr->set_dash(ds, 0); + cr->stroke(); + ds.resize(0); + cr->set_dash(ds, 0); + } else { + cr->stroke(); + } } } } void Circle::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr &cr2, unsigned short id, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if (flags & ACTIVE) { + if (flags & F_HOVERABLE) { cr->set_line_width( getMouseOverLineWidth() ); - Coord center_ = center; + rtengine::Coord center_ = center; double radius_ = radiusInImageSpace ? coordSystem.scaleValueToScreen(double(radius)) : double(radius); if (datum == IMAGE) { @@ -154,7 +159,7 @@ void Circle::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtrgetDataProvider()->posScreen; } else if (datum == CURSOR) { - center_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + center_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } // drawing the lower byte's value @@ -195,10 +200,10 @@ void Circle::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if (flags & ACTIVE) { + if ((flags & F_VISIBLE) && state != INSENSITIVE) { RGBColor color; - if (flags & AUTO_COLOR) { + if (flags & F_AUTO_COLOR) { color = getOuterLineColor(); } else { color = outerLineColor; @@ -207,8 +212,8 @@ void Line::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::EditBu cr->set_source_rgb (color.getR(), color.getG(), color.getB()); cr->set_line_width( getOuterLineWidth() ); - Coord begin_ = begin; - Coord end_ = end; + rtengine::Coord begin_ = begin; + rtengine::Coord end_ = end; if (datum == IMAGE) { coordSystem.imageCoordToScreen(begin.x, begin.y, begin_.x, begin_.y); @@ -217,8 +222,8 @@ void Line::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::EditBu begin_ += editBuffer->getDataProvider()->posScreen; end_ += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - begin_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; - end_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + begin_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; + end_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } cr->move_to(begin_.x + 0.5, begin_.y + 0.5); @@ -229,20 +234,23 @@ void Line::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::EditBu void Line::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if ((flags & ACTIVE) && innerLineWidth > 0.) { - RGBColor color; + if ((flags & F_VISIBLE) && innerLineWidth > 0.) { + if (state != INSENSITIVE) { + RGBColor color; - if (flags & AUTO_COLOR) { - color = getInnerLineColor(); - } else { - color = innerLineColor; + if (flags & F_AUTO_COLOR) { + color = getInnerLineColor(); + } else { + color = innerLineColor; + } + + cr->set_source_rgb (color.getR(), color.getG(), color.getB()); } - cr->set_source_rgb (color.getR(), color.getG(), color.getB()); cr->set_line_width(innerLineWidth); - Coord begin_ = begin; - Coord end_ = end; + rtengine::Coord begin_ = begin; + rtengine::Coord end_ = end; if (datum == IMAGE) { coordSystem.imageCoordToScreen(begin.x, begin.y, begin_.x, begin_.y); @@ -251,22 +259,37 @@ void Line::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::EditBu begin_ += editBuffer->getDataProvider()->posScreen; end_ += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - begin_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; - end_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + begin_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; + end_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } cr->move_to(begin_.x + 0.5, begin_.y + 0.5); cr->line_to(end_.x + 0.5, end_.y + 0.5); - cr->stroke(); + + if (state == INSENSITIVE) { + std::valarray ds(1); + ds[0] = 4; + cr->set_source_rgba(1.0, 1.0, 1.0, 0.618); + cr->stroke_preserve(); + cr->set_source_rgba(0.0, 0.0, 0.0, 0.618); + cr->set_dash(ds, 0); + cr->stroke(); + ds.resize(0); + cr->set_dash(ds, 0); + } else { + cr->stroke(); + } } } -void Line::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr &cr2, unsigned short id, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) +void Line::drawToMOChannel(Cairo::RefPtr &cr, + Cairo::RefPtr &cr2, unsigned short id, + rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if (flags & ACTIVE) { + if (flags & F_HOVERABLE) { cr->set_line_width( getMouseOverLineWidth() ); - Coord begin_ = begin; - Coord end_ = end; + rtengine::Coord begin_ = begin; + rtengine::Coord end_ = end; if (datum == IMAGE) { coordSystem.imageCoordToCropBuffer(begin.x, begin.y, begin_.x, begin_.y); @@ -275,8 +298,8 @@ void Line::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtrgetDataProvider()->posScreen; end_ += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - begin_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; - end_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + begin_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; + end_ += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } // drawing the lower byte's value @@ -299,10 +322,10 @@ void Line::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if ((flags & ACTIVE) && points.size() > 1) { + if ((flags & F_VISIBLE) && state != INSENSITIVE && points.size() > 1) { RGBColor color; - if (flags & AUTO_COLOR) { + if (flags & F_AUTO_COLOR) { color = getOuterLineColor(); } else { color = outerLineColor; @@ -311,7 +334,7 @@ void Polyline::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::Ed cr->set_source_rgb (color.getR(), color.getG(), color.getB()); cr->set_line_width( getOuterLineWidth() ); - Coord currPos; + rtengine::Coord currPos; for (unsigned int i = 0; i < points.size(); ++i) { currPos = points.at(i); @@ -321,7 +344,7 @@ void Polyline::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::Ed } else if (datum == CLICKED_POINT) { currPos += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } if (!i) { @@ -342,20 +365,23 @@ void Polyline::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::Ed void Polyline::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if ((flags & ACTIVE) && points.size() > 1) { - RGBColor color; + if ((flags & F_VISIBLE) && points.size() > 1) { + if (state != INSENSITIVE) { + RGBColor color; - if (flags & AUTO_COLOR) { - color = getInnerLineColor(); - } else { - color = innerLineColor; + if (flags & F_AUTO_COLOR) { + color = getInnerLineColor(); + } else { + color = innerLineColor; + } + + cr->set_source_rgb (color.getR(), color.getG(), color.getB()); } - cr->set_source_rgb (color.getR(), color.getG(), color.getB()); - cr->set_line_width( getOuterLineWidth() ); + cr->set_line_width( innerLineWidth ); - if (filled) { - Coord currPos; + if (filled && state != INSENSITIVE) { + rtengine::Coord currPos; for (unsigned int i = 0; i < points.size(); ++i) { currPos = points.at(i); @@ -365,7 +391,7 @@ void Polyline::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::Ed } else if (datum == CLICKED_POINT) { currPos += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } if (!i) { @@ -382,17 +408,17 @@ void Polyline::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::Ed cr->fill(); } } else if (innerLineWidth > 0.) { - Coord currPos; + rtengine::Coord currPos; for (unsigned int i = 0; i < points.size(); ++i) { currPos = points.at(i); - if (datum == IMAGE) { + if (datum == IMAGE) { coordSystem.imageCoordToScreen(points.at(i).x, points.at(i).y, currPos.x, currPos.y); } else if (datum == CLICKED_POINT) { currPos += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } if (!i) { @@ -402,22 +428,34 @@ void Polyline::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::Ed } } - cr->stroke(); + if (state == INSENSITIVE) { + std::valarray ds(1); + ds[0] = 4; + cr->set_source_rgba(1.0, 1.0, 1.0, 0.618); + cr->stroke_preserve(); + cr->set_source_rgba(0.0, 0.0, 0.0, 0.618); + cr->set_dash(ds, 0); + cr->stroke(); + ds.resize(0); + cr->set_dash(ds, 0); + } else { + cr->stroke(); + } } } } void Polyline::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr &cr2, unsigned short id, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if ((flags & ACTIVE) && points.size() > 1) { - Coord currPos; + if ((flags & F_HOVERABLE) && points.size() > 1) { + rtengine::Coord currPos; // drawing the lower byte's value unsigned short a = (id + 1) & 0xFF; cr->set_source_rgba (0., 0., 0., double(a) / 255.); for (unsigned int i = 0; i < points.size(); ++i) { - cr->set_line_width( getOuterLineWidth() ); + cr->set_line_width( getMouseOverLineWidth() ); currPos = points.at(i); if (datum == IMAGE) { @@ -425,7 +463,7 @@ void Polyline::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr } else if (datum == CLICKED_POINT) { currPos += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } if (!i) { @@ -452,7 +490,7 @@ void Polyline::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr cr2->set_source_rgba (0., 0., 0., double(a) / 255.); for (unsigned int i = 0; i < points.size(); ++i) { - cr2->set_line_width( getOuterLineWidth() ); + cr2->set_line_width( getMouseOverLineWidth() ); currPos = points.at(i); if (datum == IMAGE) { @@ -460,7 +498,7 @@ void Polyline::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr } else if (datum == CLICKED_POINT) { currPos += editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + currPos += editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } if (!i) { @@ -496,24 +534,24 @@ void Rectangle::setXYXY(int left, int top, int right, int bottom) bottomRight.set(right, bottom); } -void Rectangle::setXYWH(Coord topLeft, Coord widthHeight) +void Rectangle::setXYWH(rtengine::Coord topLeft, rtengine::Coord widthHeight) { this->topLeft = topLeft; this->bottomRight = topLeft + widthHeight; } -void Rectangle::setXYXY(Coord topLeft, Coord bottomRight) +void Rectangle::setXYXY(rtengine::Coord topLeft, rtengine::Coord bottomRight) { this->topLeft = topLeft; this->bottomRight = bottomRight; } -void Rectangle::drawOuterGeometry (Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) +void Rectangle::drawOuterGeometry(Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if ((flags & ACTIVE)) { + if ((flags & F_VISIBLE) && state != INSENSITIVE) { RGBColor color; - if (flags & AUTO_COLOR) { + if (flags & F_AUTO_COLOR) { color = getOuterLineColor(); } else { color = outerLineColor; @@ -522,14 +560,14 @@ void Rectangle::drawOuterGeometry (Cairo::RefPtr &cr, rtengine:: cr->set_source_rgb (color.getR(), color.getG(), color.getB()); cr->set_line_width( getOuterLineWidth() ); - Coord tl, br; + rtengine::Coord tl, br; if (datum == IMAGE) { coordSystem.imageCoordToScreen(topLeft.x, topLeft.y, tl.x, tl.y); } else if (datum == CLICKED_POINT) { tl = topLeft + editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - tl = topLeft + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + tl = topLeft + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } if (datum == IMAGE) { @@ -537,7 +575,7 @@ void Rectangle::drawOuterGeometry (Cairo::RefPtr &cr, rtengine:: } else if (datum == CLICKED_POINT) { br = bottomRight + editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - br = bottomRight + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + br = bottomRight + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } cr->rectangle(tl.x + 0.5, tl.y + 0.5, br.x - tl.x, br.y - tl.y); @@ -551,28 +589,31 @@ void Rectangle::drawOuterGeometry (Cairo::RefPtr &cr, rtengine:: } } -void Rectangle::drawInnerGeometry (Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) +void Rectangle::drawInnerGeometry(Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if (flags & ACTIVE) { - RGBColor color; + if (flags & F_VISIBLE) { + if (state != INSENSITIVE) { + RGBColor color; - if (flags & AUTO_COLOR) { - color = getInnerLineColor(); - } else { - color = innerLineColor; + if (flags & F_AUTO_COLOR) { + color = getInnerLineColor(); + } else { + color = innerLineColor; + } + + cr->set_source_rgb (color.getR(), color.getG(), color.getB()); } - cr->set_source_rgb (color.getR(), color.getG(), color.getB()); cr->set_line_width( innerLineWidth ); - Coord tl, br; + rtengine::Coord tl, br; if (datum == IMAGE) { coordSystem.imageCoordToScreen(topLeft.x, topLeft.y, tl.x, tl.y); } else if (datum == CLICKED_POINT) { tl = topLeft + editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - tl = topLeft + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + tl = topLeft + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } if (datum == IMAGE) { @@ -580,10 +621,10 @@ void Rectangle::drawInnerGeometry (Cairo::RefPtr &cr, rtengine:: } else if (datum == CLICKED_POINT) { br = bottomRight + editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - br = bottomRight + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + br = bottomRight + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } - if (filled) { + if (filled && state != INSENSITIVE) { cr->rectangle(tl.x + 0.5, tl.y + 0.5, br.x - tl.x, br.y - tl.y); if (innerLineWidth > 0.) { @@ -594,24 +635,37 @@ void Rectangle::drawInnerGeometry (Cairo::RefPtr &cr, rtengine:: } } else if (innerLineWidth > 0.) { cr->rectangle(tl.x + 0.5, tl.y + 0.5, br.x - tl.x, br.y - tl.y); - cr->stroke(); + + if (state == INSENSITIVE) { + std::valarray ds(1); + ds[0] = 4; + cr->set_source_rgba(1.0, 1.0, 1.0, 0.618); + cr->stroke_preserve(); + cr->set_source_rgba(0.0, 0.0, 0.0, 0.618); + cr->set_dash(ds, 0); + cr->stroke(); + ds.resize(0); + cr->set_dash(ds, 0); + } else { + cr->stroke(); + } } } } -void Rectangle::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr &cr2, unsigned short id, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) +void Rectangle::drawToMOChannel(Cairo::RefPtr &cr, Cairo::RefPtr &cr2, unsigned short id, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem) { - if (flags & ACTIVE) { + if (flags & F_HOVERABLE) { cr->set_line_width( getMouseOverLineWidth() ); - Coord tl, br; + rtengine::Coord tl, br; if (datum == IMAGE) { coordSystem.imageCoordToCropBuffer(topLeft.x, topLeft.y, tl.x, tl.y); } else if (datum == CLICKED_POINT) { tl = topLeft + editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - tl = topLeft + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + tl = topLeft + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } if (datum == IMAGE) { @@ -619,7 +673,7 @@ void Rectangle::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPt } else if (datum == CLICKED_POINT) { br = bottomRight + editBuffer->getDataProvider()->posScreen; } else if (datum == CURSOR) { - br = bottomRight + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaPrevScreen; + br = bottomRight + editBuffer->getDataProvider()->posScreen + editBuffer->getDataProvider()->deltaScreen; } // drawing the lower byte's value @@ -658,7 +712,7 @@ void Rectangle::drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPt } } -EditSubscriber::EditSubscriber (EditType editType) : ID(EUID_None), editingType(editType), bufferType(BT_SINGLEPLANE_FLOAT), provider(NULL) {} +EditSubscriber::EditSubscriber (EditType editType) : ID(EUID_None), editingType(editType), bufferType(BT_SINGLEPLANE_FLOAT), provider(NULL), dragging(false) {} void EditSubscriber::setEditProvider(EditDataProvider *provider) { @@ -717,6 +771,10 @@ BufferType EditSubscriber::getEditBufferType() return bufferType; } +bool EditSubscriber::isDragging() +{ + return dragging; +} //-------------------------------------------------------------------------------------------------- diff --git a/rtgui/edit.h b/rtgui/edit.h index 134b373ea..c8b8090fb 100644 --- a/rtgui/edit.h +++ b/rtgui/edit.h @@ -24,7 +24,9 @@ #include "editid.h" #include "cursormanager.h" #include "../rtengine/rt_math.h" -#include "coord.h" +#include "../rtengine/coord.h" +#include "guiutils.h" +#include "options.h" class EditDataProvider; @@ -39,30 +41,117 @@ class EditBuffer; * Subscribers will be tools that need to create some graphics in the preview area, to let the user interact * with it in a more user friendly way. * - * Do not confuse with a _local_ editing, which is another topic implemented in another class. The Edit feature + * Subscribers will be tools that need to create some graphics in the preview area, to let the user interact + * with it in a more user friendly way. + * + * Do not confuse with _local_ editing, which is another topic implemented in another class. The Edit feature * is also not supported in batch editing from the File Browser. * - * Each Edit tool must have a unique ID, that will identify them, and which let the ImProcCoordinator or other - * mechanism act as appropriated. They are all defined in rtgui/editid.h. + * Edit tool can be of 2 types: pipette editing and object editing. * - * ## How does it works? + * ## Pipette edition * - * When a tool is being constructed, unique IDs are affected to the EditSubscribers. Then the EditorPanel class - * will ask all ToolPanel to register the 'after' preview ImageArea object as data provider. The Subscribers - * have now to provide a toggle button to click on to start the Edit listening. When toggling on, the Subscriber + * By using this class, a pipette mechanism can be handled on the preview. + * + * Each pipette Edit tool must have a unique ID, that will identify them, and which let the ImProcCoordinator + * or other mechanism act as appropriated. They are all defined in rtgui/editid.h. A buffer type has to be given + * too, to know which kind of buffer to allocate (see EditSubscriber::BufferType). + * + * Only the first mouse button can be used to manipulate the pipette on the Preview, that's why the developer has + * to implement at least the following 4 methods: + * - mouseOver + * - button1Pressed + * - drag1 + * - button1Released + * + * Actually, only curves does use this class, and everything is handled for curve implementor (as much as possible). + * See the curve's class documentation to see how to implement the curve's pipette feature. + * + * ### Event handling + * + * The mouseOver method is called on each mouse movement, excepted when dragging a point. This method can then access + * the pipetteVal array values, which contain the mean of the pixel read in the buffer, or -1 of the cursor is outside + * of the image. In this case, EditDataProvider::object is also set to 0 (and 1 if over the image). + * + * When the user will click on the left mouse button while pressing the CTRL key, the button1Pressed will be called. + * Setting "dragging" to true (or false) is not required for the pipette type editing. + * + * The drag1 method will be called on all subsequent mouse move. The pipetteVal[3] array will already be filled with + * the mean of the read values under the cursor (actually a fixed square of 8px). If the BufferType is BT_SINGLEPLANE_FLOAT, + * only the first array value will be filled. + * + * Then the button1Released will be called to stop the dragging. + * + * ## Object edition + * + * By using this class, object can be drawn and manipulated on the preview. + * + * The developer has to handle the buttonPress, buttonRelease, drag and mouseOver method that he needs. There + * are buttonPress, buttonRelease and drag methods dedicated to each mouse button, for better flexibility + * (e.g.button2Press, button2Release, drag2 will handle event when mouse button 2 is used first). RT actually + * does not handle multiple mouse button event (e.g. button1 + button2), only one at a time. The first button pressed + * set the mechanism, all other combined button press are ignored. + * + * The developer also have to fill 2 display list with object of the Geometry subclass. Each geometrical shape + * _can_ be used in one or the other, or both list at a time. + * + * The first list (visibleGeometry) is used to be displayed on the preview. The developer will have to set their state + * manually (see Geometry::State), but the display shape, line width and color can be handled automatically, or with + * specific values. To be displayed, the F_VISIBLE flag has to be set through the setActive or setVisible methods. + * + * The second list (mouseOverGeometry) is used in a backbuffer, the color used to draw the shape being the id of the + * mouseOverGeometry. As an example, you could use a circle line to represent the line to the user, but use another + * Circle object, filled, to be used as mouseOver detection. The association between both shape (visible and mouseOver) + * is handled by the developer. To be displayed on this backbuffer, the F_HOVERABLE flag has to be set through the + * setActive or setHoverable methods. + * + * + * ### Event handling + * + * RT will draw in the back buffer all mouseOverGeometry set by the developer once the Edit button is pressed, and handle + * the events automatically. + * + * RT will call the mouseOver method on each mouse movement where no mouse button is pressed. + * + * On mouse button press over a mouseOverGeometry, it will call the button press method corresponding to the button + * (e.g. button1Pressed for mouse button 1), with the modifier key as parameter. Any other mouse button pressed at + * the same time will be ignored. It's up to the developer to decide whether it leads to a drag movement or not, + * by setting the "dragging" boolean to true. + * + * In this case, RT will then sent drag1 event (to stay with our button 1 pressed example) on each mouse movement. It's up + * to the developer of the tool to handle the dragging. The EditProvider class will help you in this by handling the actual + * position in various coordinate system and ways. + * + * When the user will release the mouse button, RT will call the button1Release event (in our example). The developer have + * then to set the "dragging" flag to false. + * + * Each of these methods have to returns a boolean value saying that the preview has to be refreshed or not (i.e. the displayed + * geometry). + * + * ## Other general internal implementation notes + * + * When a tool is being constructed, unique IDs are affected to the EditSubscribers of the Pipette type. + * Then the EditorPanel class will ask all ToolPanel to register the 'after' preview ImageArea object as data provider. + * The Subscribers have now to provide a toggle button to click on to start the Edit listening. When toggling on, the Subscriber * register itself to the DataProvider, then an event is thrown through the standard ToolPanelListener::panelChanged - * method to update the preview with new graphics to be displayed, and eventually buffers to create and populate. + * method to update the preview with new graphics to be displayed. If a previous Edit button was active, it will be deactivated + * (the Edit buttons are mutually exclusive). For the Pipette type, a buffer will be created and has to be populated + * by the developer in rtengine's pipeline. The unique pipette ID will be used to know where to fill the buffer, as each pipette + * will need different data, corresponding to the state of the image right before the tool that needs pipette values. E.g for + * the HSV tool, the Hue and Saturation and Value curves are applied on the current state of the image. That's why the pipette + * of the H, S and V curve will share the same data of this "current state", otherwise the read value would be wrong. * - * When the Edit process stops, the Subscriber is removed from the DataProvider, so buffer can be freed up. + * When the mouse button 1 is pressed while pressing the CTRL key, the button1Pressed method will be called. + * + * When the Edit process stops, the Subscriber is removed from the DataProvider, so buffers can be freed up. * A new ToolPanelListener::panelChanged event is also thrown to update the preview again, without the tool's * graphical objects. The Edit button is also toggled off (by the user or programmatically). * * It means that each Edit buttons toggled on will start an update of the preview which might or might not create - * a new History entry, depending on the event. + * a new History entry, depending on the ProcEvent used. * */ - /** @brief Coordinate system where the widgets will be drawn * * The EditCoordSystem is used to define a screen and an image coordinate system. @@ -133,22 +222,69 @@ public: } }; +class RGBAColor : public RGBColor +{ + double a; + +public: + RGBAColor () : RGBColor(0., 0., 0.), a(0.) {} + explicit RGBAColor (double r, double g, double b, double a) : RGBColor(r, g, b), a(a) {} + explicit RGBAColor (char r, char g, char b, char a) : RGBColor(r, g, b), a(double(a) / 255.) {} + + void setColor(double r, double g, double b, double a) + { + RGBColor::setColor(r, g, b); + this->a = a; + } + + void setColor(char r, char g, char b, char a) + { + RGBColor::setColor(r, g, b); + this->a = double(a) / 255.; + } + + double getA() + { + return a; + } +}; + +/// @brief Displayable and MouseOver geometry base class class Geometry { public: + /// @brief Graphical state of the element enum State { - NORMAL, - PRELIGHT, - DRAGGED + NORMAL, /// Default state + ACTIVE, /// Focused state + PRELIGHT, /// Hovered state + DRAGGED, /// When being dragged + INSENSITIVE /// Displayed but insensitive }; + + /// @brief Coordinate space and origin of the point enum Datum { - IMAGE, - CLICKED_POINT, - CURSOR + IMAGE, /// Image coordinate system with image's top left corner as origin + CLICKED_POINT, /// Screen coordinate system with clicked point as origin + CURSOR /// Screen coordinate system with actual cursor position as origin }; enum Flags { - ACTIVE = 1 << 0, // true if the geometry is active and have to be drawn - AUTO_COLOR = 1 << 1, // true if the color depend on the state value, not the color field above + F_VISIBLE = 1 << 0, /// true if the geometry have to be drawn on the visible layer + F_HOVERABLE = 1 << 1, /// true if the geometry have to be drawn on the "mouse over" layer + F_AUTO_COLOR = 1 << 2, /// true if the color depend on the state value, not the color field above + }; + + /// @brief Key point of the image's rectangle that is used to locate the icon copy to the target point: + enum DrivenPoint { + DP_CENTERCENTER, + DP_TOPLEFT, + DP_TOPCENTER, + DP_TOPRIGHT, + DP_CENTERRIGHT, + DP_BOTTOMRIGHT, + DP_BOTTOMCENTER, + DP_BOTTOMLEFT, + DP_CENTERLEFT }; protected: @@ -161,29 +297,29 @@ public: Datum datum; State state; // set by the Subscriber - Geometry () : innerLineColor(char(255), char(255), char(255)), outerLineColor(char(0), char(0), char(0)), flags(ACTIVE | AUTO_COLOR), innerLineWidth(1.f), datum(IMAGE), state(NORMAL) {} + Geometry () : innerLineColor(char(255), char(255), char(255)), outerLineColor(char(0), char(0), char(0)), flags(F_VISIBLE | F_HOVERABLE | F_AUTO_COLOR), innerLineWidth(1.5f), datum(IMAGE), state(NORMAL) {} virtual ~Geometry() {} void setInnerLineColor (double r, double g, double b) { innerLineColor.setColor(r, g, b); - flags &= ~AUTO_COLOR; + flags &= ~F_AUTO_COLOR; } void setInnerLineColor (char r, char g, char b) { innerLineColor.setColor(r, g, b); - flags &= ~AUTO_COLOR; + flags &= ~F_AUTO_COLOR; } RGBColor getInnerLineColor (); void setOuterLineColor (double r, double g, double b) { outerLineColor.setColor(r, g, b); - flags &= ~AUTO_COLOR; + flags &= ~F_AUTO_COLOR; } void setOuterLineColor (char r, char g, char b) { outerLineColor.setColor(r, g, b); - flags &= ~AUTO_COLOR; + flags &= ~F_AUTO_COLOR; } RGBColor getOuterLineColor (); double getOuterLineWidth () @@ -197,17 +333,43 @@ public: void setAutoColor (bool aColor) { if (aColor) { - flags |= AUTO_COLOR; + flags |= F_AUTO_COLOR; } else { - flags &= ~AUTO_COLOR; + flags &= ~F_AUTO_COLOR; } } + bool isVisible () + { + return flags & F_VISIBLE; + } + void setVisible (bool visible) + { + if (visible) { + flags |= F_VISIBLE; + } else { + flags &= ~F_VISIBLE; + } + } + bool isHoverable () + { + return flags & F_HOVERABLE; + } + void setHoverable (bool visible) + { + if (visible) { + flags |= F_HOVERABLE; + } else { + flags &= ~F_HOVERABLE; + } + } + + // setActive will enable/disable the visible and hoverable flags in one shot! void setActive (bool active) { if (active) { - flags |= ACTIVE; + flags |= (F_VISIBLE | F_HOVERABLE); } else { - flags &= ~ACTIVE; + flags &= ~(F_VISIBLE | F_HOVERABLE); } } @@ -219,13 +381,13 @@ public: class Circle : public Geometry { public: - Coord center; + rtengine::Coord center; int radius; bool filled; bool radiusInImageSpace; /// If true, the radius depend on the image scale; if false, it is a fixed 'screen' size Circle () : center(100, 100), radius(10), filled(false), radiusInImageSpace(false) {} - Circle (Coord ¢er, int radius, bool filled = false, bool radiusInImageSpace = false) : center(center), radius(radius), filled(filled), radiusInImageSpace(radiusInImageSpace) {} + Circle (rtengine::Coord ¢er, int radius, bool filled = false, bool radiusInImageSpace = false) : center(center), radius(radius), filled(filled), radiusInImageSpace(radiusInImageSpace) {} Circle (int centerX, int centerY, int radius, bool filled = false, bool radiusInImageSpace = false) : center(centerX, centerY), radius(radius), filled(filled), radiusInImageSpace(radiusInImageSpace) {} void drawOuterGeometry (Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem); @@ -236,11 +398,11 @@ public: class Line : public Geometry { public: - Coord begin; - Coord end; + rtengine::Coord begin; + rtengine::Coord end; Line () : begin(10, 10), end(100, 100) {} - Line (Coord &begin, Coord &end) : begin(begin), end(end) {} + Line (rtengine::Coord &begin, rtengine::Coord &end) : begin(begin), end(end) {} Line (int beginX, int beginY, int endX, int endY) : begin(beginX, beginY), end(endX, endY) {} void drawOuterGeometry (Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem); @@ -251,7 +413,7 @@ public: class Polyline : public Geometry { public: - std::vector points; + std::vector points; bool filled; Polyline() : filled(false) {} @@ -264,16 +426,16 @@ public: class Rectangle : public Geometry { public: - Coord topLeft; - Coord bottomRight; + rtengine::Coord topLeft; + rtengine::Coord bottomRight; bool filled; Rectangle() : topLeft(0, 0), bottomRight(10, 10), filled(false) {} void setXYWH(int left, int top, int width, int height); void setXYXY(int left, int top, int right, int bottom); - void setXYWH(Coord topLeft, Coord widthHeight); - void setXYXY(Coord topLeft, Coord bottomRight); + void setXYWH(rtengine::Coord topLeft, rtengine::Coord widthHeight); + void setXYXY(rtengine::Coord topLeft, rtengine::Coord bottomRight); void drawOuterGeometry (Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem); void drawInnerGeometry (Cairo::RefPtr &cr, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem); void drawToMOChannel (Cairo::RefPtr &cr, Cairo::RefPtr &cr2, unsigned short id, rtengine::EditBuffer *editBuffer, EditCoordSystem &coordSystem); @@ -292,8 +454,9 @@ private: EditDataProvider *provider; protected: - std::vector visibleGeometry; - std::vector mouseOverGeometry; + std::vector visibleGeometry; /// displayed geometry + std::vector mouseOverGeometry; /// mouseOver geometry, drawn in a hidden buffer + bool dragging; /// in object mode, set this to true in buttonPressed events to start dragging and ask for drag event (ignored in pipette mode) public: EditSubscriber (EditType editType); @@ -312,6 +475,7 @@ public: EditUniqueID getEditID(); EditType getEditingType(); BufferType getEditBufferType(); + bool isDragging(); /// Returns true if something is being dragged and drag events has to be sent (object mode only) /** @brief Get the cursor to be displayed when above handles @param objectID object currently "hovered" */ @@ -331,6 +495,7 @@ public: } /** @brief Triggered when mouse button 1 is pressed, together with the CTRL modifier key if the subscriber is of type ET_PIPETTE + Once the key is pressed, RT will enter in drag1 mode on subsequent mouse movements @param modifierKey Gtk's event modifier key (GDK_CONTROL_MASK | GDK_SHIFT_MASK | ...) @return true if the preview has to be redrawn, false otherwise */ virtual bool button1Pressed(int modifierKey) @@ -345,10 +510,58 @@ public: return false; } + /** @brief Triggered when mouse button 2 is pressed (middle button) + Once the key is pressed, RT will enter in drag2 mode on subsequent mouse movements + @param modifierKey Gtk's event modifier key (GDK_CONTROL_MASK | GDK_SHIFT_MASK | ...) + @return true if the preview has to be redrawn, false otherwise */ + virtual bool button2Pressed(int modifierKey) + { + return false; + } + + /** @brief Triggered when mouse button 2 is released (middle button) + @return true if the preview has to be redrawn, false otherwise */ + virtual bool button2Released() + { + return false; + } + + /** @brief Triggered when mouse button 3 is pressed (right button) + Once the key is pressed, RT will enter in drag3 mode on subsequent mouse movements + @param modifierKey Gtk's event modifier key (GDK_CONTROL_MASK | GDK_SHIFT_MASK | ...) + @return true if the preview has to be redrawn, false otherwise */ + virtual bool button3Pressed(int modifierKey) + { + return false; + } + + /** @brief Triggered when mouse button 3 is released (right button) + @return true if the preview has to be redrawn, false otherwise */ + virtual bool button3Released() + { + return false; + } + /** @brief Triggered when the user is moving while holding down mouse button 1 @param modifierKey Gtk's event modifier key (GDK_CONTROL_MASK | GDK_SHIFT_MASK | ...) @return true if the preview has to be redrawn, false otherwise */ - virtual bool drag(int modifierKey) + virtual bool drag1(int modifierKey) + { + return false; + } + + /** @brief Triggered when the user is moving while holding down mouse button 2 + @param modifierKey Gtk's event modifier key (GDK_CONTROL_MASK | GDK_SHIFT_MASK | ...) + @return true if the preview has to be redrawn, false otherwise */ + virtual bool drag2(int modifierKey) + { + return false; + } + + /** @brief Triggered when the user is moving while holding down mouse button 3 + @param modifierKey Gtk's event modifier key (GDK_CONTROL_MASK | GDK_SHIFT_MASK | ...) + @return true if the preview has to be redrawn, false otherwise */ + virtual bool drag3(int modifierKey) { return false; } @@ -381,12 +594,12 @@ public: int object; /// ET_OBJECTS mode: Object detected under the cursor, 0 otherwise; ET_PIPETTE mode: 1 if above the image, 0 otherwise float pipetteVal[3]; /// Current pipette values; if bufferType==BT_SINGLEPLANE_FLOAT, #2 & #3 will be set to 0 - Coord posScreen; /// Location of the mouse button press, in preview image space - Coord posImage; /// Location of the mouse button press, in the full image space - Coord deltaScreen; /// Delta relative to posScreen - Coord deltaImage; /// Delta relative to posImage - Coord deltaPrevScreen; /// Delta relative to the previous mouse location, in preview image space - Coord deltaPrevImage; /// Delta relative to the previous mouse location, in the full image space + rtengine::Coord posScreen; /// Location of the mouse button press, in preview image space + rtengine::Coord posImage; /// Location of the mouse button press, in the full image space + rtengine::Coord deltaScreen; /// Delta relative to posScreen + rtengine::Coord deltaImage; /// Delta relative to posImage + rtengine::Coord deltaPrevScreen; /// Delta relative to the previous mouse location, in preview image space + rtengine::Coord deltaPrevImage; /// Delta relative to the previous mouse location, in the full image space EditDataProvider(); virtual ~EditDataProvider() {} diff --git a/rtgui/editenums.h b/rtgui/editenums.h index 32b114643..e51918426 100644 --- a/rtgui/editenums.h +++ b/rtgui/editenums.h @@ -20,7 +20,7 @@ #define _EDITENUMS_ enum ImgEditState {SNormal, SCropMove, SHandMove, SResizeW1, SResizeW2, SResizeH1, SResizeH2, SResizeTL, SResizeTR, SResizeBL, SResizeBR, - SCropSelecting, SRotateSelecting, SCropWinMove, SCropFrameMove, SCropImgMove, SCropWinResize, SObservedMove, SEditDrag + SCropSelecting, SRotateSelecting, SCropWinMove, SCropFrameMove, SCropImgMove, SCropWinResize, SObservedMove, SEditDrag1, SEditDrag2, SEditDrag3 }; enum CursorArea {CropWinButtons, CropToolBar, CropImage, CropBorder, CropTop, CropTopLeft, CropTopRight, CropBottom, CropBottomLeft, CropBottomRight, CropLeft, CropRight, CropInside, CropResize, CropObserved diff --git a/rtgui/gradient.cc b/rtgui/gradient.cc index 6d61dd840..49cc3ee59 100644 --- a/rtgui/gradient.cc +++ b/rtgui/gradient.cc @@ -146,7 +146,7 @@ void Gradient::updateGeometry(int centerX_, int centerY_, double feather_, doubl dataProvider->getImageSize(imW, imH); double decay = feather_ * sqrt(double(imW) * double(imW) + double(imH) * double(imH)) / 200.; - Coord origin(imW / 2 + centerX_ * imW / 200.f, imH / 2 + centerY_ * imH / 200.f); + rtengine::Coord origin(imW / 2 + centerX_ * imW / 200.f, imH / 2 + centerY_ * imH / 200.f); Line *currLine; Circle *currCircle; @@ -397,10 +397,11 @@ bool Gradient::mouseOver(int modifierKey) bool Gradient::button1Pressed(int modifierKey) { - if (!(modifierKey & (GDK_CONTROL_MASK | GDK_CONTROL_MASK))) { + EditDataProvider *provider = getEditProvider(); + + if (!(modifierKey & GDK_CONTROL_MASK)) { // button press is valid (no modifier key) PolarCoord pCoord; - EditDataProvider *provider = getEditProvider(); int imW, imH; provider->getImageSize(imW, imH); double halfSizeW = imW / 2.; @@ -408,8 +409,8 @@ bool Gradient::button1Pressed(int modifierKey) draggedCenter.set(int(halfSizeW + halfSizeW * (centerX->getValue() / 100.)), int(halfSizeH + halfSizeH * (centerY->getValue() / 100.))); // trick to get the correct angle (clockwise/counter-clockwise) - Coord p1 = draggedCenter; - Coord p2 = provider->posImage; + rtengine::Coord p1 = draggedCenter; + rtengine::Coord p2 = provider->posImage; int p = p1.y; p1.y = p2.y; p2.y = p; @@ -422,9 +423,9 @@ bool Gradient::button1Pressed(int modifierKey) if (lastObject == 2 || lastObject == 3) { // Dragging a line to change the angle PolarCoord draggedPoint; - Coord currPos; + rtengine::Coord currPos; currPos = provider->posImage; - Coord centerPos = draggedCenter; + rtengine::Coord centerPos = draggedCenter; double diagonal = sqrt(double(imW) * double(imW) + double(imH) * double(imH)); @@ -444,6 +445,7 @@ bool Gradient::button1Pressed(int modifierKey) draggedFeatherOffset -= (feather->getValue() / 200. * diagonal); } + EditSubscriber::dragging = true; return false; } else { // this will let this class ignore further drag events @@ -464,10 +466,11 @@ bool Gradient::button1Pressed(int modifierKey) bool Gradient::button1Released() { draggedPointOldAngle = -1000.; + EditSubscriber::dragging = false; return true; } -bool Gradient::drag(int modifierKey) +bool Gradient::drag1(int modifierKey) { // compute the polar coordinate of the mouse position EditDataProvider *provider = getEditProvider(); @@ -480,9 +483,9 @@ bool Gradient::drag(int modifierKey) // Dragging a line to change the angle PolarCoord draggedPoint; - Coord currPos; + rtengine::Coord currPos; currPos = provider->posImage + provider->deltaImage; - Coord centerPos = draggedCenter; + rtengine::Coord centerPos = draggedCenter; // trick to get the correct angle (clockwise/counter-clockwise) int p = centerPos.y; @@ -523,9 +526,9 @@ bool Gradient::drag(int modifierKey) } else if (lastObject == 2 || lastObject == 3) { // Dragging the upper or lower feather bar PolarCoord draggedPoint; - Coord currPos; + rtengine::Coord currPos; currPos = provider->posImage + provider->deltaImage; - Coord centerPos = draggedCenter; + rtengine::Coord centerPos = draggedCenter; double diagonal = sqrt(double(imW) * double(imW) + double(imH) * double(imH)); @@ -561,7 +564,7 @@ bool Gradient::drag(int modifierKey) } } else if (lastObject == 4) { // Dragging the circle to change the center - Coord currPos; + rtengine::Coord currPos; draggedCenter += provider->deltaPrevImage; currPos = draggedCenter; currPos.clip(imW, imH); diff --git a/rtgui/gradient.h b/rtgui/gradient.h index e30dd7728..4117c3859 100644 --- a/rtgui/gradient.h +++ b/rtgui/gradient.h @@ -8,6 +8,7 @@ #include "adjuster.h" #include "toolpanel.h" #include "edit.h" +#include "guiutils.h" class Gradient : public ToolParamBlock, public AdjusterListener, public FoldableToolPanel, public EditSubscriber { @@ -26,7 +27,7 @@ protected: double draggedPointOldAngle; double draggedPointAdjusterAngle; double draggedFeatherOffset; - Coord draggedCenter; + rtengine::Coord draggedCenter; sigc::connection editConn; void editToggled (); @@ -55,7 +56,7 @@ public: bool mouseOver(int modifierKey); bool button1Pressed(int modifierKey); bool button1Released(); - bool drag(int modifierKey); + bool drag1(int modifierKey); void switchOffEditMode (); }; diff --git a/rtgui/inspector.cc b/rtgui/inspector.cc index 53f32dbbc..291339414 100644 --- a/rtgui/inspector.cc +++ b/rtgui/inspector.cc @@ -110,10 +110,10 @@ bool Inspector::on_expose_event (GdkEventExpose* event) // this will eventually create/update the off-screen pixmap // compute the displayed area - Coord availableSize; - Coord topLeft; - Coord displayedSize; - Coord dest(0, 0); + rtengine::Coord availableSize; + rtengine::Coord topLeft; + rtengine::Coord displayedSize; + rtengine::Coord dest(0, 0); win->get_size(availableSize.x, availableSize.y); int imW = currImage->imgBuffer.getWidth(); int imH = currImage->imgBuffer.getHeight(); diff --git a/rtgui/inspector.h b/rtgui/inspector.h index 192e86d40..ce2da9aeb 100644 --- a/rtgui/inspector.h +++ b/rtgui/inspector.h @@ -21,7 +21,7 @@ #include #include "guiutils.h" -#include "coord.h" +#include "../rtengine/coord.h" class InspectorBuffer { @@ -42,7 +42,7 @@ class Inspector : public Gtk::DrawingArea { private: - Coord center; + rtengine::Coord center; std::vector images; InspectorBuffer* currImage; double zoom; From 33b2d643b1819ca67c03fcdce38e3d7b3fb674af Mon Sep 17 00:00:00 2001 From: heckflosse Date: Thu, 20 Aug 2015 19:52:53 +0200 Subject: [PATCH 14/35] Cleaned code and removes StopWatch --- rtengine/curves.cc | 56 +++---------------------------------------- rtengine/curves.h | 6 +---- rtengine/improcfun.cc | 3 +-- 3 files changed, 5 insertions(+), 60 deletions(-) diff --git a/rtengine/curves.cc b/rtengine/curves.cc index f4316f128..ffeb684e6 100644 --- a/rtengine/curves.cc +++ b/rtengine/curves.cc @@ -2084,14 +2084,7 @@ float PerceptualToneCurve::calculateToneCurveContrastValue(void) const void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurveState & state) const { float x, y, z; -// cmsCIEXYZ XYZ; -// cmsJCh JCh; - /* int thread_idx = 0; - #ifdef _OPENMP - thread_idx = omp_get_thread_num(); - #endif - */ if (!state.isProphoto) { // convert to prophoto space to make sure the same result is had regardless of working color space float newr = state.Working2Prophoto[0][0] * r + state.Working2Prophoto[0][1] * g + state.Working2Prophoto[0][2] * b; @@ -2136,7 +2129,6 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv // move to JCh so we can modulate chroma based on the global contrast-related chroma scaling factor Color::Prophotoxyz(r, g, b, x, y, z); -// XYZ = (cmsCIEXYZ){ .X = x * 0.0015259022f, .Y = y * 0.0015259022f, .Z = z * 0.0015259022f }; float J, C, h; Ciecam02::xyz2jch_ciecam02float( J, C, h, aw, fl, @@ -2145,10 +2137,6 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv c, nc, n, nbb, ncb, cz, d); -// cmsCIECAM02Forward(h02[thread_idx], &XYZ, &JCh); -// XYZ.X = x * 0.0015259022f; -// XYZ.Y = y * 0.0015259022f; -// XYZ.Z = z * 0.0015259022f; if (!isfinite(J) || !isfinite(C) || !isfinite(h)) { // this can happen for dark noise colors or colors outside human gamut. Then we just return the curve's result. if (!state.isProphoto) { @@ -2182,10 +2170,8 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv if (x < 0.5f) { x = 2.f * SQR(x); -// x = 0.5f * powf(2*x, 2); } else { x = 1.f - 2.f * SQR(1 - x); -// x = 1.f - 0.5f * powf(2-2*x, 2); } saturated_scale_factor = (1.f - x) + saturated_scale_factor * x; @@ -2212,10 +2198,8 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv if (x < 0.5f) { x = 2.f * SQR(x); -// x = 0.5f * powf(2*x, 2); } else { x = 1.f - 2.f * SQR(1 - x); -// x = 1.f - 0.5f * (powf(2-2*x, 2)); } dark_scale_factor = dark_scale_factor * (1.0f - x) + x; @@ -2240,10 +2224,8 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv if (x < 0.5f) { x = 2.f * SQR(x); -// x = 0.5f * powf(2*x, 2); } else { x = 1.f - 2.f * SQR(1 - x); -// x = 1.f - 0.5f * (powf(2-2*x, 2)); } dark_scale_factor = dark_scale_factor * (1.f - x) + x; @@ -2255,7 +2237,6 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv } C *= cmul; -// cmsCIECAM02Reverse(h02[thread_idx], &JCh, &XYZ); Ciecam02::jch2xyz_ciecam02float( x, y, z, J, C, h, @@ -2308,10 +2289,8 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv if (x < 0.5f) { x = 2.f * SQR(x); -// x = 0.5f * powf(2*x, 2); } else { x = 1.f - 2.f * SQR(1 - x); -// x = 1.f - 0.5f * (powf(2-2*x, 2)); } keep = (1.f - x) + keep * x; @@ -2337,8 +2316,6 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv } } -//cmsContext * PerceptualToneCurve::c02; -//cmsHANDLE * PerceptualToneCurve::h02; float PerceptualToneCurve::cf_range[2]; float PerceptualToneCurve::cf[1000]; LUTf PerceptualToneCurve::gamma2curve; @@ -2348,47 +2325,20 @@ float PerceptualToneCurve::n, PerceptualToneCurve::d, PerceptualToneCurve::nbb, void PerceptualToneCurve::init() { - /* { // init ciecam02 state, used for chroma scalings - - cmsViewingConditions vc; - vc.whitePoint = *cmsD50_XYZ(); - vc.whitePoint.X *= 100; - vc.whitePoint.Y *= 100; - vc.whitePoint.Z *= 100; - */ + // init ciecam02 state, used for chroma scalings xw = 96.42f; yw = 100.0f; zw = 82.49f; - /* - vc.Yb = 20; - vc.La = 20; - vc.surround = AVG_SURROUND; - */ yb = 20; la = 20; f = 1.00f; c = 0.69f; nc = 1.00f; -// vc.D_value = 1.0; + Ciecam02::initcam1float(gamut, yb, 1.f, f, la, xw, yw, zw, n, d, nbb, ncb, cz, aw, wh, pfl, fl, c); pow1 = pow_F( 1.64f - pow_F( 0.29f, n ), 0.73f ); - /* - int thread_count = 1; - #ifdef _OPENMP - thread_count = omp_get_max_threads(); - #endif - h02 = (cmsHANDLE *)malloc(sizeof(h02[0]) * (thread_count + 1)); - c02 = (cmsContext *)malloc(sizeof(c02[0]) * (thread_count + 1)); - h02[thread_count] = NULL; - c02[thread_count] = NULL; - // little cms requires one state per thread, for thread safety - for (int i = 0; i < thread_count; i++) { - c02[i] = cmsCreateContext(NULL, NULL); - h02[i] = cmsCIECAM02Init(c02[i], &vc); - } - } - */ + { // init contrast-value-to-chroma-scaling conversion curve diff --git a/rtengine/curves.h b/rtengine/curves.h index b130b7a7d..56681f4b6 100644 --- a/rtengine/curves.h +++ b/rtengine/curves.h @@ -813,17 +813,13 @@ public: class PerceptualToneCurve : public ToneCurve { private: -// static cmsHANDLE *h02; -// static cmsContext *c02; static float cf_range[2]; static float cf[1000]; static LUTf gamma2curve; // for ciecam02 -// float aw, fl, xw, yw, zw, c, nc, pow1, n, nbb, ncb, cz, d; -// float yb2, la2, f2, c2, nc2, pow1n, nbbj, ncbj, flj, czj, dj, awj; - static float f, c, nc, yb, la, xw, yw, zw, gamut; static float n, d, nbb, ncb, cz, aw, wh, pfl, fl, pow1; + static void cubic_spline(const float x[], const float y[], const int len, const float out_x[], float out_y[], const int out_len); static float find_minimum_interval_halving(float (*func)(float x, void *arg), void *arg, float a, float b, float tol, int nmax); static float find_tc_slope_fun(float k, void *arg); diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index 37304f48b..88ed3f777 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -40,7 +40,7 @@ #include "improccoordinator.h" #include "clutstore.h" #include "ciecam02.h" -#include "StopWatch.h" + #ifdef _OPENMP #include #endif @@ -3171,7 +3171,6 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, EditBuffer *e SHMap* shmap, int sat, LUTf & rCurve, LUTf & gCurve, LUTf & bCurve, float satLimit , float satLimitOpacity, const ColorGradientCurve & ctColorCurve, const OpacityCurve & ctOpacityCurve, bool opautili, LUTf & clToningcurve, LUTf & cl2Toningcurve, const ToneCurve & customToneCurve1, const ToneCurve & customToneCurve2, const ToneCurve & customToneCurvebw1, const ToneCurve & customToneCurvebw2, double &rrm, double &ggm, double &bbm, float &autor, float &autog, float &autob, double expcomp, int hlcompr, int hlcomprthresh, DCPProfile *dcpProf) { - StopWatch Stop1("rgbProc"); LUTf fGammaLUTf; Imagefloat *tmpImage = NULL; From b3a12b699add804e3eba988377e2a5c6f70374f6 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Fri, 21 Aug 2015 11:01:03 +0200 Subject: [PATCH 15/35] Don't replace focal_len from Exif by focal_len from Makernotes is Makernotes focal_len is 0 --- rtengine/imagedata.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rtengine/imagedata.cc b/rtengine/imagedata.cc index 9d3f8d5ea..6d4df4890 100644 --- a/rtengine/imagedata.cc +++ b/rtengine/imagedata.cc @@ -406,7 +406,10 @@ void ImageData::extractInfo () rtexif::Tag* flt = mnote->getTagP ("LensInfo/FocalLength"); if (flt) { - focal_len = flt->toDouble (); + // Don't replace Exif focal_len if Makernotes focal_len is 0 + if (flt->toDouble() > 0) { + focal_len = flt->toDouble (); + } } else if ((flt = mnote->getTagP ("FocalLength"))) { rtexif::Tag* flt = mnote->getTag ("FocalLength"); focal_len = flt->toDouble (); From 1f76af5ba9d36b1a52da51e7c21862d3cf2d26e3 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 23 Aug 2015 21:58:35 +0200 Subject: [PATCH 16/35] Added tools/generateLensList Bash4 script to make updating lens ID from exiftool for rtexif/* easy --- tools/generateLensList | 56 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 tools/generateLensList diff --git a/tools/generateLensList b/tools/generateLensList new file mode 100755 index 000000000..e4e01784a --- /dev/null +++ b/tools/generateLensList @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +# This Bash4 script generates lens ID lists for rtexif/*.cc files using +# the exiftool version installed on the host system, so make sure you have +# the latest version of exiftool installed before running this script. +# It uses xmlstarlet to parse exiftool's output so make sure you have that. +# +# Run the script from the project root: +# ./tools/generateLensList +# +# Manually replace old code in rtexif/* with new from /tmp/rt-generateLensList/* +# +# Blame DrSlony +# Please report bugs or enhancements to https://github.com/Beep6581/RawTherapee + +hash exiftool 2>/dev/null || { echo >&2 "Exiftool not found, install it first."; exit 1; } +hash xmlstarlet 2>/dev/null || { echo >&2 "XMLStarlet not found, install it first."; exit 1; } + +unset cam cams + +cams=("canon" "olympus" "pentax" "sony") +tmpdir="/tmp/rt-generateLensList" + +head -n 15 "$0" | tail -n 14 +printf '%s\n' "exiftool version: $(exiftool -ver)" "" "XMLStarlet version: $(xmlstarlet --version)" | sed 's/^/# /' + +if [[ -d ${tmpdir} ]]; then + printf '%s\n' "" "Removing temp folder: $tmpdir" + rm -rvI "$tmpdir" || exit 1 +fi +mkdir -p "$tmpdir" || { printf '%s\n' "Error creating $tmpdir" ""; exit 1; } +echo + +for cam in "${cams[@]}"; do + printf '%s\n' "Saving ${tmpdir}/${cam}" + xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -"$cam":all) > "${tmpdir}/cam" || { printf '%s\n' "Saving failed: ${tmpdir}/cam"; exit 1; } + sort -fuV "${tmpdir}/cam" > "${tmpdir}/${cam}" + rm -f "${tmpdir}/cam" + case $cam in + canon) sed -r -i -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' "${tmpdir}/canon" ;; + olympus) sed -i -e '/0 00 00\tNone/d' -e 's/^/ lenses["0/' -e 's/\t/"] = "/' -e 's/$/";/' "${tmpdir}/olympus" ;; + pentax) sed -r -i -e 's/^/ choices.insert(p_t(256 * /' -e 's/([0-9]+) ([0-9]+)([0-9.]*)/\1 + \2/' -e 's/\t/, "/' -e 's/$/"));/' "${tmpdir}/pentax" ;; + sony) + # Sony has more lenses under the LensType2 tag + printf '%s\n' "Saving ${tmpdir}/sony-lenstype2" + xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType2']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -sony:all) > "${tmpdir}/cam" || { printf '%s\n' "Saving failed: ${tmpdir}/cam"; exit 1; } + sort -fuV "${tmpdir}/cam" > "${tmpdir}/sony-lenstype2" + rm -f "${tmpdir}/cam" + # Pad IDs shorter than 5 digits with 0s + sed -r -i -e 's/^[0-9]/0000&/' -e 's/0*([0-9]{5,})/\1/' "${tmpdir}/sony-lenstype2" + sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' ${tmpdir}/sony ${tmpdir}/sony-lenstype2 + ;; + esac + +done + From 7f60ed65c2677cb5253edc0ad3862de5a7dc83d1 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 23 Aug 2015 21:59:44 +0200 Subject: [PATCH 17/35] Updated canonattribs.cc olympusattribs.cc pentaxattribs.cc sonyminoltaattribs.cc with lenses from exiftool-10.00 --- rtexif/canonattribs.cc | 168 ++++--- rtexif/nikonattribs.cc | 2 +- rtexif/olympusattribs.cc | 196 ++++---- rtexif/pentaxattribs.cc | 522 ++++++++++---------- rtexif/sonyminoltaattribs.cc | 918 ++++++++++++++++++++--------------- 5 files changed, 1000 insertions(+), 806 deletions(-) diff --git a/rtexif/canonattribs.cc b/rtexif/canonattribs.cc index d8ce747f8..d5c792776 100644 --- a/rtexif/canonattribs.cc +++ b/rtexif/canonattribs.cc @@ -506,26 +506,26 @@ CAFocalInterpreter caFocalInterpreter; class CALensInterpreter : public IntLensInterpreter< int > { public: - CALensInterpreter () // From EXIFTOOL database 'Canon.pm' V3.19 + CALensInterpreter () { choices.insert(p_t(1, "Canon EF 50mm f/1.8")); choices.insert(p_t(2, "Canon EF 28mm f/2.8")); choices.insert(p_t(3, "Canon EF 135mm f/2.8 Soft")); - choices.insert(p_t(4, "Canon EF 35-105mm f/3.5-4.5")); + choices.insert(p_t(4, "Canon EF 35-105mm f/3.5-4.5 or Sigma Lens")); choices.insert(p_t(4, "Sigma UC Zoom 35-135mm f/4-5.6")); choices.insert(p_t(5, "Canon EF 35-70mm f/3.5-4.5")); - choices.insert(p_t(6, "Canon EF 28-70mm f/3.5-4.5")); + choices.insert(p_t(6, "Canon EF 28-70mm f/3.5-4.5 or Sigma or Tokina Lens")); choices.insert(p_t(6, "Sigma 18-50mm f/3.5-5.6 DC")); choices.insert(p_t(6, "Sigma 18-125mm f/3.5-5.6 DC IF ASP")); choices.insert(p_t(6, "Tokina AF 193-2 19-35mm f/3.5-4.5")); choices.insert(p_t(6, "Sigma 28-80mm f/3.5-5.6 II Macro")); choices.insert(p_t(7, "Canon EF 100-300mm f/5.6L")); - choices.insert(p_t(8, "Canon EF 100-300mm f/5.6")); + choices.insert(p_t(8, "Canon EF 100-300mm f/5.6 or Sigma or Tokina Lens")); choices.insert(p_t(8, "Sigma 70-300mm f/4-5.6 [APO] DG Macro")); choices.insert(p_t(8, "Tokina AT-X 242 AF 24-200mm f/3.5-5.6")); choices.insert(p_t(9, "Canon EF 70-210mm f/4")); choices.insert(p_t(9, "Sigma 55-200mm f/4-5.6 DC")); - choices.insert(p_t(10, "Canon EF 50mm f/2.5 Macro")); + choices.insert(p_t(10, "Canon EF 50mm f/2.5 Macro or Sigma Lens")); choices.insert(p_t(10, "Sigma 50mm f/2.8 EX")); choices.insert(p_t(10, "Sigma 28mm f/1.8")); choices.insert(p_t(10, "Sigma 105mm f/2.8 Macro EX")); @@ -539,51 +539,59 @@ public: choices.insert(p_t(18, "Canon EF 28-70mm f/3.5-4.5")); choices.insert(p_t(20, "Canon EF 100-200mm f/4.5A")); choices.insert(p_t(21, "Canon EF 80-200mm f/2.8L")); - choices.insert(p_t(22, "Canon EF 20-35mm f/2.8L")); + choices.insert(p_t(22, "Canon EF 20-35mm f/2.8L or Tokina Lens")); choices.insert(p_t(22, "Tokina AT-X 280 AF Pro 28-80mm f/2.8 Aspherical")); choices.insert(p_t(23, "Canon EF 35-105mm f/3.5-4.5")); choices.insert(p_t(24, "Canon EF 35-80mm f/4-5.6 Power Zoom")); choices.insert(p_t(25, "Canon EF 35-80mm f/4-5.6 Power Zoom")); - choices.insert(p_t(26, "Canon EF 100mm f/2.8 Macro")); + choices.insert(p_t(26, "Canon EF 100mm f/2.8 Macro or Other Lens")); choices.insert(p_t(26, "Cosina 100mm f/3.5 Macro AF")); choices.insert(p_t(26, "Tamron SP AF 90mm f/2.8 Di Macro")); choices.insert(p_t(26, "Tamron SP AF 180mm f/3.5 Di Macro")); choices.insert(p_t(26, "Carl Zeiss Planar T* 50mm f/1.4")); choices.insert(p_t(27, "Canon EF 35-80mm f/4-5.6")); - choices.insert(p_t(28, "Canon EF 80-200mm f/4.5-5.6")); - choices.insert(p_t(28, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical IF Macro")); + choices.insert(p_t(28, "Canon EF 80-200mm f/4.5-5.6 or Tamron Lens")); choices.insert(p_t(28, "Tamron SP AF 28-105mm f/2.8 LD Aspherical IF")); - choices.insert(p_t(28, "Tamron AF 28-200mm f/3.8-5.6 Aspherical")); - choices.insert(p_t(28, "Tamron AF 70-300mm f/4.5-5.6 Di LD 1:2 Macro Zoom")); + choices.insert(p_t(28, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro")); + choices.insert(p_t(28, "Tamron AF 70-300mm f/4-5.6 Di LD 1:2 Macro")); + choices.insert(p_t(28, "Tamron AF Aspherical 28-200mm f/3.8-5.6")); choices.insert(p_t(29, "Canon EF 50mm f/1.8 II")); choices.insert(p_t(30, "Canon EF 35-105mm f/4.5-5.6")); - choices.insert(p_t(31, "Canon EF 75-300mm f/4-5.6")); + choices.insert(p_t(31, "Canon EF 75-300mm f/4-5.6 or Tamron Lens")); choices.insert(p_t(31, "Tamron SP AF 300mm f/2.8 LD IF")); - choices.insert(p_t(32, "Canon EF 24mm f/2.8")); + choices.insert(p_t(32, "Canon EF 24mm f/2.8 or Sigma Lens")); choices.insert(p_t(32, "Sigma 15mm f/2.8 EX Fisheye")); choices.insert(p_t(33, "Voigtlander or Carl Zeiss Lens")); choices.insert(p_t(33, "Voigtlander Ultron 40mm f/2 SLII Aspherical")); + choices.insert(p_t(33, "Voigtlander Color Skopar 20mm f/3.5 SLII Aspherical")); + choices.insert(p_t(33, "Voigtlander APO-Lanthar 90mm f/3.5 SLII Close Focus")); choices.insert(p_t(33, "Carl Zeiss Distagon T* 15mm f/2.8 ZE")); choices.insert(p_t(33, "Carl Zeiss Distagon T* 18mm f/3.5 ZE")); choices.insert(p_t(33, "Carl Zeiss Distagon T* 21mm f/2.8 ZE")); + choices.insert(p_t(33, "Carl Zeiss Distagon T* 25mm f/2 ZE")); choices.insert(p_t(33, "Carl Zeiss Distagon T* 28mm f/2 ZE")); choices.insert(p_t(33, "Carl Zeiss Distagon T* 35mm f/2 ZE")); + choices.insert(p_t(33, "Carl Zeiss Distagon T* 35mm f/1.4 ZE")); + choices.insert(p_t(33, "Carl Zeiss Planar T* 50mm f/1.4 ZE")); + choices.insert(p_t(33, "Carl Zeiss Makro-Planar T* 50mm f/2 ZE")); + choices.insert(p_t(33, "Carl Zeiss Makro-Planar T* 100mm f/2 ZE")); + choices.insert(p_t(33, "Carl Zeiss Apo-Sonnar T* 135mm f/2 ZE")); choices.insert(p_t(35, "Canon EF 35-80mm f/4-5.6")); choices.insert(p_t(36, "Canon EF 38-76mm f/4.5-5.6")); - choices.insert(p_t(37, "Canon EF 35-80mm f/4-5.6")); + choices.insert(p_t(37, "Canon EF 35-80mm f/4-5.6 or Tamron Lens")); choices.insert(p_t(37, "Tamron 70-200mm f/2.8 Di LD IF Macro")); - choices.insert(p_t(37, "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical IF Macro (A20)")); - choices.insert(p_t(37, "Tamron SP AF 17-50mm f/2.8 XR Di II VC LD Aspherical IF")); - choices.insert(p_t(37, "Tamron AF 18-270mm f/3.5-6.3 Di II VC LD Aspherical IF Macro")); + choices.insert(p_t(37, "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20")); + choices.insert(p_t(37, "Tamron SP AF 17-50mm f/2.8 XR Di II VC LD Aspherical [IF]")); + choices.insert(p_t(37, "Tamron AF 18-270mm f/3.5-6.3 Di II VC LD Aspherical [IF] Macro")); choices.insert(p_t(38, "Canon EF 80-200mm f/4.5-5.6")); choices.insert(p_t(39, "Canon EF 75-300mm f/4-5.6")); choices.insert(p_t(40, "Canon EF 28-80mm f/3.5-5.6")); choices.insert(p_t(41, "Canon EF 28-90mm f/4-5.6")); - choices.insert(p_t(42, "Canon EF 28-200mm f/3.5-5.6")); - choices.insert(p_t(42, "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical IF Macro (A20)")); + choices.insert(p_t(42, "Canon EF 28-200mm f/3.5-5.6 or Tamron Lens")); + choices.insert(p_t(42, "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20")); choices.insert(p_t(43, "Canon EF 28-105mm f/4-5.6")); choices.insert(p_t(44, "Canon EF 90-300mm f/4.5-5.6")); - choices.insert(p_t(45, "Canon EF-S 18-55mm f/3.5-5.6 II")); + choices.insert(p_t(45, "Canon EF-S 18-55mm f/3.5-5.6 [II]")); choices.insert(p_t(46, "Canon EF 28-90mm f/4-5.6")); choices.insert(p_t(48, "Canon EF-S 18-55mm f/3.5-5.6 IS")); choices.insert(p_t(49, "Canon EF-S 55-250mm f/4-5.6 IS")); @@ -593,18 +601,18 @@ public: choices.insert(p_t(53, "Canon EF-S 18-55mm f/3.5-5.6 III")); choices.insert(p_t(54, "Canon EF-S 55-250mm f/4-5.6 IS II")); choices.insert(p_t(94, "Canon TS-E 17mm f/4L")); - choices.insert(p_t(95, "Canon TS-E 24mm f/3.5 L II")); + choices.insert(p_t(95, "Canon TS-E 24.0mm f/3.5 L II")); choices.insert(p_t(124, "Canon MP-E 65mm f/2.8 1-5x Macro Photo")); choices.insert(p_t(125, "Canon TS-E 24mm f/3.5L")); choices.insert(p_t(126, "Canon TS-E 45mm f/2.8")); choices.insert(p_t(127, "Canon TS-E 90mm f/2.8")); choices.insert(p_t(129, "Canon EF 300mm f/2.8L")); choices.insert(p_t(130, "Canon EF 50mm f/1.0L")); - choices.insert(p_t(131, "Canon EF 28-80mm f/2.8-4L")); + choices.insert(p_t(131, "Canon EF 28-80mm f/2.8-4L or Sigma Lens")); choices.insert(p_t(131, "Sigma 8mm f/3.5 EX DG Circular Fisheye")); choices.insert(p_t(131, "Sigma 17-35mm f/2.8-4 EX DG Aspherical HSM")); choices.insert(p_t(131, "Sigma 17-70mm f/2.8-4.5 DC Macro")); - choices.insert(p_t(131, "Sigma APO 50-150mm f/2.8 EX DC HSM II")); + choices.insert(p_t(131, "Sigma APO 50-150mm f/2.8 [II] EX DC HSM")); choices.insert(p_t(131, "Sigma APO 120-300mm f/2.8 EX DG HSM")); choices.insert(p_t(131, "Sigma 4.5mm f/2.8 EX DC HSM Circular Fisheye")); choices.insert(p_t(131, "Sigma 70-200mm f/2.8 APO EX HSM")); @@ -612,7 +620,7 @@ public: choices.insert(p_t(134, "Canon EF 600mm f/4L IS")); choices.insert(p_t(135, "Canon EF 200mm f/1.8L")); choices.insert(p_t(136, "Canon EF 300mm f/2.8L")); - choices.insert(p_t(137, "Canon EF 85mm f/1.2L")); + choices.insert(p_t(137, "Canon EF 85mm f/1.2L or Sigma or Tamron Lens")); choices.insert(p_t(137, "Sigma 18-50mm f/2.8-4.5 DC OS HSM")); choices.insert(p_t(137, "Sigma 50-200mm f/4-5.6 DC OS HSM")); choices.insert(p_t(137, "Sigma 18-250mm f/3.5-6.3 DC OS HSM")); @@ -627,6 +635,8 @@ public: choices.insert(p_t(137, "Tamron SP 60mm f/2 Macro Di II")); choices.insert(p_t(137, "Sigma 10-20mm f/3.5 EX DC HSM")); choices.insert(p_t(137, "Tamron SP 24-70mm f/2.8 Di VC USD")); + choices.insert(p_t(137, "Sigma 18-35mm f/1.8 DC HSM")); + choices.insert(p_t(137, "Sigma 12-24mm f/4.5-5.6 DG HSM II")); choices.insert(p_t(138, "Canon EF 28-80mm f/2.8-4L")); choices.insert(p_t(139, "Canon EF 400mm f/2.8L")); choices.insert(p_t(140, "Canon EF 500mm f/4.5L")); @@ -639,85 +649,96 @@ public: choices.insert(p_t(147, "Canon EF 35-135mm f/4-5.6 USM")); choices.insert(p_t(148, "Canon EF 28-80mm f/3.5-5.6 USM")); choices.insert(p_t(149, "Canon EF 100mm f/2 USM")); - choices.insert(p_t(150, "Canon EF 14mm f/2.8L")); - choices.insert(p_t(150, "Sigma 20mm f/1.8 EX")); - choices.insert(p_t(150, "Sigma 24mm f/1.8 DG Macro EX")); + choices.insert(p_t(150, "Canon EF 14mm f/2.8L or Sigma Lens")); + choices.insert(p_t(150, "Sigma 20mm EX f/1.8")); choices.insert(p_t(150, "Sigma 30mm f/1.4 DC HSM")); + choices.insert(p_t(150, "Sigma 24mm f/1.8 DG Macro EX")); + choices.insert(p_t(150, "Sigma 28mm f/1.8 DG Macro EX")); choices.insert(p_t(151, "Canon EF 200mm f/2.8L")); - choices.insert(p_t(152, "Canon EF 300mm f/4L IS")); - choices.insert(p_t(152, "Sigma 12-24mm f/4.5-5.6 EX DG Aspherical HSM")); + choices.insert(p_t(152, "Canon EF 300mm f/4L IS or Sigma Lens")); + choices.insert(p_t(152, "Sigma 12-24mm f/4.5-5.6 EX DG ASPHERICAL HSM")); choices.insert(p_t(152, "Sigma 14mm f/2.8 EX Aspherical HSM")); choices.insert(p_t(152, "Sigma 10-20mm f/4-5.6")); choices.insert(p_t(152, "Sigma 100-300mm f/4")); - choices.insert(p_t(153, "Canon EF 35-350mm f/3.5-5.6L")); + choices.insert(p_t(153, "Canon EF 35-350mm f/3.5-5.6L or Sigma or Tamron Lens")); choices.insert(p_t(153, "Sigma 50-500mm f/4-6.3 APO HSM EX")); - choices.insert(p_t(153, "Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical IF Macro")); - choices.insert(p_t(153, "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical IF Macro (A14)")); - choices.insert(p_t(153, "Tamron 18-250mm f/3.5-6.3 Di II LD Aspherical IF Macro")); + choices.insert(p_t(153, "Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical [IF] Macro")); + choices.insert(p_t(153, "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical [IF] Macro Model A14")); + choices.insert(p_t(153, "Tamron 18-250mm f/3.5-6.3 Di II LD Aspherical [IF] Macro")); choices.insert(p_t(154, "Canon EF 20mm f/2.8 USM")); choices.insert(p_t(155, "Canon EF 85mm f/1.8 USM")); - choices.insert(p_t(156, "Canon EF 28-105mm f/3.5-4.5 USM")); - choices.insert(p_t(156, "Tamron SP 70-300mm f/4-5.6 Di VC USD")); - choices.insert(p_t(160, "Canon EF 20-35mm f/3.5-4.5 USM")); + choices.insert(p_t(156, "Canon EF 28-105mm f/3.5-4.5 USM or Tamron Lens")); + choices.insert(p_t(156, "Tamron SP 70-300mm f/4.0-5.6 Di VC USD")); + choices.insert(p_t(160, "Canon EF 20-35mm f/3.5-4.5 USM or Tamron or Tokina Lens")); choices.insert(p_t(160, "Tamron AF 19-35mm f/3.5-4.5")); choices.insert(p_t(160, "Tokina AT-X 124 AF Pro DX 12-24mm f/4")); choices.insert(p_t(160, "Tokina AT-X 107 AF DX 10-17mm f/3.5-4.5 Fisheye")); choices.insert(p_t(160, "Tokina AT-X 116 AF Pro DX 11-16mm f/2.8")); - choices.insert(p_t(161, "Canon EF 28-70mm f/2.8L")); + choices.insert(p_t(161, "Canon EF 28-70mm f/2.8L or Sigma or Tamron Lens")); choices.insert(p_t(161, "Sigma 24-70mm f/2.8 EX")); choices.insert(p_t(161, "Sigma 28-70mm f/2.8 EX")); + choices.insert(p_t(161, "Sigma 24-60mm f/2.8 EX DG")); choices.insert(p_t(161, "Tamron AF 17-50mm f/2.8 Di-II LD Aspherical")); choices.insert(p_t(161, "Tamron 90mm f/2.8")); - choices.insert(p_t(161, "Sigma 24-60mm f/2.8 EX DG")); + choices.insert(p_t(161, "Tamron SP AF 17-35mm f/2.8-4 Di LD Aspherical IF")); + choices.insert(p_t(161, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro")); choices.insert(p_t(162, "Canon EF 200mm f/2.8L")); choices.insert(p_t(163, "Canon EF 300mm f/4L")); choices.insert(p_t(164, "Canon EF 400mm f/5.6L")); choices.insert(p_t(165, "Canon EF 70-200mm f/2.8 L")); - choices.insert(p_t(166, "Canon EF 70-200mm f/2.8 L + x1.4")); - choices.insert(p_t(167, "Canon EF 70-200mm f/2.8 L + x2")); + choices.insert(p_t(166, "Canon EF 70-200mm f/2.8 L + 1.4x")); + choices.insert(p_t(167, "Canon EF 70-200mm f/2.8 L + 2x")); choices.insert(p_t(168, "Canon EF 28mm f/1.8 USM")); - choices.insert(p_t(169, "Canon EF 17-35mm f/2.8L")); + choices.insert(p_t(169, "Canon EF 17-35mm f/2.8L or Sigma Lens")); choices.insert(p_t(169, "Sigma 18-200mm f/3.5-6.3 DC OS")); choices.insert(p_t(169, "Sigma 15-30mm f/3.5-4.5 EX DG Aspherical")); choices.insert(p_t(169, "Sigma 18-50mm f/2.8 Macro")); - choices.insert(p_t(169, "Sigma 30mm f/1.4 EX DC HSM")); choices.insert(p_t(169, "Sigma 50mm f/1.4 EX DG HSM")); choices.insert(p_t(169, "Sigma 85mm f/1.4 EX DG HSM")); + choices.insert(p_t(169, "Sigma 30mm f/1.4 EX DC HSM")); choices.insert(p_t(169, "Sigma 35mm f/1.4 DG HSM")); choices.insert(p_t(170, "Canon EF 200mm f/2.8L II")); choices.insert(p_t(171, "Canon EF 300mm f/4L")); - choices.insert(p_t(172, "Canon EF 400mm f/5.6L")); - choices.insert(p_t(173, "Canon EF 180mm f/3.5L Macro")); - choices.insert(p_t(173, "Sigma 180mm f/3.5 EX HSM Macro")); - choices.insert(p_t(173, "Sigma APO 150mm f/2.8 EX DG HSM Macro")); - choices.insert(p_t(174, "Canon EF 135mm f/2L")); + choices.insert(p_t(172, "Canon EF 400mm f/5.6L or Sigma Lens")); + choices.insert(p_t(172, "Sigma 150-600mm f/5-6.3 DG OS HSM | S")); + choices.insert(p_t(173, "Canon EF 180mm Macro f/3.5L or Sigma Lens")); + choices.insert(p_t(173, "Sigma 180mm EX HSM Macro f/3.5")); + choices.insert(p_t(173, "Sigma APO Macro 150mm f/2.8 EX DG HSM")); + choices.insert(p_t(174, "Canon EF 135mm f/2L or Sigma Lens")); choices.insert(p_t(174, "Sigma 70-200mm f/2.8 EX DG APO OS HSM")); choices.insert(p_t(174, "Sigma 50-500mm f/4.5-6.3 APO DG OS HSM")); + choices.insert(p_t(174, "Sigma 150-500mm f/5-6.3 APO DG OS HSM")); choices.insert(p_t(175, "Canon EF 400mm f/2.8L")); choices.insert(p_t(176, "Canon EF 24-85mm f/3.5-4.5 USM")); choices.insert(p_t(177, "Canon EF 300mm f/4L IS")); choices.insert(p_t(178, "Canon EF 28-135mm f/3.5-5.6 IS")); choices.insert(p_t(179, "Canon EF 24mm f/1.4L")); - choices.insert(p_t(180, "Canon EF 35mm f/1.4L")); - choices.insert(p_t(181, "Canon EF 100-400mm f/4.5-5.6L IS + x1.4")); - choices.insert(p_t(182, "Canon EF 100-400mm f/4.5-5.6L IS + x2")); - choices.insert(p_t(183, "Canon EF 100-400mm f/4.5-5.6L IS")); + choices.insert(p_t(180, "Canon EF 35mm f/1.4L or Sigma Lens")); + choices.insert(p_t(180, "Sigma 50mm f/1.4 DG HSM | A")); + choices.insert(p_t(180, "Sigma 24mm f/1.4 DG HSM | A")); + choices.insert(p_t(181, "Canon EF 100-400mm f/4.5-5.6L IS + 1.4x")); + choices.insert(p_t(182, "Canon EF 100-400mm f/4.5-5.6L IS + 2x")); + choices.insert(p_t(183, "Canon EF 100-400mm f/4.5-5.6L IS or Sigma Lens")); choices.insert(p_t(183, "Sigma 150mm f/2.8 EX DG OS HSM APO Macro")); choices.insert(p_t(183, "Sigma 105mm f/2.8 EX DG OS HSM Macro")); - choices.insert(p_t(184, "Canon EF 400mm f/2.8L + x2")); + choices.insert(p_t(183, "Sigma 180mm f/2.8 EX DG OS HSM APO Macro")); + choices.insert(p_t(183, "Sigma 150-600mm f/5-6.3 DG OS HSM | C")); + choices.insert(p_t(184, "Canon EF 400mm f/2.8L + 2x")); choices.insert(p_t(185, "Canon EF 600mm f/4L IS")); choices.insert(p_t(186, "Canon EF 70-200mm f/4L")); choices.insert(p_t(187, "Canon EF 70-200mm f/4L + 1.4x")); choices.insert(p_t(188, "Canon EF 70-200mm f/4L + 2x")); choices.insert(p_t(189, "Canon EF 70-200mm f/4L + 2.8x")); - choices.insert(p_t(190, "Canon EF 100mm f/2.8 Macro")); + choices.insert(p_t(190, "Canon EF 100mm f/2.8 Macro USM")); choices.insert(p_t(191, "Canon EF 400mm f/4 DO IS")); choices.insert(p_t(193, "Canon EF 35-80mm f/4-5.6 USM")); choices.insert(p_t(194, "Canon EF 80-200mm f/4.5-5.6 USM")); choices.insert(p_t(195, "Canon EF 35-105mm f/4.5-5.6 USM")); choices.insert(p_t(196, "Canon EF 75-300mm f/4-5.6 USM")); choices.insert(p_t(197, "Canon EF 75-300mm f/4-5.6 IS USM")); - choices.insert(p_t(198, "Canon EF 50mm f/1.4 USM")); + choices.insert(p_t(198, "Canon EF 50mm f/1.4 USM or Zeiss Lens")); + choices.insert(p_t(198, "Zeiss Otus 55mm f/1.4 ZE")); + choices.insert(p_t(198, "Zeiss Otus 85mm f/1.4 ZE")); choices.insert(p_t(199, "Canon EF 28-80mm f/3.5-5.6 USM")); choices.insert(p_t(200, "Canon EF 75-300mm f/4-5.6 USM")); choices.insert(p_t(201, "Canon EF 28-80mm f/3.5-5.6 USM")); @@ -727,20 +748,24 @@ public: choices.insert(p_t(210, "Canon EF 28-90mm f/4-5.6 USM")); choices.insert(p_t(211, "Canon EF 28-200mm f/3.5-5.6 USM")); choices.insert(p_t(212, "Canon EF 28-105mm f/4-5.6 USM")); - choices.insert(p_t(213, "Canon EF 90-300mm f/4.5-5.6 USM")); + choices.insert(p_t(213, "Canon EF 90-300mm f/4.5-5.6 USM or Tamron Lens")); + choices.insert(p_t(213, "Tamron SP 150-600mm f/5-6.3 Di VC USD")); + choices.insert(p_t(213, "Tamron 16-300mm f/3.5-6.3 Di II VC PZD Macro")); choices.insert(p_t(214, "Canon EF-S 18-55mm f/3.5-5.6 USM")); choices.insert(p_t(215, "Canon EF 55-200mm f/4.5-5.6 II USM")); + choices.insert(p_t(217, "Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD")); choices.insert(p_t(224, "Canon EF 70-200mm f/2.8L IS")); - choices.insert(p_t(225, "Canon EF 70-200mm f/2.8L IS + x1.4")); - choices.insert(p_t(226, "Canon EF 70-200mm f/2.8L IS + x2")); - choices.insert(p_t(227, "Canon EF 70-200mm f/2.8L IS + x2.8")); + choices.insert(p_t(225, "Canon EF 70-200mm f/2.8L IS + 1.4x")); + choices.insert(p_t(226, "Canon EF 70-200mm f/2.8L IS + 2x")); + choices.insert(p_t(227, "Canon EF 70-200mm f/2.8L IS + 2.8x")); choices.insert(p_t(228, "Canon EF 28-105mm f/3.5-4.5 USM")); choices.insert(p_t(229, "Canon EF 16-35mm f/2.8L")); choices.insert(p_t(230, "Canon EF 24-70mm f/2.8L")); choices.insert(p_t(231, "Canon EF 17-40mm f/4L")); choices.insert(p_t(232, "Canon EF 70-300mm f/4.5-5.6 DO IS USM")); choices.insert(p_t(233, "Canon EF 28-300mm f/3.5-5.6L IS")); - choices.insert(p_t(234, "Canon EF-S 17-85mm f4-5.6 IS USM")); + choices.insert(p_t(234, "Canon EF-S 17-85mm f/4-5.6 IS USM or Tokina Lens")); + choices.insert(p_t(234, "Tokina AT-X 12-28mm f/4 PRO DX")); choices.insert(p_t(235, "Canon EF-S 10-22mm f/3.5-4.5 USM")); choices.insert(p_t(236, "Canon EF-S 60mm f/2.8 Macro USM")); choices.insert(p_t(237, "Canon EF 24-105mm f/4L IS")); @@ -756,30 +781,45 @@ public: choices.insert(p_t(247, "Canon EF 14mm f/2.8L II USM")); choices.insert(p_t(248, "Canon EF 200mm f/2L IS")); choices.insert(p_t(249, "Canon EF 800mm f/5.6L IS")); - choices.insert(p_t(250, "Canon EF 24mm f/1.4L II")); + choices.insert(p_t(250, "Canon EF 24 f/1.4L II")); choices.insert(p_t(251, "Canon EF 70-200mm f/2.8L IS II USM")); - choices.insert(p_t(252, "Canon EF 70-200mm f/2.8L IS II USM + x1.4")); - choices.insert(p_t(253, "Canon EF 70-200mm f/2.8L IS II USM + x2")); + choices.insert(p_t(252, "Canon EF 70-200mm f/2.8L IS II USM + 1.4x")); + choices.insert(p_t(253, "Canon EF 70-200mm f/2.8L IS II USM + 2x")); choices.insert(p_t(254, "Canon EF 100mm f/2.8L Macro IS USM")); + choices.insert(p_t(255, "Sigma 24-105mm f/4 DG OS HSM | A or Other Sigma Lens")); + choices.insert(p_t(255, "Sigma 180mm f/2.8 EX DG OS HSM APO Macro")); choices.insert(p_t(488, "Canon EF-S 15-85mm f/3.5-5.6 IS USM")); choices.insert(p_t(489, "Canon EF 70-300mm f/4-5.6L IS USM")); - choices.insert(p_t(490, "Canon EF 8-15mm f/4L USM")); + choices.insert(p_t(490, "Canon EF 8-15mm f/4L Fisheye USM")); choices.insert(p_t(491, "Canon EF 300mm f/2.8L IS II USM")); choices.insert(p_t(492, "Canon EF 400mm f/2.8L IS II USM")); + choices.insert(p_t(493, "Canon EF 500mm f/4L IS II USM or EF 24-105mm f4L IS USM")); choices.insert(p_t(493, "Canon EF 24-105mm f/4L IS USM")); choices.insert(p_t(494, "Canon EF 600mm f/4.0L IS II USM")); choices.insert(p_t(495, "Canon EF 24-70mm f/2.8L II USM")); choices.insert(p_t(496, "Canon EF 200-400mm f/4L IS USM")); + choices.insert(p_t(499, "Canon EF 200-400mm f/4L IS USM + 1.4x")); choices.insert(p_t(502, "Canon EF 28mm f/2.8 IS USM")); choices.insert(p_t(503, "Canon EF 24mm f/2.8 IS USM")); choices.insert(p_t(504, "Canon EF 24-70mm f/4L IS USM")); choices.insert(p_t(505, "Canon EF 35mm f/2 IS USM")); + choices.insert(p_t(506, "Canon EF 400mm f/4 DO IS II USM")); + choices.insert(p_t(507, "Canon EF 16-35mm f/4L IS USM")); + choices.insert(p_t(508, "Canon EF 11-24mm f/4L USM")); + choices.insert(p_t(747, "Canon EF 100-400mm f/4.5-5.6L IS II USM")); choices.insert(p_t(4142, "Canon EF-S 18-135mm f/3.5-5.6 IS STM")); - choices.insert(p_t(4143, "Canon EF-M 18-55mm f/3.5-5.6 IS STM")); + choices.insert(p_t(4143, "Canon EF-M 18-55mm f/3.5-5.6 IS STM or Tamron Lens")); + choices.insert(p_t(4143, "Tamron 18-200mm F/3.5-6.3 Di III VC")); choices.insert(p_t(4144, "Canon EF 40mm f/2.8 STM")); choices.insert(p_t(4145, "Canon EF-M 22mm f/2 STM")); choices.insert(p_t(4146, "Canon EF-S 18-55mm f/3.5-5.6 IS STM")); choices.insert(p_t(4147, "Canon EF-M 11-22mm f/4-5.6 IS STM")); + choices.insert(p_t(4148, "Canon EF-S 55-250mm f/4-5.6 IS STM")); + choices.insert(p_t(4149, "Canon EF-M 55-200mm f/4.5-6.3 IS STM")); + choices.insert(p_t(4150, "Canon EF-S 10-18mm f/4.5-5.6 IS STM")); + choices.insert(p_t(4152, "Canon EF 24-105mm f/3.5-5.6 IS STM")); + choices.insert(p_t(4154, "Canon EF-S 24mm f/2.8 STM")); + choices.insert(p_t(4156, "Canon EF 50mm f/1.8 STM")); } virtual std::string toString (Tag* t) diff --git a/rtexif/nikonattribs.cc b/rtexif/nikonattribs.cc index dbf7796b7..a49942d1a 100644 --- a/rtexif/nikonattribs.cc +++ b/rtexif/nikonattribs.cc @@ -318,7 +318,7 @@ class NALensDataInterpreter : public Interpreter { std::map lenses; public: - NALensDataInterpreter () // From EXIFTOOL database 'Nikon.pm' V2.80 + NALensDataInterpreter () { /* The key is a composite string made of 8 HEX bytes * LensIDNumber LensFStops MinFocalLength MaxFocalLength MaxApertureAtMinFocal MaxApertureAtMaxFocal MCUVersion and LensType */ diff --git a/rtexif/olympusattribs.cc b/rtexif/olympusattribs.cc index 4e2e4e53f..3de89b077 100644 --- a/rtexif/olympusattribs.cc +++ b/rtexif/olympusattribs.cc @@ -77,100 +77,110 @@ class OLLensTypeInterpreter : public Interpreter { std::map lenses; public: - OLLensTypeInterpreter () // From EXIFTOOL database 'Olympus.pm' V2.09 + OLLensTypeInterpreter () { - // exadecimal bytes - lenses["00 01 00"] = "Zuiko Digital ED 50mm f/2 Macro"; - lenses["00 01 01"] = "Zuiko Digital 40-150mm f/3.5-4.5"; - lenses["00 01 10"] = "Zuiko Digital ED 14-42mm f/3.5-5.6"; - lenses["00 02 00"] = "Zuiko Digital ED 150mm f/2"; - lenses["00 02 10"] = "Zuiko Digital 17mm f/2.8 Pancake"; - lenses["00 03 00"] = "Zuiko Digital ED 300mm f/2.8"; - lenses["00 03 10"] = "Zuiko Digital ED 14-150mm f/4-5.6"; - lenses["00 04 10"] = "Zuiko Digital ED 9-18mm f/4-5.6"; - lenses["00 05 00"] = "Zuiko Digital 14-54mm f/2.8-3.5"; - lenses["00 05 01"] = "Zuiko Digital Pro ED 90-250mm f/2.8"; - lenses["00 05 10"] = "Zuiko Digital ED 14-42mm f/3.5-5.6 L"; - lenses["00 06 00"] = "Zuiko Digital ED 50-200mm f/2.8-3.5"; - lenses["00 06 01"] = "Zuiko Digital ED 8mm f/3.5 Fisheye"; - lenses["00 06 10"] = "Zuiko Digital ED 40-150mm f/4-5.6"; - lenses["00 07 00"] = "Zuiko Digital 11-22mm f/2.8-3.5"; - lenses["00 07 01"] = "Zuiko Digital 18-180mm f/3.5-6.3"; - lenses["00 07 10"] = "Zuiko Digital ED 12mm f/2"; - lenses["00 08 01"] = "Zuiko Digital 70-300mm f/4-5.6"; - lenses["00 08 10"] = "Zuiko Digital ED 75-300mm f/4.8-6.7"; - lenses["00 09 10"] = "Zuiko Digital 14-42mm f/3.5-5.6 II"; - lenses["00 10 01"] = "Kenko Tokina Reflex 300mm f/6.3 MF Macro"; - lenses["00 10 10"] = "Zuiko Digital ED 12-50mm f/3.5-6.3 EZ"; - lenses["00 11 10"] = "Zuiko Digital 45mm f/1.8"; - lenses["00 12 10"] = "Zuiko Digital ED 60mm f/2.8 Macro"; - lenses["00 13 10"] = "Zuiko Digital ED 14-42mm f/3.5-5.6 II R"; - lenses["00 14 10"] = "Zuiko Digital ED 40-150mm f/4-5.6 R"; - lenses["00 15 00"] = "Zuiko Digital ED 7-14mm f/4"; - lenses["00 15 10"] = "Zuiko Digital ED 75mm f/1.8"; - lenses["00 16 10"] = "Zuiko Digital 17mm f/1.8"; - lenses["00 17 00"] = "Zuiko Digital Pro ED 35-100mm f/2"; - lenses["00 18 00"] = "Zuiko Digital 14-45mm f/3.5-5.6"; - lenses["00 18 10"] = "Zuiko Digital ED 75-300mm f/4.8-6.7 II"; - lenses["00 19 10"] = "Zuiko Digital ED 12-40mm f/2.8 Pro"; - lenses["00 20 00"] = "Zuiko Digital 35mm f/3.5 Macro"; - lenses["00 22 00"] = "Zuiko Digital 17.5-45mm f/3.5-5.6"; - lenses["00 23 00"] = "Zuiko Digital ED 14-42mm f/3.5-5.6"; - lenses["00 24 00"] = "Zuiko Digital ED 40-150mm f/4-5.6"; - lenses["00 30 00"] = "Zuiko Digital ED 50-200mm f/2.8-3.5 SWD"; - lenses["00 31 00"] = "Zuiko Digital ED 12-60mm f/2.8-4 SWD"; - lenses["00 32 00"] = "Zuiko Digital ED 14-35mm f/2 SWD"; - lenses["00 33 00"] = "Zuiko Digital 25mm f/2.8"; - lenses["00 34 00"] = "Zuiko Digital ED 9-18mm f/4-5.6"; - lenses["00 35 00"] = "Zuiko Digital 14-54mm f/2.8-3.5 II"; - lenses["01 01 00"] = "Sigma 18-50mm f/3.5-5.6 DC"; - lenses["01 01 10"] = "Sigma 30mm f/2.8 EX DN"; - lenses["01 02 00"] = "Sigma 55-200mm f/4-5.6 DC"; - lenses["01 02 10"] = "Sigma 19mm f/2.8 EX DN"; - lenses["01 03 00"] = "Sigma 18-125mm f/3.5-5.6 DC"; - lenses["01 03 10"] = "Sigma 30mm f/2.8 DN | A"; - lenses["01 04 00"] = "Sigma 18-125mm f/3.5-5.6 DC"; - lenses["01 04 10"] = "Sigma 19mm f/2.8 DN | A"; - lenses["01 05 00"] = "Sigma 30mm f/1.4 EX DC HSM"; - lenses["01 05 10"] = "Sigma 60mm f/2.8 DN | A"; - lenses["01 06 00"] = "Sigma 50-500mm f/4-6.3 EX DG APO HSM RF"; - lenses["01 07 00"] = "Sigma 105mm f/2.8 EX DG Macro"; - lenses["01 08 00"] = "Sigma 150mm f/2.8 EX DG APO HSM Macro"; - lenses["01 09 00"] = "Sigma 18-50mm f/2.8 EX DC Macro"; - lenses["01 10 00"] = "Sigma 24mm f/1.8 EX DG Aspherical Macro"; - lenses["01 11 00"] = "Sigma 135-400mm f/4.5-5.6 DG APO"; - lenses["01 12 00"] = "Sigma 300-800mm f/5.6 EX DG APO HSM"; - lenses["01 13 00"] = "Sigma 30mm f/1.4 EX DC HSM"; - lenses["01 14 00"] = "Sigma 50-500mm f/4-6.3 EX DG APO HSM"; - lenses["01 15 00"] = "Sigma 10-20mm f/4-5.6 EX DC HSM"; - lenses["01 16 00"] = "Sigma 70-200mm f/2.8 II EX DG APO HSM Macro"; - lenses["01 17 00"] = "Sigma 50mm f/1.4 EX DG HSM"; - lenses["02 01 00"] = "Leica D Vario Elmarit 14-50mm f/2.8-3.5 Asph."; - lenses["02 01 10"] = "Lumix G Vario 14-45mm f/3.5-5.6 Asph. Mega OIS"; - lenses["02 02 00"] = "Leica D Summilux 25mm f/1.4 Asph."; - lenses["02 02 10"] = "Lumix G Vario 45-200mm f/4-5.6 Mega OIS"; - lenses["02 03 00"] = "Leica D Vario Elmar 14-50mm f/3.8-5.6 Asph. Mega OIS"; - lenses["02 03 01"] = "Leica D Vario Elmar 14-50mm f/3.8-5.6 Asph."; - lenses["02 03 10"] = "Lumix G Vario HD 14-140mm f/4-5.8 Asph. Mega OIS"; - lenses["02 04 00"] = "Leica D Vario Elmar 14-150mm f/3.5-5.6"; - lenses["02 04 10"] = "Lumix G Vario 7-14mm f/4 Asph."; - lenses["02 05 10"] = "Lumix G 20mm f/1.7 Asph."; - lenses["02 06 10"] = "Leica DG Macro-Elmarit 45mm f/2.8 Asph. Mega OIS"; - lenses["02 07 10"] = "Lumix G Vario 14-42mm f/3.5-5.6 Asph. Mega OIS"; - lenses["02 08 10"] = "Lumix G Fisheye 8mm f/3.5"; - lenses["02 09 10"] = "Lumix G Vario 100-300mm f/4-5.6 Mega OIS"; - lenses["02 10 10"] = "Lumix G 14mm f/2.5 Asph."; - lenses["02 11 10"] = "Lumix G 12.5mm f/12 3D"; - lenses["02 12 10"] = "Leica DG Summilux 25mm f/1.4 Asph."; - lenses["02 13 10"] = "Lumix G X Vario PZ 45-175mm f/4-5.6 Asph. Power OIS"; - lenses["02 14 10"] = "Lumix G X Vario PZ 14-42mm f/3.5-5.6 Asph. Power OIS"; - lenses["02 15 10"] = "Lumix G X Vario 12-35mm f/2.8 Asph. Power OIS"; - lenses["02 16 10"] = "Lumix G Vario 45-150mm f/4-5.6 Asph. Mega OIS"; - lenses["02 17 10"] = "Lumix G X Vario 35-100mm f/2.8 Power OIS"; - lenses["02 18 10"] = "Lumix G Vario 14-42mm f/3.5-5.6 II Asph. Mega OIS"; - lenses["02 19 10"] = "Lumix G Vario 14-140mm f/3.5-5.6 Asph. Power OIS"; - lenses["03 01 00"] = "Leica D Vario Elmarit 14-50mm f/2.8-3.5 Asph."; - lenses["03 02 00"] = "Leica D Summilux 25mm f/1.4 Asph."; + lenses["00 01 00"] = "Olympus Zuiko Digital ED 50mm F2.0 Macro"; + lenses["00 01 01"] = "Olympus Zuiko Digital 40-150mm F3.5-4.5"; + lenses["00 01 10"] = "Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6"; + lenses["00 02 00"] = "Olympus Zuiko Digital ED 150mm F2.0"; + lenses["00 02 10"] = "Olympus M.Zuiko Digital 17mm F2.8 Pancake"; + lenses["00 03 00"] = "Olympus Zuiko Digital ED 300mm F2.8"; + lenses["00 03 10"] = "Olympus M.Zuiko Digital ED 14-150mm F4.0-5.6 [II]"; + lenses["00 04 10"] = "Olympus M.Zuiko Digital ED 9-18mm F4.0-5.6"; + lenses["00 05 00"] = "Olympus Zuiko Digital 14-54mm F2.8-3.5"; + lenses["00 05 01"] = "Olympus Zuiko Digital Pro ED 90-250mm F2.8"; + lenses["00 05 10"] = "Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6 L"; + lenses["00 06 00"] = "Olympus Zuiko Digital ED 50-200mm F2.8-3.5"; + lenses["00 06 01"] = "Olympus Zuiko Digital ED 8mm F3.5 Fisheye"; + lenses["00 06 10"] = "Olympus M.Zuiko Digital ED 40-150mm F4.0-5.6"; + lenses["00 07 00"] = "Olympus Zuiko Digital 11-22mm F2.8-3.5"; + lenses["00 07 01"] = "Olympus Zuiko Digital 18-180mm F3.5-6.3"; + lenses["00 07 10"] = "Olympus M.Zuiko Digital ED 12mm F2.0"; + lenses["00 08 01"] = "Olympus Zuiko Digital 70-300mm F4.0-5.6"; + lenses["00 08 10"] = "Olympus M.Zuiko Digital ED 75-300mm F4.8-6.7"; + lenses["00 09 10"] = "Olympus M.Zuiko Digital 14-42mm F3.5-5.6 II"; + lenses["00 10 01"] = "Kenko Tokina Reflex 300mm F6.3 MF Macro"; + lenses["00 10 10"] = "Olympus M.Zuiko Digital ED 12-50mm F3.5-6.3 EZ"; + lenses["00 11 10"] = "Olympus M.Zuiko Digital 45mm F1.8"; + lenses["00 12 10"] = "Olympus M.Zuiko Digital ED 60mm F2.8 Macro"; + lenses["00 13 10"] = "Olympus M.Zuiko Digital 14-42mm F3.5-5.6 II R"; + lenses["00 14 10"] = "Olympus M.Zuiko Digital ED 40-150mm F4.0-5.6 R"; + lenses["00 15 00"] = "Olympus Zuiko Digital ED 7-14mm F4.0"; + lenses["00 15 10"] = "Olympus M.Zuiko Digital ED 75mm F1.8"; + lenses["00 16 10"] = "Olympus M.Zuiko Digital 17mm F1.8"; + lenses["00 17 00"] = "Olympus Zuiko Digital Pro ED 35-100mm F2.0"; + lenses["00 18 00"] = "Olympus Zuiko Digital 14-45mm F3.5-5.6"; + lenses["00 18 10"] = "Olympus M.Zuiko Digital ED 75-300mm F4.8-6.7 II"; + lenses["00 19 10"] = "Olympus M.Zuiko Digital ED 12-40mm F2.8 Pro"; + lenses["00 20 00"] = "Olympus Zuiko Digital 35mm F3.5 Macro"; + lenses["00 20 10"] = "Olympus M.Zuiko Digital ED 40-150mm F2.8 Pro"; + lenses["00 21 10"] = "Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6 EZ"; + lenses["00 22 00"] = "Olympus Zuiko Digital 17.5-45mm F3.5-5.6"; + lenses["00 22 10"] = "Olympus M.Zuiko Digital 25mm F1.8"; + lenses["00 23 00"] = "Olympus Zuiko Digital ED 14-42mm F3.5-5.6"; + lenses["00 23 10"] = "Olympus M.Zuiko Digital ED 7-14mm F2.8 Pro"; + lenses["00 24 00"] = "Olympus Zuiko Digital ED 40-150mm F4.0-5.6"; + lenses["00 25 10"] = "Olympus M.Zuiko Digital ED 8mm F1.8 Fisheye Pro"; + lenses["00 30 00"] = "Olympus Zuiko Digital ED 50-200mm F2.8-3.5 SWD"; + lenses["00 31 00"] = "Olympus Zuiko Digital ED 12-60mm F2.8-4.0 SWD"; + lenses["00 32 00"] = "Olympus Zuiko Digital ED 14-35mm F2.0 SWD"; + lenses["00 33 00"] = "Olympus Zuiko Digital 25mm F2.8"; + lenses["00 34 00"] = "Olympus Zuiko Digital ED 9-18mm F4.0-5.6"; + lenses["00 35 00"] = "Olympus Zuiko Digital 14-54mm F2.8-3.5 II"; + lenses["01 01 00"] = "Sigma 18-50mm F3.5-5.6 DC"; + lenses["01 01 10"] = "Sigma 30mm F2.8 EX DN"; + lenses["01 02 00"] = "Sigma 55-200mm F4.0-5.6 DC"; + lenses["01 02 10"] = "Sigma 19mm F2.8 EX DN"; + lenses["01 03 00"] = "Sigma 18-125mm F3.5-5.6 DC"; + lenses["01 03 10"] = "Sigma 30mm F2.8 DN | A"; + lenses["01 04 00"] = "Sigma 18-125mm F3.5-5.6 DC"; + lenses["01 04 10"] = "Sigma 19mm F2.8 DN | A"; + lenses["01 05 00"] = "Sigma 30mm F1.4 EX DC HSM"; + lenses["01 05 10"] = "Sigma 60mm F2.8 DN | A"; + lenses["01 06 00"] = "Sigma APO 50-500mm F4.0-6.3 EX DG HSM"; + lenses["01 07 00"] = "Sigma Macro 105mm F2.8 EX DG"; + lenses["01 08 00"] = "Sigma APO Macro 150mm F2.8 EX DG HSM"; + lenses["01 09 00"] = "Sigma 18-50mm F2.8 EX DC Macro"; + lenses["01 10 00"] = "Sigma 24mm F1.8 EX DG Aspherical Macro"; + lenses["01 11 00"] = "Sigma APO 135-400mm F4.5-5.6 DG"; + lenses["01 12 00"] = "Sigma APO 300-800mm F5.6 EX DG HSM"; + lenses["01 13 00"] = "Sigma 30mm F1.4 EX DC HSM"; + lenses["01 14 00"] = "Sigma APO 50-500mm F4.0-6.3 EX DG HSM"; + lenses["01 15 00"] = "Sigma 10-20mm F4.0-5.6 EX DC HSM"; + lenses["01 16 00"] = "Sigma APO 70-200mm F2.8 II EX DG Macro HSM"; + lenses["01 17 00"] = "Sigma 50mm F1.4 EX DG HSM"; + lenses["02 01 00"] = "Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph."; + lenses["02 01 10"] = "Lumix G Vario 14-45mm F3.5-5.6 Asph. Mega OIS"; + lenses["02 02 00"] = "Leica D Summilux 25mm F1.4 Asph."; + lenses["02 02 10"] = "Lumix G Vario 45-200mm F4.0-5.6 Mega OIS"; + lenses["02 03 00"] = "Leica D Vario Elmar 14-50mm F3.8-5.6 Asph. Mega OIS"; + lenses["02 03 01"] = "Leica D Vario Elmar 14-50mm F3.8-5.6 Asph."; + lenses["02 03 10"] = "Lumix G Vario HD 14-140mm F4.0-5.8 Asph. Mega OIS"; + lenses["02 04 00"] = "Leica D Vario Elmar 14-150mm F3.5-5.6"; + lenses["02 04 10"] = "Lumix G Vario 7-14mm F4.0 Asph."; + lenses["02 05 10"] = "Lumix G 20mm F1.7 Asph."; + lenses["02 06 10"] = "Leica DG Macro-Elmarit 45mm F2.8 Asph. Mega OIS"; + lenses["02 07 10"] = "Lumix G Vario 14-42mm F3.5-5.6 Asph. Mega OIS"; + lenses["02 08 10"] = "Lumix G Fisheye 8mm F3.5"; + lenses["02 09 10"] = "Lumix G Vario 100-300mm F4.0-5.6 Mega OIS"; + lenses["02 10 10"] = "Lumix G 14mm F2.5 Asph."; + lenses["02 11 10"] = "Lumix G 12.5mm F12 3D"; + lenses["02 12 10"] = "Leica DG Summilux 25mm F1.4 Asph."; + lenses["02 13 10"] = "Lumix G X Vario PZ 45-175mm F4.0-5.6 Asph. Power OIS"; + lenses["02 14 10"] = "Lumix G X Vario PZ 14-42mm F3.5-5.6 Asph. Power OIS"; + lenses["02 15 10"] = "Lumix G X Vario 12-35mm F2.8 Asph. Power OIS"; + lenses["02 16 10"] = "Lumix G Vario 45-150mm F4.0-5.6 Asph. Mega OIS"; + lenses["02 17 10"] = "Lumix G X Vario 35-100mm F2.8 Power OIS"; + lenses["02 18 10"] = "Lumix G Vario 14-42mm F3.5-5.6 II Asph. Mega OIS"; + lenses["02 19 10"] = "Lumix G Vario 14-140mm F3.5-5.6 Asph. Power OIS"; + lenses["02 20 10"] = "Lumix G Vario 12-32mm F3.5-5.6 Asph. Mega OIS"; + lenses["02 21 10"] = "Leica DG Nocticron 42.5mm F1.2 Asph. Power OIS"; + lenses["02 22 10"] = "Leica DG Summilux 15mm F1.7 Asph."; + lenses["02 24 10"] = "Lumix G Macro 30mm F2.8 Asph. Mega OIS"; + lenses["02 25 10"] = "Lumix G 42.5mm F1.7 Asph. Power OIS"; + lenses["03 01 00"] = "Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph."; + lenses["03 02 00"] = "Leica D Summilux 25mm F1.4 Asph."; + lenses["05 01 10"] = "Tamron 14-150mm F3.5-5.8 Di III"; } virtual std::string toString (Tag* t) { diff --git a/rtexif/pentaxattribs.cc b/rtexif/pentaxattribs.cc index 0a9be9c02..840ada763 100644 --- a/rtexif/pentaxattribs.cc +++ b/rtexif/pentaxattribs.cc @@ -649,261 +649,285 @@ PAColorSpaceInterpreter paColorSpaceInterpreter; class PALensTypeInterpreter : public IntLensInterpreter< int > { public: - PALensTypeInterpreter () // From EXIFTOOL database 'Pentax.pm' V2.65 + PALensTypeInterpreter () { - choices.insert(p_t( 0 + 0, "M-42 or No Lens")); - choices.insert(p_t(256 * 1 + 0, "K,M Lens")); + choices.insert(p_t(256 * 0 + 0, "M-42 or No Lens")); + choices.insert(p_t(256 * 1 + 0, "K or M Lens")); choices.insert(p_t(256 * 2 + 0, "A Series Lens")); - choices.insert(p_t(256 * 3 + 0, "Sigma Lens")); - choices.insert(p_t(256 * 3 + 17, "smc PENTAX-FA SOFT 85mm f/2.8")); + choices.insert(p_t(256 * 3 + 0, "Sigma")); + choices.insert(p_t(256 * 3 + 17, "smc PENTAX-FA SOFT 85mm F2.8")); choices.insert(p_t(256 * 3 + 18, "smc PENTAX-F 1.7X AF ADAPTER")); - choices.insert(p_t(256 * 3 + 19, "smc PENTAX-F 24-50mm f/4")); - choices.insert(p_t(256 * 3 + 20, "smc PENTAX-F 35-80mm f/4-5.6")); - choices.insert(p_t(256 * 3 + 21, "smc PENTAX-F 80-200mm f/4.7-5.6")); - choices.insert(p_t(256 * 3 + 22, "smc PENTAX-F FISH-EYE 17-28mm f/3.5-4.5")); - choices.insert(p_t(256 * 3 + 23, "smc PENTAX-F 100-300mm f/4.5-5.6")); - choices.insert(p_t(256 * 3 + 23, "Sigma AF 28-300mm f/3.5-5.6 DL IF")); - choices.insert(p_t(256 * 3 + 23, "Sigma AF 28-300mm f/3.5-6.3 DG IF Macro")); - choices.insert(p_t(256 * 3 + 24, "smc PENTAX-F 35-135mm f/3.5-4.5")); - choices.insert(p_t(256 * 3 + 25, "smc PENTAX-F 35-105mm f/4-5.6")); - choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm f/3.5-5.6 DL IF")); - choices.insert(p_t(256 * 3 + 25, "Sigma 55-200mm f/4-5.6 DC")); - choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm f/3.5-6.3 DG IF Macro")); - choices.insert(p_t(256 * 3 + 25, "Tokina 80-200mm f/2.8 ATX-Pro")); - choices.insert(p_t(256 * 3 + 26, "smc PENTAX-F* 250-600mm f/5.6 ED[IF]")); - choices.insert(p_t(256 * 3 + 27, "smc PENTAX-F 28-80mm f/3.5-4.5")); - choices.insert(p_t(256 * 3 + 27, "Tokina AT-X Pro AF 28-70mm f/2.6-2.8")); - choices.insert(p_t(256 * 3 + 28, "smc PENTAX-F 35-70mm f/3.5-4.5")); - choices.insert(p_t(256 * 3 + 28, "Tokina 19-35mm f/3.5-4.5 AF")); - choices.insert(p_t(256 * 3 + 28, "Tokina AT-X AF 400mm f/5.6")); - choices.insert(p_t(256 * 3 + 29, "PENTAX-F 28-80mm f/3.5-4.5")); - choices.insert(p_t(256 * 3 + 29, "Sigma AF 18-125mm f/3.5-5.6 DC")); - choices.insert(p_t(256 * 3 + 29, "Tokina AT-X PRO 28-70mm f/2.6-2.8")); - choices.insert(p_t(256 * 3 + 30, "PENTAX-F 70-200mm f/4-5.6")); - choices.insert(p_t(256 * 3 + 31, "smc PENTAX-F 70-210mm f/4-5.6")); - choices.insert(p_t(256 * 3 + 31, "Tokina AF 730 75-300mm f/4.5-5.6")); - choices.insert(p_t(256 * 3 + 31, "Takumar-F 70-210mm f/4-5.6")); - choices.insert(p_t(256 * 3 + 32, "smc PENTAX-F 50mm f/1.4")); - choices.insert(p_t(256 * 3 + 33, "smc PENTAX-F 50mm f/1.7")); - choices.insert(p_t(256 * 3 + 34, "smc PENTAX-F 135mm f/2.8 [IF]")); - choices.insert(p_t(256 * 3 + 35, "smc PENTAX-F 28mm f/2.8")); - choices.insert(p_t(256 * 3 + 36, "Sigma 20mm f/1.8 EX DG Aspherical RF")); - choices.insert(p_t(256 * 3 + 38, "smc PENTAX-F* 300mm f/4.5 ED[IF]")); - choices.insert(p_t(256 * 3 + 39, "smc PENTAX-F* 600mm f/4 ED[IF]")); - choices.insert(p_t(256 * 3 + 40, "smc PENTAX-F Macro 100mm f/2.8")); - choices.insert(p_t(256 * 3 + 41, "smc PENTAX-F Macro 50mm f/2.8")); - choices.insert(p_t(256 * 3 + 41, "Sigma 50mm f/2.8 Macro")); - choices.insert(p_t(256 * 3 + 44, "Sigma AF 10-20mm f/4-5.6 EX DC")); - choices.insert(p_t(256 * 3 + 44, "Sigma 12-24mm f/4.5-5.6 EX DG")); - choices.insert(p_t(256 * 3 + 44, "Sigma 17-70mm f/2.8-4.5 DC Macro")); - choices.insert(p_t(256 * 3 + 44, "Sigma 18-50mm f/3.5-5.6 DC")); - choices.insert(p_t(256 * 3 + 44, "Tamron 35-90mm f/4 AF")); - choices.insert(p_t(256 * 3 + 46, "Sigma APO 70-200mm f/2.8 EX")); - choices.insert(p_t(256 * 3 + 46, "Sigma EX APO 100-300mm f/4 IF")); - choices.insert(p_t(256 * 3 + 46, "Samsung/Schneider D-XENON 50-200mm f/4-5.6 ED")); - choices.insert(p_t(256 * 3 + 50, "smc PENTAX-FA 28-70mm f/4 AL")); - choices.insert(p_t(256 * 3 + 51, "Sigma 28mm f/1.8 EX DG Aspherical Macro")); - choices.insert(p_t(256 * 3 + 52, "smc PENTAX-FA 28-200mm f/3.8-5.6 AL[IF]")); - choices.insert(p_t(256 * 3 + 52, "Tamron AF LD 28-200mm f/3.8-5.6 [IF] Aspherical (171D)")); - choices.insert(p_t(256 * 3 + 53, "smc PENTAX-FA 28-80mm f/3.5-5.6 AL")); - choices.insert(p_t(256 * 3 + 247, "smc PENTAX-DA FISH-EYE 10-17mm f/3.5-4.5 ED[IF]")); - choices.insert(p_t(256 * 3 + 248, "smc PENTAX-DA 12-24mm f/4 ED AL[IF]")); - choices.insert(p_t(256 * 3 + 250, "smc PENTAX-DA 50-200mm f/4-5.6 ED")); - choices.insert(p_t(256 * 3 + 251, "smc PENTAX-DA 40mm f/2.8 Limited")); - choices.insert(p_t(256 * 3 + 252, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL")); - choices.insert(p_t(256 * 3 + 253, "smc PENTAX-DA 14mm f/2.8 ED[IF]")); - choices.insert(p_t(256 * 3 + 254, "smc PENTAX-DA 16-45mm f/4 ED AL")); - choices.insert(p_t(256 * 3 + 255, "Sigma 18-200mm f/3.5-6.3 DC")); - choices.insert(p_t(256 * 3 + 255, "Sigma DL-II 35-80mm f/4-5.6")); - choices.insert(p_t(256 * 3 + 255, "Sigma DL Zoom 75-300mm f/4-5.6")); - choices.insert(p_t(256 * 3 + 255, "Sigma DF EX Aspherical 28-70mm f/2.8")); - choices.insert(p_t(256 * 3 + 255, "Sigma AF Tele 400mm f/5.6 Multi-coated")); - choices.insert(p_t(256 * 3 + 255, "Sigma 24-60mm f/2.8 EX DG")); - choices.insert(p_t(256 * 3 + 255, "Sigma 70-300mm f/4-5.6 Macro")); - choices.insert(p_t(256 * 3 + 255, "Sigma 55-200mm f/4-5.6 DC")); - choices.insert(p_t(256 * 3 + 255, "Sigma 18-50mm f/2.8 EX DC")); - choices.insert(p_t(256 * 4 + 1, "smc PENTAX-FA SOFT 28mm f/2.8")); - choices.insert(p_t(256 * 4 + 2, "smc PENTAX-FA 80-320mm f/4.5-5.6")); - choices.insert(p_t(256 * 4 + 3, "smc PENTAX-FA 43mm f/1.9 Limited")); - choices.insert(p_t(256 * 4 + 6, "smc PENTAX-FA 35-80mm f/4-5.6")); - choices.insert(p_t(256 * 4 + 12, "smc PENTAX-FA 50mm f/1.4")); - choices.insert(p_t(256 * 4 + 15, "smc PENTAX-FA 28-105mm f/4-5.6 [IF]")); - choices.insert(p_t(256 * 4 + 16, "Tamron AF 80-210mm f/4-5.6 (178D)")); - choices.insert(p_t(256 * 4 + 19, "Tamron SP AF 90mm f/2.8 (172E)")); - choices.insert(p_t(256 * 4 + 20, "smc PENTAX-FA 28-80mm f/3.5-5.6")); - choices.insert(p_t(256 * 4 + 21, "Cosina AF 100-300mm f/5.6-6.7")); - choices.insert(p_t(256 * 4 + 22, "Tokina 28-80mm f/3.5-5.6")); - choices.insert(p_t(256 * 4 + 23, "smc PENTAX-FA 20-35mm f/4 AL")); - choices.insert(p_t(256 * 4 + 24, "smc PENTAX-FA 77mm f/1.8 Limited")); - choices.insert(p_t(256 * 4 + 25, "Tamron SP AF 14mm f/2.8")); - choices.insert(p_t(256 * 4 + 26, "smc PENTAX-FA Macro 100mm f/3.5")); - choices.insert(p_t(256 * 4 + 26, "Cosina 100mm f/3.5 Macro")); - choices.insert(p_t(256 * 4 + 27, "Tamron AF 28-300mm f/3.5-6.3 LD Aspherical[IF] Macro (185D/285D)")); - choices.insert(p_t(256 * 4 + 28, "smc PENTAX-FA 35mm f/2 AL")); - choices.insert(p_t(256 * 4 + 29, "Tamron AF 28-200mm f/3.8-5.6 LD Super II Macro (371D)")); - choices.insert(p_t(256 * 4 + 34, "smc PENTAX-FA 24-90mm f/3.5-4.5 AL[IF]")); - choices.insert(p_t(256 * 4 + 35, "smc PENTAX-FA 100-300mm f/4.7-5.8")); - choices.insert(p_t(256 * 4 + 36, "Tamron AF70-300mm f/4-5.6 LD Macro")); - choices.insert(p_t(256 * 4 + 37, "Tamron SP AF 24-135mm f/3.5-5.6 AD AL (190D)")); - choices.insert(p_t(256 * 4 + 38, "smc PENTAX-FA 28-105mm f/3.2-4.5 AL[IF]")); - choices.insert(p_t(256 * 4 + 39, "smc PENTAX-FA 31mm f/1.8 AL Limited")); - choices.insert(p_t(256 * 4 + 41, "Tamron AF 28-200mm Super Zoom f/3.8-5.6 Aspherical XR [IF] Macro (A03)")); - choices.insert(p_t(256 * 4 + 43, "smc PENTAX-FA 28-90mm f/3.5-5.6")); - choices.insert(p_t(256 * 4 + 44, "smc PENTAX-FA J 75-300mm f/4.5-5.8 AL")); - choices.insert(p_t(256 * 4 + 45, "Tamron 28-300mm f/3.5-6.3 Ultra zoom XR")); - choices.insert(p_t(256 * 4 + 45, "Tamron AF 28-300mm f/3.5-6.3 XR Di LD Aspherical [IF] Macro")); - choices.insert(p_t(256 * 4 + 46, "smc PENTAX-FA J 28-80mm f/3.5-5.6 AL")); - choices.insert(p_t(256 * 4 + 47, "smc PENTAX-FA J 18-35mm f/4-5.6 AL")); - choices.insert(p_t(256 * 4 + 49, "Tamron SP AF 28-75mm f/2.8 XR Di (A09)")); - choices.insert(p_t(256 * 4 + 51, "smc PENTAX-D FA 50mm f/2.8 Macro")); - choices.insert(p_t(256 * 4 + 52, "smc PENTAX-D FA 100mm f/2.8 Macro")); - choices.insert(p_t(256 * 4 + 55, "Samsung/Schneider D-XENOGON 35mm f/2")); - choices.insert(p_t(256 * 4 + 56, "Samsung/Schneider D-XENON 100mm f/2.8 Macro")); - choices.insert(p_t(256 * 4 + 75, "Tamron SP AF 70-200mm f/2.8 Di LD [IF] Macro (A001)")); - choices.insert(p_t(256 * 4 + 214, "smc PENTAX-DA 35mm f/2.4 AL")); - choices.insert(p_t(256 * 4 + 229, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL II")); - choices.insert(p_t(256 * 4 + 230, "Tamron SP AF 17-50mm f/2.8 XR Di II")); - choices.insert(p_t(256 * 4 + 231, "smc PENTAX-DA 18-250mm f/3.5-6.3 ED AL [IF]")); - choices.insert(p_t(256 * 4 + 237, "Samsung/Schneider D-XENOGON 10-17mm f/3.5-4.5")); - choices.insert(p_t(256 * 4 + 239, "Samsung/Schneider D-XENON 12-24mm f/4 ED AL [IF]")); - choices.insert(p_t(256 * 4 + 242, "smc PENTAX-DA* 16-50mm f/2.8 ED AL [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 4 + 243, "smc PENTAX-DA 70mm f/2.4 Limited")); - choices.insert(p_t(256 * 4 + 244, "smc PENTAX-DA 21mm f/3.2 AL Limited")); - choices.insert(p_t(256 * 4 + 245, "Samsung/Schneider D-XENON 50-200mm f/4-5.6")); - choices.insert(p_t(256 * 4 + 246, "Samsung/Schneider D-XENON 18-55mm f/3.5-5.6")); - choices.insert(p_t(256 * 4 + 247, "smc PENTAX-DA 10-17mm f/3.5-4.5 ED [IF] Fisheye zoom")); - choices.insert(p_t(256 * 4 + 248, "smc PENTAX-DA 12-24mm f/4 ED AL [IF]")); - choices.insert(p_t(256 * 4 + 249, "Tamron 18-200mm f/3.5-6.3 XR DiII (A14)")); - choices.insert(p_t(256 * 4 + 250, "smc PENTAX-DA 50-200mm f/4-5.6 ED")); - choices.insert(p_t(256 * 4 + 251, "smc PENTAX-DA 40mm f/2.8 Limited")); - choices.insert(p_t(256 * 4 + 252, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL")); - choices.insert(p_t(256 * 4 + 253, "smc PENTAX-DA 14mm f/2.8 ED[IF]")); - choices.insert(p_t(256 * 4 + 254, "smc PENTAX-DA 16-45mm f/4 ED AL")); - choices.insert(p_t(256 * 5 + 1, "smc PENTAX-FA* 24mm f/2 AL[IF]")); - choices.insert(p_t(256 * 5 + 2, "smc PENTAX-FA 28mm f/2.8 AL")); - choices.insert(p_t(256 * 5 + 3, "smc PENTAX-FA 50mm f/1.7")); - choices.insert(p_t(256 * 5 + 4, "smc PENTAX-FA 50mm f/1.4")); - choices.insert(p_t(256 * 5 + 5, "smc PENTAX-FA* 600mm f/4 ED[IF]")); - choices.insert(p_t(256 * 5 + 6, "smc PENTAX-FA* 300mm f/4.5 ED[IF]")); - choices.insert(p_t(256 * 5 + 7, "smc PENTAX-FA 135mm f/2.8 [IF]")); - choices.insert(p_t(256 * 5 + 8, "smc PENTAX-FA Macro 50mm f/2.8")); - choices.insert(p_t(256 * 5 + 9, "smc PENTAX-FA Macro 100mm f/2.8")); - choices.insert(p_t(256 * 5 + 10, "smc PENTAX-FA* 85mm f/1.4 [IF]")); - choices.insert(p_t(256 * 5 + 11, "smc PENTAX-FA* 200mm f/2.8 ED[IF]")); - choices.insert(p_t(256 * 5 + 12, "smc PENTAX-FA 28-80mm f/3.5-4.7")); - choices.insert(p_t(256 * 5 + 13, "smc PENTAX-FA 70-200mm f/4-5.6")); - choices.insert(p_t(256 * 5 + 14, "smc PENTAX-FA* 250-600mm f/5.6 ED[IF]")); - choices.insert(p_t(256 * 5 + 15, "smc PENTAX-FA 28-105mm f/4-5.6")); - choices.insert(p_t(256 * 5 + 16, "smc PENTAX-FA 100-300mm f/4.5-5.6")); - choices.insert(p_t(256 * 5 + 98, "smc PENTAX-FA 100-300mm f/4.5-5.6")); - choices.insert(p_t(256 * 6 + 1, "smc PENTAX-FA* 85mm f/1.4 [IF]")); - choices.insert(p_t(256 * 6 + 2, "smc PENTAX-FA* 200mm f/2.8 ED[IF]")); - choices.insert(p_t(256 * 6 + 3, "smc PENTAX-FA* 300mm f/2.8 ED[IF]")); - choices.insert(p_t(256 * 6 + 4, "smc PENTAX-FA* 28-70mm f/2.8 AL")); - choices.insert(p_t(256 * 6 + 5, "smc PENTAX-FA* 80-200mm f/2.8 ED[IF]")); - choices.insert(p_t(256 * 6 + 6, "smc PENTAX-FA* 28-70mm f/2.8 AL")); - choices.insert(p_t(256 * 6 + 7, "smc PENTAX-FA* 80-200mm f/2.8 ED[IF]")); - choices.insert(p_t(256 * 6 + 8, "smc PENTAX-FA 28-70mm f/4 AL")); - choices.insert(p_t(256 * 6 + 9, "smc PENTAX-FA 20mm f/2.8")); - choices.insert(p_t(256 * 6 + 10, "smc PENTAX-FA* 400mm f/5.6 ED[IF]")); - choices.insert(p_t(256 * 6 + 13, "smc PENTAX-FA* 400mm f/5.6 ED[IF]")); - choices.insert(p_t(256 * 6 + 14, "smc PENTAX-FA* Macro 200mm f/4 ED[IF]")); - choices.insert(p_t(256 * 7 + 0, "smc PENTAX-DA 21mm f/3.2 AL Limited")); - choices.insert(p_t(256 * 7 + 58, "smc PENTAX-D FA Macro 100mm f/2.8 WR")); - choices.insert(p_t(256 * 7 + 75, "Tamron SP AF 70-200mm f/2.8 Di LD [IF] Macro (A001)")); - choices.insert(p_t(256 * 7 + 202, "smc PENTAX-DA L 18-55mm f/3.5-5.6 AL WR")); - choices.insert(p_t(256 * 7 + 204, "HD PENTAX-DA 15mm f/4 ED AL Limited")); - choices.insert(p_t(256 * 7 + 205, "HD PENTAX-DA 35mm f/2.8 Macro Limited")); - choices.insert(p_t(256 * 7 + 206, "HD PENTAX-DA 70mm f/2.4 Limited")); - choices.insert(p_t(256 * 7 + 207, "HD PENTAX-DA 21mm f/3.2 ED AL Limited")); - choices.insert(p_t(256 * 7 + 208, "HD PENTAX-DA 40mm f/2.8 Limited")); - choices.insert(p_t(256 * 7 + 212, "smc PENTAX-DA 50mm f/1.8")); - choices.insert(p_t(256 * 7 + 213, "smc PENTAX-DA 40mm f/2.8 XS")); - choices.insert(p_t(256 * 7 + 214, "smc PENTAX-DA 35mm f/2.4 AL")); - choices.insert(p_t(256 * 7 + 216, "smc PENTAX-DA L 55-300mm f/4-5.8 ED")); - choices.insert(p_t(256 * 7 + 217, "smc PENTAX-DA 50-200mm f/4-5.6 ED WR")); - choices.insert(p_t(256 * 7 + 218, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL WR")); - choices.insert(p_t(256 * 7 + 220, "Tamron SP AF 10-24mm f/3.5-4.5 Di II LD Aspherical [IF]")); - choices.insert(p_t(256 * 7 + 221, "smc PENTAX-DA L 50-200mm f/4-5.6 ED")); - choices.insert(p_t(256 * 7 + 222, "smc PENTAX-DA L 18-55mm f/3.5-5.6")); - choices.insert(p_t(256 * 7 + 223, "Samsung/Schneider D-XENON 18-55mm f/3.5-5.6 II")); - choices.insert(p_t(256 * 7 + 224, "smc PENTAX-DA 15mm f/4 ED AL Limited")); - choices.insert(p_t(256 * 7 + 225, "Samsung/Schneider D-XENON 18-250mm f/3.5-6.3")); - choices.insert(p_t(256 * 7 + 226, "smc PENTAX-DA* 55mm f/1.4 SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 227, "smc PENTAX-DA* 60-250mm f/4 [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 228, "Samsung 16-45mm f/4 ED")); - choices.insert(p_t(256 * 7 + 229, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL II")); - choices.insert(p_t(256 * 7 + 230, "Tamron AF 17-50mm f/2.8 XR Di-II LD (Model A16)")); - choices.insert(p_t(256 * 7 + 231, "smc PENTAX-DA 18-250mm f/3.5-6.3 ED AL [IF]")); - choices.insert(p_t(256 * 7 + 233, "smc PENTAX-DA 35mm f/2.8 Macro Limited")); - choices.insert(p_t(256 * 7 + 234, "smc PENTAX-DA* 300mm f/4 ED [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 235, "smc PENTAX-DA* 200mm f/2.8 ED [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 236, "smc PENTAX-DA 55-300mm f/4-5.8 ED")); - choices.insert(p_t(256 * 7 + 238, "Tamron AF 18-250mm f/3.5-6.3 Di II LD Aspherical [IF] Macro")); - choices.insert(p_t(256 * 7 + 241, "smc PENTAX-DA* 50-135mm f/2.8 ED [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 242, "smc PENTAX-DA* 16-50mm f/2.8 ED AL [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 243, "smc PENTAX-DA 70mm f/2.4 Limited")); - choices.insert(p_t(256 * 7 + 244, "smc PENTAX-DA 21mm f/3.2 AL Limited")); - choices.insert(p_t(256 * 8 + 3, "Sigma AF 18-125mm f/3.5-5.6 DC")); - choices.insert(p_t(256 * 8 + 4, "Sigma 50mm f/1.4 EX DG HSM")); - choices.insert(p_t(256 * 8 + 8, "Sigma 18-250mm f/3.5-6.3 DC OS HSM")); - choices.insert(p_t(256 * 8 + 11, "Sigma 10-20mm f/3.5 EX DC HSM")); - choices.insert(p_t(256 * 8 + 12, "Sigma 70-300mm f/4-5.6 DG OS")); - choices.insert(p_t(256 * 8 + 13, "Sigma 120-400mm f/4.5-5.6 APO DG OS HSM")); - choices.insert(p_t(256 * 8 + 14, "Sigma 17-70mm f/2.8-4.0 DC Macro OS HSM")); - choices.insert(p_t(256 * 8 + 15, "Sigma 150-500mm f/5-6.3 APO DG OS HSM")); - choices.insert(p_t(256 * 8 + 16, "Sigma 70-200mm f/2.8 EX DG Macro HSM II")); - choices.insert(p_t(256 * 8 + 17, "Sigma 50-500mm f/4.5-6.3 DG OS HSM")); - choices.insert(p_t(256 * 8 + 18, "Sigma 8-16mm f/4.5-5.6 DC HSM")); - choices.insert(p_t(256 * 8 + 21, "Sigma 17-50mm f/2.8 EX DC OS HSM")); - choices.insert(p_t(256 * 8 + 22, "Sigma 85mm f/1.4 EX DG HSM")); - choices.insert(p_t(256 * 8 + 23, "Sigma 70-200mm f/2.8 APO EX DG OS HSM")); - choices.insert(p_t(256 * 8 + 27, "Sigma 18-200mm f/3.5-6.3 II DC HSM")); - choices.insert(p_t(256 * 8 + 28, "Sigma 18-250mm f/3.5-6.3 DC Macro HSM")); - choices.insert(p_t(256 * 8 + 30, "Sigma 17-70mm f/2.8-4 DC Macro HSM | C")); // "| C" stands for "Contemporary" product line - choices.insert(p_t(256 * 8 + 210, "smc PENTAX-DA 18-270mm f/3.5-6.3 ED SDM")); - choices.insert(p_t(256 * 8 + 211, "HD PENTAX-DA 560mm f/5.6 ED AW")); - choices.insert(p_t(256 * 8 + 215, "smc PENTAX-DA 18-135mm f/3.5-5.6 ED AL [IF] DC WR")); - choices.insert(p_t(256 * 8 + 226, "smc PENTAX-DA* 55mm f/1.4 SDM")); - choices.insert(p_t(256 * 8 + 227, "smc PENTAX-DA* 60-250mm f/4 [IF] SDM")); - choices.insert(p_t(256 * 8 + 232, "smc PENTAX-DA 17-70mm f/4 AL [IF] SDM")); - choices.insert(p_t(256 * 8 + 234, "smc PENTAX-DA* 300mm f/4 ED [IF] SDM")); - choices.insert(p_t(256 * 8 + 235, "smc PENTAX-DA* 200mm f/2.8 ED [IF] SDM")); - choices.insert(p_t(256 * 8 + 241, "smc PENTAX-DA* 50-135mm f/2.8 ED [IF] SDM")); - choices.insert(p_t(256 * 8 + 242, "smc PENTAX-DA* 16-50mm f/2.8 ED AL [IF] SDM")); - choices.insert(p_t(256 * 8 + 255, "Sigma 70-200mm f/2.8 EX DG Macro HSM II")); - choices.insert(p_t(256 * 8 + 255, "Sigma 150-500mm f/5-6.3 DG APO [OS] HSM")); - choices.insert(p_t(256 * 8 + 255, "Sigma 50-150mm f/2.8 II APO EX DC HSM")); - choices.insert(p_t(256 * 8 + 255, "Sigma 4.5mm f/2.8 EX DC HSM Circular Fisheye")); - choices.insert(p_t(256 * 8 + 255, "Sigma 50-200mm f/4-5.6 DC OS")); - choices.insert(p_t(256 * 8 + 255, "Sigma 24-70mm f/2.8 EX DG HSM")); + choices.insert(p_t(256 * 3 + 19, "smc PENTAX-F 24-50mm F4")); + choices.insert(p_t(256 * 3 + 20, "smc PENTAX-F 35-80mm F4-5.6")); + choices.insert(p_t(256 * 3 + 21, "smc PENTAX-F 80-200mm F4.7-5.6")); + choices.insert(p_t(256 * 3 + 22, "smc PENTAX-F FISH-EYE 17-28mm F3.5-4.5")); + choices.insert(p_t(256 * 3 + 23, "smc PENTAX-F 100-300mm F4.5-5.6 or Sigma Lens")); + choices.insert(p_t(256 * 3 + 23, "Sigma AF 28-300mm F3.5-5.6 DL IF")); + choices.insert(p_t(256 * 3 + 23, "Sigma AF 28-300mm F3.5-6.3 DG IF Macro")); + choices.insert(p_t(256 * 3 + 23, "Tokina 80-200mm F2.8 ATX-Pro")); + choices.insert(p_t(256 * 3 + 24, "smc PENTAX-F 35-135mm F3.5-4.5")); + choices.insert(p_t(256 * 3 + 25, "smc PENTAX-F 35-105mm F4-5.6 or Sigma or Tokina Lens")); + choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm F3.5-5.6 DL IF")); + choices.insert(p_t(256 * 3 + 25, "Sigma 55-200mm F4-5.6 DC")); + choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm F3.5-6.3 DL IF")); + choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm F3.5-6.3 DG IF Macro")); + choices.insert(p_t(256 * 3 + 25, "Tokina 80-200mm F2.8 ATX-Pro")); + choices.insert(p_t(256 * 3 + 26, "smc PENTAX-F* 250-600mm F5.6 ED[IF]")); + choices.insert(p_t(256 * 3 + 27, "smc PENTAX-F 28-80mm F3.5-4.5 or Tokina Lens")); + choices.insert(p_t(256 * 3 + 27, "Tokina AT-X Pro AF 28-70mm F2.6-2.8")); + choices.insert(p_t(256 * 3 + 28, "smc PENTAX-F 35-70mm F3.5-4.5 or Tokina Lens")); + choices.insert(p_t(256 * 3 + 28, "Tokina 19-35mm F3.5-4.5 AF")); + choices.insert(p_t(256 * 3 + 28, "Tokina AT-X AF 400mm F5.6")); + choices.insert(p_t(256 * 3 + 29, "PENTAX-F 28-80mm F3.5-4.5 or Sigma or Tokina Lens")); + choices.insert(p_t(256 * 3 + 29, "Sigma AF 18-125mm F3.5-5.6 DC")); + choices.insert(p_t(256 * 3 + 29, "Tokina AT-X PRO 28-70mm F2.6-2.8")); + choices.insert(p_t(256 * 3 + 30, "PENTAX-F 70-200mm F4-5.6")); + choices.insert(p_t(256 * 3 + 31, "smc PENTAX-F 70-210mm F4-5.6 or Tokina or Takumar Lens")); + choices.insert(p_t(256 * 3 + 31, "Tokina AF 730 75-300mm F4.5-5.6")); + choices.insert(p_t(256 * 3 + 31, "Takumar-F 70-210mm F4-5.6")); + choices.insert(p_t(256 * 3 + 32, "smc PENTAX-F 50mm F1.4")); + choices.insert(p_t(256 * 3 + 33, "smc PENTAX-F 50mm F1.7")); + choices.insert(p_t(256 * 3 + 34, "smc PENTAX-F 135mm F2.8 [IF]")); + choices.insert(p_t(256 * 3 + 35, "smc PENTAX-F 28mm F2.8")); + choices.insert(p_t(256 * 3 + 36, "Sigma 20mm F1.8 EX DG Aspherical RF")); + choices.insert(p_t(256 * 3 + 38, "smc PENTAX-F* 300mm F4.5 ED[IF]")); + choices.insert(p_t(256 * 3 + 39, "smc PENTAX-F* 600mm F4 ED[IF]")); + choices.insert(p_t(256 * 3 + 40, "smc PENTAX-F Macro 100mm F2.8")); + choices.insert(p_t(256 * 3 + 41, "smc PENTAX-F Macro 50mm F2.8 or Sigma Lens")); + choices.insert(p_t(256 * 3 + 41, "Sigma 50mm F2.8 Macro")); + choices.insert(p_t(256 * 3 + 42, "Sigma 300mm F2.8 EX DG APO IF")); + choices.insert(p_t(256 * 3 + 44, "Sigma or Tamron Lens (3 44)")); + choices.insert(p_t(256 * 3 + 44, "Sigma AF 10-20mm F4-5.6 EX DC")); + choices.insert(p_t(256 * 3 + 44, "Sigma 12-24mm F4.5-5.6 EX DG")); + choices.insert(p_t(256 * 3 + 44, "Sigma 17-70mm F2.8-4.5 DC Macro")); + choices.insert(p_t(256 * 3 + 44, "Sigma 18-50mm F3.5-5.6 DC")); + choices.insert(p_t(256 * 3 + 44, "Tamron 35-90mm F4 AF")); + choices.insert(p_t(256 * 3 + 46, "Sigma or Samsung Lens (3 46)")); + choices.insert(p_t(256 * 3 + 46, "Sigma APO 70-200mm F2.8 EX")); + choices.insert(p_t(256 * 3 + 46, "Sigma EX APO 100-300mm F4 IF")); + choices.insert(p_t(256 * 3 + 46, "Samsung/Schneider D-XENON 50-200mm F4-5.6 ED")); + choices.insert(p_t(256 * 3 + 50, "smc PENTAX-FA 28-70mm F4 AL")); + choices.insert(p_t(256 * 3 + 51, "Sigma 28mm F1.8 EX DG Aspherical Macro")); + choices.insert(p_t(256 * 3 + 52, "smc PENTAX-FA 28-200mm F3.8-5.6 AL[IF] or Tamron Lens")); + choices.insert(p_t(256 * 3 + 52, "Tamron AF LD 28-200mm F3.8-5.6 [IF] Aspherical (171D)")); + choices.insert(p_t(256 * 3 + 53, "smc PENTAX-FA 28-80mm F3.5-5.6 AL")); + choices.insert(p_t(256 * 3 + 247, "smc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED[IF]")); + choices.insert(p_t(256 * 3 + 248, "smc PENTAX-DA 12-24mm F4 ED AL[IF]")); + choices.insert(p_t(256 * 3 + 250, "smc PENTAX-DA 50-200mm F4-5.6 ED")); + choices.insert(p_t(256 * 3 + 251, "smc PENTAX-DA 40mm F2.8 Limited")); + choices.insert(p_t(256 * 3 + 252, "smc PENTAX-DA 18-55mm F3.5-5.6 AL")); + choices.insert(p_t(256 * 3 + 253, "smc PENTAX-DA 14mm F2.8 ED[IF]")); + choices.insert(p_t(256 * 3 + 254, "smc PENTAX-DA 16-45mm F4 ED AL")); + choices.insert(p_t(256 * 3 + 255, "Sigma Lens (3 255)")); + choices.insert(p_t(256 * 3 + 255, "Sigma 18-200mm F3.5-6.3 DC")); + choices.insert(p_t(256 * 3 + 255, "Sigma DL-II 35-80mm F4-5.6")); + choices.insert(p_t(256 * 3 + 255, "Sigma DL Zoom 75-300mm F4-5.6")); + choices.insert(p_t(256 * 3 + 255, "Sigma DF EX Aspherical 28-70mm F2.8")); + choices.insert(p_t(256 * 3 + 255, "Sigma AF Tele 400mm F5.6 Multi-coated")); + choices.insert(p_t(256 * 3 + 255, "Sigma 24-60mm F2.8 EX DG")); + choices.insert(p_t(256 * 3 + 255, "Sigma 70-300mm F4-5.6 Macro")); + choices.insert(p_t(256 * 3 + 255, "Sigma 55-200mm F4-5.6 DC")); + choices.insert(p_t(256 * 3 + 255, "Sigma 18-50mm F2.8 EX DC")); + choices.insert(p_t(256 * 4 + 1, "smc PENTAX-FA SOFT 28mm F2.8")); + choices.insert(p_t(256 * 4 + 2, "smc PENTAX-FA 80-320mm F4.5-5.6")); + choices.insert(p_t(256 * 4 + 3, "smc PENTAX-FA 43mm F1.9 Limited")); + choices.insert(p_t(256 * 4 + 6, "smc PENTAX-FA 35-80mm F4-5.6")); + choices.insert(p_t(256 * 4 + 12, "smc PENTAX-FA 50mm F1.4")); + choices.insert(p_t(256 * 4 + 15, "smc PENTAX-FA 28-105mm F4-5.6 [IF]")); + choices.insert(p_t(256 * 4 + 16, "Tamron AF 80-210mm F4-5.6 (178D)")); + choices.insert(p_t(256 * 4 + 19, "Tamron SP AF 90mm F2.8 (172E)")); + choices.insert(p_t(256 * 4 + 20, "smc PENTAX-FA 28-80mm F3.5-5.6")); + choices.insert(p_t(256 * 4 + 21, "Cosina AF 100-300mm F5.6-6.7")); + choices.insert(p_t(256 * 4 + 22, "Tokina 28-80mm F3.5-5.6")); + choices.insert(p_t(256 * 4 + 23, "smc PENTAX-FA 20-35mm F4 AL")); + choices.insert(p_t(256 * 4 + 24, "smc PENTAX-FA 77mm F1.8 Limited")); + choices.insert(p_t(256 * 4 + 25, "Tamron SP AF 14mm F2.8")); + choices.insert(p_t(256 * 4 + 26, "smc PENTAX-FA Macro 100mm F3.5 or Cosina Lens")); + choices.insert(p_t(256 * 4 + 26, "Cosina 100mm F3.5 Macro")); + choices.insert(p_t(256 * 4 + 27, "Tamron AF 28-300mm F3.5-6.3 LD Aspherical[IF] Macro (185D/285D)")); + choices.insert(p_t(256 * 4 + 28, "smc PENTAX-FA 35mm F2 AL")); + choices.insert(p_t(256 * 4 + 29, "Tamron AF 28-200mm F3.8-5.6 LD Super II Macro (371D)")); + choices.insert(p_t(256 * 4 + 34, "smc PENTAX-FA 24-90mm F3.5-4.5 AL[IF]")); + choices.insert(p_t(256 * 4 + 35, "smc PENTAX-FA 100-300mm F4.7-5.8")); + choices.insert(p_t(256 * 4 + 36, "Tamron AF 70-300mm F4-5.6 LD Macro 1:2")); + choices.insert(p_t(256 * 4 + 37, "Tamron SP AF 24-135mm F3.5-5.6 AD AL (190D)")); + choices.insert(p_t(256 * 4 + 38, "smc PENTAX-FA 28-105mm F3.2-4.5 AL[IF]")); + choices.insert(p_t(256 * 4 + 39, "smc PENTAX-FA 31mm F1.8 AL Limited")); + choices.insert(p_t(256 * 4 + 41, "Tamron AF 28-200mm Super Zoom F3.8-5.6 Aspherical XR [IF] Macro (A03)")); + choices.insert(p_t(256 * 4 + 43, "smc PENTAX-FA 28-90mm F3.5-5.6")); + choices.insert(p_t(256 * 4 + 44, "smc PENTAX-FA J 75-300mm F4.5-5.8 AL")); + choices.insert(p_t(256 * 4 + 45, "Tamron Lens (4 45)")); + choices.insert(p_t(256 * 4 + 45, "Tamron 28-300mm F3.5-6.3 Ultra zoom XR")); + choices.insert(p_t(256 * 4 + 45, "Tamron AF 28-300mm F3.5-6.3 XR Di LD Aspherical [IF] Macro")); + choices.insert(p_t(256 * 4 + 46, "smc PENTAX-FA J 28-80mm F3.5-5.6 AL")); + choices.insert(p_t(256 * 4 + 47, "smc PENTAX-FA J 18-35mm F4-5.6 AL")); + choices.insert(p_t(256 * 4 + 49, "Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical [IF] Macro")); + choices.insert(p_t(256 * 4 + 51, "smc PENTAX-D FA 50mm F2.8 Macro")); + choices.insert(p_t(256 * 4 + 52, "smc PENTAX-D FA 100mm F2.8 Macro")); + choices.insert(p_t(256 * 4 + 55, "Samsung/Schneider D-XENOGON 35mm F2")); + choices.insert(p_t(256 * 4 + 56, "Samsung/Schneider D-XENON 100mm F2.8 Macro")); + choices.insert(p_t(256 * 4 + 75, "Tamron SP AF 70-200mm F2.8 Di LD [IF] Macro (A001)")); + choices.insert(p_t(256 * 4 + 214, "smc PENTAX-DA 35mm F2.4 AL")); + choices.insert(p_t(256 * 4 + 229, "smc PENTAX-DA 18-55mm F3.5-5.6 AL II")); + choices.insert(p_t(256 * 4 + 230, "Tamron SP AF 17-50mm F2.8 XR Di II")); + choices.insert(p_t(256 * 4 + 231, "smc PENTAX-DA 18-250mm F3.5-6.3 ED AL [IF]")); + choices.insert(p_t(256 * 4 + 237, "Samsung/Schneider D-XENOGON 10-17mm F3.5-4.5")); + choices.insert(p_t(256 * 4 + 239, "Samsung/Schneider D-XENON 12-24mm F4 ED AL [IF]")); + choices.insert(p_t(256 * 4 + 242, "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 4 + 243, "smc PENTAX-DA 70mm F2.4 Limited")); + choices.insert(p_t(256 * 4 + 244, "smc PENTAX-DA 21mm F3.2 AL Limited")); + choices.insert(p_t(256 * 4 + 245, "Samsung/Schneider D-XENON 50-200mm F4-5.6")); + choices.insert(p_t(256 * 4 + 246, "Samsung/Schneider D-XENON 18-55mm F3.5-5.6")); + choices.insert(p_t(256 * 4 + 247, "smc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED[IF]")); + choices.insert(p_t(256 * 4 + 248, "smc PENTAX-DA 12-24mm F4 ED AL [IF]")); + choices.insert(p_t(256 * 4 + 249, "Tamron XR DiII 18-200mm F3.5-6.3 (A14)")); + choices.insert(p_t(256 * 4 + 250, "smc PENTAX-DA 50-200mm F4-5.6 ED")); + choices.insert(p_t(256 * 4 + 251, "smc PENTAX-DA 40mm F2.8 Limited")); + choices.insert(p_t(256 * 4 + 252, "smc PENTAX-DA 18-55mm F3.5-5.6 AL")); + choices.insert(p_t(256 * 4 + 253, "smc PENTAX-DA 14mm F2.8 ED[IF]")); + choices.insert(p_t(256 * 4 + 254, "smc PENTAX-DA 16-45mm F4 ED AL")); + choices.insert(p_t(256 * 5 + 1, "smc PENTAX-FA* 24mm F2 AL[IF]")); + choices.insert(p_t(256 * 5 + 2, "smc PENTAX-FA 28mm F2.8 AL")); + choices.insert(p_t(256 * 5 + 3, "smc PENTAX-FA 50mm F1.7")); + choices.insert(p_t(256 * 5 + 4, "smc PENTAX-FA 50mm F1.4")); + choices.insert(p_t(256 * 5 + 5, "smc PENTAX-FA* 600mm F4 ED[IF]")); + choices.insert(p_t(256 * 5 + 6, "smc PENTAX-FA* 300mm F4.5 ED[IF]")); + choices.insert(p_t(256 * 5 + 7, "smc PENTAX-FA 135mm F2.8 [IF]")); + choices.insert(p_t(256 * 5 + 8, "smc PENTAX-FA Macro 50mm F2.8")); + choices.insert(p_t(256 * 5 + 9, "smc PENTAX-FA Macro 100mm F2.8")); + choices.insert(p_t(256 * 5 + 10, "smc PENTAX-FA* 85mm F1.4 [IF]")); + choices.insert(p_t(256 * 5 + 11, "smc PENTAX-FA* 200mm F2.8 ED[IF]")); + choices.insert(p_t(256 * 5 + 12, "smc PENTAX-FA 28-80mm F3.5-4.7")); + choices.insert(p_t(256 * 5 + 13, "smc PENTAX-FA 70-200mm F4-5.6")); + choices.insert(p_t(256 * 5 + 14, "smc PENTAX-FA* 250-600mm F5.6 ED[IF]")); + choices.insert(p_t(256 * 5 + 15, "smc PENTAX-FA 28-105mm F4-5.6")); + choices.insert(p_t(256 * 5 + 16, "smc PENTAX-FA 100-300mm F4.5-5.6")); + choices.insert(p_t(256 * 5 + 98, "smc PENTAX-FA 100-300mm F4.5-5.6")); + choices.insert(p_t(256 * 6 + 1, "smc PENTAX-FA* 85mm F1.4 [IF]")); + choices.insert(p_t(256 * 6 + 2, "smc PENTAX-FA* 200mm F2.8 ED[IF]")); + choices.insert(p_t(256 * 6 + 3, "smc PENTAX-FA* 300mm F2.8 ED[IF]")); + choices.insert(p_t(256 * 6 + 4, "smc PENTAX-FA* 28-70mm F2.8 AL")); + choices.insert(p_t(256 * 6 + 5, "smc PENTAX-FA* 80-200mm F2.8 ED[IF]")); + choices.insert(p_t(256 * 6 + 6, "smc PENTAX-FA* 28-70mm F2.8 AL")); + choices.insert(p_t(256 * 6 + 7, "smc PENTAX-FA* 80-200mm F2.8 ED[IF]")); + choices.insert(p_t(256 * 6 + 8, "smc PENTAX-FA 28-70mm F4AL")); + choices.insert(p_t(256 * 6 + 9, "smc PENTAX-FA 20mm F2.8")); + choices.insert(p_t(256 * 6 + 10, "smc PENTAX-FA* 400mm F5.6 ED[IF]")); + choices.insert(p_t(256 * 6 + 13, "smc PENTAX-FA* 400mm F5.6 ED[IF]")); + choices.insert(p_t(256 * 6 + 14, "smc PENTAX-FA* Macro 200mm F4 ED[IF]")); + choices.insert(p_t(256 * 7 + 0, "smc PENTAX-DA 21mm F3.2 AL Limited")); + choices.insert(p_t(256 * 7 + 58, "smc PENTAX-D FA Macro 100mm F2.8 WR")); + choices.insert(p_t(256 * 7 + 75, "Tamron SP AF 70-200mm F2.8 Di LD [IF] Macro (A001)")); + choices.insert(p_t(256 * 7 + 201, "smc Pentax-DA L 50-200mm F4-5.6 ED WR")); + choices.insert(p_t(256 * 7 + 202, "smc PENTAX-DA L 18-55mm F3.5-5.6 AL WR")); + choices.insert(p_t(256 * 7 + 203, "HD PENTAX-DA 55-300mm F4-5.8 ED WR")); + choices.insert(p_t(256 * 7 + 204, "HD PENTAX-DA 15mm F4 ED AL Limited")); + choices.insert(p_t(256 * 7 + 205, "HD PENTAX-DA 35mm F2.8 Macro Limited")); + choices.insert(p_t(256 * 7 + 206, "HD PENTAX-DA 70mm F2.4 Limited")); + choices.insert(p_t(256 * 7 + 207, "HD PENTAX-DA 21mm F3.2 ED AL Limited")); + choices.insert(p_t(256 * 7 + 208, "HD PENTAX-DA 40mm F2.8 Limited")); + choices.insert(p_t(256 * 7 + 212, "smc PENTAX-DA 50mm F1.8")); + choices.insert(p_t(256 * 7 + 213, "smc PENTAX-DA 40mm F2.8 XS")); + choices.insert(p_t(256 * 7 + 214, "smc PENTAX-DA 35mm F2.4 AL")); + choices.insert(p_t(256 * 7 + 216, "smc PENTAX-DA L 55-300mm F4-5.8 ED")); + choices.insert(p_t(256 * 7 + 217, "smc PENTAX-DA 50-200mm F4-5.6 ED WR")); + choices.insert(p_t(256 * 7 + 218, "smc PENTAX-DA 18-55mm F3.5-5.6 AL WR")); + choices.insert(p_t(256 * 7 + 220, "Tamron SP AF 10-24mm F3.5-4.5 Di II LD Aspherical [IF]")); + choices.insert(p_t(256 * 7 + 221, "smc PENTAX-DA L 50-200mm F4-5.6 ED")); + choices.insert(p_t(256 * 7 + 222, "smc PENTAX-DA L 18-55mm F3.5-5.6")); + choices.insert(p_t(256 * 7 + 223, "Samsung/Schneider D-XENON 18-55mm F3.5-5.6 II")); + choices.insert(p_t(256 * 7 + 224, "smc PENTAX-DA 15mm F4 ED AL Limited")); + choices.insert(p_t(256 * 7 + 225, "Samsung/Schneider D-XENON 18-250mm F3.5-6.3")); + choices.insert(p_t(256 * 7 + 226, "smc PENTAX-DA* 55mm F1.4 SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 227, "smc PENTAX-DA* 60-250mm F4 [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 228, "Samsung 16-45mm F4 ED")); + choices.insert(p_t(256 * 7 + 229, "smc PENTAX-DA 18-55mm F3.5-5.6 AL II")); + choices.insert(p_t(256 * 7 + 230, "Tamron AF 17-50mm F2.8 XR Di-II LD (Model A16)")); + choices.insert(p_t(256 * 7 + 231, "smc PENTAX-DA 18-250mm F3.5-6.3 ED AL [IF]")); + choices.insert(p_t(256 * 7 + 233, "smc PENTAX-DA 35mm F2.8 Macro Limited")); + choices.insert(p_t(256 * 7 + 234, "smc PENTAX-DA* 300mm F4 ED [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 235, "smc PENTAX-DA* 200mm F2.8 ED [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 236, "smc PENTAX-DA 55-300mm F4-5.8 ED")); + choices.insert(p_t(256 * 7 + 238, "Tamron AF 18-250mm F3.5-6.3 Di II LD Aspherical [IF] Macro")); + choices.insert(p_t(256 * 7 + 241, "smc PENTAX-DA* 50-135mm F2.8 ED [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 242, "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 243, "smc PENTAX-DA 70mm F2.4 Limited")); + choices.insert(p_t(256 * 7 + 244, "smc PENTAX-DA 21mm F3.2 AL Limited")); + choices.insert(p_t(256 * 8 + 0, "Sigma 50-150mm F2.8 II APO EX DC HSM")); + choices.insert(p_t(256 * 8 + 3, "Sigma AF 18-125mm F3.5-5.6 DC")); + choices.insert(p_t(256 * 8 + 4, "Sigma 50mm F1.4 EX DG HSM")); + choices.insert(p_t(256 * 8 + 7, "Sigma 24-70mm F2.8 IF EX DG HSM")); + choices.insert(p_t(256 * 8 + 8, "Sigma 18-250mm F3.5-6.3 DC OS HSM")); + choices.insert(p_t(256 * 8 + 11, "Sigma 10-20mm F3.5 EX DC HSM")); + choices.insert(p_t(256 * 8 + 12, "Sigma 70-300mm F4-5.6 DG OS")); + choices.insert(p_t(256 * 8 + 13, "Sigma 120-400mm F4.5-5.6 APO DG OS HSM")); + choices.insert(p_t(256 * 8 + 14, "Sigma 17-70mm F2.8-4.0 DC Macro OS HSM")); + choices.insert(p_t(256 * 8 + 15, "Sigma 150-500mm F5-6.3 APO DG OS HSM")); + choices.insert(p_t(256 * 8 + 16, "Sigma 70-200mm F2.8 EX DG Macro HSM II")); + choices.insert(p_t(256 * 8 + 17, "Sigma 50-500mm F4.5-6.3 DG OS HSM")); + choices.insert(p_t(256 * 8 + 18, "Sigma 8-16mm F4.5-5.6 DC HSM")); + choices.insert(p_t(256 * 8 + 21, "Sigma 17-50mm F2.8 EX DC OS HSM")); + choices.insert(p_t(256 * 8 + 22, "Sigma 85mm F1.4 EX DG HSM")); + choices.insert(p_t(256 * 8 + 23, "Sigma 70-200mm F2.8 APO EX DG OS HSM")); + choices.insert(p_t(256 * 8 + 25, "Sigma 17-50mm F2.8 EX DC HSM")); + choices.insert(p_t(256 * 8 + 27, "Sigma 18-200mm F3.5-6.3 II DC HSM")); + choices.insert(p_t(256 * 8 + 28, "Sigma 18-250mm F3.5-6.3 DC Macro HSM")); + choices.insert(p_t(256 * 8 + 29, "Sigma 35mm F1.4 DG HSM")); + choices.insert(p_t(256 * 8 + 30, "Sigma 17-70mm F2.8-4 DC Macro HSM Contemporary")); + choices.insert(p_t(256 * 8 + 31, "Sigma 18-35mm F1.8 DC HSM")); + choices.insert(p_t(256 * 8 + 32, "Sigma 30mm F1.4 DC HSM | A")); + choices.insert(p_t(256 * 8 + 59, "HD PENTAX-D FA 150-450mm F4.5-5.6 ED DC AW")); + choices.insert(p_t(256 * 8 + 60, "HD PENTAX-D FA* 70-200mm F2.8 ED DC AW")); + choices.insert(p_t(256 * 8 + 198, "smc PENTAX-DA L 18-50mm F4-5.6 DC WR RE")); + choices.insert(p_t(256 * 8 + 199, "HD PENTAX-DA 18-50mm F4-5.6 DC WR RE")); + choices.insert(p_t(256 * 8 + 200, "HD PENTAX-DA 16-85mm F3.5-5.6 ED DC WR")); + choices.insert(p_t(256 * 8 + 209, "HD PENTAX-DA 20-40mm F2.8-4 ED Limited DC WR")); + choices.insert(p_t(256 * 8 + 210, "smc PENTAX-DA 18-270mm F3.5-6.3 ED SDM")); + choices.insert(p_t(256 * 8 + 211, "HD PENTAX-DA 560mm F5.6 ED AW")); + choices.insert(p_t(256 * 8 + 215, "smc PENTAX-DA 18-135mm F3.5-5.6 ED AL [IF] DC WR")); + choices.insert(p_t(256 * 8 + 226, "smc PENTAX-DA* 55mm F1.4 SDM")); + choices.insert(p_t(256 * 8 + 227, "smc PENTAX-DA* 60-250mm F4 [IF] SDM")); + choices.insert(p_t(256 * 8 + 232, "smc PENTAX-DA 17-70mm F4 AL [IF] SDM")); + choices.insert(p_t(256 * 8 + 234, "smc PENTAX-DA* 300mm F4 ED [IF] SDM")); + choices.insert(p_t(256 * 8 + 235, "smc PENTAX-DA* 200mm F2.8 ED [IF] SDM")); + choices.insert(p_t(256 * 8 + 241, "smc PENTAX-DA* 50-135mm F2.8 ED [IF] SDM")); + choices.insert(p_t(256 * 8 + 242, "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM")); + choices.insert(p_t(256 * 8 + 255, "Sigma Lens (8 255)")); + choices.insert(p_t(256 * 8 + 255, "Sigma 70-200mm F2.8 EX DG Macro HSM II")); + choices.insert(p_t(256 * 8 + 255, "Sigma 150-500mm F5-6.3 DG APO [OS] HSM")); + choices.insert(p_t(256 * 8 + 255, "Sigma 50-150mm F2.8 II APO EX DC HSM")); + choices.insert(p_t(256 * 8 + 255, "Sigma 4.5mm F2.8 EX DC HSM Circular Fisheye")); + choices.insert(p_t(256 * 8 + 255, "Sigma 50-200mm F4-5.6 DC OS")); + choices.insert(p_t(256 * 8 + 255, "Sigma 24-70mm F2.8 EX DG HSM")); choices.insert(p_t(256 * 9 + 0, "645 Manual Lens")); choices.insert(p_t(256 * 10 + 0, "645 A Series Lens")); - choices.insert(p_t(256 * 11 + 1, "smc PENTAX-FA 645 75mm f/2.8")); - choices.insert(p_t(256 * 11 + 2, "smc PENTAX-FA 645 45mm f/2.8")); - choices.insert(p_t(256 * 11 + 3, "smc PENTAX-FA* 645 300mm f/4 ED [IF]")); - choices.insert(p_t(256 * 11 + 4, "smc PENTAX-FA 645 45-85mm f/4.5")); - choices.insert(p_t(256 * 11 + 5, "smc PENTAX-FA 645 400mm f/5.6 ED [IF]")); - choices.insert(p_t(256 * 11 + 7, "smc PENTAX-FA 645 Macro 120mm f/4")); - choices.insert(p_t(256 * 11 + 8, "smc PENTAX-FA 645 80-160mm f/4.5")); - choices.insert(p_t(256 * 11 + 9, "smc PENTAX-FA 645 200mm f/4 [IF]")); - choices.insert(p_t(256 * 11 + 10, "smc PENTAX-FA 645 150mm f/2.8 [IF]")); - choices.insert(p_t(256 * 11 + 11, "smc PENTAX-FA 645 35mm f/3.5 AL [IF]")); - choices.insert(p_t(256 * 11 + 12, "smc PENTAX-FA 645 300mm f/5.6 ED [IF]")); - choices.insert(p_t(256 * 11 + 14, "smc PENTAX-FA 645 55-110mm f/5.6")); - choices.insert(p_t(256 * 11 + 16, "smc PENTAX-FA 645 33-55mm f/4.5 AL")); - choices.insert(p_t(256 * 11 + 17, "smc PENTAX-FA 645 150-300mm f/5.6 ED [IF]")); - choices.insert(p_t(256 * 13 + 18, "smc PENTAX-D FA 645 55mm f/2.8 AL [IF] SDM AW")); - choices.insert(p_t(256 * 13 + 19, "smc PENTAX-D FA 645 25mm f/4 AL [IF] SDM AW")); - choices.insert(p_t(256 * 13 + 20, "HD PENTAX-D FA 645 90mm f/2.8 ED AW SR")); + choices.insert(p_t(256 * 11 + 1, "smc PENTAX-FA 645 75mm F2.8")); + choices.insert(p_t(256 * 11 + 2, "smc PENTAX-FA 645 45mm F2.8")); + choices.insert(p_t(256 * 11 + 3, "smc PENTAX-FA* 645 300mm F4 ED [IF]")); + choices.insert(p_t(256 * 11 + 4, "smc PENTAX-FA 645 45-85mm F4.5")); + choices.insert(p_t(256 * 11 + 5, "smc PENTAX-FA 645 400mm F5.6 ED [IF]")); + choices.insert(p_t(256 * 11 + 7, "smc PENTAX-FA 645 Macro 120mm F4")); + choices.insert(p_t(256 * 11 + 8, "smc PENTAX-FA 645 80-160mm F4.5")); + choices.insert(p_t(256 * 11 + 9, "smc PENTAX-FA 645 200mm F4 [IF]")); + choices.insert(p_t(256 * 11 + 10, "smc PENTAX-FA 645 150mm F2.8 [IF]")); + choices.insert(p_t(256 * 11 + 11, "smc PENTAX-FA 645 35mm F3.5 AL [IF]")); + choices.insert(p_t(256 * 11 + 12, "smc PENTAX-FA 645 300mm F5.6 ED [IF]")); + choices.insert(p_t(256 * 11 + 14, "smc PENTAX-FA 645 55-110mm F5.6")); + choices.insert(p_t(256 * 11 + 16, "smc PENTAX-FA 645 33-55mm F4.5 AL")); + choices.insert(p_t(256 * 11 + 17, "smc PENTAX-FA 645 150-300mm F5.6 ED [IF]")); + choices.insert(p_t(256 * 13 + 18, "smc PENTAX-D FA 645 55mm F2.8 AL [IF] SDM AW")); + choices.insert(p_t(256 * 13 + 19, "smc PENTAX-D FA 645 25mm F4 AL [IF] SDM AW")); + choices.insert(p_t(256 * 13 + 20, "HD PENTAX-D FA 645 90mm F2.8 ED AW SR")); + choices.insert(p_t(256 * 13 + 253, "HD PENTAX-DA 645 28-45mm F4.5 ED AW SR")); choices.insert(p_t(256 * 21 + 0, "Pentax Q Manual Lens")); - choices.insert(p_t(256 * 21 + 1, "01 Standard Prime 8.5mm f/1.9")); - choices.insert(p_t(256 * 21 + 2, "02 Standard Zoom 5-15mm f/2.8-4.5")); - choices.insert(p_t(256 * 21 + 6, "06 Telephoto Zoom 15-45mm f/2.8")); - choices.insert(p_t(256 * 21 + 7, "07 Mount Shield 11.5mm f/9")); - choices.insert(p_t(256 * 22 + 3, "03 Fish-eye 3.2mm f/5.6")); - choices.insert(p_t(256 * 22 + 4, "04 Toy Lens Wide 6.3mm f/7.1")); - choices.insert(p_t(256 * 22 + 5, "05 Toy Lens Telephoto 18mm f/8")); + choices.insert(p_t(256 * 21 + 1, "01 Standard Prime 8.5mm F1.9")); + choices.insert(p_t(256 * 21 + 2, "02 Standard Zoom 5-15mm F2.8-4.5")); + choices.insert(p_t(256 * 21 + 6, "06 Telephoto Zoom 15-45mm F2.8")); + choices.insert(p_t(256 * 21 + 7, "07 Mount Shield 11.5mm F9")); + choices.insert(p_t(256 * 21 + 8, "08 Wide Zoom 3.8-5.9mm F3.7-4")); + choices.insert(p_t(256 * 22 + 3, "03 Fish-eye 3.2mm F5.6")); + choices.insert(p_t(256 * 22 + 4, "04 Toy Lens Wide 6.3mm F7.1")); + choices.insert(p_t(256 * 22 + 5, "05 Toy Lens Telephoto 18mm F8")); } virtual std::string toString (Tag* t) { diff --git a/rtexif/sonyminoltaattribs.cc b/rtexif/sonyminoltaattribs.cc index 4affbf946..6d248feda 100644 --- a/rtexif/sonyminoltaattribs.cc +++ b/rtexif/sonyminoltaattribs.cc @@ -530,386 +530,489 @@ SAAntiBlurInterpreter saAntiBlurInterpreter; class SALensIDInterpreter : public IntLensInterpreter< int > { public: - SALensIDInterpreter () // From EXIFTOOL database 'Sony.pm' V1.94 and 'Minolta' 2.04; + SALensIDInterpreter () { - // Please do not remove entries on database synchronization, and avoid transferring "categories' header" types - choices.insert(p_t(0, "Minolta AF 28-85mm f/3.5-4.5")); - choices.insert(p_t(1, "Minolta AF 80-200mm f/2.8 HS-APO G")); - choices.insert(p_t(2, "Minolta AF 28-70mm f/2.8 G")); - choices.insert(p_t(3, "Minolta AF 28-80mm f/4-5.6")); - choices.insert(p_t(4, "Minolta AF 85mm f/1.4G")); - choices.insert(p_t(5, "Minolta AF 35-70mm f/3.5-4.5")); - choices.insert(p_t(6, "Minolta AF 24-85mm f/3.5-4.5")); - choices.insert(p_t(7, "Minolta AF 100-300mm f/4.5-5.6 APO")); - choices.insert(p_t(7, "Minolta AF 100-400mm f/4.5-6.7 APO")); - choices.insert(p_t(7, "Sigma AF 100-300mm f/4 EX DG IF")); - choices.insert(p_t(8, "Minolta AF 70-210mm f/4.5-5.6")); - choices.insert(p_t(9, "Minolta AF 50mm f/3.5 Macro")); - choices.insert(p_t(10, "Minolta AF 28-105mm f/3.5-4.5 [New]")); - choices.insert(p_t(11, "Minolta AF 300mm f/4 HS-APO G")); - choices.insert(p_t(12, "Minolta AF 100mm f/2.8 Soft Focus")); - choices.insert(p_t(13, "Minolta AF 75-300mm f/4.5-5.6")); - choices.insert(p_t(14, "Minolta AF 100-400mm f/4.5-6.7 APO")); - choices.insert(p_t(15, "Minolta AF 400mm f/4.5 HS-APO G")); - choices.insert(p_t(16, "Minolta AF 17-35mm f/3.5 G")); - choices.insert(p_t(17, "Minolta AF 20-35mm f/3.5-4.5")); - choices.insert(p_t(18, "Minolta AF 28-80mm f/3.5-5.6 II")); - choices.insert(p_t(19, "Minolta AF 35mm f/1.4 G")); - choices.insert(p_t(20, "Minolta/Sony 135mm f/2.8 [T4.5] STF")); - choices.insert(p_t(22, "Minolta AF 35-80mm f/4-5.6 II")); - choices.insert(p_t(23, "Minolta AF 200mm f/4 Macro APO G")); - choices.insert(p_t(24, "Minolta/Sony AF 24-105mm f/3.5-4.5 (D)")); - choices.insert(p_t(24, "Sigma 18-50mm f/2.8 EX DC Macro")); - choices.insert(p_t(24, "Sigma 17-70mm f/2.8-4.5 DC Macro")); - choices.insert(p_t(24, "Sigma 20-40mm f/2.8 EX DG Aspherical IF")); - choices.insert(p_t(24, "Sigma 18-200mm f/3.5-6.3 DC")); - choices.insert(p_t(24, "Sigma 18-125mm f/4-5,6 DC")); - choices.insert(p_t(24, "Tamron SP AF 28-75mm f/2.8 XR Di (IF) Macro")); - choices.insert(p_t(25, "Minolta AF 100-300mm f/4.5-5.6 APO D")); - choices.insert(p_t(25, "Sigma 100-300mm f/4 EX DG APO")); - choices.insert(p_t(25, "Sigma 70mm f/2.8 EX DG Macro")); - choices.insert(p_t(25, "Sigma 20mm f/1.8 EX DG Aspherical RF")); - choices.insert(p_t(25, "Sigma 30mm f/1.4 EX DC")); - choices.insert(p_t(25, "Sigma 24mm f/1.8 EX DG ASP Macro")); - choices.insert(p_t(27, "Minolta AF 85mm f/1.4 G (D)")); - choices.insert(p_t(28, "Minolta/Sony AF 100mm f/2.8 Macro (D)")); - choices.insert(p_t(28, "Tamron SP AF 90mm f/2.8 Di Macro")); - choices.insert(p_t(28, "Tamron AF 180mm f/3.5 SP Di LD [IF] Macro")); - choices.insert(p_t(29, "Minolta/Sony AF 75-300mm f/4.5-5.6 (D)")); - choices.insert(p_t(30, "Minolta AF 28-80mm f/3.5-5.6 (D)")); - choices.insert(p_t(30, "Sigma AF 10-20mm f/4-5.6 EX DC")); - choices.insert(p_t(30, "Sigma AF 12-24mm f/4.5-5.6 EX DG")); + choices.insert(p_t(0, "Minolta AF 28-85mm F3.5-4.5 New")); + choices.insert(p_t(1, "Minolta AF 80-200mm F2.8 HS-APO G")); + choices.insert(p_t(2, "Minolta AF 28-70mm F2.8 G")); + choices.insert(p_t(3, "Minolta AF 28-80mm F4-5.6")); + choices.insert(p_t(4, "Minolta AF 85mm F1.4G")); + choices.insert(p_t(5, "Minolta AF 35-70mm F3.5-4.5 [II]")); + choices.insert(p_t(6, "Minolta AF 24-85mm F3.5-4.5 [New]")); + choices.insert(p_t(7, "Minolta AF 100-300mm F4.5-5.6 APO [New] or 100-400mm or Sigma Lens")); + choices.insert(p_t(7, "Minolta AF 100-400mm F4.5-6.7 APO")); + choices.insert(p_t(7, "Sigma AF 100-300mm F4 EX DG IF")); + choices.insert(p_t(8, "Minolta AF 70-210mm F4.5-5.6 [II]")); + choices.insert(p_t(9, "Minolta AF 50mm F3.5 Macro")); + choices.insert(p_t(10, "Minolta AF 28-105mm F3.5-4.5 [New]")); + choices.insert(p_t(11, "Minolta AF 300mm F4 HS-APO G")); + choices.insert(p_t(12, "Minolta AF 100mm F2.8 Soft Focus")); + choices.insert(p_t(13, "Minolta AF 75-300mm F4.5-5.6 (New or II)")); + choices.insert(p_t(14, "Minolta AF 100-400mm F4.5-6.7 APO")); + choices.insert(p_t(15, "Minolta AF 400mm F4.5 HS-APO G")); + choices.insert(p_t(16, "Minolta AF 17-35mm F3.5 G")); + choices.insert(p_t(17, "Minolta AF 20-35mm F3.5-4.5")); + choices.insert(p_t(18, "Minolta AF 28-80mm F3.5-5.6 II")); + choices.insert(p_t(19, "Minolta AF 35mm F1.4 G")); + choices.insert(p_t(20, "Minolta/Sony 135mm F2.8 [T4.5] STF")); + choices.insert(p_t(22, "Minolta AF 35-80mm F4-5.6 II")); + choices.insert(p_t(23, "Minolta AF 200mm F4 Macro APO G")); + choices.insert(p_t(24, "Minolta/Sony AF 24-105mm F3.5-4.5 (D) or Sigma or Tamron Lens")); + choices.insert(p_t(24, "Sigma 18-50mm F2.8")); + choices.insert(p_t(24, "Sigma 17-70mm F2.8-4.5 (D)")); + choices.insert(p_t(24, "Sigma 20-40mm F2.8 EX DG Aspherical IF")); + choices.insert(p_t(24, "Sigma 18-200mm F3.5-6.3 DC")); + choices.insert(p_t(24, "Sigma DC 18-125mm F4-5,6 D")); + choices.insert(p_t(24, "Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical [IF] Macro")); + choices.insert(p_t(25, "Minolta AF 100-300mm F4.5-5.6 APO (D) or Sigma Lens")); + choices.insert(p_t(25, "Sigma 100-300mm F4 EX (APO (D) or D IF)")); + choices.insert(p_t(25, "Sigma 70mm F2.8 EX DG Macro")); + choices.insert(p_t(25, "Sigma 20mm F1.8 EX DG Aspherical RF")); + choices.insert(p_t(25, "Sigma 30mm F1.4 EX DC")); + choices.insert(p_t(25, "Sigma 24mm F1.8 EX DG ASP Macro")); + choices.insert(p_t(27, "Minolta AF 85mm F1.4 G (D)")); + choices.insert(p_t(28, "Minolta/Sony AF 100mm F2.8 Macro (D) or Tamron Lens")); + choices.insert(p_t(28, "Tamron SP AF 90mm F2.8 Di Macro")); + choices.insert(p_t(28, "Tamron SP AF 180mm F3.5 Di LD [IF] Macro")); + choices.insert(p_t(29, "Minolta/Sony AF 75-300mm F4.5-5.6 (D)")); + choices.insert(p_t(30, "Minolta AF 28-80mm F3.5-5.6 (D) or Sigma Lens")); + choices.insert(p_t(30, "Sigma AF 10-20mm F4-5.6 EX DC")); + choices.insert(p_t(30, "Sigma AF 12-24mm F4.5-5.6 EX DG")); choices.insert(p_t(30, "Sigma 28-70mm EX DG F2.8")); - choices.insert(p_t(30, "Sigma 55-200mm f/4-5.6 DC")); - choices.insert(p_t(31, "Minolta/Sony AF 50mm f/2.8 Macro (D)")); - choices.insert(p_t(31, "Minolta/Sony AF 50mm f/3.5 Macro")); - choices.insert(p_t(32, "Minolta/Sony AF 300mm f/2.8 G or 1.5x Teleconverter")); - choices.insert(p_t(33, "Minolta/Sony AF 70-200mm f/2.8 G")); - choices.insert(p_t(35, "Minolta AF 85mm f/1.4 G (D) Limited")); - choices.insert(p_t(36, "Minolta AF 28-100mm f/3.5-5.6 (D)")); - choices.insert(p_t(38, "Minolta AF 17-35mm f/2.8-4 (D)")); - choices.insert(p_t(39, "Minolta AF 28-75mm f/2.8 (D)")); - choices.insert(p_t(40, "Minolta/Sony AF DT 18-70mm f/3.5-5.6 (D)")); - choices.insert(p_t(41, "Minolta/Sony AF DT 11-18mm f/4.5-5.6 (D)")); - choices.insert(p_t(41, "Tamron SP AF 11-18mm f/4.5-5.6 Di II LD Aspherical IF")); - choices.insert(p_t(42, "Minolta AF DT 18-200mm f/3.5-6.3 (D)")); - choices.insert(p_t(43, "Minolta AF 35mm f/1.4 G")); - choices.insert(p_t(44, "Sony AF 50mm f/1.4")); - choices.insert(p_t(45, "Carl Zeiss Planar T* 85mm f/1.4 ZA")); - choices.insert(p_t(46, "Carl Zeiss Vario-Sonnar T* DT 16-80mm f/3.5-4.5 ZA")); - choices.insert(p_t(47, "Carl Zeiss Sonnar T* 135mm F1.8 ZA")); - choices.insert(p_t(48, "Carl Zeiss Vario-Sonnar T* 24-70mm f/2.8 ZA SSM")); - choices.insert(p_t(49, "Sony AF DT 55-200mm f/4-5.6")); - choices.insert(p_t(50, "Sony AF DT 18-250mm f/3.5-6.3")); - choices.insert(p_t(51, "Sony AF DT 16-105mm f/3.5-5.6")); - choices.insert(p_t(52, "Sony AF 70-300mm f/4.5-5.6 G SSM")); - choices.insert(p_t(52, "Tamron SP 70-300mm f/4-5.6 Di VC USD")); - choices.insert(p_t(53, "Sony AF 70-400mm f/4.5-5.6 G SSM")); - choices.insert(p_t(54, "Carl Zeiss Vario-Sonnar T* 16-35mm f/2.8 ZA SSM")); - choices.insert(p_t(55, "Sony DT 18-55mm f/3.5-5.6 SAM")); - choices.insert(p_t(56, "Sony AF DT 55-200mm f/4-5.6 SAM")); - choices.insert(p_t(57, "Sony AF DT 50mm f/1.8 SAM")); - choices.insert(p_t(57, "Tamron SP AF 60mm f/2 Di II LD [IF] Macro 1:1")); - choices.insert(p_t(57, "Tamron 18-270mm f/3.5-6.3 Di II PZD")); - choices.insert(p_t(58, "Sony AF DT 30mm f/2.8 SAM Macro")); - choices.insert(p_t(59, "Sony AF 28-75mm f/2.8 SAM")); - choices.insert(p_t(60, "Carl Zeiss Distagon T* 24mm f/2 ZA SSM")); - choices.insert(p_t(61, "Sony AF 85mm f/2.8 SAM")); - choices.insert(p_t(62, "Sony DT 35mm f/1.8 SAM")); - choices.insert(p_t(63, "Sony DT 16-50mm f/2.8 SSM")); - choices.insert(p_t(64, "Sony 500mm f/4.0 G SSM")); - choices.insert(p_t(65, "Sony DT 18-135mm f/3.5-5.6 SAM")); - choices.insert(p_t(66, "Sony 300mm f/2.8 G SSM II")); - choices.insert(p_t(67, "Sony 70-20mm f/2.8 G SSM")); - choices.insert(p_t(68, "Sony DT 55-300mm f/4.5-5.6 SAM")); - choices.insert(p_t(69, "Sony 70-400mm f/4-5.6 G SSM II")); - choices.insert(p_t(70, "Carl Zeiss Planar T* 50mm f/1.4 ZA SSM")); - choices.insert(p_t(128, "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF)")); - choices.insert(p_t(128, "Tamron AF 28-300mm f/3.5-6.3")); - choices.insert(p_t(128, "Tamron 80-300mm f/3.5-6.3")); - choices.insert(p_t(128, "Tamron AF 28-200mm f/3.8-5.6 XR Di Aspherical [IF] Macro")); - choices.insert(p_t(128, "Tamron SP AF 17-35mm f/2.8-4 Di LD Aspherical IF")); - choices.insert(p_t(128, "Sigma AF 50-150mm f/2.8 EX DC APO HSM II")); - choices.insert(p_t(128, "Sigma 10-20mm f/3.5 EX DC HSM")); - choices.insert(p_t(128, "Sigma 70-200mm f/2.8 II EX DG APO Macro HSM")); - choices.insert(p_t(128, "Sigma 10mm f/2.8 EX DC HSM Fisheye")); - choices.insert(p_t(128, "Sigma 35mm f/1.4 DG HSM")); - choices.insert(p_t(128, "Sigma 50mm f/1.4 EX DG HSM")); - choices.insert(p_t(128, "Sigma 85mm f/1.4 EX DG HSM")); - choices.insert(p_t(128, "Sigma 24-70mm f/2.8 IF EX DG HSM")); - choices.insert(p_t(128, "Sigma 18-250mm f/3.5-6.3 DC OS HSM")); - choices.insert(p_t(128, "Sigma 17-50mm f/2.8 EX DC HSM")); - choices.insert(p_t(128, "Sigma 17-70mm f/2.8-4 DC Macro HSM")); - choices.insert(p_t(129, "Tamron 200-400mm f/5.6 LD")); - choices.insert(p_t(129, "Tamron 70-300mm f/4-5.6 LD")); - choices.insert(p_t(131, "Tamron 20-40mm f/2.7-3.5 SP Aspherical IF")); - choices.insert(p_t(135, "Vivitar 28-210mm f/3.5-5.6")); - choices.insert(p_t(136, "Tokina EMZ M100 AF 100mm f/3.5")); - choices.insert(p_t(137, "Cosina 70-210mm f/2.8-4 AF")); - choices.insert(p_t(138, "Soligor 19-35mm f/3.5-4.5")); - choices.insert(p_t(142, "Voigtlander 70-300mm f/4.5-5.6")); - choices.insert(p_t(146, "Voigtlander Macro APO-Lanthar 125mm f/2.5 SL")); - choices.insert(p_t(255, "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical")); - choices.insert(p_t(255, "Tamron AF 18-250mm f/3.5-6.3 XR Di II LD")); - choices.insert(p_t(255, "Tamron AF 55-200mm f/4-5.6 Di II LD Macro")); - choices.insert(p_t(255, "Tamron AF 70-300mm f/4-5.6 Di LD Macro 1:2")); - choices.insert(p_t(255, "Tamron SP AF 200-500mm f/5.0-6.3 Di LD [IF]")); - choices.insert(p_t(255, "Tamron SP AF 10-24mm f/3.5-4.5 Di II LD Aspherical [IF]")); - choices.insert(p_t(255, "Tamron SP AF 70-200mm f/2.8 Di LD Macro [IF]")); - choices.insert(p_t(255, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF]")); - choices.insert(p_t(2550, "Minolta AF 50mm f/1.7")); - choices.insert(p_t(2551, "Minolta AF 35-70mm f/4")); - choices.insert(p_t(2551, "Sigma UC AF 28-70mm f/3.5-4.5")); - choices.insert(p_t(2551, "Sigma AF 28-70mm f/2.8")); - choices.insert(p_t(2551, "Sigma M-AF 70-200mm f/2.8 EX Aspherical")); - choices.insert(p_t(2551, "Quantaray M-AF 35-80mm f/4-5.6")); - choices.insert(p_t(2552, "Minolta AF 28-85mm f/3.5-4.5 [New]")); - choices.insert(p_t(2552, "Tokina 19-35mm f/3.5-4.5")); - choices.insert(p_t(2552, "Tokina 28-70mm f/2.8 AT-X")); - choices.insert(p_t(2552, "Tokina 80-400mm f/4.5-5.6 AT-X AF II 840")); - choices.insert(p_t(2552, "Tokina AF PRO 28-80mm f/2.8 AT-X 280")); - choices.insert(p_t(2552, "Tokina AT-X PRO II AF 28-70mm f/2.6-2.8 270")); - choices.insert(p_t(2552, "Tamron AF 19-35mm f/3.5-4.5")); - choices.insert(p_t(2552, "Angenieux AF 28-70mm f/2.6")); - choices.insert(p_t(2553, "Minolta AF 28-135mm f/4-4.5")); - choices.insert(p_t(2553, "Sigma ZOOM-alpha 35-135mm f/3.5-4.5")); - choices.insert(p_t(2553, "Sigma 28-105mm f/2.8-4 Aspherical")); - choices.insert(p_t(2554, "Minolta AF 35-105mm f/3.5-4.5")); - choices.insert(p_t(2555, "Minolta AF 70-210mm f/4 Macro")); - choices.insert(p_t(2555, "Sigma 70-210mm f/4-5.6 APO")); - choices.insert(p_t(2555, "Sigma M-AF 70-200mm f/2.8 EX APO")); - choices.insert(p_t(2555, "Sigma 75-200mm f/2.8-3.5")); - choices.insert(p_t(2556, "Minolta AF 135mm f/2.8")); - choices.insert(p_t(2557, "Minolta AF 28mm f/2.8")); - choices.insert(p_t(2558, "Minolta AF 24-50mm f/4")); - choices.insert(p_t(2560, "Minolta AF 100-200mm f/4.5")); - choices.insert(p_t(2561, "Minolta AF 75-300mm f/4.5-5.6")); - choices.insert(p_t(2561, "Sigma 70-300mm f/4-5.6 DL Macro")); - choices.insert(p_t(2561, "Sigma 300mm f/4 APO Macro")); - choices.insert(p_t(2561, "Sigma AF 500mm f/4.5 APO")); - choices.insert(p_t(2561, "Sigma AF 170-500mm f/5-6.3 APO Aspherical")); - choices.insert(p_t(2561, "Tokina AT-X AF 300mm f/4")); - choices.insert(p_t(2561, "Tokina AT-X AF 400mm f/5.6 SD")); - choices.insert(p_t(2561, "Tokina AF 730 II 75-300mm f/4.5-5.6")); - choices.insert(p_t(2562, "Minolta/Sony AF 50mm f/1.4 [New]")); - choices.insert(p_t(2563, "Minolta AF 300mm f/2.8 G")); - choices.insert(p_t(2563, "Sigma AF 50-500mm f/4-6.3 EX DG APO")); - choices.insert(p_t(2563, "Sigma AF 170-500mm f/5-6.3 APO Aspherical")); - choices.insert(p_t(2563, "Sigma AF 500mm f/4.5 EX DG APO")); - choices.insert(p_t(2563, "Sigma 400mm f/5.6 APO")); - choices.insert(p_t(2564, "Minolta AF 50mm f/2.8 Macro")); - choices.insert(p_t(2564, "Sigma 50mm f/2.8 EX Macro")); - choices.insert(p_t(2565, "Minolta AF 600mm f/4")); - choices.insert(p_t(2566, "Minolta AF 24mm f/2.8")); - choices.insert(p_t(2572, "Minolta/Sony AF 500mm f/8 Reflex")); - choices.insert(p_t(2578, "Minolta AF 16mm f/2.8 Fisheye")); - choices.insert(p_t(2578, "Sigma 8mm f/4 EX DG Fisheye")); - choices.insert(p_t(2578, "Sigma 14mm f/3.5")); - choices.insert(p_t(2578, "Sigma 15mm f/2.8 Fisheye")); - choices.insert(p_t(2579, "Minolta AF 20mm f/2.8")); - choices.insert(p_t(2581, "Minolta/Sony AF 100mm f/2.8 Macro")); - choices.insert(p_t(2581, "Sigma AF 90mm f/2.8 Macro")); - choices.insert(p_t(2581, "Sigma AF 105mm f/2.8 EX DG Macro")); - choices.insert(p_t(2581, "Sigma 180mm f/5.6 Macro")); - choices.insert(p_t(2581, "Tamron AF 90mm f/2.8 Macro")); - choices.insert(p_t(2585, "Minolta AF 35-105mm f/3.5-4.5 New")); - choices.insert(p_t(2585, "Beroflex 35-135mm f/3.5-4.5")); - choices.insert(p_t(2585, "Tamron AF 24-135mm f/3.5-5.6")); - choices.insert(p_t(2588, "Minolta AF 70-210mm f/3.5-4.5")); - choices.insert(p_t(2589, "Minolta AF 80-200 f/2.8 APO")); - choices.insert(p_t(2589, "Tokina 80-200mm f/2.8")); - choices.insert(p_t(2591, "Minolta AF 35mm f/1.4")); - choices.insert(p_t(2592, "Minolta AF 85mm f/1.4 G (D)")); - choices.insert(p_t(2593, "Minolta AF 200mm f/2.8 G APO")); - choices.insert(p_t(2594, "Minolta AF 3x-1x f/1.7-2.8 Macro")); - choices.insert(p_t(2596, "Minolta AF 28mm f/2")); - choices.insert(p_t(2597, "Minolta AF 35mm f/2")); - choices.insert(p_t(2598, "Minolta AF 100mm f/2")); - choices.insert(p_t(2604, "Minolta AF 80-200mm f/4.5-5.6")); - choices.insert(p_t(2605, "Minolta AF 35-80mm f/4-5.6")); - choices.insert(p_t(2606, "Minolta AF 100-300mm f/4.5-5.6 (D)")); - choices.insert(p_t(2607, "Minolta AF 35-80mm f/4-5.6")); - choices.insert(p_t(2608, "Minolta AF 300mm f/2.8 G")); - choices.insert(p_t(2609, "Minolta AF 600mm f/4 HS-APO G")); - choices.insert(p_t(2612, "Minolta AF 200mm f/2.8 G HS-APO")); - choices.insert(p_t(2613, "Minolta AF 50mm f/1.7 New")); - choices.insert(p_t(2615, "Minolta AF 28-105mm f/3.5-4.5 Power Zoom")); - choices.insert(p_t(2616, "Minolta AF 35-200mm f/4.5-5.6 Power Zoom")); - choices.insert(p_t(2618, "Minolta AF 28-80mm f/4-5.6 Power Zoom")); - choices.insert(p_t(2619, "Minolta AF 80-200mm f/4.5-5.6 Power Zoom")); - choices.insert(p_t(2620, "Minolta AF 28-70mm f/2.8 G")); - choices.insert(p_t(2621, "Minolta AF 100-300mm f/4.5-5.6 Power Zoom")); - choices.insert(p_t(2624, "Minolta AF 35-80mm f/4-5.6 Power Zoom")); - choices.insert(p_t(2628, "Minolta AF 80-200mm f/2.8 G")); - choices.insert(p_t(2629, "Minolta AF 85mm f/1.4 New")); - choices.insert(p_t(2631, "Minolta/Sony AF 100-300mm f/4.5-5.6 APO")); - choices.insert(p_t(2632, "Minolta AF 24-50mm f/4 New")); - choices.insert(p_t(2638, "Minolta AF 50mm f/2.8 Macro New")); - choices.insert(p_t(2639, "Minolta AF 100mm f/2.8 Macro")); - choices.insert(p_t(2641, "Minolta AF 20mm f/2.8 New")); - choices.insert(p_t(2642, "Minolta AF 24mm f/2.8 New")); - choices.insert(p_t(2644, "Minolta AF 100-400mm f/4.5-6.7 APO")); - choices.insert(p_t(2662, "Minolta AF 50mm f/1.4 New")); - choices.insert(p_t(2667, "Minolta AF 35mm f/2 New")); - choices.insert(p_t(2668, "Minolta AF 28mm f/2 New")); - choices.insert(p_t(2672, "Minolta AF 24-105mm f/3.5-4.5 (D)")); - choices.insert(p_t(4574, "Minolta AF 200mm f/2.8 G x2")); - choices.insert(p_t(4575, "1.4 x Teleconverter")); - choices.insert(p_t(4585, "Tamron SP AF 300mm f/2.8 LD IF")); - choices.insert(p_t(6553, "Arax MC 35mm f/2.8 Tilt+Shift")); - choices.insert(p_t(6553, "Arax MC 80mm f/2.8 Tilt+Shift")); - choices.insert(p_t(6553, "Zenitar MF 16mm f/2.8 Fisheye M42")); - choices.insert(p_t(6553, "Samyang 500mm Mirror f/8")); - choices.insert(p_t(6553, "Pentacon Auto 135mm f/2.8")); - choices.insert(p_t(6553, "Pentacon Auto 29mm f/2.8")); - choices.insert(p_t(6553, "Helios 44-2 58mm f/2")); - choices.insert(p_t(25501, "Minolta AF 50mm f/1.7")); - choices.insert(p_t(25511, "Minolta AF 35-70mm f/4")); - choices.insert(p_t(25511, "Sigma UC AF 28-70mm f/3.5-4.5")); - choices.insert(p_t(25511, "Sigma AF 28-70mm f/2.8")); - choices.insert(p_t(25511, "Sigma M-AF 70-200mm f/2.8 EX Aspherical")); - choices.insert(p_t(25511, "Quantaray M-AF 35-80mm f/4-5.6")); - choices.insert(p_t(25521, "Minolta AF 28-85mm f/3.5-4.5")); - choices.insert(p_t(25521, "Tokina 19-35mm f/3.5-4.5")); - choices.insert(p_t(25521, "Tokina 28-70mm f/2.8 AT-X")); - choices.insert(p_t(25521, "Tokina 80-400mm f/4.5-5.6 AT-X AF II 840")); - choices.insert(p_t(25521, "Tokina AF PRO 28-80mm f/2.8 AT-X 280")); - choices.insert(p_t(25521, "Tokina AT-X PRO II AF 28-70mm f/2.6-2.8 270")); - choices.insert(p_t(25521, "Tamron AF 19-35mm f/3.5-4.5")); - choices.insert(p_t(25521, "Angenieux AF 28-70mm f/2.6")); - choices.insert(p_t(25521, "Tokina AT-X 17 AF 17mm f/3.5")); - choices.insert(p_t(25531, "Minolta AF 28-135mm f/4-4.5")); - choices.insert(p_t(25531, "Sigma ZOOM-alpha 35-135mm f/3.5-4.5")); - choices.insert(p_t(25531, "Sigma 28-105mm f/2.8-4 Aspherical")); - choices.insert(p_t(25531, "Sigma 28-105mm f/4-5.6 UC")); - choices.insert(p_t(25541, "Minolta AF 35-105mm f/3.5-4.5")); - choices.insert(p_t(25551, "Minolta AF 70-210mm f/4 Macro")); - choices.insert(p_t(25551, "Sigma 70-210mm f/4-5.6 APO")); - choices.insert(p_t(25551, "Sigma M-AF 70-200mm f/2.8 EX APO")); - choices.insert(p_t(25551, "Sigma 75-200mm f/2.8-3.5")); - choices.insert(p_t(25561, "Minolta AF 135mm f/2.8")); - choices.insert(p_t(25571, "Minolta/Sony AF 28mm f/2.8")); - choices.insert(p_t(25581, "Minolta AF 24-50mm f/4")); - choices.insert(p_t(25601, "Minolta AF 100-200mm f/4.5")); - choices.insert(p_t(25611, "Minolta AF 75-300mm f/4.5-5.6")); - choices.insert(p_t(25611, "Sigma 70-300mm f/4-5.6 DL Macro")); - choices.insert(p_t(25611, "Sigma 300mm f/4 APO Macro")); - choices.insert(p_t(25611, "Sigma AF 500mm f/4.5 APO")); - choices.insert(p_t(25611, "Sigma AF 170-500mm f/5-6.3 APO Aspherical")); - choices.insert(p_t(25611, "Tokina AT-X AF 300mm f/4")); - choices.insert(p_t(25611, "Tokina AT-X AF 400mm f/5.6 SD")); - choices.insert(p_t(25611, "Tokina AF 730 II 75-300mm f/4.5-5.6")); - choices.insert(p_t(25611, "Sigma 800mm f/5.6 APO")); - choices.insert(p_t(25611, "Sigma AF 400mm f/5.6 APO Macro")); - choices.insert(p_t(25621, "Minolta AF 50mm f/1.4")); - choices.insert(p_t(25631, "Minolta AF 300mm f/2.8 APO")); - choices.insert(p_t(25631, "Sigma AF 50-500mm f/4-6.3 EX DG APO")); - choices.insert(p_t(25631, "Sigma AF 170-500mm f/5-6.3 APO Aspherical")); - choices.insert(p_t(25631, "Sigma AF 500mm f/4.5 EX DG APO")); - choices.insert(p_t(25631, "Sigma 400mm f/5.6 APO")); - choices.insert(p_t(25641, "Minolta AF 50mm f/2.8 Macro")); - choices.insert(p_t(25641, "Sigma AF 50mm f/2.8 EX Macro")); - choices.insert(p_t(25651, "Minolta AF 600mm f/4")); - choices.insert(p_t(25661, "Minolta AF 24mm f/2.8")); - choices.insert(p_t(25661, "Sigma 17-35mm f/2.8-4 EX Aspherical")); - choices.insert(p_t(25721, "Minolta/Sony AF 500mm f/8 Reflex")); - choices.insert(p_t(25781, "Minolta/Sony AF 16mm f/2.8 Fisheye")); - choices.insert(p_t(25781, "Sigma 8mm f/4 EX DG Fisheye")); - choices.insert(p_t(25781, "Sigma 14mm f/3.5")); - choices.insert(p_t(25781, "Sigma 15mm f/2.8 Fisheye")); - choices.insert(p_t(25791, "Minolta/Sony AF 20mm f/2.8")); - choices.insert(p_t(25791, "Tokina AT-X Pro DX 11-16mm f/2.8")); - choices.insert(p_t(25811, "Minolta/Sony AF 100mm f/2.8 Macro")); - choices.insert(p_t(25811, "Sigma AF 90mm f/2.8 Macro")); - choices.insert(p_t(25811, "Sigma AF 105mm f/2.8 EX DG Macro")); - choices.insert(p_t(25811, "Sigma 180mm f/5.6 Macro")); - choices.insert(p_t(25811, "Sigma 180mm f/3.5 EX DG Macro")); - choices.insert(p_t(25811, "Tamron 90mm f/2.8 Macro")); - choices.insert(p_t(25851, "Beroflex 35-135mm f/3.5-4.5")); - choices.insert(p_t(25858, "Minolta AF 35-105mm f/3.5-4.5")); - choices.insert(p_t(25858, "Tamron 24-135mm f/3.5-5.6")); - choices.insert(p_t(25881, "Minolta AF 70-210mm f/3.5-4.5")); - choices.insert(p_t(25891, "Minolta AF 80-200mm f/2.8 APO")); - choices.insert(p_t(25891, "Tokina 80-200mm f/2.8")); - choices.insert(p_t(25901, "Minolta AF 200mm f/2.8 G APO + Minolta AF 1.4x APO")); - choices.insert(p_t(25901, "Minolta AF 600mm f/4 HS-APO G + Minolta AF 1.4x APO")); - choices.insert(p_t(25911, "Minolta AF 35mm f/1.4")); - choices.insert(p_t(25921, "Minolta AF 85mm f/1.4 G (D)")); - choices.insert(p_t(25931, "Minolta AF 200mm f/2.8 G APO")); - choices.insert(p_t(25941, "Minolta AF 3x-1x f/1.7-2.8 Macro")); - choices.insert(p_t(25961, "Minolta AF 28mm f/2")); - choices.insert(p_t(25971, "Minolta AF 35mm f/2")); - choices.insert(p_t(25981, "Minolta AF 100mm f/2")); - choices.insert(p_t(26011, "Minolta AF 200mm f/2.8 G APO + Minolta AF 2x APO")); - choices.insert(p_t(26011, "Minolta AF 600mm f/4 HS-APO G + Minolta AF 2x APO")); - choices.insert(p_t(26041, "Minolta AF 80-200mm f/4.5-5.6")); - choices.insert(p_t(26051, "Minolta AF 35-80mm f/4-5.6")); - choices.insert(p_t(26061, "Minolta AF 100-300mm f/4.5-5.6")); - choices.insert(p_t(26071, "Minolta AF 35-80mm f/4-5.6")); - choices.insert(p_t(26081, "Minolta AF 300mm f/2.8 HS-APO G")); - choices.insert(p_t(26091, "Minolta AF 600mm f/4 HS-APO G")); - choices.insert(p_t(26121, "Minolta AF 200mm f/2.8 HS-APO G")); - choices.insert(p_t(26131, "Minolta AF 50mm f/1.7 New")); - choices.insert(p_t(26151, "Minolta AF 28-105mm f/3.5-4.5 xi")); - choices.insert(p_t(26161, "Minolta AF 35-200mm f/4.5-5.6 xi")); - choices.insert(p_t(26181, "Minolta AF 28-80mm f/4-5.6 xi")); - choices.insert(p_t(26191, "Minolta AF 80-200mm f/4.5-5.6 xi")); - choices.insert(p_t(26201, "Minolta AF 28-70mm f/2.8 G")); - choices.insert(p_t(26211, "Minolta AF 100-300mm f/4.5-5.6 xi")); - choices.insert(p_t(26241, "Minolta AF 35-80mm f/4-5.6 Power Zoom")); - choices.insert(p_t(26281, "Minolta AF 80-200mm f/2.8 G")); - choices.insert(p_t(26291, "Minolta AF 85mm f/1.4 New")); - choices.insert(p_t(26311, "Minolta/Sony AF 100-300mm f/4.5-5.6 APO")); - choices.insert(p_t(26321, "Minolta AF 24-50mm f/4 New")); - choices.insert(p_t(26381, "Minolta AF 50mm f/2.8 Macro New")); - choices.insert(p_t(26391, "Minolta AF 100mm f/2.8 Macro")); - choices.insert(p_t(26411, "Minolta/Sony AF 20mm f/2.8 New")); - choices.insert(p_t(26421, "Minolta AF 24mm f/2.8 New")); - choices.insert(p_t(26441, "Minolta AF 100-400mm f/4.5-6.7 APO")); - choices.insert(p_t(26621, "Minolta AF 50mm f/1.4 New")); - choices.insert(p_t(26671, "Minolta AF 35mm f/2 New")); - choices.insert(p_t(26681, "Minolta AF 28mm f/2 New")); - choices.insert(p_t(26721, "Minolta AF 24-105mm f/3.5-4.5 (D)")); - choices.insert(p_t(45671, "Tokina 70-210mm f/4-5.6")); - choices.insert(p_t(45741, "Tamron SP AF 90mm f/2.5")); - choices.insert(p_t(45741, "Tokina RF 500mm f/8.0 x2")); - choices.insert(p_t(45741, "Tokina 300mm f/2.8 x2")); - choices.insert(p_t(45741, "Minolta AF 200mm f/2.8 G x2")); - choices.insert(p_t(45851, "Tamron SP AF 300mm f/2.8 LD IF")); - choices.insert(p_t(45871, "Tamron AF 70-210mm f/2.8 SP LD")); - choices.insert(p_t(65535, "Sony E 16mm f/2.8")); - choices.insert(p_t(65535, "Sony E 18-55mm f/3.5-5.6 OSS")); - choices.insert(p_t(65535, "Sony E 55-210mm f/4.5-6.3 OSS")); - choices.insert(p_t(65535, "Sony E 18-200mm f/3.5-6.3 OSS")); - choices.insert(p_t(65535, "Sony E 30mm f/3.5 Macro")); - choices.insert(p_t(65535, "Sony E 24mm f/1.8 ZA")); - choices.insert(p_t(65535, "Sony E 50mm f/1.8 OSS")); - choices.insert(p_t(65535, "Sony E 16-70mm f/4 ZA OSS")); - choices.insert(p_t(65535, "Sony E 10-18mm f/4 OSS")); - choices.insert(p_t(65535, "Sony E PZ 16-50mm f/3.5-5.6 OSS")); - choices.insert(p_t(65535, "Sony FE 35mm f/2.8 ZA")); - choices.insert(p_t(65535, "Sony FE 24-70mm f/4 ZA OSS")); - choices.insert(p_t(65535, "Sony E 18-200mm f/3.5-6.3 OSS LE")); - choices.insert(p_t(65535, "Sony E 20mm f/2.8")); - choices.insert(p_t(65535, "Sony E 35mm f/1.8 OSS")); - choices.insert(p_t(65535, "Sony E PZ 18-200mm f/3.5-6.3 OSS")); - choices.insert(p_t(65535, "Sony FE 55mm f/1.8 ZA")); - choices.insert(p_t(65535, "Sony FE 28-70mm f/3.5-5.6 OSS")); - choices.insert(p_t(65535, "Sony E PZ 18-105mm f/4 G OSS")); - choices.insert(p_t(65535, "Sony FE 70-200mm f/4 G OSS")); - choices.insert(p_t(65535, "Sigma 19mm f/2.8 [EX] DN")); - choices.insert(p_t(65535, "Sigma 30mm f/2.8 [EX] DN")); - choices.insert(p_t(65535, "Sigma 60mm f/2.8 DN")); - choices.insert(p_t(65535, "Tamron 18-200mm f/3.5-6.3 Di III VC")); - choices.insert(p_t(65535, "Zeiss Touit 12mm f/2.8")); - choices.insert(p_t(65535, "Zeiss Touit 32mm f/1.8")); - choices.insert(p_t(65535, "Arax MC 35mm f/2.8 Tilt+Shift")); - choices.insert(p_t(65535, "Arax MC 80mm f/2.8 Tilt+Shift")); - choices.insert(p_t(65535, "Zenitar MF 16mm f/2.8 Fisheye M42")); - choices.insert(p_t(65535, "Samyang 500mm f/8 Mirror")); - choices.insert(p_t(65535, "Pentacon Auto 135mm f/2.8")); - choices.insert(p_t(65535, "Pentacon Auto 29mm f/2.8")); - choices.insert(p_t(65535, "Helios 44-2 58mm f/2")); + choices.insert(p_t(30, "Sigma 55-200mm F4-5.6 DC")); + choices.insert(p_t(31, "Minolta/Sony AF 50mm F2.8 Macro (D) or F3.5")); + choices.insert(p_t(31, "Minolta/Sony AF 50mm F3.5 Macro")); + choices.insert(p_t(32, "Minolta/Sony AF 300mm F2.8 G or 1.5x Teleconverter")); + choices.insert(p_t(33, "Minolta/Sony AF 70-200mm F2.8 G")); + choices.insert(p_t(35, "Minolta AF 85mm F1.4 G (D) Limited")); + choices.insert(p_t(36, "Minolta AF 28-100mm F3.5-5.6 (D)")); + choices.insert(p_t(38, "Minolta AF 17-35mm F2.8-4 (D)")); + choices.insert(p_t(39, "Minolta AF 28-75mm F2.8 (D)")); + choices.insert(p_t(40, "Minolta/Sony AF DT 18-70mm F3.5-5.6 (D)")); + choices.insert(p_t(41, "Minolta/Sony AF DT 11-18mm F4.5-5.6 (D) or Tamron Lens")); + choices.insert(p_t(41, "Tamron SP AF 11-18mm F4.5-5.6 Di II LD Aspherical IF")); + choices.insert(p_t(42, "Minolta/Sony AF DT 18-200mm F3.5-6.3 (D)")); + choices.insert(p_t(43, "Sony 35mm F1.4 G (SAL35F14G)")); + choices.insert(p_t(44, "Sony 50mm F1.4 (SAL50F14)")); + choices.insert(p_t(45, "Carl Zeiss Planar T* 85mm F1.4 ZA (SAL85F14Z)")); + choices.insert(p_t(46, "Carl Zeiss Vario-Sonnar T* DT 16-80mm F3.5-4.5 ZA (SAL1680Z)")); + choices.insert(p_t(47, "Carl Zeiss Sonnar T* 135mm F1.8 ZA (SAL135F18Z)")); + choices.insert(p_t(48, "Carl Zeiss Vario-Sonnar T* 24-70mm F2.8 ZA SSM (SAL2470Z) or ZA SSM II")); + choices.insert(p_t(48, "Carl Zeiss Vario-Sonnar T* 24-70mm F2.8 ZA SSM II (SAL2470Z2)")); + choices.insert(p_t(49, "Sony DT 55-200mm F4-5.6 (SAL55200)")); + choices.insert(p_t(50, "Sony DT 18-250mm F3.5-6.3 (SAL18250)")); + choices.insert(p_t(51, "Sony DT 16-105mm F3.5-5.6 (SAL16105)")); + choices.insert(p_t(52, "Sony 70-300mm F4.5-5.6 G SSM (SAL70300G) or G SSM II or Tamron Lens")); + choices.insert(p_t(52, "Sony 70-300mm F4.5-5.6 G SSM II (SAL70300G2)")); + choices.insert(p_t(52, "Tamron SP 70-300mm F4-5.6 Di USD")); + choices.insert(p_t(53, "Sony 70-400mm F4-5.6 G SSM (SAL70400G)")); + choices.insert(p_t(54, "Carl Zeiss Vario-Sonnar T* 16-35mm F2.8 ZA SSM (SAL1635Z) or ZA SSM II")); + choices.insert(p_t(54, "Carl Zeiss Vario-Sonnar T* 16-35mm F2.8 ZA SSM II (SAL1635Z2)")); + choices.insert(p_t(55, "Sony DT 18-55mm F3.5-5.6 SAM (SAL1855) or SAM II")); + choices.insert(p_t(55, "Sony DT 18-55mm F3.5-5.6 SAM II (SAL18552)")); + choices.insert(p_t(56, "Sony DT 55-200mm F4-5.6 SAM (SAL55200-2)")); + choices.insert(p_t(57, "Sony DT 50mm F1.8 SAM (SAL50F18) or Tamron Lens")); + choices.insert(p_t(57, "Tamron SP AF 60mm F2 Di II LD [IF] Macro 1:1")); + choices.insert(p_t(57, "Tamron 18-270mm F3.5-6.3 Di II PZD")); + choices.insert(p_t(58, "Sony DT 30mm F2.8 Macro SAM (SAL30M28)")); + choices.insert(p_t(59, "Sony 28-75mm F2.8 SAM (SAL2875)")); + choices.insert(p_t(60, "Carl Zeiss Distagon T* 24mm F2 ZA SSM (SAL24F20Z)")); + choices.insert(p_t(61, "Sony 85mm F2.8 SAM (SAL85F28)")); + choices.insert(p_t(62, "Sony DT 35mm F1.8 SAM (SAL35F18)")); + choices.insert(p_t(63, "Sony DT 16-50mm F2.8 SSM (SAL1650)")); + choices.insert(p_t(64, "Sony 500mm F4 G SSM (SAL500F40G)")); + choices.insert(p_t(65, "Sony DT 18-135mm F3.5-5.6 SAM (SAL18135)")); + choices.insert(p_t(66, "Sony 300mm F2.8 G SSM II (SAL300F28G2)")); + choices.insert(p_t(67, "Sony 70-200mm F2.8 G SSM II (SAL70200G2)")); + choices.insert(p_t(68, "Sony DT 55-300mm F4.5-5.6 SAM (SAL55300)")); + choices.insert(p_t(69, "Sony 70-400mm F4-5.6 G SSM II (SAL70400G2)")); + choices.insert(p_t(70, "Carl Zeiss Planar T* 50mm F1.4 ZA SSM (SAL50F14Z)")); + choices.insert(p_t(128, "Tamron or Sigma Lens (128)")); + choices.insert(p_t(128, "Tamron AF 18-200mm F3.5-6.3 XR Di II LD Aspherical [IF] Macro")); + choices.insert(p_t(128, "Tamron AF 28-300mm F3.5-6.3 XR Di LD Aspherical [IF] Macro")); + choices.insert(p_t(128, "Tamron 80-300mm F3.5-6.3")); + choices.insert(p_t(128, "Tamron AF 28-200mm F3.8-5.6 XR Di Aspherical [IF] Macro")); + choices.insert(p_t(128, "Tamron SP AF 17-35mm F2.8-4 Di LD Aspherical IF")); + choices.insert(p_t(128, "Sigma AF 50-150mm F2.8 EX DC APO HSM II")); + choices.insert(p_t(128, "Sigma 10-20mm F3.5 EX DC HSM")); + choices.insert(p_t(128, "Sigma 70-200mm F2.8 II EX DG APO MACRO HSM")); + choices.insert(p_t(128, "Sigma 10mm F2.8 EX DC HSM Fisheye")); + choices.insert(p_t(128, "Sigma 50mm F1.4 EX DG HSM")); + choices.insert(p_t(128, "Sigma 85mm F1.4 EX DG HSM")); + choices.insert(p_t(128, "Sigma 24-70mm F2.8 IF EX DG HSM")); + choices.insert(p_t(128, "Sigma 18-250mm F3.5-6.3 DC OS HSM")); + choices.insert(p_t(128, "Sigma 17-50mm F2.8 EX DC HSM")); + choices.insert(p_t(128, "Sigma 17-70mm F2.8-4 DC Macro HSM")); + choices.insert(p_t(128, "Sigma 150mm F2.8 EX DG OS HSM APO Macro")); + choices.insert(p_t(128, "Sigma 150-500mm F5-6.3 APO DG OS HSM")); + choices.insert(p_t(128, "Tamron AF 28-105mm F4-5.6 [IF]")); + choices.insert(p_t(128, "Sigma 35mm F1.4 DG HSM")); + choices.insert(p_t(128, "Sigma 18-35mm F1.8 DC HSM")); + choices.insert(p_t(129, "Tamron Lens (129)")); + choices.insert(p_t(129, "Tamron 200-400mm F5.6 LD")); + choices.insert(p_t(129, "Tamron 70-300mm F4-5.6 LD")); + choices.insert(p_t(131, "Tamron 20-40mm F2.7-3.5 SP Aspherical IF")); + choices.insert(p_t(135, "Vivitar 28-210mm F3.5-5.6")); + choices.insert(p_t(136, "Tokina EMZ M100 AF 100mm F3.5")); + choices.insert(p_t(137, "Cosina 70-210mm F2.8-4 AF")); + choices.insert(p_t(138, "Soligor 19-35mm F3.5-4.5")); + choices.insert(p_t(139, "Tokina AF 28-300mm F4-6.3")); + choices.insert(p_t(142, "Voigtlander 70-300mm F4.5-5.6")); + choices.insert(p_t(146, "Voigtlander Macro APO-Lanthar 125mm F2.5 SL")); + choices.insert(p_t(194, "Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical [IF]")); + choices.insert(p_t(203, "Tamron SP 70-200mm F2.8 Di USD")); + choices.insert(p_t(204, "Tamron SP 24-70mm F2.8 Di USD")); + choices.insert(p_t(213, "Tamron 16-300mm F3.5-6.3 Di II PZD")); + choices.insert(p_t(214, "Tamron SP 150-600mm F5-6.3 Di USD")); + choices.insert(p_t(224, "Tamron SP 90mm F2.8 Di Macro 1:1 USD")); + choices.insert(p_t(255, "Tamron Lens (255)")); + choices.insert(p_t(255, "Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical")); + choices.insert(p_t(255, "Tamron AF 18-250mm F3.5-6.3 XR Di II LD")); + choices.insert(p_t(255, "Tamron AF 55-200mm F4-5.6 Di II LD Macro")); + choices.insert(p_t(255, "Tamron AF 70-300mm F4-5.6 Di LD Macro 1:2")); + choices.insert(p_t(255, "Tamron SP AF 200-500mm F5.0-6.3 Di LD IF")); + choices.insert(p_t(255, "Tamron SP AF 10-24mm F3.5-4.5 Di II LD Aspherical IF")); + choices.insert(p_t(255, "Tamron SP AF 70-200mm F2.8 Di LD IF Macro")); + choices.insert(p_t(255, "Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical IF")); + choices.insert(p_t(255, "Tamron AF 90-300mm F4.5-5.6 Telemacro")); + choices.insert(p_t(2550, "Minolta AF 50mm F1.7")); + choices.insert(p_t(2551, "Minolta AF 35-70mm F4 or Other Lens")); + choices.insert(p_t(2551, "Sigma UC AF 28-70mm F3.5-4.5")); + choices.insert(p_t(2551, "Sigma AF 28-70mm F2.8")); + choices.insert(p_t(2551, "Sigma M-AF 70-200mm F2.8 EX Aspherical")); + choices.insert(p_t(2551, "Quantaray M-AF 35-80mm F4-5.6")); + choices.insert(p_t(2551, "Tokina 28-70mm F2.8-4.5 AF")); + choices.insert(p_t(2552, "Minolta AF 28-85mm F3.5-4.5 or Other Lens")); + choices.insert(p_t(2552, "Tokina 19-35mm F3.5-4.5")); + choices.insert(p_t(2552, "Tokina 28-70mm F2.8 AT-X")); + choices.insert(p_t(2552, "Tokina 80-400mm F4.5-5.6 AT-X AF II 840")); + choices.insert(p_t(2552, "Tokina AF PRO 28-80mm F2.8 AT-X 280")); + choices.insert(p_t(2552, "Tokina AT-X PRO [II] AF 28-70mm F2.6-2.8 270")); + choices.insert(p_t(2552, "Tamron AF 19-35mm F3.5-4.5")); + choices.insert(p_t(2552, "Angenieux AF 28-70mm F2.6")); + choices.insert(p_t(2552, "Tokina AT-X 17 AF 17mm F3.5")); + choices.insert(p_t(2552, "Tokina 20-35mm F3.5-4.5 II AF")); + choices.insert(p_t(2553, "Minolta AF 28-135mm F4-4.5 or Sigma Lens")); + choices.insert(p_t(2553, "Sigma ZOOM-alpha 35-135mm F3.5-4.5")); + choices.insert(p_t(2553, "Sigma 28-105mm F2.8-4 Aspherical")); + choices.insert(p_t(2553, "Sigma 28-105mm F4-5.6 UC")); + choices.insert(p_t(2554, "Minolta AF 35-105mm F3.5-4.5")); + choices.insert(p_t(2555, "Minolta AF 70-210mm F4 Macro or Sigma Lens")); + choices.insert(p_t(2555, "Sigma 70-210mm F4-5.6 APO")); + choices.insert(p_t(2555, "Sigma M-AF 70-200mm F2.8 EX APO")); + choices.insert(p_t(2555, "Sigma 75-200mm F2.8-3.5")); + choices.insert(p_t(2556, "Minolta AF 135mm F2.8")); + choices.insert(p_t(2557, "Minolta/Sony AF 28mm F2.8")); + choices.insert(p_t(2558, "Minolta AF 24-50mm F4")); + choices.insert(p_t(2560, "Minolta AF 100-200mm F4.5")); + choices.insert(p_t(2561, "Minolta AF 75-300mm F4.5-5.6 or Sigma Lens")); + choices.insert(p_t(2561, "Sigma 70-300mm F4-5.6 DL Macro")); + choices.insert(p_t(2561, "Sigma 300mm F4 APO Macro")); + choices.insert(p_t(2561, "Sigma AF 500mm F4.5 APO")); + choices.insert(p_t(2561, "Sigma AF 170-500mm F5-6.3 APO Aspherical")); + choices.insert(p_t(2561, "Tokina AT-X AF 300mm F4")); + choices.insert(p_t(2561, "Tokina AT-X AF 400mm F5.6 SD")); + choices.insert(p_t(2561, "Tokina AF 730 II 75-300mm F4.5-5.6")); + choices.insert(p_t(2561, "Sigma 800mm F5.6 APO")); + choices.insert(p_t(2561, "Sigma AF 400mm F5.6 APO Macro")); + choices.insert(p_t(2562, "Minolta AF 50mm F1.4 [New]")); + choices.insert(p_t(2563, "Minolta AF 300mm F2.8 APO or Sigma Lens")); + choices.insert(p_t(2563, "Sigma AF 50-500mm F4-6.3 EX DG APO")); + choices.insert(p_t(2563, "Sigma AF 170-500mm F5-6.3 APO Aspherical")); + choices.insert(p_t(2563, "Sigma AF 500mm F4.5 EX DG APO")); + choices.insert(p_t(2563, "Sigma 400mm F5.6 APO")); + choices.insert(p_t(2564, "Minolta AF 50mm F2.8 Macro or Sigma Lens")); + choices.insert(p_t(2564, "Sigma 50mm F2.8 EX Macro")); + choices.insert(p_t(2565, "Minolta AF 600mm F4")); + choices.insert(p_t(2566, "Minolta AF 24mm F2.8 or Sigma Lens")); + choices.insert(p_t(2566, "Sigma 17-35mm F2.8-4 EX Aspherical")); + choices.insert(p_t(2572, "Minolta/Sony AF 500mm F8 Reflex")); + choices.insert(p_t(2578, "Minolta/Sony AF 16mm F2.8 Fisheye or Sigma Lens")); + choices.insert(p_t(2578, "Sigma 8mm F4 EX [DG] Fisheye")); + choices.insert(p_t(2578, "Sigma 14mm F3.5")); + choices.insert(p_t(2578, "Sigma 15mm F2.8 Fisheye")); + choices.insert(p_t(2579, "Minolta/Sony AF 20mm F2.8 or Tokina Lens")); + choices.insert(p_t(2579, "Tokina AT-X Pro DX 11-16mm F2.8")); + choices.insert(p_t(2581, "Minolta AF 100mm F2.8 Macro [New] or Sigma or Tamron Lens")); + choices.insert(p_t(2581, "Sigma AF 90mm F2.8 Macro")); + choices.insert(p_t(2581, "Sigma AF 105mm F2.8 EX [DG] Macro")); + choices.insert(p_t(2581, "Sigma 180mm F5.6 Macro")); + choices.insert(p_t(2581, "Sigma 180mm F3.5 EX DG Macro")); + choices.insert(p_t(2581, "Tamron 90mm F2.8 Macro")); + choices.insert(p_t(2585, "Minolta AF 35-105mm F3.5-4.5 New or Tamron Lens")); + choices.insert(p_t(2585, "Beroflex 35-135mm F3.5-4.5")); + choices.insert(p_t(2585, "Tamron 24-135mm F3.5-5.6")); + choices.insert(p_t(2588, "Minolta AF 70-210mm F3.5-4.5")); + choices.insert(p_t(2589, "Minolta AF 80-200mm F2.8 APO or Tokina Lens")); + choices.insert(p_t(2589, "Tokina 80-200mm F2.8")); + choices.insert(p_t(2590, "Minolta AF 200mm F2.8 G APO + Minolta AF 1.4x APO or Other Lens + 1.4x")); + choices.insert(p_t(2590, "Minolta AF 600mm F4 HS-APO G + Minolta AF 1.4x APO")); + choices.insert(p_t(2591, "Minolta AF 35mm F1.4")); + choices.insert(p_t(2592, "Minolta AF 85mm F1.4 G (D)")); + choices.insert(p_t(2593, "Minolta AF 200mm F2.8 G APO")); + choices.insert(p_t(2594, "Minolta AF 3x-1x F1.7-2.8 Macro")); + choices.insert(p_t(2596, "Minolta AF 28mm F2")); + choices.insert(p_t(2597, "Minolta AF 35mm F2 [New]")); + choices.insert(p_t(2598, "Minolta AF 100mm F2")); + choices.insert(p_t(2601, "Minolta AF 200mm F2.8 G APO + Minolta AF 2x APO or Other Lens + 2x")); + choices.insert(p_t(2601, "Minolta AF 600mm F4 HS-APO G + Minolta AF 2x APO")); + choices.insert(p_t(2604, "Minolta AF 80-200mm F4.5-5.6")); + choices.insert(p_t(2605, "Minolta AF 35-80mm F4-5.6")); + choices.insert(p_t(2606, "Minolta AF 100-300mm F4.5-5.6")); + choices.insert(p_t(2607, "Minolta AF 35-80mm F4-5.6")); + choices.insert(p_t(2608, "Minolta AF 300mm F2.8 HS-APO G")); + choices.insert(p_t(2609, "Minolta AF 600mm F4 HS-APO G")); + choices.insert(p_t(2612, "Minolta AF 200mm F2.8 HS-APO G")); + choices.insert(p_t(2613, "Minolta AF 50mm F1.7 New")); + choices.insert(p_t(2615, "Minolta AF 28-105mm F3.5-4.5 xi")); + choices.insert(p_t(2616, "Minolta AF 35-200mm F4.5-5.6 xi")); + choices.insert(p_t(2618, "Minolta AF 28-80mm F4-5.6 xi")); + choices.insert(p_t(2619, "Minolta AF 80-200mm F4.5-5.6 xi")); + choices.insert(p_t(2620, "Minolta AF 28-70mm F2.8 G")); + choices.insert(p_t(2621, "Minolta AF 100-300mm F4.5-5.6 xi")); + choices.insert(p_t(2624, "Minolta AF 35-80mm F4-5.6 Power Zoom")); + choices.insert(p_t(2628, "Minolta AF 80-200mm F2.8 G")); + choices.insert(p_t(2629, "Minolta AF 85mm F1.4 New")); + choices.insert(p_t(2631, "Minolta/Sony AF 100-300mm F4.5-5.6 APO")); + choices.insert(p_t(2632, "Minolta AF 24-50mm F4 New")); + choices.insert(p_t(2638, "Minolta AF 50mm F2.8 Macro New")); + choices.insert(p_t(2639, "Minolta AF 100mm F2.8 Macro")); + choices.insert(p_t(2641, "Minolta/Sony AF 20mm F2.8 New")); + choices.insert(p_t(2642, "Minolta AF 24mm F2.8 New")); + choices.insert(p_t(2644, "Minolta AF 100-400mm F4.5-6.7 APO")); + choices.insert(p_t(2662, "Minolta AF 50mm F1.4 New")); + choices.insert(p_t(2667, "Minolta AF 35mm F2 New")); + choices.insert(p_t(2668, "Minolta AF 28mm F2 New")); + choices.insert(p_t(2672, "Minolta AF 24-105mm F3.5-4.5 (D)")); + choices.insert(p_t(3046, "Metabones Canon EF Speed Booster")); + choices.insert(p_t(4567, "Tokina 70-210mm F4-5.6")); + choices.insert(p_t(4571, "Vivitar 70-210mm F4.5-5.6")); + choices.insert(p_t(4574, "2x Teleconverter or Tamron or Tokina Lens")); + choices.insert(p_t(4574, "Tamron SP AF 90mm F2.5")); + choices.insert(p_t(4574, "Tokina RF 500mm F8.0 x2")); + choices.insert(p_t(4574, "Tokina 300mm F2.8 x2")); + choices.insert(p_t(4575, "1.4x Teleconverter")); + choices.insert(p_t(4585, "Tamron SP AF 300mm F2.8 LD IF")); + choices.insert(p_t(4586, "Tamron SP AF 35-105mm F2.8 LD Aspherical IF")); + choices.insert(p_t(4587, "Tamron AF 70-210mm F2.8 SP LD")); + choices.insert(p_t(6118, "Metabones Canon EF Adapter")); + choices.insert(p_t(6553, "E-Mount, T-Mount, Other Lens or no lens")); + choices.insert(p_t(6553, "Sony E 16mm F2.8")); + choices.insert(p_t(6553, "Sony E 18-55mm F3.5-5.6 OSS")); + choices.insert(p_t(6553, "Sony E 55-210mm F4.5-6.3 OSS")); + choices.insert(p_t(6553, "Sony E 18-200mm F3.5-6.3 OSS")); + choices.insert(p_t(6553, "Sony E 30mm F3.5 Macro")); + choices.insert(p_t(6553, "Sony E 24mm F1.8 ZA")); + choices.insert(p_t(6553, "Sony E 50mm F1.8 OSS")); + choices.insert(p_t(6553, "Sony E 16-70mm F4 ZA OSS")); + choices.insert(p_t(6553, "Sony E 10-18mm F4 OSS")); + choices.insert(p_t(6553, "Sony E PZ 16-50mm F3.5-5.6 OSS")); + choices.insert(p_t(6553, "Sony FE 35mm F2.8 ZA")); + choices.insert(p_t(6553, "Sony FE 24-70mm F4 ZA OSS")); + choices.insert(p_t(6553, "Sony E 18-200mm F3.5-6.3 OSS LE")); + choices.insert(p_t(6553, "Sony E 20mm F2.8")); + choices.insert(p_t(6553, "Sony E 35mm F1.8 OSS")); + choices.insert(p_t(6553, "Sony E PZ 18-105mm F4 G OSS")); + choices.insert(p_t(6553, "Sony FE 90mm F2.8 Macro G OSS")); + choices.insert(p_t(6553, "Sony E 18-50mm F4-5.6")); + choices.insert(p_t(6553, "Sony E PZ 18-200mm F3.5-6.3 OSS")); + choices.insert(p_t(6553, "Sony FE 55mm F1.8 ZA")); + choices.insert(p_t(6553, "Sony FE 70-200mm F4 G OSS")); + choices.insert(p_t(6553, "Sony FE 16-35mm F4 ZA OSS")); + choices.insert(p_t(6553, "Sony FE 28-70mm F3.5-5.6 OSS")); + choices.insert(p_t(6553, "Sony FE 35mm F1.4 ZA")); + choices.insert(p_t(6553, "Sony FE 24-240mm F3.5-6.3 OSS")); + choices.insert(p_t(6553, "Sony FE 28mm F2")); + choices.insert(p_t(6553, "Sony FE PZ 28-135mm F4 G OSS")); + choices.insert(p_t(6553, "Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)")); + choices.insert(p_t(6553, "Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)")); + choices.insert(p_t(6553, "Sigma 19mm F2.8 [EX] DN")); + choices.insert(p_t(6553, "Sigma 30mm F2.8 [EX] DN")); + choices.insert(p_t(6553, "Sigma 60mm F2.8 DN")); + choices.insert(p_t(6553, "Tamron 18-200mm F3.5-6.3 Di III VC")); + choices.insert(p_t(6553, "Zeiss Batis 25mm F2")); + choices.insert(p_t(6553, "Zeiss Batis 85mm F1.8")); + choices.insert(p_t(6553, "Zeiss Loxia 35mm F2")); + choices.insert(p_t(6553, "Zeiss Loxia 50mm F2")); + choices.insert(p_t(6553, "Zeiss Touit 12mm F2.8")); + choices.insert(p_t(6553, "Zeiss Touit 32mm F1.8")); + choices.insert(p_t(6553, "Zeiss Touit 50mm F2.8 Macro")); + choices.insert(p_t(6553, "Arax MC 35mm F2.8 Tilt+Shift")); + choices.insert(p_t(6553, "Arax MC 80mm F2.8 Tilt+Shift")); + choices.insert(p_t(6553, "Zenitar MF 16mm F2.8 Fisheye M42")); + choices.insert(p_t(6553, "Samyang 500mm Mirror F8.0")); + choices.insert(p_t(6553, "Pentacon Auto 135mm F2.8")); + choices.insert(p_t(6553, "Pentacon Auto 29mm F2.8")); + choices.insert(p_t(6553, "Helios 44-2 58mm F2.0")); + choices.insert(p_t(25501, "Minolta AF 50mm F1.7")); + choices.insert(p_t(25511, "Minolta AF 35-70mm F4 or Other Lens")); + choices.insert(p_t(25511, "Sigma UC AF 28-70mm F3.5-4.5")); + choices.insert(p_t(25511, "Sigma AF 28-70mm F2.8")); + choices.insert(p_t(25511, "Sigma M-AF 70-200mm F2.8 EX Aspherical")); + choices.insert(p_t(25511, "Quantaray M-AF 35-80mm F4-5.6")); + choices.insert(p_t(25511, "Tokina 28-70mm F2.8-4.5 AF")); + choices.insert(p_t(25521, "Minolta AF 28-85mm F3.5-4.5 or Other Lens")); + choices.insert(p_t(25521, "Tokina 19-35mm F3.5-4.5")); + choices.insert(p_t(25521, "Tokina 28-70mm F2.8 AT-X")); + choices.insert(p_t(25521, "Tokina 80-400mm F4.5-5.6 AT-X AF II 840")); + choices.insert(p_t(25521, "Tokina AF PRO 28-80mm F2.8 AT-X 280")); + choices.insert(p_t(25521, "Tokina AT-X PRO [II] AF 28-70mm F2.6-2.8 270")); + choices.insert(p_t(25521, "Tamron AF 19-35mm F3.5-4.5")); + choices.insert(p_t(25521, "Angenieux AF 28-70mm F2.6")); + choices.insert(p_t(25521, "Tokina AT-X 17 AF 17mm F3.5")); + choices.insert(p_t(25521, "Tokina 20-35mm F3.5-4.5 II AF")); + choices.insert(p_t(25531, "Minolta AF 28-135mm F4-4.5 or Sigma Lens")); + choices.insert(p_t(25531, "Sigma ZOOM-alpha 35-135mm F3.5-4.5")); + choices.insert(p_t(25531, "Sigma 28-105mm F2.8-4 Aspherical")); + choices.insert(p_t(25531, "Sigma 28-105mm F4-5.6 UC")); + choices.insert(p_t(25541, "Minolta AF 35-105mm F3.5-4.5")); + choices.insert(p_t(25551, "Minolta AF 70-210mm F4 Macro or Sigma Lens")); + choices.insert(p_t(25551, "Sigma 70-210mm F4-5.6 APO")); + choices.insert(p_t(25551, "Sigma M-AF 70-200mm F2.8 EX APO")); + choices.insert(p_t(25551, "Sigma 75-200mm F2.8-3.5")); + choices.insert(p_t(25561, "Minolta AF 135mm F2.8")); + choices.insert(p_t(25571, "Minolta/Sony AF 28mm F2.8")); + choices.insert(p_t(25581, "Minolta AF 24-50mm F4")); + choices.insert(p_t(25601, "Minolta AF 100-200mm F4.5")); + choices.insert(p_t(25611, "Minolta AF 75-300mm F4.5-5.6 or Sigma Lens")); + choices.insert(p_t(25611, "Sigma 70-300mm F4-5.6 DL Macro")); + choices.insert(p_t(25611, "Sigma 300mm F4 APO Macro")); + choices.insert(p_t(25611, "Sigma AF 500mm F4.5 APO")); + choices.insert(p_t(25611, "Sigma AF 170-500mm F5-6.3 APO Aspherical")); + choices.insert(p_t(25611, "Tokina AT-X AF 300mm F4")); + choices.insert(p_t(25611, "Tokina AT-X AF 400mm F5.6 SD")); + choices.insert(p_t(25611, "Tokina AF 730 II 75-300mm F4.5-5.6")); + choices.insert(p_t(25611, "Sigma 800mm F5.6 APO")); + choices.insert(p_t(25611, "Sigma AF 400mm F5.6 APO Macro")); + choices.insert(p_t(25621, "Minolta AF 50mm F1.4 [New]")); + choices.insert(p_t(25631, "Minolta AF 300mm F2.8 APO or Sigma Lens")); + choices.insert(p_t(25631, "Sigma AF 50-500mm F4-6.3 EX DG APO")); + choices.insert(p_t(25631, "Sigma AF 170-500mm F5-6.3 APO Aspherical")); + choices.insert(p_t(25631, "Sigma AF 500mm F4.5 EX DG APO")); + choices.insert(p_t(25631, "Sigma 400mm F5.6 APO")); + choices.insert(p_t(25641, "Minolta AF 50mm F2.8 Macro or Sigma Lens")); + choices.insert(p_t(25641, "Sigma 50mm F2.8 EX Macro")); + choices.insert(p_t(25651, "Minolta AF 600mm F4")); + choices.insert(p_t(25661, "Minolta AF 24mm F2.8 or Sigma Lens")); + choices.insert(p_t(25661, "Sigma 17-35mm F2.8-4 EX Aspherical")); + choices.insert(p_t(25721, "Minolta/Sony AF 500mm F8 Reflex")); + choices.insert(p_t(25781, "Minolta/Sony AF 16mm F2.8 Fisheye or Sigma Lens")); + choices.insert(p_t(25781, "Sigma 8mm F4 EX [DG] Fisheye")); + choices.insert(p_t(25781, "Sigma 14mm F3.5")); + choices.insert(p_t(25781, "Sigma 15mm F2.8 Fisheye")); + choices.insert(p_t(25791, "Minolta/Sony AF 20mm F2.8 or Tokina Lens")); + choices.insert(p_t(25791, "Tokina AT-X Pro DX 11-16mm F2.8")); + choices.insert(p_t(25811, "Minolta AF 100mm F2.8 Macro [New] or Sigma or Tamron Lens")); + choices.insert(p_t(25811, "Sigma AF 90mm F2.8 Macro")); + choices.insert(p_t(25811, "Sigma AF 105mm F2.8 EX [DG] Macro")); + choices.insert(p_t(25811, "Sigma 180mm F5.6 Macro")); + choices.insert(p_t(25811, "Sigma 180mm F3.5 EX DG Macro")); + choices.insert(p_t(25811, "Tamron 90mm F2.8 Macro")); + choices.insert(p_t(25851, "Beroflex 35-135mm F3.5-4.5")); + choices.insert(p_t(25858, "Minolta AF 35-105mm F3.5-4.5 New or Tamron Lens")); + choices.insert(p_t(25858, "Tamron 24-135mm F3.5-5.6")); + choices.insert(p_t(25881, "Minolta AF 70-210mm F3.5-4.5")); + choices.insert(p_t(25891, "Minolta AF 80-200mm F2.8 APO or Tokina Lens")); + choices.insert(p_t(25891, "Tokina 80-200mm F2.8")); + choices.insert(p_t(25901, "Minolta AF 200mm F2.8 G APO + Minolta AF 1.4x APO or Other Lens + 1.4x")); + choices.insert(p_t(25901, "Minolta AF 600mm F4 HS-APO G + Minolta AF 1.4x APO")); + choices.insert(p_t(25911, "Minolta AF 35mm F1.4")); + choices.insert(p_t(25921, "Minolta AF 85mm F1.4 G (D)")); + choices.insert(p_t(25931, "Minolta AF 200mm F2.8 G APO")); + choices.insert(p_t(25941, "Minolta AF 3x-1x F1.7-2.8 Macro")); + choices.insert(p_t(25961, "Minolta AF 28mm F2")); + choices.insert(p_t(25971, "Minolta AF 35mm F2 [New]")); + choices.insert(p_t(25981, "Minolta AF 100mm F2")); + choices.insert(p_t(26011, "Minolta AF 200mm F2.8 G APO + Minolta AF 2x APO or Other Lens + 2x")); + choices.insert(p_t(26011, "Minolta AF 600mm F4 HS-APO G + Minolta AF 2x APO")); + choices.insert(p_t(26041, "Minolta AF 80-200mm F4.5-5.6")); + choices.insert(p_t(26051, "Minolta AF 35-80mm F4-5.6")); + choices.insert(p_t(26061, "Minolta AF 100-300mm F4.5-5.6")); + choices.insert(p_t(26071, "Minolta AF 35-80mm F4-5.6")); + choices.insert(p_t(26081, "Minolta AF 300mm F2.8 HS-APO G")); + choices.insert(p_t(26091, "Minolta AF 600mm F4 HS-APO G")); + choices.insert(p_t(26121, "Minolta AF 200mm F2.8 HS-APO G")); + choices.insert(p_t(26131, "Minolta AF 50mm F1.7 New")); + choices.insert(p_t(26151, "Minolta AF 28-105mm F3.5-4.5 xi")); + choices.insert(p_t(26161, "Minolta AF 35-200mm F4.5-5.6 xi")); + choices.insert(p_t(26181, "Minolta AF 28-80mm F4-5.6 xi")); + choices.insert(p_t(26191, "Minolta AF 80-200mm F4.5-5.6 xi")); + choices.insert(p_t(26201, "Minolta AF 28-70mm F2.8 G")); + choices.insert(p_t(26211, "Minolta AF 100-300mm F4.5-5.6 xi")); + choices.insert(p_t(26241, "Minolta AF 35-80mm F4-5.6 Power Zoom")); + choices.insert(p_t(26281, "Minolta AF 80-200mm F2.8 G")); + choices.insert(p_t(26291, "Minolta AF 85mm F1.4 New")); + choices.insert(p_t(26311, "Minolta/Sony AF 100-300mm F4.5-5.6 APO")); + choices.insert(p_t(26321, "Minolta AF 24-50mm F4 New")); + choices.insert(p_t(26381, "Minolta AF 50mm F2.8 Macro New")); + choices.insert(p_t(26391, "Minolta AF 100mm F2.8 Macro")); + choices.insert(p_t(26411, "Minolta/Sony AF 20mm F2.8 New")); + choices.insert(p_t(26421, "Minolta AF 24mm F2.8 New")); + choices.insert(p_t(26441, "Minolta AF 100-400mm F4.5-6.7 APO")); + choices.insert(p_t(26621, "Minolta AF 50mm F1.4 New")); + choices.insert(p_t(26671, "Minolta AF 35mm F2 New")); + choices.insert(p_t(26681, "Minolta AF 28mm F2 New")); + choices.insert(p_t(26721, "Minolta AF 24-105mm F3.5-4.5 (D)")); + choices.insert(p_t(30464, "Metabones Canon EF Speed Booster")); + choices.insert(p_t(45671, "Tokina 70-210mm F4-5.6")); + choices.insert(p_t(45711, "Vivitar 70-210mm F4.5-5.6")); + choices.insert(p_t(45741, "2x Teleconverter or Tamron or Tokina Lens")); + choices.insert(p_t(45741, "Tamron SP AF 90mm F2.5")); + choices.insert(p_t(45741, "Tokina RF 500mm F8.0 x2")); + choices.insert(p_t(45741, "Tokina 300mm F2.8 x2")); + choices.insert(p_t(45751, "1.4x Teleconverter")); + choices.insert(p_t(45851, "Tamron SP AF 300mm F2.8 LD IF")); + choices.insert(p_t(45861, "Tamron SP AF 35-105mm F2.8 LD Aspherical IF")); + choices.insert(p_t(45871, "Tamron AF 70-210mm F2.8 SP LD")); + choices.insert(p_t(61184, "Metabones Canon EF Adapter")); + choices.insert(p_t(65535, "E-Mount, T-Mount, Other Lens or no lens")); + choices.insert(p_t(65535, "Sony E 16mm F2.8")); + choices.insert(p_t(65535, "Sony E 18-55mm F3.5-5.6 OSS")); + choices.insert(p_t(65535, "Sony E 55-210mm F4.5-6.3 OSS")); + choices.insert(p_t(65535, "Sony E 18-200mm F3.5-6.3 OSS")); + choices.insert(p_t(65535, "Sony E 30mm F3.5 Macro")); + choices.insert(p_t(65535, "Sony E 24mm F1.8 ZA")); + choices.insert(p_t(65535, "Sony E 50mm F1.8 OSS")); + choices.insert(p_t(65535, "Sony E 16-70mm F4 ZA OSS")); + choices.insert(p_t(65535, "Sony E 10-18mm F4 OSS")); + choices.insert(p_t(65535, "Sony E PZ 16-50mm F3.5-5.6 OSS")); + choices.insert(p_t(65535, "Sony FE 35mm F2.8 ZA")); + choices.insert(p_t(65535, "Sony FE 24-70mm F4 ZA OSS")); + choices.insert(p_t(65535, "Sony E 18-200mm F3.5-6.3 OSS LE")); + choices.insert(p_t(65535, "Sony E 20mm F2.8")); + choices.insert(p_t(65535, "Sony E 35mm F1.8 OSS")); + choices.insert(p_t(65535, "Sony E PZ 18-105mm F4 G OSS")); + choices.insert(p_t(65535, "Sony FE 90mm F2.8 Macro G OSS")); + choices.insert(p_t(65535, "Sony E 18-50mm F4-5.6")); + choices.insert(p_t(65535, "Sony E PZ 18-200mm F3.5-6.3 OSS")); + choices.insert(p_t(65535, "Sony FE 55mm F1.8 ZA")); + choices.insert(p_t(65535, "Sony FE 70-200mm F4 G OSS")); + choices.insert(p_t(65535, "Sony FE 16-35mm F4 ZA OSS")); + choices.insert(p_t(65535, "Sony FE 28-70mm F3.5-5.6 OSS")); + choices.insert(p_t(65535, "Sony FE 35mm F1.4 ZA")); + choices.insert(p_t(65535, "Sony FE 24-240mm F3.5-6.3 OSS")); + choices.insert(p_t(65535, "Sony FE 28mm F2")); + choices.insert(p_t(65535, "Sony FE PZ 28-135mm F4 G OSS")); + choices.insert(p_t(65535, "Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)")); + choices.insert(p_t(65535, "Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)")); + choices.insert(p_t(65535, "Sigma 19mm F2.8 [EX] DN")); + choices.insert(p_t(65535, "Sigma 30mm F2.8 [EX] DN")); + choices.insert(p_t(65535, "Sigma 60mm F2.8 DN")); + choices.insert(p_t(65535, "Tamron 18-200mm F3.5-6.3 Di III VC")); + choices.insert(p_t(65535, "Zeiss Batis 25mm F2")); + choices.insert(p_t(65535, "Zeiss Batis 85mm F1.8")); + choices.insert(p_t(65535, "Zeiss Loxia 35mm F2")); + choices.insert(p_t(65535, "Zeiss Loxia 50mm F2")); + choices.insert(p_t(65535, "Zeiss Touit 12mm F2.8")); + choices.insert(p_t(65535, "Zeiss Touit 32mm F1.8")); + choices.insert(p_t(65535, "Zeiss Touit 50mm F2.8 Macro")); + choices.insert(p_t(65535, "Arax MC 35mm F2.8 Tilt+Shift")); + choices.insert(p_t(65535, "Arax MC 80mm F2.8 Tilt+Shift")); + choices.insert(p_t(65535, "Zenitar MF 16mm F2.8 Fisheye M42")); + choices.insert(p_t(65535, "Samyang 500mm Mirror F8.0")); + choices.insert(p_t(65535, "Pentacon Auto 135mm F2.8")); + choices.insert(p_t(65535, "Pentacon Auto 29mm F2.8")); + choices.insert(p_t(65535, "Helios 44-2 58mm F2.0")); } virtual std::string toString (Tag* t) @@ -949,31 +1052,48 @@ SALensIDInterpreter saLensIDInterpreter; class SALensID2Interpreter : public IntLensInterpreter< int > { public: - SALensID2Interpreter () // From EXIFTOOL database 'Sony.pm' V1.94 and 'Minolta' 2.04; + SALensID2Interpreter () { - // Please do not remove entries on database synchronization, and avoid transferring "categories' header" types - choices.insert(p_t(00000, "Unknown E-Mount lens or other lens")); + choices.insert(p_t(00000, "Unknown E-mount lens or other lens")); choices.insert(p_t(00001, "Sony LA-EA1 Adapter")); choices.insert(p_t(00002, "Sony LA-EA2 Adapter")); + choices.insert(p_t(00003, "Sony LA-EA3 Adapter")); choices.insert(p_t(00006, "Sony LA-EA4 Adapter")); - choices.insert(p_t(32784, "Sony E 16mm f/2.8")); - choices.insert(p_t(32785, "Sony E 18-55mm f/3.5-5.6 OSS")); - choices.insert(p_t(32786, "Sony E 55-210mm f/4.5-6.3 OSS")); - choices.insert(p_t(32787, "Sony E 18-200mm f/3.5-6.3 OSS")); - choices.insert(p_t(32788, "Sony E 30mm f/3.5 Macro")); - choices.insert(p_t(32789, "Sony E 24mm f/1.8 ZA")); - choices.insert(p_t(32790, "Sony E 50mm f/1.8 OSS")); - choices.insert(p_t(32791, "Sony E 16-70mm f/4 ZA OSS")); - choices.insert(p_t(32792, "Sony E 10-18mm f/4 OSS")); - choices.insert(p_t(32793, "Sony E PZ 16-50mm f/3.5-5.6 OSS")); - choices.insert(p_t(32794, "Sony FE 35mm f/2.8 ZA")); - choices.insert(p_t(32795, "Sony FE 24-70mm f/4 ZA OSS")); - choices.insert(p_t(32797, "Sony E 18-200mm f/3.5-6.3 OSS LE")); - choices.insert(p_t(32798, "Sony E 20mm f/2.8")); - choices.insert(p_t(32799, "Sony E 35mm f/1.8 OSS")); - choices.insert(p_t(32807, "Sony E PZ 18-200mm f/3.5-6.3 OSS")); - choices.insert(p_t(32808, "Sony FE 55mm f/1.8 ZA")); - choices.insert(p_t(32813, "Sony FE 28-70mm f/3.5-5.6 OSS")); + choices.insert(p_t(00044, "Metabones Canon EF Smart Adapter")); + choices.insert(p_t(00078, "Metabones Canon EF Smart Adapter Mark III or IV")); + choices.insert(p_t(00234, "Adapter only - no lens attached")); + choices.insert(p_t(00239, "Metabones Canon EF Speed Booster")); + choices.insert(p_t(32784, "Sony E 16mm F2.8")); + choices.insert(p_t(32785, "Sony E 18-55mm F3.5-5.6 OSS")); + choices.insert(p_t(32786, "Sony E 55-210mm F4.5-6.3 OSS")); + choices.insert(p_t(32787, "Sony E 18-200mm F3.5-6.3 OSS")); + choices.insert(p_t(32788, "Sony E 30mm F3.5 Macro")); + choices.insert(p_t(32789, "Sony E 24mm F1.8 ZA")); + choices.insert(p_t(32790, "Sony E 50mm F1.8 OSS")); + choices.insert(p_t(32791, "Sony E 16-70mm F4 ZA OSS")); + choices.insert(p_t(32792, "Sony E 10-18mm F4 OSS")); + choices.insert(p_t(32793, "Sony E PZ 16-50mm F3.5-5.6 OSS")); + choices.insert(p_t(32794, "Sony FE 35mm F2.8 ZA")); + choices.insert(p_t(32795, "Sony FE 24-70mm F4 ZA OSS")); + choices.insert(p_t(32797, "Sony E 18-200mm F3.5-6.3 OSS LE")); + choices.insert(p_t(32798, "Sony E 20mm F2.8")); + choices.insert(p_t(32799, "Sony E 35mm F1.8 OSS")); + choices.insert(p_t(32800, "Sony E PZ 18-105mm F4 G OSS")); + choices.insert(p_t(32802, "Sony FE 90mm F2.8 Macro G OSS")); + choices.insert(p_t(32803, "Sony E 18-50mm F4-5.6")); + choices.insert(p_t(32807, "Sony E PZ 18-200mm F3.5-6.3 OSS")); + choices.insert(p_t(32808, "Sony FE 55mm F1.8 ZA")); + choices.insert(p_t(32810, "Sony FE 70-200mm F4 G OSS")); + choices.insert(p_t(32811, "Sony FE 16-35mm F4 ZA OSS")); + choices.insert(p_t(32813, "Sony FE 28-70mm F3.5-5.6 OSS")); + choices.insert(p_t(32814, "Sony FE 35mm F1.4 ZA")); + choices.insert(p_t(32815, "Sony FE 24-240mm F3.5-6.3 OSS")); + choices.insert(p_t(32816, "Sony FE 28mm F2")); + choices.insert(p_t(32817, "Sony FE PZ 28-135mm F4 G OSS")); + choices.insert(p_t(32826, "Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)")); + choices.insert(p_t(32827, "Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)")); + choices.insert(p_t(49216, "Zeiss Batis 25mm F2")); + choices.insert(p_t(49217, "Zeiss Batis 85mm F1.8")); } virtual std::string toString (Tag* t) From 0e8f954eb9960c02cf1b28bb3b270e9d4367543f Mon Sep 17 00:00:00 2001 From: Beep6581 Date: Sun, 23 Aug 2015 22:41:49 +0200 Subject: [PATCH 18/35] Added SSH clone description --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a993b3212..d5724954e 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,10 @@ http://rawpedia.rawtherapee.com/Linux The instructions below will be merged into that article on RawPedia soon. -Clone the source code: +Clone the source code either using HTTPS: `git clone https://github.com/Beep6581/RawTherapee ~/repo-rt` +or using SSH (see https://help.github.com/articles/generating-ssh-keys/ ): +`git clone git@github.com:Beep6581/RawTherapee.git ~/repo-rt` or update a previously cloned repository: `cd ~/repo-rt && git fetch` From 72fc3fe89ba842a59c546b52ff3ba7ded0b05b8e Mon Sep 17 00:00:00 2001 From: Beep6581 Date: Sun, 23 Aug 2015 22:44:02 +0200 Subject: [PATCH 19/35] Formatting --- README.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d5724954e..7bb1c672c 100644 --- a/README.md +++ b/README.md @@ -27,17 +27,27 @@ http://rawpedia.rawtherapee.com/Linux The instructions below will be merged into that article on RawPedia soon. Clone the source code either using HTTPS: -`git clone https://github.com/Beep6581/RawTherapee ~/repo-rt` +``` +git clone https://github.com/Beep6581/RawTherapee ~/repo-rt +``` or using SSH (see https://help.github.com/articles/generating-ssh-keys/ ): -`git clone git@github.com:Beep6581/RawTherapee.git ~/repo-rt` +``` +git clone git@github.com:Beep6581/RawTherapee.git ~/repo-rt +``` or update a previously cloned repository: -`cd ~/repo-rt && git fetch` +``` +cd ~/repo-rt && git fetch +``` Apply a patch: If you want to apply a patch, use "git apply" if you just want to apply without committing, or "git am" if you want to automatically apply and commit: -`git apply /downloads/some.patch` +``` +git apply /downloads/some.patch +``` or -`git am /downloads/some.patch` +``` +git am /downloads/some.patch +``` Compile: To find out how many threads your CPU supports, run: From b22b8582b085964e7e9d6e81a33a3e1373918e3e Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 23 Aug 2015 22:47:01 +0200 Subject: [PATCH 20/35] Fixed octal issue --- rtexif/sonyminoltaattribs.cc | 18 +++++++++--------- tools/generateLensList | 2 -- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/rtexif/sonyminoltaattribs.cc b/rtexif/sonyminoltaattribs.cc index 6d248feda..b44f74fbd 100644 --- a/rtexif/sonyminoltaattribs.cc +++ b/rtexif/sonyminoltaattribs.cc @@ -1054,15 +1054,15 @@ class SALensID2Interpreter : public IntLensInterpreter< int > public: SALensID2Interpreter () { - choices.insert(p_t(00000, "Unknown E-mount lens or other lens")); - choices.insert(p_t(00001, "Sony LA-EA1 Adapter")); - choices.insert(p_t(00002, "Sony LA-EA2 Adapter")); - choices.insert(p_t(00003, "Sony LA-EA3 Adapter")); - choices.insert(p_t(00006, "Sony LA-EA4 Adapter")); - choices.insert(p_t(00044, "Metabones Canon EF Smart Adapter")); - choices.insert(p_t(00078, "Metabones Canon EF Smart Adapter Mark III or IV")); - choices.insert(p_t(00234, "Adapter only - no lens attached")); - choices.insert(p_t(00239, "Metabones Canon EF Speed Booster")); + choices.insert(p_t(0, "Unknown E-mount lens or other lens")); + choices.insert(p_t(1, "Sony LA-EA1 Adapter")); + choices.insert(p_t(2, "Sony LA-EA2 Adapter")); + choices.insert(p_t(3, "Sony LA-EA3 Adapter")); + choices.insert(p_t(6, "Sony LA-EA4 Adapter")); + choices.insert(p_t(44, "Metabones Canon EF Smart Adapter")); + choices.insert(p_t(78, "Metabones Canon EF Smart Adapter Mark III or IV")); + choices.insert(p_t(234, "Adapter only - no lens attached")); + choices.insert(p_t(239, "Metabones Canon EF Speed Booster")); choices.insert(p_t(32784, "Sony E 16mm F2.8")); choices.insert(p_t(32785, "Sony E 18-55mm F3.5-5.6 OSS")); choices.insert(p_t(32786, "Sony E 55-210mm F4.5-6.3 OSS")); diff --git a/tools/generateLensList b/tools/generateLensList index e4e01784a..c02db7e9e 100755 --- a/tools/generateLensList +++ b/tools/generateLensList @@ -46,8 +46,6 @@ for cam in "${cams[@]}"; do xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType2']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -sony:all) > "${tmpdir}/cam" || { printf '%s\n' "Saving failed: ${tmpdir}/cam"; exit 1; } sort -fuV "${tmpdir}/cam" > "${tmpdir}/sony-lenstype2" rm -f "${tmpdir}/cam" - # Pad IDs shorter than 5 digits with 0s - sed -r -i -e 's/^[0-9]/0000&/' -e 's/0*([0-9]{5,})/\1/' "${tmpdir}/sony-lenstype2" sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' ${tmpdir}/sony ${tmpdir}/sony-lenstype2 ;; esac From b6fedc800a0bcbe33532efe145da5947f2bf8da6 Mon Sep 17 00:00:00 2001 From: Beep6581 Date: Mon, 24 Aug 2015 13:54:20 +0200 Subject: [PATCH 21/35] Update README.md --- README.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 7bb1c672c..4b1ab3228 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ http://rawpedia.rawtherapee.com/Linux The instructions below will be merged into that article on RawPedia soon. +### Clone the source code Clone the source code either using HTTPS: ``` git clone https://github.com/Beep6581/RawTherapee ~/repo-rt @@ -39,17 +40,14 @@ or update a previously cloned repository: cd ~/repo-rt && git fetch ``` -Apply a patch: -If you want to apply a patch, use "git apply" if you just want to apply without committing, or "git am" if you want to automatically apply and commit: +### Optionally pick a branch +New features and bug fixes are made on their own branches. Once tested, those branches are merged into the "master" branch. We used to test new features and bug fixes by sharing patches (.diff files) but git makes branching easy and branching makes sharing patches unnecessary. +To test a new feature or bug fix, just checkout [the right branch](https://github.com/Beep6581/RawTherapee/branches/active) before compiling: ``` -git apply /downloads/some.patch -``` -or -``` -git am /downloads/some.patch +git checkout ``` -Compile: +### Compile and run To find out how many threads your CPU supports, run: `grep -c processor /proc/cpuinfo` Then replace the number in `-j8` below with this number. This will make compilation faster but it will have no effect on the speed of running RawTherapee. From ce87f577f086522fcc6ffd8ba38acf33c606be3a Mon Sep 17 00:00:00 2001 From: Beep6581 Date: Mon, 24 Aug 2015 13:59:18 +0200 Subject: [PATCH 22/35] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4b1ab3228..eff8d0418 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,8 @@ http://michaelezra.com/projects/rt/documentation/ Git handbook: http://git-scm.com/book/en/ -## Compilation, patching and Git +## Compilation, branches and Git +Before compiling RawTherapee you need to have the dependencies installed. Refer to RawPedia for dependency requirements: http://rawpedia.rawtherapee.com/Linux @@ -37,7 +38,7 @@ git clone git@github.com:Beep6581/RawTherapee.git ~/repo-rt ``` or update a previously cloned repository: ``` -cd ~/repo-rt && git fetch +cd ~/repo-rt && git pull ``` ### Optionally pick a branch From d74bba0e94ea4a6e2b83f0d05e740b1974b67d28 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Mon, 24 Aug 2015 15:28:34 +0200 Subject: [PATCH 23/35] Updated generateLensList to handle Nikon cameras --- tools/generateLensList | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/tools/generateLensList b/tools/generateLensList index c02db7e9e..4abb273a5 100755 --- a/tools/generateLensList +++ b/tools/generateLensList @@ -18,7 +18,7 @@ hash xmlstarlet 2>/dev/null || { echo >&2 "XMLStarlet not found, install it firs unset cam cams -cams=("canon" "olympus" "pentax" "sony") +cams=("canon" "nikon" "olympus" "pentax" "sony") tmpdir="/tmp/rt-generateLensList" head -n 15 "$0" | tail -n 14 @@ -32,12 +32,20 @@ mkdir -p "$tmpdir" || { printf '%s\n' "Error creating $tmpdir" ""; exit 1; } echo for cam in "${cams[@]}"; do - printf '%s\n' "Saving ${tmpdir}/${cam}" - xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -"$cam":all) > "${tmpdir}/cam" || { printf '%s\n' "Saving failed: ${tmpdir}/cam"; exit 1; } - sort -fuV "${tmpdir}/cam" > "${tmpdir}/${cam}" - rm -f "${tmpdir}/cam" + if [[ "$cam" != nikon ]]; then + printf '%s\n' "Saving ${tmpdir}/${cam}" + xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -"$cam":all) > "${tmpdir}/cam" || { printf '%s\n' "Saving failed: ${tmpdir}/cam"; exit 1; } + sort -fuV "${tmpdir}/cam" > "${tmpdir}/${cam}" + rm -f "${tmpdir}/cam" + fi case $cam in canon) sed -r -i -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' "${tmpdir}/canon" ;; + nikon) + # Nikon LensIDs are composite tags + printf '%s\n' "Saving ${tmpdir}/nikon" + xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensID']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -composite:all) > "${tmpdir}/nikon" || { printf '%s\n' "Saving failed: ${tmpdir}/nikon"; exit 1; } + sed -r -i -e '/^... /d' -e 's/^/ lenses["/' -e 's/([A-F0-9]+)[A-F0-9.]*\t/\1"] = "/' -e 's/$/";/' "${tmpdir}/nikon" + ;; olympus) sed -i -e '/0 00 00\tNone/d' -e 's/^/ lenses["0/' -e 's/\t/"] = "/' -e 's/$/";/' "${tmpdir}/olympus" ;; pentax) sed -r -i -e 's/^/ choices.insert(p_t(256 * /' -e 's/([0-9]+) ([0-9]+)([0-9.]*)/\1 + \2/' -e 's/\t/, "/' -e 's/$/"));/' "${tmpdir}/pentax" ;; sony) @@ -46,7 +54,7 @@ for cam in "${cams[@]}"; do xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType2']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -sony:all) > "${tmpdir}/cam" || { printf '%s\n' "Saving failed: ${tmpdir}/cam"; exit 1; } sort -fuV "${tmpdir}/cam" > "${tmpdir}/sony-lenstype2" rm -f "${tmpdir}/cam" - sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' ${tmpdir}/sony ${tmpdir}/sony-lenstype2 + sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' "${tmpdir}/sony" "${tmpdir}/sony-lenstype2" ;; esac From e4d4fe41705eece6061901cb3f339007c4756922 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Mon, 24 Aug 2015 15:29:26 +0200 Subject: [PATCH 24/35] Updated nikonattribs.cc with lenses from exiftool-10.00 --- rtexif/nikonattribs.cc | 436 ++++++++++++++++++++++------------------- 1 file changed, 236 insertions(+), 200 deletions(-) diff --git a/rtexif/nikonattribs.cc b/rtexif/nikonattribs.cc index a49942d1a..a3e76c324 100644 --- a/rtexif/nikonattribs.cc +++ b/rtexif/nikonattribs.cc @@ -326,95 +326,101 @@ public: lenses["00 00 00 00 00 00 E1 12"] = "TC-17E II"; lenses["00 00 00 00 00 00 F1 0C"] = "TC-14E [II] or Sigma APO Tele Converter 1.4x EX DG or Kenko Teleplus PRO 300 DG 1.4x"; lenses["00 00 00 00 00 00 F2 18"] = "TC-20E [II] or Sigma APO Tele Converter 2x EX DG or Kenko Teleplus PRO 300 DG 2.0x"; - lenses["00 00 48 48 53 53 00 01"] = "Loreo 40mm f/11-22 3D Lens in a Cap 9005"; - lenses["00 36 1C 2D 34 3C 00 06"] = "Tamron SP AF 11-18mm f/4.5-5.6 Di II LD Aspherical (IF)"; - lenses["00 3C 1F 37 30 30 00 06"] = "Tokina AT-X 124 PRO DX AF 12-24mm f/4"; - lenses["00 3E 80 A0 38 3F 00 02"] = "Tamron SP AF 200-500mm f/5-6.3 Di LD (IF)"; - lenses["00 3F 2D 80 2B 40 00 06"] = "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF)"; - lenses["00 3F 2D 80 2C 40 00 06"] = "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) Macro"; - lenses["00 3F 80 A0 38 3F 00 02"] = "Tamron SP AF 200-500mm f/5-6.3 Di"; + lenses["00 00 48 48 53 53 00 01"] = "Loreo 40mm F11-22 3D Lens in a Cap 9005"; + lenses["00 36 1C 2D 34 3C 00 06"] = "Tamron SP AF 11-18mm f/4.5-5.6 Di II LD Aspherical (IF) (A13)"; + lenses["00 3C 1F 37 30 30 00 06"] = "Tokina AT-X 124 AF PRO DX (AF 12-24mm f/4)"; + lenses["00 3E 80 A0 38 3F 00 02"] = "Tamron SP AF 200-500mm f/5-6.3 Di LD (IF) (A08)"; + lenses["00 3F 2D 80 2B 40 00 06"] = "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) (A14)"; + lenses["00 3F 2D 80 2C 40 00 06"] = "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) Macro (A14)"; + lenses["00 3F 80 A0 38 3F 00 02"] = "Tamron SP AF 200-500mm f/5-6.3 Di (A08)"; lenses["00 40 11 11 2C 2C 00 00"] = "Samyang 8mm f/3.5 Fish-Eye"; - lenses["00 40 18 2B 2C 34 00 06"] = "Tokina AT-X 107 DX Fish-Eye AF 10-17mm f/3.5-4.5"; - lenses["00 40 2A 72 2C 3C 00 06"] = "Tokina AT-X 16.5-135 DX AF 16.5-135mm f/3.5-5.6"; - lenses["00 40 2B 2B 2C 2C 00 02"] = "Tokina AT-X 17 PRO AF 17mm f/3.5"; - lenses["00 40 2D 2D 2C 2C 00 00"] = "Carl Zeiss Distagon T* 18mm f/3.5 ZF.2"; + lenses["00 40 18 2B 2C 34 00 06"] = "Tokina AT-X 107 AF DX Fisheye (AF 10-17mm f/3.5-4.5)"; + lenses["00 40 2A 72 2C 3C 00 06"] = "Tokina AT-X 16.5-135 DX (AF 16.5-135mm F3.5-5.6)"; + lenses["00 40 2B 2B 2C 2C 00 02"] = "Tokina AT-X 17 AF PRO (AF 17mm f/3.5)"; + lenses["00 40 2D 2D 2C 2C 00 00"] = "Carl Zeiss Distagon T* 3.5/18 ZF.2"; lenses["00 40 2D 80 2C 40 00 06"] = "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) Macro (A14NII)"; lenses["00 40 2D 88 2C 40 00 06"] = "Tamron AF 18-250mm f/3.5-6.3 Di II LD Aspherical (IF) Macro (A18NII)"; lenses["00 40 2D 88 2C 40 62 06"] = "Tamron AF 18-250mm f/3.5-6.3 Di II LD Aspherical (IF) Macro (A18)"; - lenses["00 40 31 31 2C 2C 00 00"] = "Voigtlander Color Skopar 20mm f/3.5 SLII Aspherical"; - lenses["00 40 37 80 2C 3C 00 02"] = "Tokina AT-X 242 AF 24-200mm f/3.5-5.6"; - lenses["00 40 64 64 2C 2C 00 00"] = "Voigtlander APO-Lanthar 90mm f/3.5 SLII Close Focus"; - lenses["00 44 60 98 34 3C 00 02"] = "Tokina AT-X 840D 80-400mm f/4.5-5.6"; + lenses["00 40 31 31 2C 2C 00 00"] = "Voigtlander Color Skopar 20mm F3.5 SLII Aspherical"; + lenses["00 40 37 80 2C 3C 00 02"] = "Tokina AT-X 242 AF (AF 24-200mm f/3.5-5.6)"; + lenses["00 40 64 64 2C 2C 00 00"] = "Voigtlander APO-Lanthar 90mm F3.5 SLII Close Focus"; + lenses["00 44 60 98 34 3C 00 02"] = "Tokina AT-X 840 D (AF 80-400mm f/4.5-5.6)"; lenses["00 47 10 10 24 24 00 00"] = "Fisheye Nikkor 8mm f/2.8 AiS"; lenses["00 47 25 25 24 24 00 02"] = "Tamron SP AF 14mm f/2.8 Aspherical (IF) (69E)"; + lenses["00 47 3C 3C 24 24 00 00"] = "Nikkor 28mm f/2.8 AiS"; lenses["00 47 44 44 24 24 00 06"] = "Tokina AT-X M35 PRO DX (AF 35mm f/2.8 Macro)"; - lenses["00 47 53 80 30 3C 00 06"] = "Tamron AF 55-200mm f/4-5.6 Di II LD"; - lenses["00 48 1C 29 24 24 00 06"] = "Tokina AT-X 116 PRO DX AF 11-16mm f/2.8"; - lenses["00 48 29 3C 24 24 00 06"] = "Tokina AT-X 16-28 PRO FX AF 16-28mm f/2.8"; - lenses["00 48 29 50 24 24 00 06"] = "Tokina AT-X 165 PRO DX AF 16-50mm f/2.8"; - lenses["00 48 32 32 24 24 00 00"] = "Carl Zeiss Distagon T* 21mm f/2.8 ZF.2"; - lenses["00 48 3C 60 24 24 00 02"] = "Tokina AT-X 280 PRO AF 28-80mm f/2.8 Aspherical"; - lenses["00 48 3C 6A 24 24 00 02"] = "Tamron SP AF 28-105mm f/2.8"; + lenses["00 47 53 80 30 3C 00 06"] = "Tamron AF 55-200mm f/4-5.6 Di II LD (A15)"; + lenses["00 48 1C 29 24 24 00 06"] = "Tokina AT-X 116 PRO DX (AF 11-16mm f/2.8)"; + lenses["00 48 29 3C 24 24 00 06"] = "Tokina AT-X 16-28 AF PRO FX (AF 16-28mm f/2.8)"; + lenses["00 48 29 50 24 24 00 06"] = "Tokina AT-X 165 PRO DX (AF 16-50mm f/2.8)"; + lenses["00 48 32 32 24 24 00 00"] = "Carl Zeiss Distagon T* 2.8/21 ZF.2"; + lenses["00 48 3C 60 24 24 00 02"] = "Tokina AT-X 280 AF PRO (AF 28-80mm f/2.8)"; + lenses["00 48 3C 6A 24 24 00 02"] = "Tamron SP AF 28-105mm f/2.8 LD Aspherical IF (176D)"; lenses["00 48 50 50 18 18 00 00"] = "Nikkor H 50mm f/2"; - lenses["00 48 50 72 24 24 00 06"] = "Tokina AT-X 535 PRO DX AF 50-135mm f/2.8"; - lenses["00 48 5C 8E 30 3C 00 06"] = "Tamron AF 70-300mm f/4-5.6 Di LD Macro 1:2 (A17)"; + lenses["00 48 50 72 24 24 00 06"] = "Tokina AT-X 535 PRO DX (AF 50-135mm f/2.8)"; + lenses["00 48 5C 8E 30 3C 00 06"] = "Tamron AF 70-300mm f/4-5.6 Di LD Macro 1:2 (A17NII)"; lenses["00 48 68 68 24 24 00 00"] = "Series E 100mm f/2.8"; lenses["00 48 80 80 30 30 00 00"] = "Nikkor 200mm f/4 AiS"; - lenses["00 49 30 48 22 2B 00 02"] = "Tamron SP AF 20-40mm f/2.7-3.5"; + lenses["00 49 30 48 22 2B 00 02"] = "Tamron SP AF 20-40mm f/2.7-3.5 (166D)"; lenses["00 4C 6A 6A 20 20 00 00"] = "Nikkor 105mm f/2.5 AiS"; lenses["00 4C 7C 7C 2C 2C 00 02"] = "Tamron SP AF 180mm f/3.5 Di Model (B01)"; - lenses["00 53 2B 50 24 24 00 06"] = "Tamron SP AF 17-50mm f/2.8 (A16)"; + lenses["00 53 2B 50 24 24 00 06"] = "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16)"; lenses["00 54 2B 50 24 24 00 06"] = "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16NII)"; - lenses["00 54 3C 3C 18 18 00 00"] = "Carl Zeiss Distagon T* 28mm f/2 ZF.2"; + lenses["00 54 3C 3C 18 18 00 00"] = "Carl Zeiss Distagon T* 2/28 ZF.2"; lenses["00 54 44 44 0C 0C 00 00"] = "Nikkor 35mm f/1.4 AiS"; - lenses["00 54 44 44 18 18 00 00"] = "Carl Zeiss Distagon T* 35mm f/2 ZF.2"; - lenses["00 54 48 48 18 18 00 00"] = "Voigtlander Ultron 40mm f/2 SLII Aspherical"; - lenses["00 54 50 50 0C 0C 00 00"] = "Carl Zeiss Planar T* 50mm f/1.4 ZF.2"; - lenses["00 54 50 50 18 18 00 00"] = "Carl Zeiss Makro-Planar T* 50mm f/2 ZF.2"; - lenses["00 54 55 55 0C 0C 00 00"] = "Voigtlander Nokton 58mm f/1.4 SLII"; - lenses["00 54 56 56 30 30 00 00"] = "Coastal Optical Systems 60mm f/4 UV-VIS-IR Macro Apo"; - lenses["00 54 62 62 0C 0C 00 00"] = "Carl Zeiss Planar T* 85mm f/1.4 ZF.2"; - lenses["00 54 68 68 18 18 00 00"] = "Carl Zeiss Makro-Planar T* 100mm f/2 ZF.2"; - lenses["00 54 68 68 24 24 00 02"] = "Tokina AT-X M100 PRO D 100mm f/2.8 Macro"; - lenses["00 54 8E 8E 24 24 00 02"] = "Tokina AT-X 300 PRO AF 300mm f/2.8"; + lenses["00 54 44 44 18 18 00 00"] = "Carl Zeiss Distagon T* 2/35 ZF.2"; + lenses["00 54 48 48 18 18 00 00"] = "Voigtlander Ultron 40mm F2 SLII Aspherical"; + lenses["00 54 50 50 0C 0C 00 00"] = "Carl Zeiss Planar T* 1.4/50 ZF.2"; + lenses["00 54 50 50 18 18 00 00"] = "Carl Zeiss Makro-Planar T* 2/50 ZF.2"; + lenses["00 54 53 53 0C 0C 00 00"] = "Zeiss Otus 1.4/55"; + lenses["00 54 55 55 0C 0C 00 00"] = "Voigtlander Nokton 58mm F1.4 SLII"; + lenses["00 54 56 56 30 30 00 00"] = "Coastal Optical Systems 60mm 1:4 UV-VIS-IR Macro Apo"; + lenses["00 54 62 62 0C 0C 00 00"] = "Carl Zeiss Planar T* 1.4/85 ZF.2"; + lenses["00 54 68 68 18 18 00 00"] = "Carl Zeiss Makro-Planar T* 2/100 ZF.2"; + lenses["00 54 68 68 24 24 00 02"] = "Tokina AT-X M100 AF PRO D (AF 100mm f/2.8 Macro)"; + lenses["00 54 8E 8E 24 24 00 02"] = "Tokina AT-X 300 AF PRO (AF 300mm f/2.8)"; + lenses["00 57 50 50 14 14 00 00"] = "Nikkor 50mm f/1.8 AI"; lenses["00 58 64 64 20 20 00 00"] = "Soligor C/D Macro MC 90mm f/2.5"; - lenses["01 00 00 00 00 00 02 00"] = "AF Teleconverter TC-16A 1.6x"; - lenses["01 00 00 00 00 00 08 00"] = "AF Teleconverter TC-16A 1.6x"; + lenses["01 00 00 00 00 00 02 00"] = "TC-16A"; + lenses["01 00 00 00 00 00 08 00"] = "TC-16A"; lenses["01 58 50 50 14 14 02 00"] = "AF Nikkor 50mm f/1.8"; - lenses["02 2F 98 98 3D 3D 02 00"] = "Sigma APO 400mm f/5.6"; - lenses["02 34 A0 A0 44 44 02 00"] = "Sigma APO 500mm f/7.2"; - lenses["02 37 5E 8E 35 3D 02 00"] = "Sigma APO 75-300mm f/4.5-5.6"; - lenses["02 37 A0 A0 34 34 02 00"] = "Sigma APO 500mm f/4.5"; - lenses["02 3A 5E 8E 32 3D 02 00"] = "Sigma 75-300mm f/4-5.6"; - lenses["02 3B 44 61 30 3D 02 00"] = "Sigma 35-80mm f/4-5.6"; - lenses["02 3C B0 B0 3C 3C 02 00"] = "Sigma APO 800mm f/5.6"; - lenses["02 3F 24 24 2C 2C 02 00"] = "Sigma 14mm f/3.5"; - lenses["02 3F 3C 5C 2D 35 02 00"] = "Sigma 28-70mm f/3.5-4.5 UC"; - lenses["02 40 44 5C 2C 34 02 00"] = "Exakta AF 35-70mm f/3.5-4.5 MC"; - lenses["02 40 44 73 2B 36 02 00"] = "Sigma 35-135mm f/3.5-4.5 a"; + lenses["01 58 50 50 14 14 05 00"] = "AF Nikkor 50mm f/1.8"; + lenses["02 2F 98 98 3D 3D 02 00"] = "Sigma APO 400mm F5.6"; + lenses["02 34 A0 A0 44 44 02 00"] = "Sigma APO 500mm F7.2"; + lenses["02 37 5E 8E 35 3D 02 00"] = "Sigma 75-300mm F4.5-5.6 APO"; + lenses["02 37 A0 A0 34 34 02 00"] = "Sigma APO 500mm F4.5"; + lenses["02 3A 37 50 31 3D 02 00"] = "Sigma 24-50mm F4-5.6 UC"; + lenses["02 3A 5E 8E 32 3D 02 00"] = "Sigma 75-300mm F4.0-5.6"; + lenses["02 3B 44 61 30 3D 02 00"] = "Sigma 35-80mm F4-5.6"; + lenses["02 3C B0 B0 3C 3C 02 00"] = "Sigma APO 800mm F5.6"; + lenses["02 3F 24 24 2C 2C 02 00"] = "Sigma 14mm F3.5"; + lenses["02 3F 3C 5C 2D 35 02 00"] = "Sigma 28-70mm F3.5-4.5 UC"; + lenses["02 40 44 5C 2C 34 02 00"] = "Exakta AF 35-70mm 1:3.5-4.5 MC"; + lenses["02 40 44 73 2B 36 02 00"] = "Sigma 35-135mm F3.5-4.5 a"; + lenses["02 40 5C 82 2C 35 02 00"] = "Sigma APO 70-210mm F3.5-4.5"; lenses["02 42 44 5C 2A 34 02 00"] = "AF Zoom-Nikkor 35-70mm f/3.3-4.5"; lenses["02 42 44 5C 2A 34 08 00"] = "AF Zoom-Nikkor 35-70mm f/3.3-4.5"; - lenses["02 46 37 37 25 25 02 00"] = "Sigma 24mm f/2.8 Super Wide II Macro"; - lenses["02 46 3C 5C 25 25 02 00"] = "Sigma 28-70mm f/2.8"; - lenses["02 46 5C 82 25 25 02 00"] = "Sigma 70-210mm f/2.8 APO"; - lenses["02 48 50 50 24 24 02 00"] = "Sigma 50mm f/2.8 Macro"; - lenses["02 48 65 65 24 24 02 00"] = "Sigma 90mm f/2.8 Macro"; - lenses["03 43 5C 81 35 35 02 00"] = "Soligor AF C/D Zoom UMCS 70-210mm f/4.5"; + lenses["02 46 37 37 25 25 02 00"] = "Sigma 24mm F2.8 Super Wide II Macro"; + lenses["02 46 3C 5C 25 25 02 00"] = "Sigma 28-70mm F2.8"; + lenses["02 46 5C 82 25 25 02 00"] = "Sigma 70-210mm F2.8 APO"; + lenses["02 48 50 50 24 24 02 00"] = "Sigma Macro 50mm F2.8"; + lenses["02 48 65 65 24 24 02 00"] = "Sigma Macro 90mm F2.8"; + lenses["03 43 5C 81 35 35 02 00"] = "Soligor AF C/D Zoom UMCS 70-210mm 1:4.5"; lenses["03 48 5C 81 30 30 02 00"] = "AF Zoom-Nikkor 70-210mm f/4"; lenses["04 48 3C 3C 24 24 03 00"] = "AF Nikkor 28mm f/2.8"; lenses["05 54 50 50 0C 0C 04 00"] = "AF Nikkor 50mm f/1.4"; - lenses["06 3F 68 68 2C 2C 06 00"] = "Cosina AF 100mm f/3.5 Macro"; + lenses["06 3F 68 68 2C 2C 06 00"] = "Cosina AF 100mm F3.5 Macro"; lenses["06 54 53 53 24 24 06 00"] = "AF Micro-Nikkor 55mm f/2.8"; - lenses["07 36 3D 5F 2C 3C 03 00"] = "Cosina AF Zoom 28-80mm f/3.5-5.6 MC Macro"; - lenses["07 3E 30 43 2D 35 03 00"] = "Soligor AF Zoom 19-35mm f/3.5-4.5 MC"; + lenses["07 36 3D 5F 2C 3C 03 00"] = "Cosina AF Zoom 28-80mm F3.5-5.6 MC Macro"; + lenses["07 3E 30 43 2D 35 03 00"] = "Soligor AF Zoom 19-35mm 1:3.5-4.5 MC"; lenses["07 40 2F 44 2C 34 03 02"] = "Tamron AF 19-35mm f/3.5-4.5 (A10)"; lenses["07 40 30 45 2D 35 03 02"] = "Tamron AF 19-35mm f/3.5-4.5 (A10)"; lenses["07 40 3C 5C 2C 35 03 00"] = "Tokina AF 270 II (AF 28-70mm f/3.5-4.5)"; lenses["07 40 3C 62 2C 34 03 00"] = "AF Zoom-Nikkor 28-85mm f/3.5-4.5"; lenses["07 46 2B 44 24 30 03 02"] = "Tamron SP AF 17-35mm f/2.8-4 Di LD Aspherical (IF) (A05)"; - lenses["07 46 3D 6A 25 2F 03 00"] = "Cosina AF Zoom 28-105mm f/2.8-3.8 MC"; - lenses["07 47 3C 5C 25 35 03 00"] = "Tokina AF 287 SD AF 28-70mm f/2.8-4.5"; - lenses["07 48 3C 5C 24 24 03 00"] = "Tokina AT-X 287 AF 28-70mm f/2.8"; + lenses["07 46 3D 6A 25 2F 03 00"] = "Cosina AF Zoom 28-105mm F2.8-3.8 MC"; + lenses["07 47 3C 5C 25 35 03 00"] = "Tokina AF 287 SD (AF 28-70mm f/2.8-4.5)"; + lenses["07 48 3C 5C 24 24 03 00"] = "Tokina AT-X 287 AF (AF 28-70mm f/2.8)"; lenses["08 40 44 6A 2C 34 04 00"] = "AF Zoom-Nikkor 35-105mm f/3.5-4.5"; lenses["09 48 37 37 24 24 04 00"] = "AF Nikkor 24mm f/2.8"; lenses["0A 48 8E 8E 24 24 03 00"] = "AF Nikkor 300mm f/2.8 IF-ED"; @@ -429,19 +435,20 @@ public: lenses["10 3D 3C 60 2C 3C D2 02"] = "Tamron AF 28-80mm f/3.5-5.6 Aspherical (177D)"; lenses["10 48 8E 8E 30 30 08 00"] = "AF Nikkor 300mm f/4 IF-ED"; lenses["11 48 44 5C 24 24 08 00"] = "AF Zoom-Nikkor 35-70mm f/2.8"; - lenses["12 36 5C 81 35 3D 09 00"] = "Cosina AF Zoom 70-210mm f/4.5-5.6 MC Macro"; - lenses["12 36 69 97 35 42 09 00"] = "Soligor AF Zoom 100-400mm f/4.5-6.7 MC"; - lenses["12 39 5C 8E 34 3D 08 02"] = "Cosina AF Zoom 70-300mm f/4.5-5.6 MC Macro"; - lenses["12 3B 68 8D 3D 43 09 02"] = "Cosina AF Zoom 100-300mm f/5.6-6.7 MC Macro"; - lenses["12 3B 98 98 3D 3D 09 00"] = "Tokina AT-X 400 SD AF 400mm f/5.6"; + lenses["12 36 5C 81 35 3D 09 00"] = "Cosina AF Zoom 70-210mm F4.5-5.6 MC Macro"; + lenses["12 36 69 97 35 42 09 00"] = "Soligor AF Zoom 100-400mm 1:4.5-6.7 MC"; + lenses["12 38 69 97 35 42 09 02"] = "Promaster Spectrum 7 100-400mm F4.5-6.7"; + lenses["12 39 5C 8E 34 3D 08 02"] = "Cosina AF Zoom 70-300mm F4.5-5.6 MC Macro"; + lenses["12 3B 68 8D 3D 43 09 02"] = "Cosina AF Zoom 100-300mm F5.6-6.7 MC Macro"; + lenses["12 3B 98 98 3D 3D 09 00"] = "Tokina AT-X 400 AF SD (AF 400mm f/5.6)"; lenses["12 3D 3C 80 2E 3C DF 02"] = "Tamron AF 28-200mm f/3.8-5.6 AF Aspherical LD (IF) (271D)"; - lenses["12 44 5E 8E 34 3C 09 00"] = "Tokina 730 AF 75-300mm f/4.5-5.6"; + lenses["12 44 5E 8E 34 3C 09 00"] = "Tokina AF 730 (AF 75-300mm F4.5-5.6)"; lenses["12 48 5C 81 30 3C 09 00"] = "AF Nikkor 70-210mm f/4-5.6"; - lenses["12 4A 5C 81 31 3D 09 00"] = "Soligor AF C/D Auto Zoom+Macro 70-210mm f/4-5.6 UMCS"; + lenses["12 4A 5C 81 31 3D 09 00"] = "Soligor AF C/D Auto Zoom+Macro 70-210mm 1:4-5.6 UMCS"; lenses["13 42 37 50 2A 34 0B 00"] = "AF Zoom-Nikkor 24-50mm f/3.3-4.5"; lenses["14 48 60 80 24 24 0B 00"] = "AF Zoom-Nikkor 80-200mm f/2.8 ED"; - lenses["14 48 68 8E 30 30 0B 00"] = "Tokina AT-X 340 AF II 100-300mm f/4"; - lenses["14 54 60 80 24 24 0B 00"] = "Tokina AT-X 828 AF 80-200mm f/2.8"; + lenses["14 48 68 8E 30 30 0B 00"] = "Tokina AT-X 340 AF (AF 100-300mm f/4)"; + lenses["14 54 60 80 24 24 0B 00"] = "Tokina AT-X 828 AF (AF 80-200mm f/2.8)"; lenses["15 4C 62 62 14 14 0C 00"] = "AF Nikkor 85mm f/1.8"; lenses["17 3C A0 A0 30 30 0F 00"] = "Nikkor 500mm f/4 P ED IF"; lenses["17 3C A0 A0 30 30 11 00"] = "Nikkor 500mm f/4 P ED IF"; @@ -461,56 +468,57 @@ public: lenses["22 48 72 72 18 18 16 00"] = "AF DC-Nikkor 135mm f/2"; lenses["22 53 64 64 24 24 E0 02"] = "Tamron SP AF 90mm f/2.8 Macro 1:1 (72E)"; lenses["23 30 BE CA 3C 48 17 00"] = "Zoom-Nikkor 1200-1700mm f/5.6-8 P ED IF"; - lenses["24 44 60 98 34 3C 1A 02"] = "Tokina AT-X 840 AF II 80-400mm f/4.5-5.6"; + lenses["24 44 60 98 34 3C 1A 02"] = "Tokina AT-X 840 AF-II (AF 80-400mm f/4.5-5.6)"; lenses["24 48 60 80 24 24 1A 02"] = "AF Zoom-Nikkor 80-200mm f/2.8D ED"; - lenses["24 54 60 80 24 24 1A 02"] = "Tokina AT-X 828 AF PRO 80-200mm f/2.8"; + lenses["24 54 60 80 24 24 1A 02"] = "Tokina AT-X 828 AF PRO (AF 80-200mm f/2.8)"; lenses["25 44 44 8E 34 42 1B 02"] = "Tokina AF 353 (AF 35-300mm f/4.5-6.7)"; - lenses["25 48 3C 5C 24 24 1B 02"] = "Tokina AT-X 270 AF PRO II 28-70mm f/2.6-2.8"; - lenses["25 48 3C 5C 24 24 1B 02"] = "Tokina AT-X 287 AF PRO SV 28-70mm f/2.8"; + lenses["25 48 3C 5C 24 24 1B 02"] = "Tokina AT-X 270 AF PRO II (AF 28-70mm f/2.6-2.8)"; + lenses["25 48 3C 5C 24 24 1B 02"] = "Tokina AT-X 287 AF PRO SV (AF 28-70mm f/2.8)"; lenses["25 48 44 5C 24 24 1B 02"] = "AF Zoom-Nikkor 35-70mm f/2.8D"; + lenses["25 48 44 5C 24 24 3A 02"] = "AF Zoom-Nikkor 35-70mm f/2.8D"; lenses["25 48 44 5C 24 24 52 02"] = "AF Zoom-Nikkor 35-70mm f/2.8D"; - lenses["26 3C 54 80 30 3C 1C 06"] = "Sigma 55-200mm f/4-5.6 DC"; - lenses["26 3C 5C 82 30 3C 1C 02"] = "Sigma 70-210mm f/4-5.6 UC-II"; - lenses["26 3C 5C 8E 30 3C 1C 02"] = "Sigma 70-300mm f/4-5.6 DG Macro"; - lenses["26 3C 98 98 3C 3C 1C 02"] = "Sigma APO Tele Macro 400mm f/5.6"; - lenses["26 3D 3C 80 2F 3D 1C 02"] = "Sigma 28-300mm f/3.8-5.6 Aspherical"; - lenses["26 3E 3C 6A 2E 3C 1C 02"] = "Sigma 28-105mm f/3.8-5.6 UC-III Aspherical IF"; - lenses["26 40 27 3F 2C 34 1C 02"] = "Sigma 15-30mm f/3.5-4.5 EX Aspherical DG DF"; - lenses["26 40 2D 44 2B 34 1C 02"] = "Sigma 18-35mm f/3.5-4.5 Aspherical"; - lenses["26 40 2D 50 2C 3C 1C 06"] = "Sigma 18-50mm f/3.5-5.6 DC"; - lenses["26 40 2D 70 2B 3C 1C 06"] = "Sigma 18-125mm f/3.5-5.6 DC"; - lenses["26 40 2D 80 2C 40 1C 06"] = "Sigma 18-200mm f/3.5-6.3 DC"; - lenses["26 40 37 5C 2C 3C 1C 02"] = "Sigma 24-70mm f/3.5-5.6 Aspherical HF"; + lenses["26 3C 54 80 30 3C 1C 06"] = "Sigma 55-200mm F4-5.6 DC"; + lenses["26 3C 5C 82 30 3C 1C 02"] = "Sigma 70-210mm F4-5.6 UC-II"; + lenses["26 3C 5C 8E 30 3C 1C 02"] = "Sigma 70-300mm F4-5.6 DG Macro"; + lenses["26 3C 98 98 3C 3C 1C 02"] = "Sigma APO Tele Macro 400mm F5.6"; + lenses["26 3D 3C 80 2F 3D 1C 02"] = "Sigma 28-300mm F3.8-5.6 Aspherical"; + lenses["26 3E 3C 6A 2E 3C 1C 02"] = "Sigma 28-105mm F3.8-5.6 UC-III Aspherical IF"; + lenses["26 40 27 3F 2C 34 1C 02"] = "Sigma 15-30mm F3.5-4.5 EX DG Aspherical DF"; + lenses["26 40 2D 44 2B 34 1C 02"] = "Sigma 18-35mm F3.5-4.5 Aspherical"; + lenses["26 40 2D 50 2C 3C 1C 06"] = "Sigma 18-50mm F3.5-5.6 DC"; + lenses["26 40 2D 70 2B 3C 1C 06"] = "Sigma 18-125mm F3.5-5.6 DC"; + lenses["26 40 2D 80 2C 40 1C 06"] = "Sigma 18-200mm F3.5-6.3 DC"; + lenses["26 40 37 5C 2C 3C 1C 02"] = "Sigma 24-70mm F3.5-5.6 Aspherical HF"; lenses["26 40 3C 5C 2C 34 1C 02"] = "AF Zoom-Nikkor 28-70mm f/3.5-4.5D"; - lenses["26 40 3C 60 2C 3C 1C 02"] = "Sigma 28-80mm f/3.5-5.6 Mini Zoom Macro II Aspherical"; - lenses["26 40 3C 65 2C 3C 1C 02"] = "Sigma 28-90mm f/3.5-5.6 Macro"; - lenses["26 40 3C 80 2B 3C 1C 02"] = "Sigma 28-200mm f/3.5-5.6 Compact Aspherical Hyperzoom Macro"; - lenses["26 40 3C 80 2C 3C 1C 02"] = "Sigma 28-200mm f/3.5-5.6 Compact Aspherical Hyperzoom Macro"; - lenses["26 40 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm f/3.5-6.3 Macro"; - lenses["26 40 7B A0 34 40 1C 02"] = "Sigma APO 170-500mm f/5-6.3 Aspherical RF"; - lenses["26 41 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm f/3.5-6.3 DG Macro"; - lenses["26 44 73 98 34 3C 1C 02"] = "Sigma 135-400mm f/4.5-5.6 APO Aspherical"; - lenses["26 48 11 11 30 30 1C 02"] = "Sigma 8mm f/4 EX Circular Fisheye"; - lenses["26 48 27 27 24 24 1C 02"] = "Sigma 15mm f/2.8 EX Diagonal Fish-Eye"; - lenses["26 48 2D 50 24 24 1C 06"] = "Sigma 18-50mm f/2.8 EX DC"; - lenses["26 48 31 49 24 24 1C 02"] = "Sigma 20-40mm f/2.8"; - lenses["26 48 37 56 24 24 1C 02"] = "Sigma 24-60mm f/2.8 EX DG"; - lenses["26 48 3C 5C 24 24 1C 06"] = "Sigma 28-70mm f/2.8 EX DG"; - lenses["26 48 3C 5C 24 30 1C 02"] = "Sigma 28-70mm f/2.8-4 DG High Speed Zoom"; - lenses["26 48 3C 6A 24 30 1C 02"] = "Sigma 28-105mm f/2.8-4 Aspherical"; - lenses["26 48 8E 8E 30 30 1C 02"] = "Sigma APO Tele Macro 300mm f/4"; - lenses["26 54 2B 44 24 30 1C 02"] = "Sigma 17-35mm f/2.8-4 EX Aspherical"; - lenses["26 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm f/2.8 EX DG Macro"; - lenses["26 54 37 73 24 34 1C 02"] = "Sigma 24-135mm f/2.8-4.5"; - lenses["26 54 3C 5C 24 24 1C 02"] = "Sigma 28-70mm f/2.8 EX"; - lenses["26 58 31 31 14 14 1C 02"] = "Sigma 20mm f/1.8 EX Aspherical DG DF RF"; - lenses["26 58 37 37 14 14 1C 02"] = "Sigma 24mm f/1.8 EX Aspherical DG DF MACRO"; - lenses["26 58 3C 3C 14 14 1C 02"] = "Sigma 28mm f/1.8 EX DG DF"; + lenses["26 40 3C 60 2C 3C 1C 02"] = "Sigma 28-80mm F3.5-5.6 Mini Zoom Macro II Aspherical"; + lenses["26 40 3C 65 2C 3C 1C 02"] = "Sigma 28-90mm F3.5-5.6 Macro"; + lenses["26 40 3C 80 2B 3C 1C 02"] = "Sigma 28-200mm F3.5-5.6 Compact Aspherical Hyperzoom Macro"; + lenses["26 40 3C 80 2C 3C 1C 02"] = "Sigma 28-200mm F3.5-5.6 Compact Aspherical Hyperzoom Macro"; + lenses["26 40 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm F3.5-6.3 Macro"; + lenses["26 40 7B A0 34 40 1C 02"] = "Sigma APO 170-500mm F5-6.3 Aspherical RF"; + lenses["26 41 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm F3.5-6.3 DG Macro"; + lenses["26 44 73 98 34 3C 1C 02"] = "Sigma 135-400mm F4.5-5.6 APO Aspherical"; + lenses["26 48 11 11 30 30 1C 02"] = "Sigma 8mm F4 EX Circular Fisheye"; + lenses["26 48 27 27 24 24 1C 02"] = "Sigma 15mm F2.8 EX Diagonal Fisheye"; + lenses["26 48 2D 50 24 24 1C 06"] = "Sigma 18-50mm F2.8 EX DC"; + lenses["26 48 31 49 24 24 1C 02"] = "Sigma 20-40mm F2.8"; + lenses["26 48 37 56 24 24 1C 02"] = "Sigma 24-60mm F2.8 EX DG"; + lenses["26 48 3C 5C 24 24 1C 06"] = "Sigma 28-70mm F2.8 EX DG"; + lenses["26 48 3C 5C 24 30 1C 02"] = "Sigma 28-70mm F2.8-4 DG"; + lenses["26 48 3C 6A 24 30 1C 02"] = "Sigma 28-105mm F2.8-4 Aspherical"; + lenses["26 48 8E 8E 30 30 1C 02"] = "Sigma APO Tele Macro 300mm F4"; + lenses["26 54 2B 44 24 30 1C 02"] = "Sigma 17-35mm F2.8-4 EX Aspherical"; + lenses["26 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm F2.8 EX DG Macro"; + lenses["26 54 37 73 24 34 1C 02"] = "Sigma 24-135mm F2.8-4.5"; + lenses["26 54 3C 5C 24 24 1C 02"] = "Sigma 28-70mm F2.8 EX"; + lenses["26 58 31 31 14 14 1C 02"] = "Sigma 20mm F1.8 EX DG Aspherical RF"; + lenses["26 58 37 37 14 14 1C 02"] = "Sigma 24mm F1.8 EX DG Aspherical Macro"; + lenses["26 58 3C 3C 14 14 1C 02"] = "Sigma 28mm F1.8 EX DG Aspherical Macro"; lenses["27 48 8E 8E 24 24 1D 02"] = "AF-I Nikkor 300mm f/2.8D IF-ED"; lenses["27 48 8E 8E 24 24 E1 02"] = "AF-I Nikkor 300mm f/2.8D IF-ED + TC-17E"; lenses["27 48 8E 8E 24 24 F1 02"] = "AF-I Nikkor 300mm f/2.8D IF-ED + TC-14E"; lenses["27 48 8E 8E 24 24 F2 02"] = "AF-I Nikkor 300mm f/2.8D IF-ED + TC-20E"; - lenses["27 48 8E 8E 30 30 1D 02"] = "Tokina AT-X 304 AF 300mm f/4"; + lenses["27 48 8E 8E 30 30 1D 02"] = "Tokina AT-X 304 AF (AF 300mm f/4.0)"; lenses["27 54 8E 8E 24 24 1D 02"] = "Tamron SP AF 300mm f/2.8 LD-IF (360E)"; lenses["28 3C A6 A6 30 30 1D 02"] = "AF-I Nikkor 600mm f/4D IF-ED"; lenses["28 3C A6 A6 30 30 E1 02"] = "AF-I Nikkor 600mm f/4D IF-ED + TC-17E"; @@ -522,8 +530,8 @@ public: lenses["2D 48 80 80 30 30 21 02"] = "AF Micro-Nikkor 200mm f/4D IF-ED"; lenses["2E 48 5C 82 30 3C 22 02"] = "AF Nikkor 70-210mm f/4-5.6D"; lenses["2E 48 5C 82 30 3C 28 02"] = "AF Nikkor 70-210mm f/4-5.6D"; - lenses["2F 40 30 44 2C 34 29 02"] = "Tokina AF 235 II 20-35mm f/3.5-4.5"; - lenses["2F 40 30 44 2C 34 29 02"] = "Tokina AF 193 19-35mm f/3.5-4.5"; + lenses["2F 40 30 44 2C 34 29 02"] = "Tokina AF 235 II (AF 20-35mm f/3.5-4.5)"; + lenses["2F 40 30 44 2C 34 29 02"] = "Tokina AF 193 (AF 19-35mm f/3.5-4.5)"; lenses["2F 48 30 44 24 24 29 02"] = "AF Zoom-Nikkor 20-35mm f/2.8D IF"; lenses["2F 48 30 44 24 24 29 02"] = "Tokina AT-X 235 AF PRO (AF 20-35mm f/2.8)"; lenses["30 48 98 98 24 24 24 02"] = "AF-I Nikkor 400mm f/2.8D IF-ED"; @@ -531,10 +539,10 @@ public: lenses["30 48 98 98 24 24 F1 02"] = "AF-I Nikkor 400mm f/2.8D IF-ED + TC-14E"; lenses["30 48 98 98 24 24 F2 02"] = "AF-I Nikkor 400mm f/2.8D IF-ED + TC-20E"; lenses["31 54 56 56 24 24 25 02"] = "AF Micro-Nikkor 60mm f/2.8D"; - lenses["32 53 64 64 24 24 35 02"] = "Tamron SP AF 90mm f/2.8 Di Macro 1:1 (172E/272E)"; - lenses["32 54 50 50 24 24 35 02"] = "Sigma 50mm f/2.8 EX DG Macro"; + lenses["32 53 64 64 24 24 35 02"] = "Tamron SP AF 90mm f/2.8 [Di] Macro 1:1 (172E/272E)"; + lenses["32 54 50 50 24 24 35 02"] = "Sigma Macro 50mm F2.8 EX DG"; lenses["32 54 6A 6A 24 24 35 02"] = "AF Micro-Nikkor 105mm f/2.8D"; - lenses["32 54 6A 6A 24 24 35 02"] = "Sigma 105mm f/2.8 EX DG Macro"; + lenses["32 54 6A 6A 24 24 35 02"] = "Sigma Macro 105mm F2.8 EX DG"; lenses["33 48 2D 2D 24 24 31 02"] = "AF Nikkor 18mm f/2.8D"; lenses["33 54 3C 5E 24 24 62 02"] = "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical (IF) Macro (A09)"; lenses["34 48 29 29 24 24 32 02"] = "AF Fisheye Nikkor 16mm f/2.8D"; @@ -560,32 +568,34 @@ public: lenses["45 41 37 72 2C 3C 48 02"] = "Tamron SP AF 24-135mm f/3.5-5.6 AD Aspherical (IF) Macro (190D)"; lenses["46 3C 44 60 30 3C 49 02"] = "AF Zoom-Nikkor 35-80mm f/4-5.6D N"; lenses["47 42 37 50 2A 34 4A 02"] = "AF Zoom-Nikkor 24-50mm f/3.3-4.5D"; - lenses["48 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm f/4.5-5.6 EX Aspherical DG HSM"; - lenses["48 3C 19 31 30 3C 4B 06"] = "Sigma 10-20mm f/4-5.6 EX DC HSM"; - lenses["48 3C 50 A0 30 40 4B 02"] = "Sigma 50-500mm f/4-6.3 EX APO RF HSM"; - lenses["48 3C 8E B0 3C 3C 4B 02"] = "Sigma APO 300-800mm f/5.6 EX DG HSM"; - lenses["48 3C B0 B0 3C 3C 4B 02"] = "Sigma APO 800mm f/5.6 EX HSM"; - lenses["48 44 A0 A0 34 34 4B 02"] = "Sigma APO 500mm f/4.5 EX HSM"; - lenses["48 48 24 24 24 24 4B 02"] = "Sigma 14mm f/2.8 EX Aspherical HSM"; - lenses["48 48 2B 44 24 30 4B 06"] = "Sigma 17-35mm f/2.8-4 EX DG Aspherical HSM"; - lenses["48 48 68 8E 30 30 4B 02"] = "Sigma 100-300mm f/4 EX IF HSM"; - lenses["48 48 76 76 24 24 4B 06"] = "Sigma 150mm f/2.8 EX DG APO Macro HSM"; + lenses["48 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm F4.5-5.6 EX DG Aspherical HSM"; + lenses["48 3C 19 31 30 3C 4B 06"] = "Sigma 10-20mm F4-5.6 EX DC HSM"; + lenses["48 3C 50 A0 30 40 4B 02"] = "Sigma 50-500mm F4-6.3 EX APO RF HSM"; + lenses["48 3C 8E B0 3C 3C 4B 02"] = "Sigma APO 300-800mm F5.6 EX DG HSM"; + lenses["48 3C B0 B0 3C 3C 4B 02"] = "Sigma APO 800mm F5.6 EX HSM"; + lenses["48 44 A0 A0 34 34 4B 02"] = "Sigma APO 500mm F4.5 EX HSM"; + lenses["48 48 24 24 24 24 4B 02"] = "Sigma 14mm F2.8 EX Aspherical HSM"; + lenses["48 48 2B 44 24 30 4B 06"] = "Sigma 17-35mm F2.8-4 EX DG Aspherical HSM"; + lenses["48 48 68 8E 30 30 4B 02"] = "Sigma APO 100-300mm F4 EX IF HSM"; + lenses["48 48 76 76 24 24 4B 06"] = "Sigma APO Macro 150mm F2.8 EX DG HSM"; lenses["48 48 8E 8E 24 24 4B 02"] = "AF-S Nikkor 300mm f/2.8D IF-ED"; lenses["48 48 8E 8E 24 24 E1 02"] = "AF-S Nikkor 300mm f/2.8D IF-ED + TC-17E"; lenses["48 48 8E 8E 24 24 F1 02"] = "AF-S Nikkor 300mm f/2.8D IF-ED + TC-14E"; lenses["48 48 8E 8E 24 24 F2 02"] = "AF-S Nikkor 300mm f/2.8D IF-ED + TC-20E"; - lenses["48 4C 7C 7C 2C 2C 4B 02"] = "Sigma 180mm f/3.5 EX DG Macro"; - lenses["48 4C 7D 7D 2C 2C 4B 02"] = "Sigma APO Macro 180mm f/3.5 EX DG HSM"; - lenses["48 54 3E 3E 0C 0C 4B 06"] = "Sigma 30mm f/1.4 EX DC HSM"; - lenses["48 54 5C 80 24 24 4B 02"] = "Sigma 70-200mm f/2.8 EX APO IF HSM"; - lenses["48 54 6F 8E 24 24 4B 02"] = "Sigma APO 120-300mm f/2.8 EX DG HSM"; - lenses["48 54 8E 8E 24 24 4B 02"] = "Sigma APO 300mm f/2.8 EX DG HSM"; + lenses["48 4C 7C 7C 2C 2C 4B 02"] = "Sigma APO Macro 180mm F3.5 EX DG HSM"; + lenses["48 4C 7D 7D 2C 2C 4B 02"] = "Sigma APO Macro 180mm F3.5 EX DG HSM"; + lenses["48 54 3E 3E 0C 0C 4B 06"] = "Sigma 30mm F1.4 EX DC HSM"; + lenses["48 54 5C 80 24 24 4B 02"] = "Sigma 70-200mm F2.8 EX APO IF HSM"; + lenses["48 54 6F 8E 24 24 4B 02"] = "Sigma APO 120-300mm F2.8 EX DG HSM"; + lenses["48 54 8E 8E 24 24 4B 02"] = "Sigma APO 300mm F2.8 EX DG HSM"; lenses["49 3C A6 A6 30 30 4C 02"] = "AF-S Nikkor 600mm f/4D IF-ED"; lenses["49 3C A6 A6 30 30 E1 02"] = "AF-S Nikkor 600mm f/4D IF-ED + TC-17E"; lenses["49 3C A6 A6 30 30 F1 02"] = "AF-S Nikkor 600mm f/4D IF-ED + TC-14E"; lenses["49 3C A6 A6 30 30 F2 02"] = "AF-S Nikkor 600mm f/4D IF-ED + TC-20E"; lenses["4A 40 11 11 2C 0C 4D 02"] = "Samyang 8mm f/3.5 Fish-Eye CS"; + lenses["4A 48 1E 1E 24 0C 4D 02"] = "Samyang 12mm f/2.8 ED AS NCS Fish-Eye"; lenses["4A 48 24 24 24 0C 4D 02"] = "Samyang AE 14mm f/2.8 ED AS IF UMC"; + lenses["4A 54 29 29 18 0C 4D 02"] = "Samyang 16mm F2.0 ED AS UMC CS"; lenses["4A 54 62 62 0C 0C 4D 02"] = "AF Nikkor 85mm f/1.4D IF"; lenses["4A 60 44 44 0C 0C 4D 02"] = "Samyang 35mm f/1.4 AS UMC"; lenses["4A 60 62 62 0C 0C 4D 02"] = "Samyang AE 85mm f/1.4 AS IF UMC"; @@ -594,6 +604,7 @@ public: lenses["4B 3C A0 A0 30 30 F1 02"] = "AF-S Nikkor 500mm f/4D IF-ED + TC-14E"; lenses["4B 3C A0 A0 30 30 F2 02"] = "AF-S Nikkor 500mm f/4D IF-ED + TC-20E"; lenses["4C 40 37 6E 2C 3C 4F 02"] = "AF Zoom-Nikkor 24-120mm f/3.5-5.6D IF"; + lenses["4D 3E 3C 80 2E 3C 62 02"] = "Tamron AF 28-200mm F/3.8-5.6 XR Aspherical (IF) Macro (A03N)"; lenses["4D 40 3C 80 2C 3C 62 02"] = "AF Zoom-Nikkor 28-200mm f/3.5-5.6D IF"; lenses["4D 41 3C 8E 2B 40 62 02"] = "Tamron AF 28-300mm f/3.5-6.3 XR Di LD Aspherical (IF) (A061)"; lenses["4D 41 3C 8E 2C 40 62 02"] = "Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical (IF) (185D)"; @@ -604,7 +615,7 @@ public: lenses["53 48 60 80 24 24 60 02"] = "AF Zoom-Nikkor 80-200mm f/2.8D ED"; lenses["54 44 5C 7C 34 3C 58 02"] = "AF Zoom-Micro Nikkor 70-180mm f/4.5-5.6D ED"; lenses["54 44 5C 7C 34 3C 61 02"] = "AF Zoom-Micro Nikkor 70-180mm f/4.5-5.6D ED"; - lenses["56 3C 5C 8E 30 3C 1C 02"] = "Sigma 70-300mm f/4-5.6 APO Macro Super II"; + lenses["56 3C 5C 8E 30 3C 1C 02"] = "Sigma 70-300mm F4-5.6 APO Macro Super II"; lenses["56 48 5C 8E 30 3C 5A 02"] = "AF Zoom-Nikkor 70-300mm f/4-5.6D ED"; lenses["59 48 98 98 24 24 5D 02"] = "AF-S Nikkor 400mm f/2.8D IF-ED"; lenses["59 48 98 98 24 24 E1 02"] = "AF-S Nikkor 400mm f/2.8D IF-ED + TC-17E"; @@ -622,10 +633,10 @@ public: lenses["65 44 60 98 34 3C 6B 0A"] = "AF VR Zoom-Nikkor 80-400mm f/4.5-5.6D ED"; lenses["66 40 2D 44 2C 34 6C 02"] = "AF Zoom-Nikkor 18-35mm f/3.5-4.5D IF-ED"; lenses["67 48 37 62 24 30 6D 02"] = "AF Zoom-Nikkor 24-85mm f/2.8-4D IF"; - lenses["67 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm f/2.8 EX DG Macro"; + lenses["67 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm F2.8 EX DG Macro"; lenses["68 42 3C 60 2A 3C 6E 06"] = "AF Zoom-Nikkor 28-80mm f/3.3-5.6G"; lenses["69 47 5C 8E 30 3C 00 02"] = "Tamron AF 70-300mm f/4-5.6 Di LD Macro 1:2 (A17N)"; - lenses["69 48 5C 8E 30 3C 6F 02"] = "Tamron AF 70-300mm f/4-5.6 LD Macro 1:2 (772D)"; + lenses["69 48 5C 8E 30 3C 6F 02"] = "Tamron AF 70-300mm f/4-5.6 LD Macro 1:2 (572D/772D)"; lenses["69 48 5C 8E 30 3C 6F 06"] = "AF Zoom-Nikkor 70-300mm f/4-5.6G"; lenses["6A 48 8E 8E 30 30 70 02"] = "AF-S Nikkor 300mm f/4D IF-ED"; lenses["6B 48 24 24 24 24 71 02"] = "AF Nikkor ED 14mm f/2.8D"; @@ -637,88 +648,108 @@ public: lenses["74 40 37 62 2C 34 78 06"] = "AF-S Zoom-Nikkor 24-85mm f/3.5-4.5G IF-ED"; lenses["75 40 3C 68 2C 3C 79 06"] = "AF Zoom-Nikkor 28-100mm f/3.5-5.6G"; lenses["76 58 50 50 14 14 7A 02"] = "AF Nikkor 50mm f/1.8D"; - lenses["77 44 61 98 34 3C 7B 0E"] = "Sigma 80-400mm f/4.5-5.6 EX OS"; + lenses["77 44 61 98 34 3C 7B 0E"] = "Sigma 80-400mm F4.5-5.6 EX OS"; lenses["77 48 5C 80 24 24 7B 0E"] = "AF-S VR Zoom-Nikkor 70-200mm f/2.8G IF-ED"; lenses["78 40 37 6E 2C 3C 7C 0E"] = "AF-S VR Zoom-Nikkor 24-120mm f/3.5-5.6G IF-ED"; - lenses["79 40 11 11 2C 2C 1C 06"] = "Sigma 8mm f/3.5 EX Circular Fisheye"; + lenses["79 40 11 11 2C 2C 1C 06"] = "Sigma 8mm F3.5 EX Circular Fisheye"; lenses["79 40 3C 80 2C 3C 7F 06"] = "AF Zoom-Nikkor 28-200mm f/3.5-5.6G IF-ED"; - lenses["79 48 5C 5C 24 24 1C 06"] = "Sigma 70mm f/2.8 EX DG Macro"; - lenses["7A 3B 53 80 30 3C 4B 06"] = "Sigma 55-200mm f/4-5.6 DC HSM"; + lenses["79 48 3C 5C 24 24 1C 06"] = "Sigma 28-70mm F2.8 EX DG"; + lenses["79 48 5C 5C 24 24 1C 06"] = "Sigma Macro 70mm F2.8 EX DG"; + lenses["7A 3B 53 80 30 3C 4B 06"] = "Sigma 55-200mm F4-5.6 DC HSM"; lenses["7A 3C 1F 37 30 30 7E 06"] = "AF-S DX Zoom-Nikkor 12-24mm f/4G IF-ED"; lenses["7A 3C 1F 37 30 30 7E 06"] = "Tokina AT-X 124 AF PRO DX II (AF 12-24mm f/4)"; - lenses["7A 40 2D 50 2C 3C 4B 06"] = "Sigma 18-50mm f/3.5-5.6 DC HSM"; - lenses["7A 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm f/3.5-6.3 DC OS HSM"; - lenses["7A 47 2B 5C 24 34 4B 06"] = "Sigma 17-70mm f/2.8-4.5 DC Macro Asp. IF HSM"; - lenses["7A 47 50 76 24 24 4B 06"] = "Sigma 50-150mm f/2.8 EX APO DC HSM"; - lenses["7A 48 2B 5C 24 34 4B 06"] = "Sigma 17-70mm f/2.8-4.5 DC Macro Asp. IF HSM"; - lenses["7A 48 2D 50 24 24 4B 06"] = "Sigma 18-50mm f/2.8 EX DC Macro"; - lenses["7A 48 5C 80 24 24 4B 06"] = "Sigma 70-200mm f/2.8 EX APO DG Macro HSM II"; - lenses["7A 54 6E 8E 24 24 4B 02"] = "Sigma APO 120-300mm f/2.8 EX DG HSM"; + lenses["7A 3C 1F 3C 30 30 7E 06"] = "Tokina AT-X 12-28 PRO DX (AF 12-28mm F/4)"; + lenses["7A 40 2D 50 2C 3C 4B 06"] = "Sigma 18-50mm F3.5-5.6 DC HSM"; + lenses["7A 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm F3.5-6.3 DC OS HSM"; + lenses["7A 47 2B 5C 24 34 4B 06"] = "Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF HSM"; + lenses["7A 47 50 76 24 24 4B 06"] = "Sigma 50-150mm F2.8 EX APO DC HSM"; + lenses["7A 48 1C 29 24 24 7E 06"] = "Tokina AT-X 116 PRO DX II (AF 11-16mm f/2.8)"; + lenses["7A 48 2B 5C 24 34 4B 06"] = "Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF HSM"; + lenses["7A 48 2D 50 24 24 4B 06"] = "Sigma 18-50mm F2.8 EX DC Macro"; + lenses["7A 48 5C 80 24 24 4B 06"] = "Sigma 70-200mm F2.8 EX APO DG Macro HSM II"; + lenses["7A 54 6E 8E 24 24 4B 02"] = "Sigma APO 120-300mm F2.8 EX DG HSM"; lenses["7B 48 80 98 30 30 80 0E"] = "AF-S VR Zoom-Nikkor 200-400mm f/4G IF-ED"; lenses["7D 48 2B 53 24 24 82 06"] = "AF-S DX Zoom-Nikkor 17-55mm f/2.8G IF-ED"; lenses["7F 40 2D 5C 2C 34 84 06"] = "AF-S DX Zoom-Nikkor 18-70mm f/3.5-4.5G IF-ED"; - lenses["7F 48 2B 5C 24 34 1C 06"] = "Sigma 17-70mm f/2.8-4.5 DC Macro Asp. IF"; - lenses["7F 48 2D 50 24 24 1C 06"] = "Sigma 18-50mm f/2.8 EX DC Macro"; + lenses["7F 48 2B 5C 24 34 1C 06"] = "Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF"; + lenses["7F 48 2D 50 24 24 1C 06"] = "Sigma 18-50mm F2.8 EX DC Macro"; lenses["80 48 1A 1A 24 24 85 06"] = "AF DX Fisheye-Nikkor 10.5mm f/2.8G ED"; + lenses["81 34 76 A6 38 40 4B 0E"] = "Sigma 150-600mm F5-6.3 DG OS HSM | S"; lenses["81 54 80 80 18 18 86 0E"] = "AF-S VR Nikkor 200mm f/2G IF-ED"; lenses["82 48 8E 8E 24 24 87 0E"] = "AF-S VR Nikkor 300mm f/2.8G IF-ED"; - lenses["83 00 B0 B0 5A 5A 88 04"] = "FSA-L2 EDG 65 800mm f/13 G"; + lenses["83 00 B0 B0 5A 5A 88 04"] = "FSA-L2, EDG 65, 800mm F13 G"; + lenses["88 54 50 50 0C 0C 4B 06"] = "Sigma 50mm F1.4 DG HSM | A"; lenses["89 3C 53 80 30 3C 8B 06"] = "AF-S DX Zoom-Nikkor 55-200mm f/4-5.6G ED"; + lenses["8A 3C 37 6A 30 30 4B 0E"] = "Sigma 24-105mm F4 DG OS HSM"; lenses["8A 54 6A 6A 24 24 8C 0E"] = "AF-S VR Micro-Nikkor 105mm f/2.8G IF-ED"; lenses["8B 40 2D 80 2C 3C 8D 0E"] = "AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED"; lenses["8B 40 2D 80 2C 3C FD 0E"] = "AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED [II]"; + lenses["8B 4C 2D 44 14 14 4B 06"] = "Sigma 18-35mm F1.8 DC HSM"; lenses["8C 40 2D 53 2C 3C 8E 06"] = "AF-S DX Zoom-Nikkor 18-55mm f/3.5-5.6G ED"; lenses["8D 44 5C 8E 34 3C 8F 0E"] = "AF-S VR Zoom-Nikkor 70-300mm f/4.5-5.6G IF-ED"; - lenses["8E 3C 2B 5C 24 30 4B 0E"] = "Sigma 17-70mm f/2.8-4 DC Macro OS HSM Contemporary"; + lenses["8E 3C 2B 5C 24 30 4B 0E"] = "Sigma 17-70mm F2.8-4 DC Macro OS HSM Contemporary"; lenses["8F 40 2D 72 2C 3C 91 06"] = "AF-S DX Zoom-Nikkor 18-135mm f/3.5-5.6G IF-ED"; + lenses["8F 48 2B 50 24 24 4B 0E"] = "Sigma 17-50mm F2.8 EX DC OS HSM"; lenses["90 3B 53 80 30 3C 92 0E"] = "AF-S DX VR Zoom-Nikkor 55-200mm f/4-5.6G IF-ED"; - lenses["91 54 44 44 0C 0C 4B 06"] = "Sigma 35mm f/1.4 DG HSM | A"; - lenses["92 2C 2D 88 2C 40 4B 0E"] = "Sigma 18-250mm f/3.5-6.3 DC Macro OS HSM"; + lenses["90 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm F3.5-6.3 II DC OS HSM"; + lenses["91 54 44 44 0C 0C 4B 06"] = "Sigma 35mm F1.4 DG HSM"; + lenses["92 2C 2D 88 2C 40 4B 0E"] = "Sigma 18-250mm F3.5-6.3 DC Macro OS HSM"; lenses["92 48 24 37 24 24 94 06"] = "AF-S Zoom-Nikkor 14-24mm f/2.8G ED"; lenses["93 48 37 5C 24 24 95 06"] = "AF-S Zoom-Nikkor 24-70mm f/2.8G ED"; lenses["94 40 2D 53 2C 3C 96 06"] = "AF-S DX Zoom-Nikkor 18-55mm f/3.5-5.6G ED II"; lenses["95 00 37 37 2C 2C 97 06"] = "PC-E Nikkor 24mm f/3.5D ED"; lenses["95 4C 37 37 2C 2C 97 02"] = "PC-E Nikkor 24mm f/3.5D ED"; - lenses["96 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm f/4.5-5.6 II DG HSM"; + lenses["96 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm F4.5-5.6 II DG HSM"; lenses["96 48 98 98 24 24 98 0E"] = "AF-S VR Nikkor 400mm f/2.8G ED"; lenses["97 3C A0 A0 30 30 99 0E"] = "AF-S VR Nikkor 500mm f/4G ED"; + lenses["97 48 6A 6A 24 24 4B 0E"] = "Sigma Macro 105mm F2.8 EX DG OS HSM"; lenses["98 3C A6 A6 30 30 9A 0E"] = "AF-S VR Nikkor 600mm f/4G ED"; + lenses["98 48 50 76 24 24 4B 0E"] = "Sigma 50-150mm F2.8 EX APO DC OS HSM"; lenses["99 40 29 62 2C 3C 9B 0E"] = "AF-S DX VR Zoom-Nikkor 16-85mm f/3.5-5.6G ED"; + lenses["99 48 76 76 24 24 4B 0E"] = "Sigma APO Macro 150mm F2.8 EX DG OS HSM"; lenses["9A 40 2D 53 2C 3C 9C 0E"] = "AF-S DX VR Zoom-Nikkor 18-55mm f/3.5-5.6G"; lenses["9B 00 4C 4C 24 24 9D 06"] = "PC-E Micro Nikkor 45mm f/2.8D ED"; lenses["9B 54 4C 4C 24 24 9D 02"] = "PC-E Micro Nikkor 45mm f/2.8D ED"; - lenses["9B 54 62 62 0C 0C 4B 06"] = "Sigma 85mm f/1.4 EX DG HSM"; - lenses["9C 48 5C 80 24 24 4B 0E"] = "Sigma 70-200mm f/2.8 EX DG OS HSM"; + lenses["9B 54 62 62 0C 0C 4B 06"] = "Sigma 85mm F1.4 EX DG HSM"; + lenses["9C 48 5C 80 24 24 4B 0E"] = "Sigma 70-200mm F2.8 EX DG OS HSM"; lenses["9C 54 56 56 24 24 9E 06"] = "AF-S Micro Nikkor 60mm f/2.8G ED"; lenses["9D 00 62 62 24 24 9F 06"] = "PC-E Micro Nikkor 85mm f/2.8D"; - lenses["9D 48 2B 50 24 24 4B 0E"] = "Sigma 17-50mm f/2.8 EX DC OS HSM"; + lenses["9D 48 2B 50 24 24 4B 0E"] = "Sigma 17-50mm F2.8 EX DC OS HSM"; lenses["9D 54 62 62 24 24 9F 02"] = "PC-E Micro Nikkor 85mm f/2.8D"; - lenses["9E 38 11 29 34 3C 4B 06"] = "Sigma 8-16mm f/4.5-5.6 DC HSM"; + lenses["9E 38 11 29 34 3C 4B 06"] = "Sigma 8-16mm F4.5-5.6 DC HSM"; lenses["9E 40 2D 6A 2C 3C A0 0E"] = "AF-S DX VR Zoom-Nikkor 18-105mm f/3.5-5.6G ED"; - lenses["9F 37 50 A0 34 40 4B 0E"] = "Sigma 50-500mm f/4.5-6.3 DG OS HSM"; + lenses["9F 37 50 A0 34 40 4B 0E"] = "Sigma 50-500mm F4.5-6.3 DG OS HSM"; lenses["9F 58 44 44 14 14 A1 06"] = "AF-S DX Nikkor 35mm f/1.8G"; - lenses["A0 48 2A 5C 24 30 4B 0E"] = "Sigma 17-70mm f/2.8-4 DC Macro OS HSM"; - lenses["26 40 2D 44 2B 34 1C 02"] = "Sigma 18-35mm f/3.5-4.5 Aspherical"; - lenses["8B 4C 2D 44 14 14 4B 06"] = "Sigma 18-35mm f/1.8 DC HSM"; + lenses["A0 40 2D 74 2C 3C BB 0E"] = "AF-S DX Nikkor 18-140mm f/3.5-5.6G ED VR"; + lenses["A0 48 2A 5C 24 30 4B 0E"] = "Sigma 17-70mm F2.8-4 DC Macro OS HSM"; lenses["A0 54 50 50 0C 0C A2 06"] = "AF-S Nikkor 50mm f/1.4G"; lenses["A1 40 18 37 2C 34 A3 06"] = "AF-S DX Nikkor 10-24mm f/3.5-4.5G ED"; - lenses["A1 41 19 31 2C 2C 4B 06"] = "Sigma 10-20mm f/3.5 EX DC HSM"; + lenses["A1 41 19 31 2C 2C 4B 06"] = "Sigma 10-20mm F3.5 EX DC HSM"; + lenses["A1 54 55 55 0C 0C BC 06"] = "AF-S Nikkor 58mm f/1.4G"; + lenses["A2 40 2D 53 2C 3C BD 0E"] = "AF-S DX VR Nikkor 18-55mm f/3.5-5.6G II"; lenses["A2 48 5C 80 24 24 A4 0E"] = "AF-S Nikkor 70-200mm f/2.8G ED VR II"; lenses["A3 3C 29 44 30 30 A5 0E"] = "AF-S Nikkor 16-35mm f/4G ED VR"; - lenses["A3 3C 5C 8E 30 3C 4B 0E"] = "Sigma 70-300mm f/4-5.6 DG OS"; - lenses["A4 47 2D 50 24 34 4B 0E"] = "Sigma 18-50mm f/2.8-4.5 DC OS HSM"; + lenses["A3 3C 5C 8E 30 3C 4B 0E"] = "Sigma 70-300mm F4-5.6 DG OS"; + lenses["A4 40 2D 8E 2C 40 BF 0E"] = "AF-S DX Nikkor 18-300mm f/3.5-6.3G ED VR"; + lenses["A4 47 2D 50 24 34 4B 0E"] = "Sigma 18-50mm F2.8-4.5 DC OS HSM"; lenses["A4 54 37 37 0C 0C A6 06"] = "AF-S Nikkor 24mm f/1.4G ED"; - lenses["A5 40 2D 88 2C 40 4B 0E"] = "Sigma 18-250mm f/3.5-6.3 DC OS HSM"; + lenses["A5 40 2D 88 2C 40 4B 0E"] = "Sigma 18-250mm F3.5-6.3 DC OS HSM"; lenses["A5 40 3C 8E 2C 3C A7 0E"] = "AF-S Nikkor 28-300mm f/3.5-5.6G ED VR"; - lenses["A6 48 37 5C 24 24 4B 06"] = "Sigma 24-70mm f/2.8 IF EX DG HSM"; + lenses["A5 4C 44 44 14 14 C0 06"] = "AF-S Nikkor 35mm f/1.8G"; + lenses["A6 48 37 5C 24 24 4B 06"] = "Sigma 24-70mm F2.8 IF EX DG HSM"; lenses["A6 48 8E 8E 24 24 A8 0E"] = "AF-S VR Nikkor 300mm f/2.8G IF-ED II"; - lenses["A7 49 80 A0 24 24 4B 06"] = "Sigma APO 200-500mm f/2.8 EX DG"; + lenses["A7 3C 53 80 30 3C C2 0E"] = "AF-S DX Nikkor 55-200mm f/4-5.6G ED VR II"; + lenses["A7 49 80 A0 24 24 4B 06"] = "Sigma APO 200-500mm F2.8 EX DG"; lenses["A7 4B 62 62 2C 2C A9 0E"] = "AF-S DX Micro Nikkor 85mm f/3.5G ED VR"; lenses["A8 48 80 98 30 30 AA 0E"] = "AF-S VR Zoom-Nikkor 200-400mm f/4G IF-ED II"; + lenses["A8 48 8E 8E 30 30 C3 0E"] = "AF-S Nikkor 300mm f/4E PF ED VR"; + lenses["A8 48 8E 8E 30 30 C3 4E"] = "AF-S Nikkor 300mm f/4E PF ED VR"; + lenses["A9 4C 31 31 14 14 C4 06"] = "AF-S Nikkor 20mm f/1.8G ED"; lenses["A9 54 80 80 18 18 AB 0E"] = "AF-S Nikkor 200mm f/2G ED VR II"; lenses["AA 3C 37 6E 30 30 AC 0E"] = "AF-S Nikkor 24-120mm f/4G ED VR"; + lenses["AA 48 37 5C 24 24 C5 4E"] = "AF-S Nikkor 24-70mm f/2.8E ED VR"; lenses["AC 38 53 8E 34 3C AE 0E"] = "AF-S DX VR Nikkor 55-300mm f/4.5-5.6G ED"; - lenses["AD 3C 2D 8E 2C 3C AF 0E"] = "AF-S DX Nikkor 18-300mm 3.5-5.6G ED VR"; + lenses["AD 3C 2D 8E 2C 3C AF 0E"] = "AF-S DX Nikkor 18-300mm f/3.5-5.6G ED VR"; lenses["AE 54 62 62 0C 0C B0 06"] = "AF-S Nikkor 85mm f/1.4G"; lenses["AF 54 44 44 0C 0C B1 06"] = "AF-S Nikkor 35mm f/1.4G"; lenses["B0 4C 50 50 14 14 B2 06"] = "AF-S Nikkor 50mm f/1.8G"; @@ -727,53 +758,58 @@ public: lenses["B3 4C 62 62 14 14 B5 06"] = "AF-S Nikkor 85mm f/1.8G"; lenses["B4 40 37 62 2C 34 B6 0E"] = "AF-S VR Zoom-Nikkor 24-85mm f/3.5-4.5G IF-ED"; lenses["B5 4C 3C 3C 14 14 B7 06"] = "AF-S Nikkor 28mm f/1.8G"; - lenses["B6 48 37 56 24 24 1C 02"] = "Sigma 24-60mm f/2.8 EX DG"; + lenses["B6 48 37 56 24 24 1C 02"] = "Sigma 24-60mm F2.8 EX DG"; lenses["B7 44 60 98 34 3C B9 0E"] = "AF-S Nikkor 80-400mm f/4.5-5.6G ED VR"; lenses["B8 40 2D 44 2C 34 BA 06"] = "AF-S Nikkor 18-35mm f/3.5-4.5G ED"; - lenses["CD 3D 2D 70 2E 3C 4B 0E"] = "Sigma 18-125mm f/3.8-5.6 DC OS HSM"; - lenses["CE 34 76 A0 38 40 4B 0E"] = "Sigma 150-500mm f/5-6.3 DG OS APO HSM"; - lenses["CF 38 6E 98 34 3C 4B 0E"] = "Sigma APO 120-400mm f/4.5-5.6 DG OS HSM"; - lenses["DC 48 19 19 24 24 4B 06"] = "Sigma 10mm f/2.8 EX DC HSM Fisheye"; - lenses["DE 54 50 50 0C 0C 4B 06"] = "Sigma 50mm f/1.4 EX DG HSM"; - lenses["D8 48 5C 5C 24 24 1C 06"] = "Sigma 70mm f/2.8 EX DG Macro"; - lenses["E0 3C 5C 8E 30 3C 4B 06"] = "Sigma 70-300mm f/4-5.6 APO DG Macro HSM"; - lenses["E1 58 37 37 14 14 1C 02"] = "Sigma 24mm f/1.8 EX DG Aspherical Macro"; - lenses["E3 54 50 50 24 24 35 02"] = "Sigma 50mm f/2.8 EX DG Macro"; - lenses["E5 54 6A 6A 24 24 35 02"] = "Sigma 105mm f/2.8 EX DG Macro"; - lenses["E6 41 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm f/3.5-6.3 DG Macro"; - lenses["E9 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm f/2.8 EX DG Macro"; - lenses["ED 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm f/3.5-6.3 DC OS HSM"; - lenses["EE 48 5C 80 24 24 4B 06"] = "Sigma 70-200mm f/2.8 EX APO DG Macro HSM II"; - lenses["F0 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm f/4.5-5.6 EX DG Aspherical HSM"; + lenses["CD 3D 2D 70 2E 3C 4B 0E"] = "Sigma 18-125mm F3.8-5.6 DC OS HSM"; + lenses["CE 34 76 A0 38 40 4B 0E"] = "Sigma 150-500mm F5-6.3 DG OS APO HSM"; + lenses["CF 38 6E 98 34 3C 4B 0E"] = "Sigma APO 120-400mm F4.5-5.6 DG OS HSM"; + lenses["DC 48 19 19 24 24 4B 06"] = "Sigma 10mm F2.8 EX DC HSM Fisheye"; + lenses["DE 54 50 50 0C 0C 4B 06"] = "Sigma 50mm F1.4 EX DG HSM"; + lenses["E0 3C 5C 8E 30 3C 4B 06"] = "Sigma 70-300mm F4-5.6 APO DG Macro HSM"; + lenses["E1 58 37 37 14 14 1C 02"] = "Sigma 24mm F1.8 EX DG Aspherical Macro"; + lenses["E3 54 50 50 24 24 35 02"] = "Sigma Macro 50mm F2.8 EX DG"; + lenses["E5 54 6A 6A 24 24 35 02"] = "Sigma Macro 105mm F2.8 EX DG"; + lenses["E6 41 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm F3.5-6.3 DG Macro"; + lenses["E9 48 27 3E 24 24 DF 0E"] = "Tamron SP 15-30mm f/2.8 Di VC USD (A012)"; + lenses["E9 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm F2.8 EX DG Macro"; + lenses["EA 40 29 8E 2C 40 DF 0E"] = "Tamron AF 16-300mm f/3.5-6.3 Di II VC PZD (B016)"; + lenses["EA 48 27 27 24 24 1C 02"] = "Sigma 15mm F2.8 EX Diagonal Fisheye"; + lenses["EB 40 76 A6 38 40 DF 0E"] = "Tamron SP AF 150-600mm f/5-6.3 VC USD (A011)"; + lenses["ED 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm F3.5-6.3 DC OS HSM"; + lenses["EE 48 5C 80 24 24 4B 06"] = "Sigma 70-200mm F2.8 EX APO DG Macro HSM II"; + lenses["F0 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm F4.5-5.6 EX DG Aspherical HSM"; lenses["F0 3F 2D 8A 2C 40 DF 0E"] = "Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD (B008)"; - lenses["F1 44 A0 A0 34 34 4B 02"] = "Sigma APO 500mm f/4.5 EX DG HSM"; + lenses["F1 44 A0 A0 34 34 4B 02"] = "Sigma APO 500mm F4.5 EX DG HSM"; lenses["F1 47 5C 8E 30 3C DF 0E"] = "Tamron SP 70-300mm f/4-5.6 Di VC USD (A005)"; - lenses["F3 48 68 8E 30 30 4B 02"] = "Sigma APO 100-300mm f/4 EX IF HSM"; + lenses["F3 48 68 8E 30 30 4B 02"] = "Sigma APO 100-300mm F4 EX IF HSM"; lenses["F3 54 2B 50 24 24 84 0E"] = "Tamron SP AF 17-50mm f/2.8 XR Di II VC LD Aspherical (IF) (B005)"; lenses["F4 54 56 56 18 18 84 06"] = "Tamron SP AF 60mm f/2.0 Di II Macro 1:1 (G005)"; lenses["F5 40 2C 8A 2C 40 40 0E"] = "Tamron AF 18-270mm f/3.5-6.3 Di II VC LD Aspherical (IF) Macro (B003)"; - lenses["F5 48 76 76 24 24 4B 06"] = "Sigma 150mm f/2.8 EX DG APO Macro HSM"; + lenses["F5 48 76 76 24 24 4B 06"] = "Sigma APO Macro 150mm F2.8 EX DG HSM"; lenses["F6 3F 18 37 2C 34 84 06"] = "Tamron SP AF 10-24mm f/3.5-4.5 Di II LD Aspherical (IF) (B001)"; - lenses["F6 48 2D 50 24 24 4B 06"] = "Sigma 18-50mm f/2.8 EX DC Macro"; + lenses["F6 3F 18 37 2C 34 DF 06"] = "Tamron SP AF 10-24mm f/3.5-4.5 Di II LD Aspherical (IF) (B001)"; + lenses["F6 48 2D 50 24 24 4B 06"] = "Sigma 18-50mm F2.8 EX DC Macro"; lenses["F7 53 5C 80 24 24 40 06"] = "Tamron SP AF 70-200mm f/2.8 Di LD (IF) Macro (A001)"; lenses["F7 53 5C 80 24 24 84 06"] = "Tamron SP AF 70-200mm f/2.8 Di LD (IF) Macro (A001)"; - lenses["F8 54 3E 3E 0C 0C 4B 06"] = "Sigma 30mm f/1.4 EX DC HSM"; + lenses["F8 54 3E 3E 0C 0C 4B 06"] = "Sigma 30mm F1.4 EX DC HSM"; lenses["F8 54 64 64 24 24 DF 06"] = "Tamron SP AF 90mm f/2.8 Di Macro 1:1 (272NII)"; lenses["F8 55 64 64 24 24 84 06"] = "Tamron SP AF 90mm f/2.8 Di Macro 1:1 (272NII)"; - lenses["F9 3C 19 31 30 3C 4B 06"] = "Sigma 10-20mm f/4-5.6 EX DC HSM"; + lenses["F9 3C 19 31 30 3C 4B 06"] = "Sigma 10-20mm F4-5.6 EX DC HSM"; lenses["F9 40 3C 8E 2C 40 40 0E"] = "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical (IF) Macro (A20)"; lenses["FA 54 3C 5E 24 24 84 06"] = "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical (IF) Macro (A09NII)"; - lenses["FA 54 3C 5E 24 24 DF 06"] = "Tamron SP AF 28-75mm f//2.8 XR Di LD Aspherical (IF) Macro (A09NII)"; - lenses["FA 54 6E 8E 24 24 4B 02"] = "Sigma APO 120-300mm f/2.8 EX DG HSM"; + lenses["FA 54 3C 5E 24 24 DF 06"] = "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical (IF) Macro (A09NII)"; + lenses["FA 54 6E 8E 24 24 4B 02"] = "Sigma APO 120-300mm F2.8 EX DG HSM"; lenses["FB 54 2B 50 24 24 84 06"] = "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16NII)"; - lenses["FB 54 8E 8E 24 24 4B 02"] = "Sigma APO 300mm f/2.8 EX DG HSM"; + lenses["FB 54 8E 8E 24 24 4B 02"] = "Sigma APO 300mm F2.8 EX DG HSM"; lenses["FC 40 2D 80 2C 40 DF 06"] = "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) Macro (A14NII)"; - lenses["FD 47 50 76 24 24 4B 06"] = "Sigma 50-150mm f/2.8 EX APO DC HSM II"; - lenses["FE 47 00 00 24 24 4B 06"] = "Sigma 4.5mm f/2.8 EX DC HSM Circular Fisheye"; - lenses["FE 48 37 5C 24 24 DF 0E"] = "Tamron SP 24-70mm f/2.8 Di VC USD"; + lenses["FD 47 50 76 24 24 4B 06"] = "Sigma 50-150mm F2.8 EX APO DC HSM II"; + lenses["FE 47 00 00 24 24 4B 06"] = "Sigma 4.5mm F2.8 EX DC HSM Circular Fisheye"; + lenses["FE 48 37 5C 24 24 DF 0E"] = "Tamron SP 24-70mm f/2.8 Di VC USD (A007)"; lenses["FE 53 5C 80 24 24 84 06"] = "Tamron SP AF 70-200mm f/2.8 Di LD (IF) Macro (A001)"; - lenses["FE 54 5C 80 24 24 DF 0E"] = "Tamron SP AF 70-200mm f//2.8 Di VC USD (A009)"; - lenses["FE 54 64 64 24 24 DF 0E"] = "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1"; + lenses["FE 54 5C 80 24 24 DF 0E"] = "Tamron SP 70-200mm f/2.8 Di VC USD (A009)"; + lenses["FE 54 64 64 24 24 DF 0E"] = "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 (F004)"; + lenses["FF 40 2D 80 2C 40 4B 06"] = "Sigma 18-200mm F3.5-6.3 DC"; } virtual std::string toString (Tag* t) { From a2e5cda38425c2a99e2c6c4be41c9881b97c773b Mon Sep 17 00:00:00 2001 From: heckflosse Date: Tue, 25 Aug 2015 16:34:57 +0200 Subject: [PATCH 25/35] Speedup for Wavelet/Final Touchup/Final local contrast curve, fixes 2874 --- rtengine/ipwavelet.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/rtengine/ipwavelet.cc b/rtengine/ipwavelet.cc index d0793dcd3..43a96bacb 100644 --- a/rtengine/ipwavelet.cc +++ b/rtengine/ipwavelet.cc @@ -37,7 +37,6 @@ #include "mytime.h" #include "sleef.c" #include "opthelper.h" -#include "StopWatch.h" #include "EdgePreservingDecomposition.h" #ifdef _OPENMP @@ -164,7 +163,6 @@ SSEFUNCTION void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int { - StopWatch Stop1("ip_wavelet"); MyTime t1e, t2e ; t1e.set(); From df13fb8b1b7b5fc4f4ee1304cfb974221fa6ff84 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Wed, 26 Aug 2015 16:17:57 +0200 Subject: [PATCH 26/35] Fixed a bug in perceptual curve speedup --- rtengine/curves.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rtengine/curves.cc b/rtengine/curves.cc index ffeb684e6..d712a9629 100644 --- a/rtengine/curves.cc +++ b/rtengine/curves.cc @@ -2134,7 +2134,7 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv aw, fl, x * 0.0015259022f, y * 0.0015259022f, z * 0.0015259022f, xw, yw, zw, - c, nc, n, nbb, ncb, cz, d); + c, nc, pow1, nbb, ncb, cz, d); if (!isfinite(J) || !isfinite(C) || !isfinite(h)) { @@ -2241,7 +2241,7 @@ void PerceptualToneCurve::Apply(float &r, float &g, float &b, PerceptualToneCurv Ciecam02::jch2xyz_ciecam02float( x, y, z, J, C, h, xw, yw, zw, - f, c, nc, 1, n, nbb, ncb, fl, cz, d, aw ); + f, c, nc, 1, pow1, nbb, ncb, fl, cz, d, aw ); if (!isfinite(x) || !isfinite(y) || !isfinite(z)) { // can happen for colors on the rim of being outside gamut, that worked without chroma scaling but not with. Then we return only the curve's result. From da7ae69428103028ea15337cdd59ae1159e0e395 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Thu, 27 Aug 2015 17:11:05 +0200 Subject: [PATCH 27/35] Speedup for gauss when sigma >= 70 --- rtengine/gauss.h | 152 +++++++++++++++++++++++++++++------------------ 1 file changed, 93 insertions(+), 59 deletions(-) diff --git a/rtengine/gauss.h b/rtengine/gauss.h index 2a02df476..b8ec0008f 100644 --- a/rtengine/gauss.h +++ b/rtengine/gauss.h @@ -26,13 +26,7 @@ #ifdef _OPENMP #include #endif -#ifdef __SSE__ -#if defined( WIN32 ) && defined(__x86_64__) -#include -#else -#include -#endif -#endif +#include "opthelper.h" // classical filtering if the support window is small: @@ -88,13 +82,8 @@ template void gaussVertical3 (T** src, T** dst, AlignedBufferMP } #ifdef __SSE__ -#ifdef WIN32 -template __attribute__((force_align_arg_pointer)) void gaussVertical3Sse (T** src, T** dst, int W, int H, const float c0, const float c1) +template SSEFUNCTION void gaussVertical3Sse (T** src, T** dst, int W, int H, const float c0, const float c1) { -#else -template void gaussVertical3Sse (T** src, T** dst, int W, int H, const float c0, const float c1) -{ -#endif __m128 Tv, Tm1v, Tp1v; __m128 c0v, c1v; c0v = _mm_set1_ps(c0); @@ -107,7 +96,7 @@ template void gaussVertical3Sse (T** src, T** dst, int W, int H, const Tm1v = _mm_loadu_ps( &src[0][i] ); _mm_storeu_ps( &dst[0][i], Tm1v); - if(H > 1) { + if (H > 1) { Tv = _mm_loadu_ps( &src[1][i]); } @@ -126,7 +115,7 @@ template void gaussVertical3Sse (T** src, T** dst, int W, int H, const #pragma omp for #endif - for(int i = W - (W % 4); i < W; i++) { + for (int i = W - (W % 4); i < W; i++) { dst[0][i] = src[0][i]; for (int j = 1; j < H - 1; j++) { @@ -138,13 +127,8 @@ template void gaussVertical3Sse (T** src, T** dst, int W, int H, const } -#ifdef WIN32 -template __attribute__((force_align_arg_pointer)) void gaussHorizontal3Sse (T** src, T** dst, int W, int H, const float c0, const float c1) +template SSEFUNCTION void gaussHorizontal3Sse (T** src, T** dst, int W, int H, const float c0, const float c1) { -#else -template void gaussHorizontal3Sse (T** src, T** dst, int W, int H, const float c0, const float c1) -{ -#endif float tmp[W][4] __attribute__ ((aligned (16))); __m128 Tv, Tm1v, Tp1v; @@ -162,7 +146,7 @@ template void gaussHorizontal3Sse (T** src, T** dst, int W, int H, cons dst[i + 3][0] = src[i + 3][0]; Tm1v = _mm_set_ps( src[i][0], src[i + 1][0], src[i + 2][0], src[i + 3][0] ); - if(W > 1) { + if (W > 1) { Tv = _mm_set_ps( src[i][1], src[i + 1][1], src[i + 2][1], src[i + 3][1] ); } @@ -191,7 +175,7 @@ template void gaussHorizontal3Sse (T** src, T** dst, int W, int H, cons #pragma omp for #endif - for(int i = H - (H % 4); i < H; i++) { + for (int i = H - (H % 4); i < H; i++) { dst[i][0] = src[i][0]; for (int j = 1; j < W - 1; j++) { @@ -205,18 +189,15 @@ template void gaussHorizontal3Sse (T** src, T** dst, int W, int H, cons // fast gaussian approximation if the support window is large -#ifdef WIN32 -template __attribute__((force_align_arg_pointer)) void gaussHorizontalSse (T** src, T** dst, int W, int H, float sigma) +template SSEFUNCTION void gaussHorizontalSse (T** src, T** dst, int W, int H, float sigma) { -#else -template void gaussHorizontalSse (T** src, T** dst, int W, int H, float sigma) -{ -#endif if (sigma < 0.25) { // dont perform filtering if (src != dst) +#ifdef _OPENMP #pragma omp for +#endif for (int i = 0; i < H; i++) { memcpy (dst[i], src[i], W * sizeof(T)); } @@ -279,7 +260,10 @@ template void gaussHorizontalSse (T** src, T** dst, int W, int H, float b1v = _mm_set1_ps(b1); b2v = _mm_set1_ps(b2); b3v = _mm_set1_ps(b3); + +#ifdef _OPENMP #pragma omp for +#endif for (int i = 0; i < H - 3; i += 4) { tmpV[0] = src[i + 3][0]; @@ -351,9 +335,11 @@ template void gaussHorizontalSse (T** src, T** dst, int W, int H, float } // Borders are done without SSE +#ifdef _OPENMP #pragma omp for +#endif - for(int i = H - (H % 4); i < H; i++) { + for (int i = H - (H % 4); i < H; i++) { tmp[0][0] = B * src[i][0] + b1 * src[i][0] + b2 * src[i][0] + b3 * src[i][0]; tmp[1][0] = B * src[i][1] + b1 * tmp[0][0] + b2 * src[i][0] + b3 * src[i][0]; tmp[2][0] = B * src[i][2] + b1 * tmp[1][0] + b2 * tmp[0][0] + b3 * src[i][0]; @@ -389,7 +375,7 @@ template void gaussHorizontal (T** src, T** dst, AlignedBufferMP (src, dst, W, H, sigma); return; } @@ -399,7 +385,9 @@ template void gaussHorizontal (T** src, T** dst, AlignedBufferMP void gaussHorizontal (T** src, T** dst, AlignedBufferMP* pBuf = buffer.acquire(); @@ -486,18 +476,15 @@ template void gaussHorizontal (T** src, T** dst, AlignedBufferMP __attribute__((force_align_arg_pointer)) void gaussVerticalSse (T** src, T** dst, int W, int H, float sigma) +template SSEFUNCTION void gaussVerticalSse (T** src, T** dst, int W, int H, float sigma) { -#else -template void gaussVerticalSse (T** src, T** dst, int W, int H, float sigma) -{ -#endif if (sigma < 0.25) { // dont perform filtering if (src != dst) +#ifdef _OPENMP #pragma omp for +#endif for (int i = 0; i < H; i++) { memcpy (dst[i], src[i], W * sizeof(T)); } @@ -614,9 +601,11 @@ template void gaussVerticalSse (T** src, T** dst, int W, int H, float s } // Borders are done without SSE +#ifdef _OPENMP #pragma omp for +#endif - for(int i = W - (W % 4); i < W; i++) { + for (int i = W - (W % 4); i < W; i++) { tmp[0][0] = B * src[0][i] + b1 * src[0][i] + b2 * src[0][i] + b3 * src[0][i]; tmp[1][0] = B * src[1][i] + b1 * tmp[0][0] + b2 * src[0][i] + b3 * src[0][i]; tmp[2][0] = B * src[2][i] + b1 * tmp[1][0] + b2 * tmp[0][0] + b3 * src[0][i]; @@ -651,7 +640,7 @@ template void gaussVertical (T** src, T** dst, AlignedBufferMP #ifdef __SSE__ - if(sigma < 70) { // bigger sigma only with double precision + if (sigma < 70) { // bigger sigma only with double precision gaussVerticalSse (src, dst, W, H, sigma); return; } @@ -659,9 +648,11 @@ template void gaussVertical (T** src, T** dst, AlignedBufferMP #endif if (sigma < 0.25) { - // dont perform filtering + // don't perform filtering if (src != dst) +#ifdef _OPENMP #pragma omp for +#endif for (int i = 0; i < H; i++) { memcpy (dst[i], src[i], W * sizeof(T)); } @@ -713,38 +704,81 @@ template void gaussVertical (T** src, T** dst, AlignedBufferMP M[i][j] /= (1.0 + b1 - b2 + b3) * (1.0 + b2 + (b1 - b3) * b3); } + // process 'numcols' columns for better usage of L1 cpu cache (especially faster for large values of H) + static const int numcols = 4; + double temp2[H][numcols] ALIGNED16; + double temp2Hm1[numcols], temp2H[numcols], temp2Hp1[numcols]; #ifdef _OPENMP - #pragma omp for + #pragma omp for nowait #endif - for (int i = 0; i < W; i++) { - AlignedBuffer* pBuf = buffer.acquire(); - double* temp2 = pBuf->data; - temp2[0] = B * src[0][i] + b1 * src[0][i] + b2 * src[0][i] + b3 * src[0][i]; - temp2[1] = B * src[1][i] + b1 * temp2[0] + b2 * src[0][i] + b3 * src[0][i]; - temp2[2] = B * src[2][i] + b1 * temp2[1] + b2 * temp2[0] + b3 * src[0][i]; - - for (int j = 3; j < H; j++) { - temp2[j] = B * src[j][i] + b1 * temp2[j - 1] + b2 * temp2[j - 2] + b3 * temp2[j - 3]; + for (int i = 0; i < W - numcols + 1; i += numcols) { + for (int k = 0; k < numcols; k++) { + temp2[0][k] = B * src[0][i + k] + b1 * src[0][i + k] + b2 * src[0][i + k] + b3 * src[0][i + k]; + temp2[1][k] = B * src[1][i + k] + b1 * temp2[0][k] + b2 * src[0][i + k] + b3 * src[0][i + k]; + temp2[2][k] = B * src[2][i + k] + b1 * temp2[1][k] + b2 * temp2[0][k] + b3 * src[0][i + k]; } - double temp2Hm1 = src[H - 1][i] + M[0][0] * (temp2[H - 1] - src[H - 1][i]) + M[0][1] * (temp2[H - 2] - src[H - 1][i]) + M[0][2] * (temp2[H - 3] - src[H - 1][i]); - double temp2H = src[H - 1][i] + M[1][0] * (temp2[H - 1] - src[H - 1][i]) + M[1][1] * (temp2[H - 2] - src[H - 1][i]) + M[1][2] * (temp2[H - 3] - src[H - 1][i]); - double temp2Hp1 = src[H - 1][i] + M[2][0] * (temp2[H - 1] - src[H - 1][i]) + M[2][1] * (temp2[H - 2] - src[H - 1][i]) + M[2][2] * (temp2[H - 3] - src[H - 1][i]); + for (int j = 3; j < H; j++) { + for (int k = 0; k < numcols; k++) { + temp2[j][k] = B * src[j][i + k] + b1 * temp2[j - 1][k] + b2 * temp2[j - 2][k] + b3 * temp2[j - 3][k]; + } + } - temp2[H - 1] = temp2Hm1; - temp2[H - 2] = B * temp2[H - 2] + b1 * temp2[H - 1] + b2 * temp2H + b3 * temp2Hp1; - temp2[H - 3] = B * temp2[H - 3] + b1 * temp2[H - 2] + b2 * temp2[H - 1] + b3 * temp2H; + for (int k = 0; k < numcols; k++) { + temp2Hm1[k] = src[H - 1][i + k] + M[0][0] * (temp2[H - 1][k] - src[H - 1][i + k]) + M[0][1] * (temp2[H - 2][k] - src[H - 1][i + k]) + M[0][2] * (temp2[H - 3][k] - src[H - 1][i + k]); + temp2H[k] = src[H - 1][i + k] + M[1][0] * (temp2[H - 1][k] - src[H - 1][i + k]) + M[1][1] * (temp2[H - 2][k] - src[H - 1][i + k]) + M[1][2] * (temp2[H - 3][k] - src[H - 1][i + k]); + temp2Hp1[k] = src[H - 1][i + k] + M[2][0] * (temp2[H - 1][k] - src[H - 1][i + k]) + M[2][1] * (temp2[H - 2][k] - src[H - 1][i + k]) + M[2][2] * (temp2[H - 3][k] - src[H - 1][i + k]); + } + + for (int k = 0; k < numcols; k++) { + temp2[H - 1][k] = temp2Hm1[k]; + temp2[H - 2][k] = B * temp2[H - 2][k] + b1 * temp2[H - 1][k] + b2 * temp2H[k] + b3 * temp2Hp1[k]; + temp2[H - 3][k] = B * temp2[H - 3][k] + b1 * temp2[H - 2][k] + b2 * temp2[H - 1][k] + b3 * temp2H[k]; + } for (int j = H - 4; j >= 0; j--) { - temp2[j] = B * temp2[j] + b1 * temp2[j + 1] + b2 * temp2[j + 2] + b3 * temp2[j + 3]; + for (int k = 0; k < numcols; k++) { + temp2[j][k] = B * temp2[j][k] + b1 * temp2[j + 1][k] + b2 * temp2[j + 2][k] + b3 * temp2[j + 3][k]; + } } for (int j = 0; j < H; j++) { - dst[j][i] = (T)temp2[j]; + for (int k = 0; k < numcols; k++) { + dst[j][i + k] = (T)temp2[j][k]; + } + } + } + +#ifdef _OPENMP + #pragma omp single +#endif + + // process remaining column + for (int i = W - (W % numcols); i < W; i++) { + temp2[0][0] = B * src[0][i] + b1 * src[0][i] + b2 * src[0][i] + b3 * src[0][i]; + temp2[1][0] = B * src[1][i] + b1 * temp2[0][0] + b2 * src[0][i] + b3 * src[0][i]; + temp2[2][0] = B * src[2][i] + b1 * temp2[1][0] + b2 * temp2[0][0] + b3 * src[0][i]; + + for (int j = 3; j < H; j++) { + temp2[j][0] = B * src[j][i] + b1 * temp2[j - 1][0] + b2 * temp2[j - 2][0] + b3 * temp2[j - 3][0]; } - buffer.release(pBuf); + double temp2Hm1 = src[H - 1][i] + M[0][0] * (temp2[H - 1][0] - src[H - 1][i]) + M[0][1] * (temp2[H - 2][0] - src[H - 1][i]) + M[0][2] * (temp2[H - 3][0] - src[H - 1][i]); + double temp2H = src[H - 1][i] + M[1][0] * (temp2[H - 1][0] - src[H - 1][i]) + M[1][1] * (temp2[H - 2][0] - src[H - 1][i]) + M[1][2] * (temp2[H - 3][0] - src[H - 1][i]); + double temp2Hp1 = src[H - 1][i] + M[2][0] * (temp2[H - 1][0] - src[H - 1][i]) + M[2][1] * (temp2[H - 2][0] - src[H - 1][i]) + M[2][2] * (temp2[H - 3][0] - src[H - 1][i]); + + temp2[H - 1][0] = temp2Hm1; + temp2[H - 2][0] = B * temp2[H - 2][0] + b1 * temp2[H - 1][0] + b2 * temp2H + b3 * temp2Hp1; + temp2[H - 3][0] = B * temp2[H - 3][0] + b1 * temp2[H - 2][0] + b2 * temp2[H - 1][0] + b3 * temp2H; + + for (int j = H - 4; j >= 0; j--) { + temp2[j][0] = B * temp2[j][0] + b1 * temp2[j + 1][0] + b2 * temp2[j + 2][0] + b3 * temp2[j + 3][0]; + } + + for (int j = 0; j < H; j++) { + dst[j][i] = (T)temp2[j][0]; + } } } From ea8e878400a1c0b2319ddcf3bf46f75558317a9d Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Thu, 27 Aug 2015 17:25:45 +0200 Subject: [PATCH 28/35] Updated generateLensList to make aperture notation consistent: f/ --- tools/generateLensList | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/generateLensList b/tools/generateLensList index 4abb273a5..17a383ed7 100755 --- a/tools/generateLensList +++ b/tools/generateLensList @@ -39,22 +39,22 @@ for cam in "${cams[@]}"; do rm -f "${tmpdir}/cam" fi case $cam in - canon) sed -r -i -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' "${tmpdir}/canon" ;; + canon) sed -r -i -e '/-1\tn\/a/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/canon" ;; nikon) # Nikon LensIDs are composite tags printf '%s\n' "Saving ${tmpdir}/nikon" xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensID']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -composite:all) > "${tmpdir}/nikon" || { printf '%s\n' "Saving failed: ${tmpdir}/nikon"; exit 1; } - sed -r -i -e '/^... /d' -e 's/^/ lenses["/' -e 's/([A-F0-9]+)[A-F0-9.]*\t/\1"] = "/' -e 's/$/";/' "${tmpdir}/nikon" + sed -r -i -e '/^... /d' -e 's/^/ lenses["/' -e 's/([A-F0-9]+)[A-F0-9.]*\t/\1"] = "/' -e 's/$/";/' -e 's|(.* ")(.*) F([0-9]+)|\1\2 f/\3|' -e 's| F/([0-9]+)| f/\1|' "${tmpdir}/nikon" ;; - olympus) sed -i -e '/0 00 00\tNone/d' -e 's/^/ lenses["0/' -e 's/\t/"] = "/' -e 's/$/";/' "${tmpdir}/olympus" ;; - pentax) sed -r -i -e 's/^/ choices.insert(p_t(256 * /' -e 's/([0-9]+) ([0-9]+)([0-9.]*)/\1 + \2/' -e 's/\t/, "/' -e 's/$/"));/' "${tmpdir}/pentax" ;; + olympus) sed -r -i -e '/0 00 00\tNone/d' -e 's/^/ lenses["0/' -e 's/\t/"] = "/' -e 's/$/";/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/olympus" ;; + pentax) sed -r -i -e 's/^/ choices.insert(p_t(256 * /' -e 's/([0-9]+) ([0-9]+)([0-9.]*)/\1 + \2/' -e 's/\t/, "/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|' "${tmpdir}/pentax" ;; sony) # Sony has more lenses under the LensType2 tag printf '%s\n' "Saving ${tmpdir}/sony-lenstype2" xmlstarlet sel -T -t -m "taginfo/table/tag[@name='LensType2']/values/key" -v "concat(@id,' ',val)" -n < <(exiftool -listx -sony:all) > "${tmpdir}/cam" || { printf '%s\n' "Saving failed: ${tmpdir}/cam"; exit 1; } sort -fuV "${tmpdir}/cam" > "${tmpdir}/sony-lenstype2" rm -f "${tmpdir}/cam" - sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' "${tmpdir}/sony" "${tmpdir}/sony-lenstype2" + sed -r -i -e '/255\tTamron Lens (255)/d' -e 's/([0-9]+)[0-9.]*\t/\1, "/' -e 's/^/ choices.insert(p_t(/' -e 's/$/"));/' -e 's| F([0-9]+)| f/\1|g' "${tmpdir}/sony" "${tmpdir}/sony-lenstype2" ;; esac From 71eb36535dae8893f8f82987b8c64b466a4fd46d Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Thu, 27 Aug 2015 17:35:03 +0200 Subject: [PATCH 29/35] Updated rtexif/*.cc to use f/ aperture notation --- rtexif/canonattribs.cc | 2 +- rtexif/nikonattribs.cc | 316 +++++------ rtexif/olympusattribs.cc | 204 +++---- rtexif/pentaxattribs.cc | 528 +++++++++--------- rtexif/sonyminoltaattribs.cc | 998 +++++++++++++++++------------------ 5 files changed, 1024 insertions(+), 1024 deletions(-) diff --git a/rtexif/canonattribs.cc b/rtexif/canonattribs.cc index d5c792776..981798732 100644 --- a/rtexif/canonattribs.cc +++ b/rtexif/canonattribs.cc @@ -809,7 +809,7 @@ public: choices.insert(p_t(747, "Canon EF 100-400mm f/4.5-5.6L IS II USM")); choices.insert(p_t(4142, "Canon EF-S 18-135mm f/3.5-5.6 IS STM")); choices.insert(p_t(4143, "Canon EF-M 18-55mm f/3.5-5.6 IS STM or Tamron Lens")); - choices.insert(p_t(4143, "Tamron 18-200mm F/3.5-6.3 Di III VC")); + choices.insert(p_t(4143, "Tamron 18-200mm f/3.5-6.3 Di III VC")); choices.insert(p_t(4144, "Canon EF 40mm f/2.8 STM")); choices.insert(p_t(4145, "Canon EF-M 22mm f/2 STM")); choices.insert(p_t(4146, "Canon EF-S 18-55mm f/3.5-5.6 IS STM")); diff --git a/rtexif/nikonattribs.cc b/rtexif/nikonattribs.cc index a3e76c324..facb13a36 100644 --- a/rtexif/nikonattribs.cc +++ b/rtexif/nikonattribs.cc @@ -326,7 +326,7 @@ public: lenses["00 00 00 00 00 00 E1 12"] = "TC-17E II"; lenses["00 00 00 00 00 00 F1 0C"] = "TC-14E [II] or Sigma APO Tele Converter 1.4x EX DG or Kenko Teleplus PRO 300 DG 1.4x"; lenses["00 00 00 00 00 00 F2 18"] = "TC-20E [II] or Sigma APO Tele Converter 2x EX DG or Kenko Teleplus PRO 300 DG 2.0x"; - lenses["00 00 48 48 53 53 00 01"] = "Loreo 40mm F11-22 3D Lens in a Cap 9005"; + lenses["00 00 48 48 53 53 00 01"] = "Loreo 40mm f/11-22 3D Lens in a Cap 9005"; lenses["00 36 1C 2D 34 3C 00 06"] = "Tamron SP AF 11-18mm f/4.5-5.6 Di II LD Aspherical (IF) (A13)"; lenses["00 3C 1F 37 30 30 00 06"] = "Tokina AT-X 124 AF PRO DX (AF 12-24mm f/4)"; lenses["00 3E 80 A0 38 3F 00 02"] = "Tamron SP AF 200-500mm f/5-6.3 Di LD (IF) (A08)"; @@ -335,15 +335,15 @@ public: lenses["00 3F 80 A0 38 3F 00 02"] = "Tamron SP AF 200-500mm f/5-6.3 Di (A08)"; lenses["00 40 11 11 2C 2C 00 00"] = "Samyang 8mm f/3.5 Fish-Eye"; lenses["00 40 18 2B 2C 34 00 06"] = "Tokina AT-X 107 AF DX Fisheye (AF 10-17mm f/3.5-4.5)"; - lenses["00 40 2A 72 2C 3C 00 06"] = "Tokina AT-X 16.5-135 DX (AF 16.5-135mm F3.5-5.6)"; + lenses["00 40 2A 72 2C 3C 00 06"] = "Tokina AT-X 16.5-135 DX (AF 16.5-135mm f/3.5-5.6)"; lenses["00 40 2B 2B 2C 2C 00 02"] = "Tokina AT-X 17 AF PRO (AF 17mm f/3.5)"; lenses["00 40 2D 2D 2C 2C 00 00"] = "Carl Zeiss Distagon T* 3.5/18 ZF.2"; lenses["00 40 2D 80 2C 40 00 06"] = "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) Macro (A14NII)"; lenses["00 40 2D 88 2C 40 00 06"] = "Tamron AF 18-250mm f/3.5-6.3 Di II LD Aspherical (IF) Macro (A18NII)"; lenses["00 40 2D 88 2C 40 62 06"] = "Tamron AF 18-250mm f/3.5-6.3 Di II LD Aspherical (IF) Macro (A18)"; - lenses["00 40 31 31 2C 2C 00 00"] = "Voigtlander Color Skopar 20mm F3.5 SLII Aspherical"; + lenses["00 40 31 31 2C 2C 00 00"] = "Voigtlander Color Skopar 20mm f/3.5 SLII Aspherical"; lenses["00 40 37 80 2C 3C 00 02"] = "Tokina AT-X 242 AF (AF 24-200mm f/3.5-5.6)"; - lenses["00 40 64 64 2C 2C 00 00"] = "Voigtlander APO-Lanthar 90mm F3.5 SLII Close Focus"; + lenses["00 40 64 64 2C 2C 00 00"] = "Voigtlander APO-Lanthar 90mm f/3.5 SLII Close Focus"; lenses["00 44 60 98 34 3C 00 02"] = "Tokina AT-X 840 D (AF 80-400mm f/4.5-5.6)"; lenses["00 47 10 10 24 24 00 00"] = "Fisheye Nikkor 8mm f/2.8 AiS"; lenses["00 47 25 25 24 24 00 02"] = "Tamron SP AF 14mm f/2.8 Aspherical (IF) (69E)"; @@ -369,11 +369,11 @@ public: lenses["00 54 3C 3C 18 18 00 00"] = "Carl Zeiss Distagon T* 2/28 ZF.2"; lenses["00 54 44 44 0C 0C 00 00"] = "Nikkor 35mm f/1.4 AiS"; lenses["00 54 44 44 18 18 00 00"] = "Carl Zeiss Distagon T* 2/35 ZF.2"; - lenses["00 54 48 48 18 18 00 00"] = "Voigtlander Ultron 40mm F2 SLII Aspherical"; + lenses["00 54 48 48 18 18 00 00"] = "Voigtlander Ultron 40mm f/2 SLII Aspherical"; lenses["00 54 50 50 0C 0C 00 00"] = "Carl Zeiss Planar T* 1.4/50 ZF.2"; lenses["00 54 50 50 18 18 00 00"] = "Carl Zeiss Makro-Planar T* 2/50 ZF.2"; lenses["00 54 53 53 0C 0C 00 00"] = "Zeiss Otus 1.4/55"; - lenses["00 54 55 55 0C 0C 00 00"] = "Voigtlander Nokton 58mm F1.4 SLII"; + lenses["00 54 55 55 0C 0C 00 00"] = "Voigtlander Nokton 58mm f/1.4 SLII"; lenses["00 54 56 56 30 30 00 00"] = "Coastal Optical Systems 60mm 1:4 UV-VIS-IR Macro Apo"; lenses["00 54 62 62 0C 0C 00 00"] = "Carl Zeiss Planar T* 1.4/85 ZF.2"; lenses["00 54 68 68 18 18 00 00"] = "Carl Zeiss Makro-Planar T* 2/100 ZF.2"; @@ -385,40 +385,40 @@ public: lenses["01 00 00 00 00 00 08 00"] = "TC-16A"; lenses["01 58 50 50 14 14 02 00"] = "AF Nikkor 50mm f/1.8"; lenses["01 58 50 50 14 14 05 00"] = "AF Nikkor 50mm f/1.8"; - lenses["02 2F 98 98 3D 3D 02 00"] = "Sigma APO 400mm F5.6"; - lenses["02 34 A0 A0 44 44 02 00"] = "Sigma APO 500mm F7.2"; - lenses["02 37 5E 8E 35 3D 02 00"] = "Sigma 75-300mm F4.5-5.6 APO"; - lenses["02 37 A0 A0 34 34 02 00"] = "Sigma APO 500mm F4.5"; - lenses["02 3A 37 50 31 3D 02 00"] = "Sigma 24-50mm F4-5.6 UC"; - lenses["02 3A 5E 8E 32 3D 02 00"] = "Sigma 75-300mm F4.0-5.6"; - lenses["02 3B 44 61 30 3D 02 00"] = "Sigma 35-80mm F4-5.6"; - lenses["02 3C B0 B0 3C 3C 02 00"] = "Sigma APO 800mm F5.6"; - lenses["02 3F 24 24 2C 2C 02 00"] = "Sigma 14mm F3.5"; - lenses["02 3F 3C 5C 2D 35 02 00"] = "Sigma 28-70mm F3.5-4.5 UC"; + lenses["02 2F 98 98 3D 3D 02 00"] = "Sigma APO 400mm f/5.6"; + lenses["02 34 A0 A0 44 44 02 00"] = "Sigma APO 500mm f/7.2"; + lenses["02 37 5E 8E 35 3D 02 00"] = "Sigma 75-300mm f/4.5-5.6 APO"; + lenses["02 37 A0 A0 34 34 02 00"] = "Sigma APO 500mm f/4.5"; + lenses["02 3A 37 50 31 3D 02 00"] = "Sigma 24-50mm f/4-5.6 UC"; + lenses["02 3A 5E 8E 32 3D 02 00"] = "Sigma 75-300mm f/4.0-5.6"; + lenses["02 3B 44 61 30 3D 02 00"] = "Sigma 35-80mm f/4-5.6"; + lenses["02 3C B0 B0 3C 3C 02 00"] = "Sigma APO 800mm f/5.6"; + lenses["02 3F 24 24 2C 2C 02 00"] = "Sigma 14mm f/3.5"; + lenses["02 3F 3C 5C 2D 35 02 00"] = "Sigma 28-70mm f/3.5-4.5 UC"; lenses["02 40 44 5C 2C 34 02 00"] = "Exakta AF 35-70mm 1:3.5-4.5 MC"; - lenses["02 40 44 73 2B 36 02 00"] = "Sigma 35-135mm F3.5-4.5 a"; - lenses["02 40 5C 82 2C 35 02 00"] = "Sigma APO 70-210mm F3.5-4.5"; + lenses["02 40 44 73 2B 36 02 00"] = "Sigma 35-135mm f/3.5-4.5 a"; + lenses["02 40 5C 82 2C 35 02 00"] = "Sigma APO 70-210mm f/3.5-4.5"; lenses["02 42 44 5C 2A 34 02 00"] = "AF Zoom-Nikkor 35-70mm f/3.3-4.5"; lenses["02 42 44 5C 2A 34 08 00"] = "AF Zoom-Nikkor 35-70mm f/3.3-4.5"; - lenses["02 46 37 37 25 25 02 00"] = "Sigma 24mm F2.8 Super Wide II Macro"; - lenses["02 46 3C 5C 25 25 02 00"] = "Sigma 28-70mm F2.8"; - lenses["02 46 5C 82 25 25 02 00"] = "Sigma 70-210mm F2.8 APO"; - lenses["02 48 50 50 24 24 02 00"] = "Sigma Macro 50mm F2.8"; - lenses["02 48 65 65 24 24 02 00"] = "Sigma Macro 90mm F2.8"; + lenses["02 46 37 37 25 25 02 00"] = "Sigma 24mm f/2.8 Super Wide II Macro"; + lenses["02 46 3C 5C 25 25 02 00"] = "Sigma 28-70mm f/2.8"; + lenses["02 46 5C 82 25 25 02 00"] = "Sigma 70-210mm f/2.8 APO"; + lenses["02 48 50 50 24 24 02 00"] = "Sigma Macro 50mm f/2.8"; + lenses["02 48 65 65 24 24 02 00"] = "Sigma Macro 90mm f/2.8"; lenses["03 43 5C 81 35 35 02 00"] = "Soligor AF C/D Zoom UMCS 70-210mm 1:4.5"; lenses["03 48 5C 81 30 30 02 00"] = "AF Zoom-Nikkor 70-210mm f/4"; lenses["04 48 3C 3C 24 24 03 00"] = "AF Nikkor 28mm f/2.8"; lenses["05 54 50 50 0C 0C 04 00"] = "AF Nikkor 50mm f/1.4"; - lenses["06 3F 68 68 2C 2C 06 00"] = "Cosina AF 100mm F3.5 Macro"; + lenses["06 3F 68 68 2C 2C 06 00"] = "Cosina AF 100mm f/3.5 Macro"; lenses["06 54 53 53 24 24 06 00"] = "AF Micro-Nikkor 55mm f/2.8"; - lenses["07 36 3D 5F 2C 3C 03 00"] = "Cosina AF Zoom 28-80mm F3.5-5.6 MC Macro"; + lenses["07 36 3D 5F 2C 3C 03 00"] = "Cosina AF Zoom 28-80mm f/3.5-5.6 MC Macro"; lenses["07 3E 30 43 2D 35 03 00"] = "Soligor AF Zoom 19-35mm 1:3.5-4.5 MC"; lenses["07 40 2F 44 2C 34 03 02"] = "Tamron AF 19-35mm f/3.5-4.5 (A10)"; lenses["07 40 30 45 2D 35 03 02"] = "Tamron AF 19-35mm f/3.5-4.5 (A10)"; lenses["07 40 3C 5C 2C 35 03 00"] = "Tokina AF 270 II (AF 28-70mm f/3.5-4.5)"; lenses["07 40 3C 62 2C 34 03 00"] = "AF Zoom-Nikkor 28-85mm f/3.5-4.5"; lenses["07 46 2B 44 24 30 03 02"] = "Tamron SP AF 17-35mm f/2.8-4 Di LD Aspherical (IF) (A05)"; - lenses["07 46 3D 6A 25 2F 03 00"] = "Cosina AF Zoom 28-105mm F2.8-3.8 MC"; + lenses["07 46 3D 6A 25 2F 03 00"] = "Cosina AF Zoom 28-105mm f/2.8-3.8 MC"; lenses["07 47 3C 5C 25 35 03 00"] = "Tokina AF 287 SD (AF 28-70mm f/2.8-4.5)"; lenses["07 48 3C 5C 24 24 03 00"] = "Tokina AT-X 287 AF (AF 28-70mm f/2.8)"; lenses["08 40 44 6A 2C 34 04 00"] = "AF Zoom-Nikkor 35-105mm f/3.5-4.5"; @@ -435,14 +435,14 @@ public: lenses["10 3D 3C 60 2C 3C D2 02"] = "Tamron AF 28-80mm f/3.5-5.6 Aspherical (177D)"; lenses["10 48 8E 8E 30 30 08 00"] = "AF Nikkor 300mm f/4 IF-ED"; lenses["11 48 44 5C 24 24 08 00"] = "AF Zoom-Nikkor 35-70mm f/2.8"; - lenses["12 36 5C 81 35 3D 09 00"] = "Cosina AF Zoom 70-210mm F4.5-5.6 MC Macro"; + lenses["12 36 5C 81 35 3D 09 00"] = "Cosina AF Zoom 70-210mm f/4.5-5.6 MC Macro"; lenses["12 36 69 97 35 42 09 00"] = "Soligor AF Zoom 100-400mm 1:4.5-6.7 MC"; - lenses["12 38 69 97 35 42 09 02"] = "Promaster Spectrum 7 100-400mm F4.5-6.7"; - lenses["12 39 5C 8E 34 3D 08 02"] = "Cosina AF Zoom 70-300mm F4.5-5.6 MC Macro"; - lenses["12 3B 68 8D 3D 43 09 02"] = "Cosina AF Zoom 100-300mm F5.6-6.7 MC Macro"; + lenses["12 38 69 97 35 42 09 02"] = "Promaster Spectrum 7 100-400mm f/4.5-6.7"; + lenses["12 39 5C 8E 34 3D 08 02"] = "Cosina AF Zoom 70-300mm f/4.5-5.6 MC Macro"; + lenses["12 3B 68 8D 3D 43 09 02"] = "Cosina AF Zoom 100-300mm f/5.6-6.7 MC Macro"; lenses["12 3B 98 98 3D 3D 09 00"] = "Tokina AT-X 400 AF SD (AF 400mm f/5.6)"; lenses["12 3D 3C 80 2E 3C DF 02"] = "Tamron AF 28-200mm f/3.8-5.6 AF Aspherical LD (IF) (271D)"; - lenses["12 44 5E 8E 34 3C 09 00"] = "Tokina AF 730 (AF 75-300mm F4.5-5.6)"; + lenses["12 44 5E 8E 34 3C 09 00"] = "Tokina AF 730 (AF 75-300mm f/4.5-5.6)"; lenses["12 48 5C 81 30 3C 09 00"] = "AF Nikkor 70-210mm f/4-5.6"; lenses["12 4A 5C 81 31 3D 09 00"] = "Soligor AF C/D Auto Zoom+Macro 70-210mm 1:4-5.6 UMCS"; lenses["13 42 37 50 2A 34 0B 00"] = "AF Zoom-Nikkor 24-50mm f/3.3-4.5"; @@ -477,43 +477,43 @@ public: lenses["25 48 44 5C 24 24 1B 02"] = "AF Zoom-Nikkor 35-70mm f/2.8D"; lenses["25 48 44 5C 24 24 3A 02"] = "AF Zoom-Nikkor 35-70mm f/2.8D"; lenses["25 48 44 5C 24 24 52 02"] = "AF Zoom-Nikkor 35-70mm f/2.8D"; - lenses["26 3C 54 80 30 3C 1C 06"] = "Sigma 55-200mm F4-5.6 DC"; - lenses["26 3C 5C 82 30 3C 1C 02"] = "Sigma 70-210mm F4-5.6 UC-II"; - lenses["26 3C 5C 8E 30 3C 1C 02"] = "Sigma 70-300mm F4-5.6 DG Macro"; - lenses["26 3C 98 98 3C 3C 1C 02"] = "Sigma APO Tele Macro 400mm F5.6"; - lenses["26 3D 3C 80 2F 3D 1C 02"] = "Sigma 28-300mm F3.8-5.6 Aspherical"; - lenses["26 3E 3C 6A 2E 3C 1C 02"] = "Sigma 28-105mm F3.8-5.6 UC-III Aspherical IF"; - lenses["26 40 27 3F 2C 34 1C 02"] = "Sigma 15-30mm F3.5-4.5 EX DG Aspherical DF"; - lenses["26 40 2D 44 2B 34 1C 02"] = "Sigma 18-35mm F3.5-4.5 Aspherical"; - lenses["26 40 2D 50 2C 3C 1C 06"] = "Sigma 18-50mm F3.5-5.6 DC"; - lenses["26 40 2D 70 2B 3C 1C 06"] = "Sigma 18-125mm F3.5-5.6 DC"; - lenses["26 40 2D 80 2C 40 1C 06"] = "Sigma 18-200mm F3.5-6.3 DC"; - lenses["26 40 37 5C 2C 3C 1C 02"] = "Sigma 24-70mm F3.5-5.6 Aspherical HF"; + lenses["26 3C 54 80 30 3C 1C 06"] = "Sigma 55-200mm f/4-5.6 DC"; + lenses["26 3C 5C 82 30 3C 1C 02"] = "Sigma 70-210mm f/4-5.6 UC-II"; + lenses["26 3C 5C 8E 30 3C 1C 02"] = "Sigma 70-300mm f/4-5.6 DG Macro"; + lenses["26 3C 98 98 3C 3C 1C 02"] = "Sigma APO Tele Macro 400mm f/5.6"; + lenses["26 3D 3C 80 2F 3D 1C 02"] = "Sigma 28-300mm f/3.8-5.6 Aspherical"; + lenses["26 3E 3C 6A 2E 3C 1C 02"] = "Sigma 28-105mm f/3.8-5.6 UC-III Aspherical IF"; + lenses["26 40 27 3F 2C 34 1C 02"] = "Sigma 15-30mm f/3.5-4.5 EX DG Aspherical DF"; + lenses["26 40 2D 44 2B 34 1C 02"] = "Sigma 18-35mm f/3.5-4.5 Aspherical"; + lenses["26 40 2D 50 2C 3C 1C 06"] = "Sigma 18-50mm f/3.5-5.6 DC"; + lenses["26 40 2D 70 2B 3C 1C 06"] = "Sigma 18-125mm f/3.5-5.6 DC"; + lenses["26 40 2D 80 2C 40 1C 06"] = "Sigma 18-200mm f/3.5-6.3 DC"; + lenses["26 40 37 5C 2C 3C 1C 02"] = "Sigma 24-70mm f/3.5-5.6 Aspherical HF"; lenses["26 40 3C 5C 2C 34 1C 02"] = "AF Zoom-Nikkor 28-70mm f/3.5-4.5D"; - lenses["26 40 3C 60 2C 3C 1C 02"] = "Sigma 28-80mm F3.5-5.6 Mini Zoom Macro II Aspherical"; - lenses["26 40 3C 65 2C 3C 1C 02"] = "Sigma 28-90mm F3.5-5.6 Macro"; - lenses["26 40 3C 80 2B 3C 1C 02"] = "Sigma 28-200mm F3.5-5.6 Compact Aspherical Hyperzoom Macro"; - lenses["26 40 3C 80 2C 3C 1C 02"] = "Sigma 28-200mm F3.5-5.6 Compact Aspherical Hyperzoom Macro"; - lenses["26 40 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm F3.5-6.3 Macro"; - lenses["26 40 7B A0 34 40 1C 02"] = "Sigma APO 170-500mm F5-6.3 Aspherical RF"; - lenses["26 41 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm F3.5-6.3 DG Macro"; - lenses["26 44 73 98 34 3C 1C 02"] = "Sigma 135-400mm F4.5-5.6 APO Aspherical"; - lenses["26 48 11 11 30 30 1C 02"] = "Sigma 8mm F4 EX Circular Fisheye"; - lenses["26 48 27 27 24 24 1C 02"] = "Sigma 15mm F2.8 EX Diagonal Fisheye"; - lenses["26 48 2D 50 24 24 1C 06"] = "Sigma 18-50mm F2.8 EX DC"; - lenses["26 48 31 49 24 24 1C 02"] = "Sigma 20-40mm F2.8"; - lenses["26 48 37 56 24 24 1C 02"] = "Sigma 24-60mm F2.8 EX DG"; - lenses["26 48 3C 5C 24 24 1C 06"] = "Sigma 28-70mm F2.8 EX DG"; - lenses["26 48 3C 5C 24 30 1C 02"] = "Sigma 28-70mm F2.8-4 DG"; - lenses["26 48 3C 6A 24 30 1C 02"] = "Sigma 28-105mm F2.8-4 Aspherical"; - lenses["26 48 8E 8E 30 30 1C 02"] = "Sigma APO Tele Macro 300mm F4"; - lenses["26 54 2B 44 24 30 1C 02"] = "Sigma 17-35mm F2.8-4 EX Aspherical"; - lenses["26 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm F2.8 EX DG Macro"; - lenses["26 54 37 73 24 34 1C 02"] = "Sigma 24-135mm F2.8-4.5"; - lenses["26 54 3C 5C 24 24 1C 02"] = "Sigma 28-70mm F2.8 EX"; - lenses["26 58 31 31 14 14 1C 02"] = "Sigma 20mm F1.8 EX DG Aspherical RF"; - lenses["26 58 37 37 14 14 1C 02"] = "Sigma 24mm F1.8 EX DG Aspherical Macro"; - lenses["26 58 3C 3C 14 14 1C 02"] = "Sigma 28mm F1.8 EX DG Aspherical Macro"; + lenses["26 40 3C 60 2C 3C 1C 02"] = "Sigma 28-80mm f/3.5-5.6 Mini Zoom Macro II Aspherical"; + lenses["26 40 3C 65 2C 3C 1C 02"] = "Sigma 28-90mm f/3.5-5.6 Macro"; + lenses["26 40 3C 80 2B 3C 1C 02"] = "Sigma 28-200mm f/3.5-5.6 Compact Aspherical Hyperzoom Macro"; + lenses["26 40 3C 80 2C 3C 1C 02"] = "Sigma 28-200mm f/3.5-5.6 Compact Aspherical Hyperzoom Macro"; + lenses["26 40 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm f/3.5-6.3 Macro"; + lenses["26 40 7B A0 34 40 1C 02"] = "Sigma APO 170-500mm f/5-6.3 Aspherical RF"; + lenses["26 41 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm f/3.5-6.3 DG Macro"; + lenses["26 44 73 98 34 3C 1C 02"] = "Sigma 135-400mm f/4.5-5.6 APO Aspherical"; + lenses["26 48 11 11 30 30 1C 02"] = "Sigma 8mm f/4 EX Circular Fisheye"; + lenses["26 48 27 27 24 24 1C 02"] = "Sigma 15mm f/2.8 EX Diagonal Fisheye"; + lenses["26 48 2D 50 24 24 1C 06"] = "Sigma 18-50mm f/2.8 EX DC"; + lenses["26 48 31 49 24 24 1C 02"] = "Sigma 20-40mm f/2.8"; + lenses["26 48 37 56 24 24 1C 02"] = "Sigma 24-60mm f/2.8 EX DG"; + lenses["26 48 3C 5C 24 24 1C 06"] = "Sigma 28-70mm f/2.8 EX DG"; + lenses["26 48 3C 5C 24 30 1C 02"] = "Sigma 28-70mm f/2.8-4 DG"; + lenses["26 48 3C 6A 24 30 1C 02"] = "Sigma 28-105mm f/2.8-4 Aspherical"; + lenses["26 48 8E 8E 30 30 1C 02"] = "Sigma APO Tele Macro 300mm f/4"; + lenses["26 54 2B 44 24 30 1C 02"] = "Sigma 17-35mm f/2.8-4 EX Aspherical"; + lenses["26 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm f/2.8 EX DG Macro"; + lenses["26 54 37 73 24 34 1C 02"] = "Sigma 24-135mm f/2.8-4.5"; + lenses["26 54 3C 5C 24 24 1C 02"] = "Sigma 28-70mm f/2.8 EX"; + lenses["26 58 31 31 14 14 1C 02"] = "Sigma 20mm f/1.8 EX DG Aspherical RF"; + lenses["26 58 37 37 14 14 1C 02"] = "Sigma 24mm f/1.8 EX DG Aspherical Macro"; + lenses["26 58 3C 3C 14 14 1C 02"] = "Sigma 28mm f/1.8 EX DG Aspherical Macro"; lenses["27 48 8E 8E 24 24 1D 02"] = "AF-I Nikkor 300mm f/2.8D IF-ED"; lenses["27 48 8E 8E 24 24 E1 02"] = "AF-I Nikkor 300mm f/2.8D IF-ED + TC-17E"; lenses["27 48 8E 8E 24 24 F1 02"] = "AF-I Nikkor 300mm f/2.8D IF-ED + TC-14E"; @@ -540,9 +540,9 @@ public: lenses["30 48 98 98 24 24 F2 02"] = "AF-I Nikkor 400mm f/2.8D IF-ED + TC-20E"; lenses["31 54 56 56 24 24 25 02"] = "AF Micro-Nikkor 60mm f/2.8D"; lenses["32 53 64 64 24 24 35 02"] = "Tamron SP AF 90mm f/2.8 [Di] Macro 1:1 (172E/272E)"; - lenses["32 54 50 50 24 24 35 02"] = "Sigma Macro 50mm F2.8 EX DG"; + lenses["32 54 50 50 24 24 35 02"] = "Sigma Macro 50mm f/2.8 EX DG"; lenses["32 54 6A 6A 24 24 35 02"] = "AF Micro-Nikkor 105mm f/2.8D"; - lenses["32 54 6A 6A 24 24 35 02"] = "Sigma Macro 105mm F2.8 EX DG"; + lenses["32 54 6A 6A 24 24 35 02"] = "Sigma Macro 105mm f/2.8 EX DG"; lenses["33 48 2D 2D 24 24 31 02"] = "AF Nikkor 18mm f/2.8D"; lenses["33 54 3C 5E 24 24 62 02"] = "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical (IF) Macro (A09)"; lenses["34 48 29 29 24 24 32 02"] = "AF Fisheye Nikkor 16mm f/2.8D"; @@ -568,26 +568,26 @@ public: lenses["45 41 37 72 2C 3C 48 02"] = "Tamron SP AF 24-135mm f/3.5-5.6 AD Aspherical (IF) Macro (190D)"; lenses["46 3C 44 60 30 3C 49 02"] = "AF Zoom-Nikkor 35-80mm f/4-5.6D N"; lenses["47 42 37 50 2A 34 4A 02"] = "AF Zoom-Nikkor 24-50mm f/3.3-4.5D"; - lenses["48 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm F4.5-5.6 EX DG Aspherical HSM"; - lenses["48 3C 19 31 30 3C 4B 06"] = "Sigma 10-20mm F4-5.6 EX DC HSM"; - lenses["48 3C 50 A0 30 40 4B 02"] = "Sigma 50-500mm F4-6.3 EX APO RF HSM"; - lenses["48 3C 8E B0 3C 3C 4B 02"] = "Sigma APO 300-800mm F5.6 EX DG HSM"; - lenses["48 3C B0 B0 3C 3C 4B 02"] = "Sigma APO 800mm F5.6 EX HSM"; - lenses["48 44 A0 A0 34 34 4B 02"] = "Sigma APO 500mm F4.5 EX HSM"; - lenses["48 48 24 24 24 24 4B 02"] = "Sigma 14mm F2.8 EX Aspherical HSM"; - lenses["48 48 2B 44 24 30 4B 06"] = "Sigma 17-35mm F2.8-4 EX DG Aspherical HSM"; - lenses["48 48 68 8E 30 30 4B 02"] = "Sigma APO 100-300mm F4 EX IF HSM"; - lenses["48 48 76 76 24 24 4B 06"] = "Sigma APO Macro 150mm F2.8 EX DG HSM"; + lenses["48 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm f/4.5-5.6 EX DG Aspherical HSM"; + lenses["48 3C 19 31 30 3C 4B 06"] = "Sigma 10-20mm f/4-5.6 EX DC HSM"; + lenses["48 3C 50 A0 30 40 4B 02"] = "Sigma 50-500mm f/4-6.3 EX APO RF HSM"; + lenses["48 3C 8E B0 3C 3C 4B 02"] = "Sigma APO 300-800mm f/5.6 EX DG HSM"; + lenses["48 3C B0 B0 3C 3C 4B 02"] = "Sigma APO 800mm f/5.6 EX HSM"; + lenses["48 44 A0 A0 34 34 4B 02"] = "Sigma APO 500mm f/4.5 EX HSM"; + lenses["48 48 24 24 24 24 4B 02"] = "Sigma 14mm f/2.8 EX Aspherical HSM"; + lenses["48 48 2B 44 24 30 4B 06"] = "Sigma 17-35mm f/2.8-4 EX DG Aspherical HSM"; + lenses["48 48 68 8E 30 30 4B 02"] = "Sigma APO 100-300mm f/4 EX IF HSM"; + lenses["48 48 76 76 24 24 4B 06"] = "Sigma APO Macro 150mm f/2.8 EX DG HSM"; lenses["48 48 8E 8E 24 24 4B 02"] = "AF-S Nikkor 300mm f/2.8D IF-ED"; lenses["48 48 8E 8E 24 24 E1 02"] = "AF-S Nikkor 300mm f/2.8D IF-ED + TC-17E"; lenses["48 48 8E 8E 24 24 F1 02"] = "AF-S Nikkor 300mm f/2.8D IF-ED + TC-14E"; lenses["48 48 8E 8E 24 24 F2 02"] = "AF-S Nikkor 300mm f/2.8D IF-ED + TC-20E"; - lenses["48 4C 7C 7C 2C 2C 4B 02"] = "Sigma APO Macro 180mm F3.5 EX DG HSM"; - lenses["48 4C 7D 7D 2C 2C 4B 02"] = "Sigma APO Macro 180mm F3.5 EX DG HSM"; - lenses["48 54 3E 3E 0C 0C 4B 06"] = "Sigma 30mm F1.4 EX DC HSM"; - lenses["48 54 5C 80 24 24 4B 02"] = "Sigma 70-200mm F2.8 EX APO IF HSM"; - lenses["48 54 6F 8E 24 24 4B 02"] = "Sigma APO 120-300mm F2.8 EX DG HSM"; - lenses["48 54 8E 8E 24 24 4B 02"] = "Sigma APO 300mm F2.8 EX DG HSM"; + lenses["48 4C 7C 7C 2C 2C 4B 02"] = "Sigma APO Macro 180mm f/3.5 EX DG HSM"; + lenses["48 4C 7D 7D 2C 2C 4B 02"] = "Sigma APO Macro 180mm f/3.5 EX DG HSM"; + lenses["48 54 3E 3E 0C 0C 4B 06"] = "Sigma 30mm f/1.4 EX DC HSM"; + lenses["48 54 5C 80 24 24 4B 02"] = "Sigma 70-200mm f/2.8 EX APO IF HSM"; + lenses["48 54 6F 8E 24 24 4B 02"] = "Sigma APO 120-300mm f/2.8 EX DG HSM"; + lenses["48 54 8E 8E 24 24 4B 02"] = "Sigma APO 300mm f/2.8 EX DG HSM"; lenses["49 3C A6 A6 30 30 4C 02"] = "AF-S Nikkor 600mm f/4D IF-ED"; lenses["49 3C A6 A6 30 30 E1 02"] = "AF-S Nikkor 600mm f/4D IF-ED + TC-17E"; lenses["49 3C A6 A6 30 30 F1 02"] = "AF-S Nikkor 600mm f/4D IF-ED + TC-14E"; @@ -595,7 +595,7 @@ public: lenses["4A 40 11 11 2C 0C 4D 02"] = "Samyang 8mm f/3.5 Fish-Eye CS"; lenses["4A 48 1E 1E 24 0C 4D 02"] = "Samyang 12mm f/2.8 ED AS NCS Fish-Eye"; lenses["4A 48 24 24 24 0C 4D 02"] = "Samyang AE 14mm f/2.8 ED AS IF UMC"; - lenses["4A 54 29 29 18 0C 4D 02"] = "Samyang 16mm F2.0 ED AS UMC CS"; + lenses["4A 54 29 29 18 0C 4D 02"] = "Samyang 16mm f/2.0 ED AS UMC CS"; lenses["4A 54 62 62 0C 0C 4D 02"] = "AF Nikkor 85mm f/1.4D IF"; lenses["4A 60 44 44 0C 0C 4D 02"] = "Samyang 35mm f/1.4 AS UMC"; lenses["4A 60 62 62 0C 0C 4D 02"] = "Samyang AE 85mm f/1.4 AS IF UMC"; @@ -604,7 +604,7 @@ public: lenses["4B 3C A0 A0 30 30 F1 02"] = "AF-S Nikkor 500mm f/4D IF-ED + TC-14E"; lenses["4B 3C A0 A0 30 30 F2 02"] = "AF-S Nikkor 500mm f/4D IF-ED + TC-20E"; lenses["4C 40 37 6E 2C 3C 4F 02"] = "AF Zoom-Nikkor 24-120mm f/3.5-5.6D IF"; - lenses["4D 3E 3C 80 2E 3C 62 02"] = "Tamron AF 28-200mm F/3.8-5.6 XR Aspherical (IF) Macro (A03N)"; + lenses["4D 3E 3C 80 2E 3C 62 02"] = "Tamron AF 28-200mm f/3.8-5.6 XR Aspherical (IF) Macro (A03N)"; lenses["4D 40 3C 80 2C 3C 62 02"] = "AF Zoom-Nikkor 28-200mm f/3.5-5.6D IF"; lenses["4D 41 3C 8E 2B 40 62 02"] = "Tamron AF 28-300mm f/3.5-6.3 XR Di LD Aspherical (IF) (A061)"; lenses["4D 41 3C 8E 2C 40 62 02"] = "Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical (IF) (185D)"; @@ -615,7 +615,7 @@ public: lenses["53 48 60 80 24 24 60 02"] = "AF Zoom-Nikkor 80-200mm f/2.8D ED"; lenses["54 44 5C 7C 34 3C 58 02"] = "AF Zoom-Micro Nikkor 70-180mm f/4.5-5.6D ED"; lenses["54 44 5C 7C 34 3C 61 02"] = "AF Zoom-Micro Nikkor 70-180mm f/4.5-5.6D ED"; - lenses["56 3C 5C 8E 30 3C 1C 02"] = "Sigma 70-300mm F4-5.6 APO Macro Super II"; + lenses["56 3C 5C 8E 30 3C 1C 02"] = "Sigma 70-300mm f/4-5.6 APO Macro Super II"; lenses["56 48 5C 8E 30 3C 5A 02"] = "AF Zoom-Nikkor 70-300mm f/4-5.6D ED"; lenses["59 48 98 98 24 24 5D 02"] = "AF-S Nikkor 400mm f/2.8D IF-ED"; lenses["59 48 98 98 24 24 E1 02"] = "AF-S Nikkor 400mm f/2.8D IF-ED + TC-17E"; @@ -633,7 +633,7 @@ public: lenses["65 44 60 98 34 3C 6B 0A"] = "AF VR Zoom-Nikkor 80-400mm f/4.5-5.6D ED"; lenses["66 40 2D 44 2C 34 6C 02"] = "AF Zoom-Nikkor 18-35mm f/3.5-4.5D IF-ED"; lenses["67 48 37 62 24 30 6D 02"] = "AF Zoom-Nikkor 24-85mm f/2.8-4D IF"; - lenses["67 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm F2.8 EX DG Macro"; + lenses["67 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm f/2.8 EX DG Macro"; lenses["68 42 3C 60 2A 3C 6E 06"] = "AF Zoom-Nikkor 28-80mm f/3.3-5.6G"; lenses["69 47 5C 8E 30 3C 00 02"] = "Tamron AF 70-300mm f/4-5.6 Di LD Macro 1:2 (A17N)"; lenses["69 48 5C 8E 30 3C 6F 02"] = "Tamron AF 70-300mm f/4-5.6 LD Macro 1:2 (572D/772D)"; @@ -648,98 +648,98 @@ public: lenses["74 40 37 62 2C 34 78 06"] = "AF-S Zoom-Nikkor 24-85mm f/3.5-4.5G IF-ED"; lenses["75 40 3C 68 2C 3C 79 06"] = "AF Zoom-Nikkor 28-100mm f/3.5-5.6G"; lenses["76 58 50 50 14 14 7A 02"] = "AF Nikkor 50mm f/1.8D"; - lenses["77 44 61 98 34 3C 7B 0E"] = "Sigma 80-400mm F4.5-5.6 EX OS"; + lenses["77 44 61 98 34 3C 7B 0E"] = "Sigma 80-400mm f/4.5-5.6 EX OS"; lenses["77 48 5C 80 24 24 7B 0E"] = "AF-S VR Zoom-Nikkor 70-200mm f/2.8G IF-ED"; lenses["78 40 37 6E 2C 3C 7C 0E"] = "AF-S VR Zoom-Nikkor 24-120mm f/3.5-5.6G IF-ED"; - lenses["79 40 11 11 2C 2C 1C 06"] = "Sigma 8mm F3.5 EX Circular Fisheye"; + lenses["79 40 11 11 2C 2C 1C 06"] = "Sigma 8mm f/3.5 EX Circular Fisheye"; lenses["79 40 3C 80 2C 3C 7F 06"] = "AF Zoom-Nikkor 28-200mm f/3.5-5.6G IF-ED"; - lenses["79 48 3C 5C 24 24 1C 06"] = "Sigma 28-70mm F2.8 EX DG"; - lenses["79 48 5C 5C 24 24 1C 06"] = "Sigma Macro 70mm F2.8 EX DG"; - lenses["7A 3B 53 80 30 3C 4B 06"] = "Sigma 55-200mm F4-5.6 DC HSM"; + lenses["79 48 3C 5C 24 24 1C 06"] = "Sigma 28-70mm f/2.8 EX DG"; + lenses["79 48 5C 5C 24 24 1C 06"] = "Sigma Macro 70mm f/2.8 EX DG"; + lenses["7A 3B 53 80 30 3C 4B 06"] = "Sigma 55-200mm f/4-5.6 DC HSM"; lenses["7A 3C 1F 37 30 30 7E 06"] = "AF-S DX Zoom-Nikkor 12-24mm f/4G IF-ED"; lenses["7A 3C 1F 37 30 30 7E 06"] = "Tokina AT-X 124 AF PRO DX II (AF 12-24mm f/4)"; - lenses["7A 3C 1F 3C 30 30 7E 06"] = "Tokina AT-X 12-28 PRO DX (AF 12-28mm F/4)"; - lenses["7A 40 2D 50 2C 3C 4B 06"] = "Sigma 18-50mm F3.5-5.6 DC HSM"; - lenses["7A 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm F3.5-6.3 DC OS HSM"; - lenses["7A 47 2B 5C 24 34 4B 06"] = "Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF HSM"; - lenses["7A 47 50 76 24 24 4B 06"] = "Sigma 50-150mm F2.8 EX APO DC HSM"; + lenses["7A 3C 1F 3C 30 30 7E 06"] = "Tokina AT-X 12-28 PRO DX (AF 12-28mm f/4)"; + lenses["7A 40 2D 50 2C 3C 4B 06"] = "Sigma 18-50mm f/3.5-5.6 DC HSM"; + lenses["7A 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm f/3.5-6.3 DC OS HSM"; + lenses["7A 47 2B 5C 24 34 4B 06"] = "Sigma 17-70mm f/2.8-4.5 DC Macro Asp. IF HSM"; + lenses["7A 47 50 76 24 24 4B 06"] = "Sigma 50-150mm f/2.8 EX APO DC HSM"; lenses["7A 48 1C 29 24 24 7E 06"] = "Tokina AT-X 116 PRO DX II (AF 11-16mm f/2.8)"; - lenses["7A 48 2B 5C 24 34 4B 06"] = "Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF HSM"; - lenses["7A 48 2D 50 24 24 4B 06"] = "Sigma 18-50mm F2.8 EX DC Macro"; - lenses["7A 48 5C 80 24 24 4B 06"] = "Sigma 70-200mm F2.8 EX APO DG Macro HSM II"; - lenses["7A 54 6E 8E 24 24 4B 02"] = "Sigma APO 120-300mm F2.8 EX DG HSM"; + lenses["7A 48 2B 5C 24 34 4B 06"] = "Sigma 17-70mm f/2.8-4.5 DC Macro Asp. IF HSM"; + lenses["7A 48 2D 50 24 24 4B 06"] = "Sigma 18-50mm f/2.8 EX DC Macro"; + lenses["7A 48 5C 80 24 24 4B 06"] = "Sigma 70-200mm f/2.8 EX APO DG Macro HSM II"; + lenses["7A 54 6E 8E 24 24 4B 02"] = "Sigma APO 120-300mm f/2.8 EX DG HSM"; lenses["7B 48 80 98 30 30 80 0E"] = "AF-S VR Zoom-Nikkor 200-400mm f/4G IF-ED"; lenses["7D 48 2B 53 24 24 82 06"] = "AF-S DX Zoom-Nikkor 17-55mm f/2.8G IF-ED"; lenses["7F 40 2D 5C 2C 34 84 06"] = "AF-S DX Zoom-Nikkor 18-70mm f/3.5-4.5G IF-ED"; - lenses["7F 48 2B 5C 24 34 1C 06"] = "Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF"; - lenses["7F 48 2D 50 24 24 1C 06"] = "Sigma 18-50mm F2.8 EX DC Macro"; + lenses["7F 48 2B 5C 24 34 1C 06"] = "Sigma 17-70mm f/2.8-4.5 DC Macro Asp. IF"; + lenses["7F 48 2D 50 24 24 1C 06"] = "Sigma 18-50mm f/2.8 EX DC Macro"; lenses["80 48 1A 1A 24 24 85 06"] = "AF DX Fisheye-Nikkor 10.5mm f/2.8G ED"; - lenses["81 34 76 A6 38 40 4B 0E"] = "Sigma 150-600mm F5-6.3 DG OS HSM | S"; + lenses["81 34 76 A6 38 40 4B 0E"] = "Sigma 150-600mm f/5-6.3 DG OS HSM | S"; lenses["81 54 80 80 18 18 86 0E"] = "AF-S VR Nikkor 200mm f/2G IF-ED"; lenses["82 48 8E 8E 24 24 87 0E"] = "AF-S VR Nikkor 300mm f/2.8G IF-ED"; - lenses["83 00 B0 B0 5A 5A 88 04"] = "FSA-L2, EDG 65, 800mm F13 G"; - lenses["88 54 50 50 0C 0C 4B 06"] = "Sigma 50mm F1.4 DG HSM | A"; + lenses["83 00 B0 B0 5A 5A 88 04"] = "FSA-L2, EDG 65, 800mm f/13 G"; + lenses["88 54 50 50 0C 0C 4B 06"] = "Sigma 50mm f/1.4 DG HSM | A"; lenses["89 3C 53 80 30 3C 8B 06"] = "AF-S DX Zoom-Nikkor 55-200mm f/4-5.6G ED"; - lenses["8A 3C 37 6A 30 30 4B 0E"] = "Sigma 24-105mm F4 DG OS HSM"; + lenses["8A 3C 37 6A 30 30 4B 0E"] = "Sigma 24-105mm f/4 DG OS HSM"; lenses["8A 54 6A 6A 24 24 8C 0E"] = "AF-S VR Micro-Nikkor 105mm f/2.8G IF-ED"; lenses["8B 40 2D 80 2C 3C 8D 0E"] = "AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED"; lenses["8B 40 2D 80 2C 3C FD 0E"] = "AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED [II]"; - lenses["8B 4C 2D 44 14 14 4B 06"] = "Sigma 18-35mm F1.8 DC HSM"; + lenses["8B 4C 2D 44 14 14 4B 06"] = "Sigma 18-35mm f/1.8 DC HSM"; lenses["8C 40 2D 53 2C 3C 8E 06"] = "AF-S DX Zoom-Nikkor 18-55mm f/3.5-5.6G ED"; lenses["8D 44 5C 8E 34 3C 8F 0E"] = "AF-S VR Zoom-Nikkor 70-300mm f/4.5-5.6G IF-ED"; - lenses["8E 3C 2B 5C 24 30 4B 0E"] = "Sigma 17-70mm F2.8-4 DC Macro OS HSM Contemporary"; + lenses["8E 3C 2B 5C 24 30 4B 0E"] = "Sigma 17-70mm f/2.8-4 DC Macro OS HSM Contemporary"; lenses["8F 40 2D 72 2C 3C 91 06"] = "AF-S DX Zoom-Nikkor 18-135mm f/3.5-5.6G IF-ED"; - lenses["8F 48 2B 50 24 24 4B 0E"] = "Sigma 17-50mm F2.8 EX DC OS HSM"; + lenses["8F 48 2B 50 24 24 4B 0E"] = "Sigma 17-50mm f/2.8 EX DC OS HSM"; lenses["90 3B 53 80 30 3C 92 0E"] = "AF-S DX VR Zoom-Nikkor 55-200mm f/4-5.6G IF-ED"; - lenses["90 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm F3.5-6.3 II DC OS HSM"; - lenses["91 54 44 44 0C 0C 4B 06"] = "Sigma 35mm F1.4 DG HSM"; - lenses["92 2C 2D 88 2C 40 4B 0E"] = "Sigma 18-250mm F3.5-6.3 DC Macro OS HSM"; + lenses["90 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm f/3.5-6.3 II DC OS HSM"; + lenses["91 54 44 44 0C 0C 4B 06"] = "Sigma 35mm f/1.4 DG HSM"; + lenses["92 2C 2D 88 2C 40 4B 0E"] = "Sigma 18-250mm f/3.5-6.3 DC Macro OS HSM"; lenses["92 48 24 37 24 24 94 06"] = "AF-S Zoom-Nikkor 14-24mm f/2.8G ED"; lenses["93 48 37 5C 24 24 95 06"] = "AF-S Zoom-Nikkor 24-70mm f/2.8G ED"; lenses["94 40 2D 53 2C 3C 96 06"] = "AF-S DX Zoom-Nikkor 18-55mm f/3.5-5.6G ED II"; lenses["95 00 37 37 2C 2C 97 06"] = "PC-E Nikkor 24mm f/3.5D ED"; lenses["95 4C 37 37 2C 2C 97 02"] = "PC-E Nikkor 24mm f/3.5D ED"; - lenses["96 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm F4.5-5.6 II DG HSM"; + lenses["96 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm f/4.5-5.6 II DG HSM"; lenses["96 48 98 98 24 24 98 0E"] = "AF-S VR Nikkor 400mm f/2.8G ED"; lenses["97 3C A0 A0 30 30 99 0E"] = "AF-S VR Nikkor 500mm f/4G ED"; - lenses["97 48 6A 6A 24 24 4B 0E"] = "Sigma Macro 105mm F2.8 EX DG OS HSM"; + lenses["97 48 6A 6A 24 24 4B 0E"] = "Sigma Macro 105mm f/2.8 EX DG OS HSM"; lenses["98 3C A6 A6 30 30 9A 0E"] = "AF-S VR Nikkor 600mm f/4G ED"; - lenses["98 48 50 76 24 24 4B 0E"] = "Sigma 50-150mm F2.8 EX APO DC OS HSM"; + lenses["98 48 50 76 24 24 4B 0E"] = "Sigma 50-150mm f/2.8 EX APO DC OS HSM"; lenses["99 40 29 62 2C 3C 9B 0E"] = "AF-S DX VR Zoom-Nikkor 16-85mm f/3.5-5.6G ED"; - lenses["99 48 76 76 24 24 4B 0E"] = "Sigma APO Macro 150mm F2.8 EX DG OS HSM"; + lenses["99 48 76 76 24 24 4B 0E"] = "Sigma APO Macro 150mm f/2.8 EX DG OS HSM"; lenses["9A 40 2D 53 2C 3C 9C 0E"] = "AF-S DX VR Zoom-Nikkor 18-55mm f/3.5-5.6G"; lenses["9B 00 4C 4C 24 24 9D 06"] = "PC-E Micro Nikkor 45mm f/2.8D ED"; lenses["9B 54 4C 4C 24 24 9D 02"] = "PC-E Micro Nikkor 45mm f/2.8D ED"; - lenses["9B 54 62 62 0C 0C 4B 06"] = "Sigma 85mm F1.4 EX DG HSM"; - lenses["9C 48 5C 80 24 24 4B 0E"] = "Sigma 70-200mm F2.8 EX DG OS HSM"; + lenses["9B 54 62 62 0C 0C 4B 06"] = "Sigma 85mm f/1.4 EX DG HSM"; + lenses["9C 48 5C 80 24 24 4B 0E"] = "Sigma 70-200mm f/2.8 EX DG OS HSM"; lenses["9C 54 56 56 24 24 9E 06"] = "AF-S Micro Nikkor 60mm f/2.8G ED"; lenses["9D 00 62 62 24 24 9F 06"] = "PC-E Micro Nikkor 85mm f/2.8D"; - lenses["9D 48 2B 50 24 24 4B 0E"] = "Sigma 17-50mm F2.8 EX DC OS HSM"; + lenses["9D 48 2B 50 24 24 4B 0E"] = "Sigma 17-50mm f/2.8 EX DC OS HSM"; lenses["9D 54 62 62 24 24 9F 02"] = "PC-E Micro Nikkor 85mm f/2.8D"; - lenses["9E 38 11 29 34 3C 4B 06"] = "Sigma 8-16mm F4.5-5.6 DC HSM"; + lenses["9E 38 11 29 34 3C 4B 06"] = "Sigma 8-16mm f/4.5-5.6 DC HSM"; lenses["9E 40 2D 6A 2C 3C A0 0E"] = "AF-S DX VR Zoom-Nikkor 18-105mm f/3.5-5.6G ED"; - lenses["9F 37 50 A0 34 40 4B 0E"] = "Sigma 50-500mm F4.5-6.3 DG OS HSM"; + lenses["9F 37 50 A0 34 40 4B 0E"] = "Sigma 50-500mm f/4.5-6.3 DG OS HSM"; lenses["9F 58 44 44 14 14 A1 06"] = "AF-S DX Nikkor 35mm f/1.8G"; lenses["A0 40 2D 74 2C 3C BB 0E"] = "AF-S DX Nikkor 18-140mm f/3.5-5.6G ED VR"; - lenses["A0 48 2A 5C 24 30 4B 0E"] = "Sigma 17-70mm F2.8-4 DC Macro OS HSM"; + lenses["A0 48 2A 5C 24 30 4B 0E"] = "Sigma 17-70mm f/2.8-4 DC Macro OS HSM"; lenses["A0 54 50 50 0C 0C A2 06"] = "AF-S Nikkor 50mm f/1.4G"; lenses["A1 40 18 37 2C 34 A3 06"] = "AF-S DX Nikkor 10-24mm f/3.5-4.5G ED"; - lenses["A1 41 19 31 2C 2C 4B 06"] = "Sigma 10-20mm F3.5 EX DC HSM"; + lenses["A1 41 19 31 2C 2C 4B 06"] = "Sigma 10-20mm f/3.5 EX DC HSM"; lenses["A1 54 55 55 0C 0C BC 06"] = "AF-S Nikkor 58mm f/1.4G"; lenses["A2 40 2D 53 2C 3C BD 0E"] = "AF-S DX VR Nikkor 18-55mm f/3.5-5.6G II"; lenses["A2 48 5C 80 24 24 A4 0E"] = "AF-S Nikkor 70-200mm f/2.8G ED VR II"; lenses["A3 3C 29 44 30 30 A5 0E"] = "AF-S Nikkor 16-35mm f/4G ED VR"; - lenses["A3 3C 5C 8E 30 3C 4B 0E"] = "Sigma 70-300mm F4-5.6 DG OS"; + lenses["A3 3C 5C 8E 30 3C 4B 0E"] = "Sigma 70-300mm f/4-5.6 DG OS"; lenses["A4 40 2D 8E 2C 40 BF 0E"] = "AF-S DX Nikkor 18-300mm f/3.5-6.3G ED VR"; - lenses["A4 47 2D 50 24 34 4B 0E"] = "Sigma 18-50mm F2.8-4.5 DC OS HSM"; + lenses["A4 47 2D 50 24 34 4B 0E"] = "Sigma 18-50mm f/2.8-4.5 DC OS HSM"; lenses["A4 54 37 37 0C 0C A6 06"] = "AF-S Nikkor 24mm f/1.4G ED"; - lenses["A5 40 2D 88 2C 40 4B 0E"] = "Sigma 18-250mm F3.5-6.3 DC OS HSM"; + lenses["A5 40 2D 88 2C 40 4B 0E"] = "Sigma 18-250mm f/3.5-6.3 DC OS HSM"; lenses["A5 40 3C 8E 2C 3C A7 0E"] = "AF-S Nikkor 28-300mm f/3.5-5.6G ED VR"; lenses["A5 4C 44 44 14 14 C0 06"] = "AF-S Nikkor 35mm f/1.8G"; - lenses["A6 48 37 5C 24 24 4B 06"] = "Sigma 24-70mm F2.8 IF EX DG HSM"; + lenses["A6 48 37 5C 24 24 4B 06"] = "Sigma 24-70mm f/2.8 IF EX DG HSM"; lenses["A6 48 8E 8E 24 24 A8 0E"] = "AF-S VR Nikkor 300mm f/2.8G IF-ED II"; lenses["A7 3C 53 80 30 3C C2 0E"] = "AF-S DX Nikkor 55-200mm f/4-5.6G ED VR II"; - lenses["A7 49 80 A0 24 24 4B 06"] = "Sigma APO 200-500mm F2.8 EX DG"; + lenses["A7 49 80 A0 24 24 4B 06"] = "Sigma APO 200-500mm f/2.8 EX DG"; lenses["A7 4B 62 62 2C 2C A9 0E"] = "AF-S DX Micro Nikkor 85mm f/3.5G ED VR"; lenses["A8 48 80 98 30 30 AA 0E"] = "AF-S VR Zoom-Nikkor 200-400mm f/4G IF-ED II"; lenses["A8 48 8E 8E 30 30 C3 0E"] = "AF-S Nikkor 300mm f/4E PF ED VR"; @@ -758,58 +758,58 @@ public: lenses["B3 4C 62 62 14 14 B5 06"] = "AF-S Nikkor 85mm f/1.8G"; lenses["B4 40 37 62 2C 34 B6 0E"] = "AF-S VR Zoom-Nikkor 24-85mm f/3.5-4.5G IF-ED"; lenses["B5 4C 3C 3C 14 14 B7 06"] = "AF-S Nikkor 28mm f/1.8G"; - lenses["B6 48 37 56 24 24 1C 02"] = "Sigma 24-60mm F2.8 EX DG"; + lenses["B6 48 37 56 24 24 1C 02"] = "Sigma 24-60mm f/2.8 EX DG"; lenses["B7 44 60 98 34 3C B9 0E"] = "AF-S Nikkor 80-400mm f/4.5-5.6G ED VR"; lenses["B8 40 2D 44 2C 34 BA 06"] = "AF-S Nikkor 18-35mm f/3.5-4.5G ED"; - lenses["CD 3D 2D 70 2E 3C 4B 0E"] = "Sigma 18-125mm F3.8-5.6 DC OS HSM"; - lenses["CE 34 76 A0 38 40 4B 0E"] = "Sigma 150-500mm F5-6.3 DG OS APO HSM"; - lenses["CF 38 6E 98 34 3C 4B 0E"] = "Sigma APO 120-400mm F4.5-5.6 DG OS HSM"; - lenses["DC 48 19 19 24 24 4B 06"] = "Sigma 10mm F2.8 EX DC HSM Fisheye"; - lenses["DE 54 50 50 0C 0C 4B 06"] = "Sigma 50mm F1.4 EX DG HSM"; - lenses["E0 3C 5C 8E 30 3C 4B 06"] = "Sigma 70-300mm F4-5.6 APO DG Macro HSM"; - lenses["E1 58 37 37 14 14 1C 02"] = "Sigma 24mm F1.8 EX DG Aspherical Macro"; - lenses["E3 54 50 50 24 24 35 02"] = "Sigma Macro 50mm F2.8 EX DG"; - lenses["E5 54 6A 6A 24 24 35 02"] = "Sigma Macro 105mm F2.8 EX DG"; - lenses["E6 41 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm F3.5-6.3 DG Macro"; + lenses["CD 3D 2D 70 2E 3C 4B 0E"] = "Sigma 18-125mm f/3.8-5.6 DC OS HSM"; + lenses["CE 34 76 A0 38 40 4B 0E"] = "Sigma 150-500mm f/5-6.3 DG OS APO HSM"; + lenses["CF 38 6E 98 34 3C 4B 0E"] = "Sigma APO 120-400mm f/4.5-5.6 DG OS HSM"; + lenses["DC 48 19 19 24 24 4B 06"] = "Sigma 10mm f/2.8 EX DC HSM Fisheye"; + lenses["DE 54 50 50 0C 0C 4B 06"] = "Sigma 50mm f/1.4 EX DG HSM"; + lenses["E0 3C 5C 8E 30 3C 4B 06"] = "Sigma 70-300mm f/4-5.6 APO DG Macro HSM"; + lenses["E1 58 37 37 14 14 1C 02"] = "Sigma 24mm f/1.8 EX DG Aspherical Macro"; + lenses["E3 54 50 50 24 24 35 02"] = "Sigma Macro 50mm f/2.8 EX DG"; + lenses["E5 54 6A 6A 24 24 35 02"] = "Sigma Macro 105mm f/2.8 EX DG"; + lenses["E6 41 3C 8E 2C 40 1C 02"] = "Sigma 28-300mm f/3.5-6.3 DG Macro"; lenses["E9 48 27 3E 24 24 DF 0E"] = "Tamron SP 15-30mm f/2.8 Di VC USD (A012)"; - lenses["E9 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm F2.8 EX DG Macro"; + lenses["E9 54 37 5C 24 24 1C 02"] = "Sigma 24-70mm f/2.8 EX DG Macro"; lenses["EA 40 29 8E 2C 40 DF 0E"] = "Tamron AF 16-300mm f/3.5-6.3 Di II VC PZD (B016)"; - lenses["EA 48 27 27 24 24 1C 02"] = "Sigma 15mm F2.8 EX Diagonal Fisheye"; + lenses["EA 48 27 27 24 24 1C 02"] = "Sigma 15mm f/2.8 EX Diagonal Fisheye"; lenses["EB 40 76 A6 38 40 DF 0E"] = "Tamron SP AF 150-600mm f/5-6.3 VC USD (A011)"; - lenses["ED 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm F3.5-6.3 DC OS HSM"; - lenses["EE 48 5C 80 24 24 4B 06"] = "Sigma 70-200mm F2.8 EX APO DG Macro HSM II"; - lenses["F0 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm F4.5-5.6 EX DG Aspherical HSM"; + lenses["ED 40 2D 80 2C 40 4B 0E"] = "Sigma 18-200mm f/3.5-6.3 DC OS HSM"; + lenses["EE 48 5C 80 24 24 4B 06"] = "Sigma 70-200mm f/2.8 EX APO DG Macro HSM II"; + lenses["F0 38 1F 37 34 3C 4B 06"] = "Sigma 12-24mm f/4.5-5.6 EX DG Aspherical HSM"; lenses["F0 3F 2D 8A 2C 40 DF 0E"] = "Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD (B008)"; - lenses["F1 44 A0 A0 34 34 4B 02"] = "Sigma APO 500mm F4.5 EX DG HSM"; + lenses["F1 44 A0 A0 34 34 4B 02"] = "Sigma APO 500mm f/4.5 EX DG HSM"; lenses["F1 47 5C 8E 30 3C DF 0E"] = "Tamron SP 70-300mm f/4-5.6 Di VC USD (A005)"; - lenses["F3 48 68 8E 30 30 4B 02"] = "Sigma APO 100-300mm F4 EX IF HSM"; + lenses["F3 48 68 8E 30 30 4B 02"] = "Sigma APO 100-300mm f/4 EX IF HSM"; lenses["F3 54 2B 50 24 24 84 0E"] = "Tamron SP AF 17-50mm f/2.8 XR Di II VC LD Aspherical (IF) (B005)"; lenses["F4 54 56 56 18 18 84 06"] = "Tamron SP AF 60mm f/2.0 Di II Macro 1:1 (G005)"; lenses["F5 40 2C 8A 2C 40 40 0E"] = "Tamron AF 18-270mm f/3.5-6.3 Di II VC LD Aspherical (IF) Macro (B003)"; - lenses["F5 48 76 76 24 24 4B 06"] = "Sigma APO Macro 150mm F2.8 EX DG HSM"; + lenses["F5 48 76 76 24 24 4B 06"] = "Sigma APO Macro 150mm f/2.8 EX DG HSM"; lenses["F6 3F 18 37 2C 34 84 06"] = "Tamron SP AF 10-24mm f/3.5-4.5 Di II LD Aspherical (IF) (B001)"; lenses["F6 3F 18 37 2C 34 DF 06"] = "Tamron SP AF 10-24mm f/3.5-4.5 Di II LD Aspherical (IF) (B001)"; - lenses["F6 48 2D 50 24 24 4B 06"] = "Sigma 18-50mm F2.8 EX DC Macro"; + lenses["F6 48 2D 50 24 24 4B 06"] = "Sigma 18-50mm f/2.8 EX DC Macro"; lenses["F7 53 5C 80 24 24 40 06"] = "Tamron SP AF 70-200mm f/2.8 Di LD (IF) Macro (A001)"; lenses["F7 53 5C 80 24 24 84 06"] = "Tamron SP AF 70-200mm f/2.8 Di LD (IF) Macro (A001)"; - lenses["F8 54 3E 3E 0C 0C 4B 06"] = "Sigma 30mm F1.4 EX DC HSM"; + lenses["F8 54 3E 3E 0C 0C 4B 06"] = "Sigma 30mm f/1.4 EX DC HSM"; lenses["F8 54 64 64 24 24 DF 06"] = "Tamron SP AF 90mm f/2.8 Di Macro 1:1 (272NII)"; lenses["F8 55 64 64 24 24 84 06"] = "Tamron SP AF 90mm f/2.8 Di Macro 1:1 (272NII)"; - lenses["F9 3C 19 31 30 3C 4B 06"] = "Sigma 10-20mm F4-5.6 EX DC HSM"; + lenses["F9 3C 19 31 30 3C 4B 06"] = "Sigma 10-20mm f/4-5.6 EX DC HSM"; lenses["F9 40 3C 8E 2C 40 40 0E"] = "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical (IF) Macro (A20)"; lenses["FA 54 3C 5E 24 24 84 06"] = "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical (IF) Macro (A09NII)"; lenses["FA 54 3C 5E 24 24 DF 06"] = "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical (IF) Macro (A09NII)"; - lenses["FA 54 6E 8E 24 24 4B 02"] = "Sigma APO 120-300mm F2.8 EX DG HSM"; + lenses["FA 54 6E 8E 24 24 4B 02"] = "Sigma APO 120-300mm f/2.8 EX DG HSM"; lenses["FB 54 2B 50 24 24 84 06"] = "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16NII)"; - lenses["FB 54 8E 8E 24 24 4B 02"] = "Sigma APO 300mm F2.8 EX DG HSM"; + lenses["FB 54 8E 8E 24 24 4B 02"] = "Sigma APO 300mm f/2.8 EX DG HSM"; lenses["FC 40 2D 80 2C 40 DF 06"] = "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical (IF) Macro (A14NII)"; - lenses["FD 47 50 76 24 24 4B 06"] = "Sigma 50-150mm F2.8 EX APO DC HSM II"; - lenses["FE 47 00 00 24 24 4B 06"] = "Sigma 4.5mm F2.8 EX DC HSM Circular Fisheye"; + lenses["FD 47 50 76 24 24 4B 06"] = "Sigma 50-150mm f/2.8 EX APO DC HSM II"; + lenses["FE 47 00 00 24 24 4B 06"] = "Sigma 4.5mm f/2.8 EX DC HSM Circular Fisheye"; lenses["FE 48 37 5C 24 24 DF 0E"] = "Tamron SP 24-70mm f/2.8 Di VC USD (A007)"; lenses["FE 53 5C 80 24 24 84 06"] = "Tamron SP AF 70-200mm f/2.8 Di LD (IF) Macro (A001)"; lenses["FE 54 5C 80 24 24 DF 0E"] = "Tamron SP 70-200mm f/2.8 Di VC USD (A009)"; lenses["FE 54 64 64 24 24 DF 0E"] = "Tamron SP 90mm f/2.8 Di VC USD Macro 1:1 (F004)"; - lenses["FF 40 2D 80 2C 40 4B 06"] = "Sigma 18-200mm F3.5-6.3 DC"; + lenses["FF 40 2D 80 2C 40 4B 06"] = "Sigma 18-200mm f/3.5-6.3 DC"; } virtual std::string toString (Tag* t) { diff --git a/rtexif/olympusattribs.cc b/rtexif/olympusattribs.cc index 3de89b077..8ec17b90a 100644 --- a/rtexif/olympusattribs.cc +++ b/rtexif/olympusattribs.cc @@ -79,108 +79,108 @@ class OLLensTypeInterpreter : public Interpreter public: OLLensTypeInterpreter () { - lenses["00 01 00"] = "Olympus Zuiko Digital ED 50mm F2.0 Macro"; - lenses["00 01 01"] = "Olympus Zuiko Digital 40-150mm F3.5-4.5"; - lenses["00 01 10"] = "Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6"; - lenses["00 02 00"] = "Olympus Zuiko Digital ED 150mm F2.0"; - lenses["00 02 10"] = "Olympus M.Zuiko Digital 17mm F2.8 Pancake"; - lenses["00 03 00"] = "Olympus Zuiko Digital ED 300mm F2.8"; - lenses["00 03 10"] = "Olympus M.Zuiko Digital ED 14-150mm F4.0-5.6 [II]"; - lenses["00 04 10"] = "Olympus M.Zuiko Digital ED 9-18mm F4.0-5.6"; - lenses["00 05 00"] = "Olympus Zuiko Digital 14-54mm F2.8-3.5"; - lenses["00 05 01"] = "Olympus Zuiko Digital Pro ED 90-250mm F2.8"; - lenses["00 05 10"] = "Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6 L"; - lenses["00 06 00"] = "Olympus Zuiko Digital ED 50-200mm F2.8-3.5"; - lenses["00 06 01"] = "Olympus Zuiko Digital ED 8mm F3.5 Fisheye"; - lenses["00 06 10"] = "Olympus M.Zuiko Digital ED 40-150mm F4.0-5.6"; - lenses["00 07 00"] = "Olympus Zuiko Digital 11-22mm F2.8-3.5"; - lenses["00 07 01"] = "Olympus Zuiko Digital 18-180mm F3.5-6.3"; - lenses["00 07 10"] = "Olympus M.Zuiko Digital ED 12mm F2.0"; - lenses["00 08 01"] = "Olympus Zuiko Digital 70-300mm F4.0-5.6"; - lenses["00 08 10"] = "Olympus M.Zuiko Digital ED 75-300mm F4.8-6.7"; - lenses["00 09 10"] = "Olympus M.Zuiko Digital 14-42mm F3.5-5.6 II"; - lenses["00 10 01"] = "Kenko Tokina Reflex 300mm F6.3 MF Macro"; - lenses["00 10 10"] = "Olympus M.Zuiko Digital ED 12-50mm F3.5-6.3 EZ"; - lenses["00 11 10"] = "Olympus M.Zuiko Digital 45mm F1.8"; - lenses["00 12 10"] = "Olympus M.Zuiko Digital ED 60mm F2.8 Macro"; - lenses["00 13 10"] = "Olympus M.Zuiko Digital 14-42mm F3.5-5.6 II R"; - lenses["00 14 10"] = "Olympus M.Zuiko Digital ED 40-150mm F4.0-5.6 R"; - lenses["00 15 00"] = "Olympus Zuiko Digital ED 7-14mm F4.0"; - lenses["00 15 10"] = "Olympus M.Zuiko Digital ED 75mm F1.8"; - lenses["00 16 10"] = "Olympus M.Zuiko Digital 17mm F1.8"; - lenses["00 17 00"] = "Olympus Zuiko Digital Pro ED 35-100mm F2.0"; - lenses["00 18 00"] = "Olympus Zuiko Digital 14-45mm F3.5-5.6"; - lenses["00 18 10"] = "Olympus M.Zuiko Digital ED 75-300mm F4.8-6.7 II"; - lenses["00 19 10"] = "Olympus M.Zuiko Digital ED 12-40mm F2.8 Pro"; - lenses["00 20 00"] = "Olympus Zuiko Digital 35mm F3.5 Macro"; - lenses["00 20 10"] = "Olympus M.Zuiko Digital ED 40-150mm F2.8 Pro"; - lenses["00 21 10"] = "Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6 EZ"; - lenses["00 22 00"] = "Olympus Zuiko Digital 17.5-45mm F3.5-5.6"; - lenses["00 22 10"] = "Olympus M.Zuiko Digital 25mm F1.8"; - lenses["00 23 00"] = "Olympus Zuiko Digital ED 14-42mm F3.5-5.6"; - lenses["00 23 10"] = "Olympus M.Zuiko Digital ED 7-14mm F2.8 Pro"; - lenses["00 24 00"] = "Olympus Zuiko Digital ED 40-150mm F4.0-5.6"; - lenses["00 25 10"] = "Olympus M.Zuiko Digital ED 8mm F1.8 Fisheye Pro"; - lenses["00 30 00"] = "Olympus Zuiko Digital ED 50-200mm F2.8-3.5 SWD"; - lenses["00 31 00"] = "Olympus Zuiko Digital ED 12-60mm F2.8-4.0 SWD"; - lenses["00 32 00"] = "Olympus Zuiko Digital ED 14-35mm F2.0 SWD"; - lenses["00 33 00"] = "Olympus Zuiko Digital 25mm F2.8"; - lenses["00 34 00"] = "Olympus Zuiko Digital ED 9-18mm F4.0-5.6"; - lenses["00 35 00"] = "Olympus Zuiko Digital 14-54mm F2.8-3.5 II"; - lenses["01 01 00"] = "Sigma 18-50mm F3.5-5.6 DC"; - lenses["01 01 10"] = "Sigma 30mm F2.8 EX DN"; - lenses["01 02 00"] = "Sigma 55-200mm F4.0-5.6 DC"; - lenses["01 02 10"] = "Sigma 19mm F2.8 EX DN"; - lenses["01 03 00"] = "Sigma 18-125mm F3.5-5.6 DC"; - lenses["01 03 10"] = "Sigma 30mm F2.8 DN | A"; - lenses["01 04 00"] = "Sigma 18-125mm F3.5-5.6 DC"; - lenses["01 04 10"] = "Sigma 19mm F2.8 DN | A"; - lenses["01 05 00"] = "Sigma 30mm F1.4 EX DC HSM"; - lenses["01 05 10"] = "Sigma 60mm F2.8 DN | A"; - lenses["01 06 00"] = "Sigma APO 50-500mm F4.0-6.3 EX DG HSM"; - lenses["01 07 00"] = "Sigma Macro 105mm F2.8 EX DG"; - lenses["01 08 00"] = "Sigma APO Macro 150mm F2.8 EX DG HSM"; - lenses["01 09 00"] = "Sigma 18-50mm F2.8 EX DC Macro"; - lenses["01 10 00"] = "Sigma 24mm F1.8 EX DG Aspherical Macro"; - lenses["01 11 00"] = "Sigma APO 135-400mm F4.5-5.6 DG"; - lenses["01 12 00"] = "Sigma APO 300-800mm F5.6 EX DG HSM"; - lenses["01 13 00"] = "Sigma 30mm F1.4 EX DC HSM"; - lenses["01 14 00"] = "Sigma APO 50-500mm F4.0-6.3 EX DG HSM"; - lenses["01 15 00"] = "Sigma 10-20mm F4.0-5.6 EX DC HSM"; - lenses["01 16 00"] = "Sigma APO 70-200mm F2.8 II EX DG Macro HSM"; - lenses["01 17 00"] = "Sigma 50mm F1.4 EX DG HSM"; - lenses["02 01 00"] = "Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph."; - lenses["02 01 10"] = "Lumix G Vario 14-45mm F3.5-5.6 Asph. Mega OIS"; - lenses["02 02 00"] = "Leica D Summilux 25mm F1.4 Asph."; - lenses["02 02 10"] = "Lumix G Vario 45-200mm F4.0-5.6 Mega OIS"; - lenses["02 03 00"] = "Leica D Vario Elmar 14-50mm F3.8-5.6 Asph. Mega OIS"; - lenses["02 03 01"] = "Leica D Vario Elmar 14-50mm F3.8-5.6 Asph."; - lenses["02 03 10"] = "Lumix G Vario HD 14-140mm F4.0-5.8 Asph. Mega OIS"; - lenses["02 04 00"] = "Leica D Vario Elmar 14-150mm F3.5-5.6"; - lenses["02 04 10"] = "Lumix G Vario 7-14mm F4.0 Asph."; - lenses["02 05 10"] = "Lumix G 20mm F1.7 Asph."; - lenses["02 06 10"] = "Leica DG Macro-Elmarit 45mm F2.8 Asph. Mega OIS"; - lenses["02 07 10"] = "Lumix G Vario 14-42mm F3.5-5.6 Asph. Mega OIS"; - lenses["02 08 10"] = "Lumix G Fisheye 8mm F3.5"; - lenses["02 09 10"] = "Lumix G Vario 100-300mm F4.0-5.6 Mega OIS"; - lenses["02 10 10"] = "Lumix G 14mm F2.5 Asph."; - lenses["02 11 10"] = "Lumix G 12.5mm F12 3D"; - lenses["02 12 10"] = "Leica DG Summilux 25mm F1.4 Asph."; - lenses["02 13 10"] = "Lumix G X Vario PZ 45-175mm F4.0-5.6 Asph. Power OIS"; - lenses["02 14 10"] = "Lumix G X Vario PZ 14-42mm F3.5-5.6 Asph. Power OIS"; - lenses["02 15 10"] = "Lumix G X Vario 12-35mm F2.8 Asph. Power OIS"; - lenses["02 16 10"] = "Lumix G Vario 45-150mm F4.0-5.6 Asph. Mega OIS"; - lenses["02 17 10"] = "Lumix G X Vario 35-100mm F2.8 Power OIS"; - lenses["02 18 10"] = "Lumix G Vario 14-42mm F3.5-5.6 II Asph. Mega OIS"; - lenses["02 19 10"] = "Lumix G Vario 14-140mm F3.5-5.6 Asph. Power OIS"; - lenses["02 20 10"] = "Lumix G Vario 12-32mm F3.5-5.6 Asph. Mega OIS"; - lenses["02 21 10"] = "Leica DG Nocticron 42.5mm F1.2 Asph. Power OIS"; - lenses["02 22 10"] = "Leica DG Summilux 15mm F1.7 Asph."; - lenses["02 24 10"] = "Lumix G Macro 30mm F2.8 Asph. Mega OIS"; - lenses["02 25 10"] = "Lumix G 42.5mm F1.7 Asph. Power OIS"; - lenses["03 01 00"] = "Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph."; - lenses["03 02 00"] = "Leica D Summilux 25mm F1.4 Asph."; - lenses["05 01 10"] = "Tamron 14-150mm F3.5-5.8 Di III"; + lenses["00 01 00"] = "Olympus Zuiko Digital ED 50mm f/2.0 Macro"; + lenses["00 01 01"] = "Olympus Zuiko Digital 40-150mm f/3.5-4.5"; + lenses["00 01 10"] = "Olympus M.Zuiko Digital ED 14-42mm f/3.5-5.6"; + lenses["00 02 00"] = "Olympus Zuiko Digital ED 150mm f/2.0"; + lenses["00 02 10"] = "Olympus M.Zuiko Digital 17mm f/2.8 Pancake"; + lenses["00 03 00"] = "Olympus Zuiko Digital ED 300mm f/2.8"; + lenses["00 03 10"] = "Olympus M.Zuiko Digital ED 14-150mm f/4.0-5.6 [II]"; + lenses["00 04 10"] = "Olympus M.Zuiko Digital ED 9-18mm f/4.0-5.6"; + lenses["00 05 00"] = "Olympus Zuiko Digital 14-54mm f/2.8-3.5"; + lenses["00 05 01"] = "Olympus Zuiko Digital Pro ED 90-250mm f/2.8"; + lenses["00 05 10"] = "Olympus M.Zuiko Digital ED 14-42mm f/3.5-5.6 L"; + lenses["00 06 00"] = "Olympus Zuiko Digital ED 50-200mm f/2.8-3.5"; + lenses["00 06 01"] = "Olympus Zuiko Digital ED 8mm f/3.5 Fisheye"; + lenses["00 06 10"] = "Olympus M.Zuiko Digital ED 40-150mm f/4.0-5.6"; + lenses["00 07 00"] = "Olympus Zuiko Digital 11-22mm f/2.8-3.5"; + lenses["00 07 01"] = "Olympus Zuiko Digital 18-180mm f/3.5-6.3"; + lenses["00 07 10"] = "Olympus M.Zuiko Digital ED 12mm f/2.0"; + lenses["00 08 01"] = "Olympus Zuiko Digital 70-300mm f/4.0-5.6"; + lenses["00 08 10"] = "Olympus M.Zuiko Digital ED 75-300mm f/4.8-6.7"; + lenses["00 09 10"] = "Olympus M.Zuiko Digital 14-42mm f/3.5-5.6 II"; + lenses["00 10 01"] = "Kenko Tokina Reflex 300mm f/6.3 MF Macro"; + lenses["00 10 10"] = "Olympus M.Zuiko Digital ED 12-50mm f/3.5-6.3 EZ"; + lenses["00 11 10"] = "Olympus M.Zuiko Digital 45mm f/1.8"; + lenses["00 12 10"] = "Olympus M.Zuiko Digital ED 60mm f/2.8 Macro"; + lenses["00 13 10"] = "Olympus M.Zuiko Digital 14-42mm f/3.5-5.6 II R"; + lenses["00 14 10"] = "Olympus M.Zuiko Digital ED 40-150mm f/4.0-5.6 R"; + lenses["00 15 00"] = "Olympus Zuiko Digital ED 7-14mm f/4.0"; + lenses["00 15 10"] = "Olympus M.Zuiko Digital ED 75mm f/1.8"; + lenses["00 16 10"] = "Olympus M.Zuiko Digital 17mm f/1.8"; + lenses["00 17 00"] = "Olympus Zuiko Digital Pro ED 35-100mm f/2.0"; + lenses["00 18 00"] = "Olympus Zuiko Digital 14-45mm f/3.5-5.6"; + lenses["00 18 10"] = "Olympus M.Zuiko Digital ED 75-300mm f/4.8-6.7 II"; + lenses["00 19 10"] = "Olympus M.Zuiko Digital ED 12-40mm f/2.8 Pro"; + lenses["00 20 00"] = "Olympus Zuiko Digital 35mm f/3.5 Macro"; + lenses["00 20 10"] = "Olympus M.Zuiko Digital ED 40-150mm f/2.8 Pro"; + lenses["00 21 10"] = "Olympus M.Zuiko Digital ED 14-42mm f/3.5-5.6 EZ"; + lenses["00 22 00"] = "Olympus Zuiko Digital 17.5-45mm f/3.5-5.6"; + lenses["00 22 10"] = "Olympus M.Zuiko Digital 25mm f/1.8"; + lenses["00 23 00"] = "Olympus Zuiko Digital ED 14-42mm f/3.5-5.6"; + lenses["00 23 10"] = "Olympus M.Zuiko Digital ED 7-14mm f/2.8 Pro"; + lenses["00 24 00"] = "Olympus Zuiko Digital ED 40-150mm f/4.0-5.6"; + lenses["00 25 10"] = "Olympus M.Zuiko Digital ED 8mm f/1.8 Fisheye Pro"; + lenses["00 30 00"] = "Olympus Zuiko Digital ED 50-200mm f/2.8-3.5 SWD"; + lenses["00 31 00"] = "Olympus Zuiko Digital ED 12-60mm f/2.8-4.0 SWD"; + lenses["00 32 00"] = "Olympus Zuiko Digital ED 14-35mm f/2.0 SWD"; + lenses["00 33 00"] = "Olympus Zuiko Digital 25mm f/2.8"; + lenses["00 34 00"] = "Olympus Zuiko Digital ED 9-18mm f/4.0-5.6"; + lenses["00 35 00"] = "Olympus Zuiko Digital 14-54mm f/2.8-3.5 II"; + lenses["01 01 00"] = "Sigma 18-50mm f/3.5-5.6 DC"; + lenses["01 01 10"] = "Sigma 30mm f/2.8 EX DN"; + lenses["01 02 00"] = "Sigma 55-200mm f/4.0-5.6 DC"; + lenses["01 02 10"] = "Sigma 19mm f/2.8 EX DN"; + lenses["01 03 00"] = "Sigma 18-125mm f/3.5-5.6 DC"; + lenses["01 03 10"] = "Sigma 30mm f/2.8 DN | A"; + lenses["01 04 00"] = "Sigma 18-125mm f/3.5-5.6 DC"; + lenses["01 04 10"] = "Sigma 19mm f/2.8 DN | A"; + lenses["01 05 00"] = "Sigma 30mm f/1.4 EX DC HSM"; + lenses["01 05 10"] = "Sigma 60mm f/2.8 DN | A"; + lenses["01 06 00"] = "Sigma APO 50-500mm f/4.0-6.3 EX DG HSM"; + lenses["01 07 00"] = "Sigma Macro 105mm f/2.8 EX DG"; + lenses["01 08 00"] = "Sigma APO Macro 150mm f/2.8 EX DG HSM"; + lenses["01 09 00"] = "Sigma 18-50mm f/2.8 EX DC Macro"; + lenses["01 10 00"] = "Sigma 24mm f/1.8 EX DG Aspherical Macro"; + lenses["01 11 00"] = "Sigma APO 135-400mm f/4.5-5.6 DG"; + lenses["01 12 00"] = "Sigma APO 300-800mm f/5.6 EX DG HSM"; + lenses["01 13 00"] = "Sigma 30mm f/1.4 EX DC HSM"; + lenses["01 14 00"] = "Sigma APO 50-500mm f/4.0-6.3 EX DG HSM"; + lenses["01 15 00"] = "Sigma 10-20mm f/4.0-5.6 EX DC HSM"; + lenses["01 16 00"] = "Sigma APO 70-200mm f/2.8 II EX DG Macro HSM"; + lenses["01 17 00"] = "Sigma 50mm f/1.4 EX DG HSM"; + lenses["02 01 00"] = "Leica D Vario Elmarit 14-50mm f/2.8-3.5 Asph."; + lenses["02 01 10"] = "Lumix G Vario 14-45mm f/3.5-5.6 Asph. Mega OIS"; + lenses["02 02 00"] = "Leica D Summilux 25mm f/1.4 Asph."; + lenses["02 02 10"] = "Lumix G Vario 45-200mm f/4.0-5.6 Mega OIS"; + lenses["02 03 00"] = "Leica D Vario Elmar 14-50mm f/3.8-5.6 Asph. Mega OIS"; + lenses["02 03 01"] = "Leica D Vario Elmar 14-50mm f/3.8-5.6 Asph."; + lenses["02 03 10"] = "Lumix G Vario HD 14-140mm f/4.0-5.8 Asph. Mega OIS"; + lenses["02 04 00"] = "Leica D Vario Elmar 14-150mm f/3.5-5.6"; + lenses["02 04 10"] = "Lumix G Vario 7-14mm f/4.0 Asph."; + lenses["02 05 10"] = "Lumix G 20mm f/1.7 Asph."; + lenses["02 06 10"] = "Leica DG Macro-Elmarit 45mm f/2.8 Asph. Mega OIS"; + lenses["02 07 10"] = "Lumix G Vario 14-42mm f/3.5-5.6 Asph. Mega OIS"; + lenses["02 08 10"] = "Lumix G Fisheye 8mm f/3.5"; + lenses["02 09 10"] = "Lumix G Vario 100-300mm f/4.0-5.6 Mega OIS"; + lenses["02 10 10"] = "Lumix G 14mm f/2.5 Asph."; + lenses["02 11 10"] = "Lumix G 12.5mm f/12 3D"; + lenses["02 12 10"] = "Leica DG Summilux 25mm f/1.4 Asph."; + lenses["02 13 10"] = "Lumix G X Vario PZ 45-175mm f/4.0-5.6 Asph. Power OIS"; + lenses["02 14 10"] = "Lumix G X Vario PZ 14-42mm f/3.5-5.6 Asph. Power OIS"; + lenses["02 15 10"] = "Lumix G X Vario 12-35mm f/2.8 Asph. Power OIS"; + lenses["02 16 10"] = "Lumix G Vario 45-150mm f/4.0-5.6 Asph. Mega OIS"; + lenses["02 17 10"] = "Lumix G X Vario 35-100mm f/2.8 Power OIS"; + lenses["02 18 10"] = "Lumix G Vario 14-42mm f/3.5-5.6 II Asph. Mega OIS"; + lenses["02 19 10"] = "Lumix G Vario 14-140mm f/3.5-5.6 Asph. Power OIS"; + lenses["02 20 10"] = "Lumix G Vario 12-32mm f/3.5-5.6 Asph. Mega OIS"; + lenses["02 21 10"] = "Leica DG Nocticron 42.5mm f/1.2 Asph. Power OIS"; + lenses["02 22 10"] = "Leica DG Summilux 15mm f/1.7 Asph."; + lenses["02 24 10"] = "Lumix G Macro 30mm f/2.8 Asph. Mega OIS"; + lenses["02 25 10"] = "Lumix G 42.5mm f/1.7 Asph. Power OIS"; + lenses["03 01 00"] = "Leica D Vario Elmarit 14-50mm f/2.8-3.5 Asph."; + lenses["03 02 00"] = "Leica D Summilux 25mm f/1.4 Asph."; + lenses["05 01 10"] = "Tamron 14-150mm f/3.5-5.8 Di III"; } virtual std::string toString (Tag* t) { diff --git a/rtexif/pentaxattribs.cc b/rtexif/pentaxattribs.cc index 840ada763..8f183cd09 100644 --- a/rtexif/pentaxattribs.cc +++ b/rtexif/pentaxattribs.cc @@ -655,279 +655,279 @@ public: choices.insert(p_t(256 * 1 + 0, "K or M Lens")); choices.insert(p_t(256 * 2 + 0, "A Series Lens")); choices.insert(p_t(256 * 3 + 0, "Sigma")); - choices.insert(p_t(256 * 3 + 17, "smc PENTAX-FA SOFT 85mm F2.8")); + choices.insert(p_t(256 * 3 + 17, "smc PENTAX-FA SOFT 85mm f/2.8")); choices.insert(p_t(256 * 3 + 18, "smc PENTAX-F 1.7X AF ADAPTER")); - choices.insert(p_t(256 * 3 + 19, "smc PENTAX-F 24-50mm F4")); - choices.insert(p_t(256 * 3 + 20, "smc PENTAX-F 35-80mm F4-5.6")); - choices.insert(p_t(256 * 3 + 21, "smc PENTAX-F 80-200mm F4.7-5.6")); - choices.insert(p_t(256 * 3 + 22, "smc PENTAX-F FISH-EYE 17-28mm F3.5-4.5")); - choices.insert(p_t(256 * 3 + 23, "smc PENTAX-F 100-300mm F4.5-5.6 or Sigma Lens")); - choices.insert(p_t(256 * 3 + 23, "Sigma AF 28-300mm F3.5-5.6 DL IF")); - choices.insert(p_t(256 * 3 + 23, "Sigma AF 28-300mm F3.5-6.3 DG IF Macro")); - choices.insert(p_t(256 * 3 + 23, "Tokina 80-200mm F2.8 ATX-Pro")); - choices.insert(p_t(256 * 3 + 24, "smc PENTAX-F 35-135mm F3.5-4.5")); - choices.insert(p_t(256 * 3 + 25, "smc PENTAX-F 35-105mm F4-5.6 or Sigma or Tokina Lens")); - choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm F3.5-5.6 DL IF")); - choices.insert(p_t(256 * 3 + 25, "Sigma 55-200mm F4-5.6 DC")); - choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm F3.5-6.3 DL IF")); - choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm F3.5-6.3 DG IF Macro")); - choices.insert(p_t(256 * 3 + 25, "Tokina 80-200mm F2.8 ATX-Pro")); - choices.insert(p_t(256 * 3 + 26, "smc PENTAX-F* 250-600mm F5.6 ED[IF]")); - choices.insert(p_t(256 * 3 + 27, "smc PENTAX-F 28-80mm F3.5-4.5 or Tokina Lens")); - choices.insert(p_t(256 * 3 + 27, "Tokina AT-X Pro AF 28-70mm F2.6-2.8")); - choices.insert(p_t(256 * 3 + 28, "smc PENTAX-F 35-70mm F3.5-4.5 or Tokina Lens")); - choices.insert(p_t(256 * 3 + 28, "Tokina 19-35mm F3.5-4.5 AF")); - choices.insert(p_t(256 * 3 + 28, "Tokina AT-X AF 400mm F5.6")); - choices.insert(p_t(256 * 3 + 29, "PENTAX-F 28-80mm F3.5-4.5 or Sigma or Tokina Lens")); - choices.insert(p_t(256 * 3 + 29, "Sigma AF 18-125mm F3.5-5.6 DC")); - choices.insert(p_t(256 * 3 + 29, "Tokina AT-X PRO 28-70mm F2.6-2.8")); - choices.insert(p_t(256 * 3 + 30, "PENTAX-F 70-200mm F4-5.6")); - choices.insert(p_t(256 * 3 + 31, "smc PENTAX-F 70-210mm F4-5.6 or Tokina or Takumar Lens")); - choices.insert(p_t(256 * 3 + 31, "Tokina AF 730 75-300mm F4.5-5.6")); - choices.insert(p_t(256 * 3 + 31, "Takumar-F 70-210mm F4-5.6")); - choices.insert(p_t(256 * 3 + 32, "smc PENTAX-F 50mm F1.4")); - choices.insert(p_t(256 * 3 + 33, "smc PENTAX-F 50mm F1.7")); - choices.insert(p_t(256 * 3 + 34, "smc PENTAX-F 135mm F2.8 [IF]")); - choices.insert(p_t(256 * 3 + 35, "smc PENTAX-F 28mm F2.8")); - choices.insert(p_t(256 * 3 + 36, "Sigma 20mm F1.8 EX DG Aspherical RF")); - choices.insert(p_t(256 * 3 + 38, "smc PENTAX-F* 300mm F4.5 ED[IF]")); - choices.insert(p_t(256 * 3 + 39, "smc PENTAX-F* 600mm F4 ED[IF]")); - choices.insert(p_t(256 * 3 + 40, "smc PENTAX-F Macro 100mm F2.8")); - choices.insert(p_t(256 * 3 + 41, "smc PENTAX-F Macro 50mm F2.8 or Sigma Lens")); - choices.insert(p_t(256 * 3 + 41, "Sigma 50mm F2.8 Macro")); - choices.insert(p_t(256 * 3 + 42, "Sigma 300mm F2.8 EX DG APO IF")); + choices.insert(p_t(256 * 3 + 19, "smc PENTAX-F 24-50mm f/4")); + choices.insert(p_t(256 * 3 + 20, "smc PENTAX-F 35-80mm f/4-5.6")); + choices.insert(p_t(256 * 3 + 21, "smc PENTAX-F 80-200mm f/4.7-5.6")); + choices.insert(p_t(256 * 3 + 22, "smc PENTAX-F FISH-EYE 17-28mm f/3.5-4.5")); + choices.insert(p_t(256 * 3 + 23, "smc PENTAX-F 100-300mm f/4.5-5.6 or Sigma Lens")); + choices.insert(p_t(256 * 3 + 23, "Sigma AF 28-300mm f/3.5-5.6 DL IF")); + choices.insert(p_t(256 * 3 + 23, "Sigma AF 28-300mm f/3.5-6.3 DG IF Macro")); + choices.insert(p_t(256 * 3 + 23, "Tokina 80-200mm f/2.8 ATX-Pro")); + choices.insert(p_t(256 * 3 + 24, "smc PENTAX-F 35-135mm f/3.5-4.5")); + choices.insert(p_t(256 * 3 + 25, "smc PENTAX-F 35-105mm f/4-5.6 or Sigma or Tokina Lens")); + choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm f/3.5-5.6 DL IF")); + choices.insert(p_t(256 * 3 + 25, "Sigma 55-200mm f/4-5.6 DC")); + choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm f/3.5-6.3 DL IF")); + choices.insert(p_t(256 * 3 + 25, "Sigma AF 28-300mm f/3.5-6.3 DG IF Macro")); + choices.insert(p_t(256 * 3 + 25, "Tokina 80-200mm f/2.8 ATX-Pro")); + choices.insert(p_t(256 * 3 + 26, "smc PENTAX-F* 250-600mm f/5.6 ED[IF]")); + choices.insert(p_t(256 * 3 + 27, "smc PENTAX-F 28-80mm f/3.5-4.5 or Tokina Lens")); + choices.insert(p_t(256 * 3 + 27, "Tokina AT-X Pro AF 28-70mm f/2.6-2.8")); + choices.insert(p_t(256 * 3 + 28, "smc PENTAX-F 35-70mm f/3.5-4.5 or Tokina Lens")); + choices.insert(p_t(256 * 3 + 28, "Tokina 19-35mm f/3.5-4.5 AF")); + choices.insert(p_t(256 * 3 + 28, "Tokina AT-X AF 400mm f/5.6")); + choices.insert(p_t(256 * 3 + 29, "PENTAX-F 28-80mm f/3.5-4.5 or Sigma or Tokina Lens")); + choices.insert(p_t(256 * 3 + 29, "Sigma AF 18-125mm f/3.5-5.6 DC")); + choices.insert(p_t(256 * 3 + 29, "Tokina AT-X PRO 28-70mm f/2.6-2.8")); + choices.insert(p_t(256 * 3 + 30, "PENTAX-F 70-200mm f/4-5.6")); + choices.insert(p_t(256 * 3 + 31, "smc PENTAX-F 70-210mm f/4-5.6 or Tokina or Takumar Lens")); + choices.insert(p_t(256 * 3 + 31, "Tokina AF 730 75-300mm f/4.5-5.6")); + choices.insert(p_t(256 * 3 + 31, "Takumar-F 70-210mm f/4-5.6")); + choices.insert(p_t(256 * 3 + 32, "smc PENTAX-F 50mm f/1.4")); + choices.insert(p_t(256 * 3 + 33, "smc PENTAX-F 50mm f/1.7")); + choices.insert(p_t(256 * 3 + 34, "smc PENTAX-F 135mm f/2.8 [IF]")); + choices.insert(p_t(256 * 3 + 35, "smc PENTAX-F 28mm f/2.8")); + choices.insert(p_t(256 * 3 + 36, "Sigma 20mm f/1.8 EX DG Aspherical RF")); + choices.insert(p_t(256 * 3 + 38, "smc PENTAX-F* 300mm f/4.5 ED[IF]")); + choices.insert(p_t(256 * 3 + 39, "smc PENTAX-F* 600mm f/4 ED[IF]")); + choices.insert(p_t(256 * 3 + 40, "smc PENTAX-F Macro 100mm f/2.8")); + choices.insert(p_t(256 * 3 + 41, "smc PENTAX-F Macro 50mm f/2.8 or Sigma Lens")); + choices.insert(p_t(256 * 3 + 41, "Sigma 50mm f/2.8 Macro")); + choices.insert(p_t(256 * 3 + 42, "Sigma 300mm f/2.8 EX DG APO IF")); choices.insert(p_t(256 * 3 + 44, "Sigma or Tamron Lens (3 44)")); - choices.insert(p_t(256 * 3 + 44, "Sigma AF 10-20mm F4-5.6 EX DC")); - choices.insert(p_t(256 * 3 + 44, "Sigma 12-24mm F4.5-5.6 EX DG")); - choices.insert(p_t(256 * 3 + 44, "Sigma 17-70mm F2.8-4.5 DC Macro")); - choices.insert(p_t(256 * 3 + 44, "Sigma 18-50mm F3.5-5.6 DC")); - choices.insert(p_t(256 * 3 + 44, "Tamron 35-90mm F4 AF")); + choices.insert(p_t(256 * 3 + 44, "Sigma AF 10-20mm f/4-5.6 EX DC")); + choices.insert(p_t(256 * 3 + 44, "Sigma 12-24mm f/4.5-5.6 EX DG")); + choices.insert(p_t(256 * 3 + 44, "Sigma 17-70mm f/2.8-4.5 DC Macro")); + choices.insert(p_t(256 * 3 + 44, "Sigma 18-50mm f/3.5-5.6 DC")); + choices.insert(p_t(256 * 3 + 44, "Tamron 35-90mm f/4 AF")); choices.insert(p_t(256 * 3 + 46, "Sigma or Samsung Lens (3 46)")); - choices.insert(p_t(256 * 3 + 46, "Sigma APO 70-200mm F2.8 EX")); - choices.insert(p_t(256 * 3 + 46, "Sigma EX APO 100-300mm F4 IF")); - choices.insert(p_t(256 * 3 + 46, "Samsung/Schneider D-XENON 50-200mm F4-5.6 ED")); - choices.insert(p_t(256 * 3 + 50, "smc PENTAX-FA 28-70mm F4 AL")); - choices.insert(p_t(256 * 3 + 51, "Sigma 28mm F1.8 EX DG Aspherical Macro")); - choices.insert(p_t(256 * 3 + 52, "smc PENTAX-FA 28-200mm F3.8-5.6 AL[IF] or Tamron Lens")); - choices.insert(p_t(256 * 3 + 52, "Tamron AF LD 28-200mm F3.8-5.6 [IF] Aspherical (171D)")); - choices.insert(p_t(256 * 3 + 53, "smc PENTAX-FA 28-80mm F3.5-5.6 AL")); - choices.insert(p_t(256 * 3 + 247, "smc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED[IF]")); - choices.insert(p_t(256 * 3 + 248, "smc PENTAX-DA 12-24mm F4 ED AL[IF]")); - choices.insert(p_t(256 * 3 + 250, "smc PENTAX-DA 50-200mm F4-5.6 ED")); - choices.insert(p_t(256 * 3 + 251, "smc PENTAX-DA 40mm F2.8 Limited")); - choices.insert(p_t(256 * 3 + 252, "smc PENTAX-DA 18-55mm F3.5-5.6 AL")); - choices.insert(p_t(256 * 3 + 253, "smc PENTAX-DA 14mm F2.8 ED[IF]")); - choices.insert(p_t(256 * 3 + 254, "smc PENTAX-DA 16-45mm F4 ED AL")); + choices.insert(p_t(256 * 3 + 46, "Sigma APO 70-200mm f/2.8 EX")); + choices.insert(p_t(256 * 3 + 46, "Sigma EX APO 100-300mm f/4 IF")); + choices.insert(p_t(256 * 3 + 46, "Samsung/Schneider D-XENON 50-200mm f/4-5.6 ED")); + choices.insert(p_t(256 * 3 + 50, "smc PENTAX-FA 28-70mm f/4 AL")); + choices.insert(p_t(256 * 3 + 51, "Sigma 28mm f/1.8 EX DG Aspherical Macro")); + choices.insert(p_t(256 * 3 + 52, "smc PENTAX-FA 28-200mm f/3.8-5.6 AL[IF] or Tamron Lens")); + choices.insert(p_t(256 * 3 + 52, "Tamron AF LD 28-200mm f/3.8-5.6 [IF] Aspherical (171D)")); + choices.insert(p_t(256 * 3 + 53, "smc PENTAX-FA 28-80mm f/3.5-5.6 AL")); + choices.insert(p_t(256 * 3 + 247, "smc PENTAX-DA FISH-EYE 10-17mm f/3.5-4.5 ED[IF]")); + choices.insert(p_t(256 * 3 + 248, "smc PENTAX-DA 12-24mm f/4 ED AL[IF]")); + choices.insert(p_t(256 * 3 + 250, "smc PENTAX-DA 50-200mm f/4-5.6 ED")); + choices.insert(p_t(256 * 3 + 251, "smc PENTAX-DA 40mm f/2.8 Limited")); + choices.insert(p_t(256 * 3 + 252, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL")); + choices.insert(p_t(256 * 3 + 253, "smc PENTAX-DA 14mm f/2.8 ED[IF]")); + choices.insert(p_t(256 * 3 + 254, "smc PENTAX-DA 16-45mm f/4 ED AL")); choices.insert(p_t(256 * 3 + 255, "Sigma Lens (3 255)")); - choices.insert(p_t(256 * 3 + 255, "Sigma 18-200mm F3.5-6.3 DC")); - choices.insert(p_t(256 * 3 + 255, "Sigma DL-II 35-80mm F4-5.6")); - choices.insert(p_t(256 * 3 + 255, "Sigma DL Zoom 75-300mm F4-5.6")); - choices.insert(p_t(256 * 3 + 255, "Sigma DF EX Aspherical 28-70mm F2.8")); - choices.insert(p_t(256 * 3 + 255, "Sigma AF Tele 400mm F5.6 Multi-coated")); - choices.insert(p_t(256 * 3 + 255, "Sigma 24-60mm F2.8 EX DG")); - choices.insert(p_t(256 * 3 + 255, "Sigma 70-300mm F4-5.6 Macro")); - choices.insert(p_t(256 * 3 + 255, "Sigma 55-200mm F4-5.6 DC")); - choices.insert(p_t(256 * 3 + 255, "Sigma 18-50mm F2.8 EX DC")); - choices.insert(p_t(256 * 4 + 1, "smc PENTAX-FA SOFT 28mm F2.8")); - choices.insert(p_t(256 * 4 + 2, "smc PENTAX-FA 80-320mm F4.5-5.6")); - choices.insert(p_t(256 * 4 + 3, "smc PENTAX-FA 43mm F1.9 Limited")); - choices.insert(p_t(256 * 4 + 6, "smc PENTAX-FA 35-80mm F4-5.6")); - choices.insert(p_t(256 * 4 + 12, "smc PENTAX-FA 50mm F1.4")); - choices.insert(p_t(256 * 4 + 15, "smc PENTAX-FA 28-105mm F4-5.6 [IF]")); - choices.insert(p_t(256 * 4 + 16, "Tamron AF 80-210mm F4-5.6 (178D)")); - choices.insert(p_t(256 * 4 + 19, "Tamron SP AF 90mm F2.8 (172E)")); - choices.insert(p_t(256 * 4 + 20, "smc PENTAX-FA 28-80mm F3.5-5.6")); - choices.insert(p_t(256 * 4 + 21, "Cosina AF 100-300mm F5.6-6.7")); - choices.insert(p_t(256 * 4 + 22, "Tokina 28-80mm F3.5-5.6")); - choices.insert(p_t(256 * 4 + 23, "smc PENTAX-FA 20-35mm F4 AL")); - choices.insert(p_t(256 * 4 + 24, "smc PENTAX-FA 77mm F1.8 Limited")); - choices.insert(p_t(256 * 4 + 25, "Tamron SP AF 14mm F2.8")); - choices.insert(p_t(256 * 4 + 26, "smc PENTAX-FA Macro 100mm F3.5 or Cosina Lens")); - choices.insert(p_t(256 * 4 + 26, "Cosina 100mm F3.5 Macro")); - choices.insert(p_t(256 * 4 + 27, "Tamron AF 28-300mm F3.5-6.3 LD Aspherical[IF] Macro (185D/285D)")); - choices.insert(p_t(256 * 4 + 28, "smc PENTAX-FA 35mm F2 AL")); - choices.insert(p_t(256 * 4 + 29, "Tamron AF 28-200mm F3.8-5.6 LD Super II Macro (371D)")); - choices.insert(p_t(256 * 4 + 34, "smc PENTAX-FA 24-90mm F3.5-4.5 AL[IF]")); - choices.insert(p_t(256 * 4 + 35, "smc PENTAX-FA 100-300mm F4.7-5.8")); - choices.insert(p_t(256 * 4 + 36, "Tamron AF 70-300mm F4-5.6 LD Macro 1:2")); - choices.insert(p_t(256 * 4 + 37, "Tamron SP AF 24-135mm F3.5-5.6 AD AL (190D)")); - choices.insert(p_t(256 * 4 + 38, "smc PENTAX-FA 28-105mm F3.2-4.5 AL[IF]")); - choices.insert(p_t(256 * 4 + 39, "smc PENTAX-FA 31mm F1.8 AL Limited")); - choices.insert(p_t(256 * 4 + 41, "Tamron AF 28-200mm Super Zoom F3.8-5.6 Aspherical XR [IF] Macro (A03)")); - choices.insert(p_t(256 * 4 + 43, "smc PENTAX-FA 28-90mm F3.5-5.6")); - choices.insert(p_t(256 * 4 + 44, "smc PENTAX-FA J 75-300mm F4.5-5.8 AL")); + choices.insert(p_t(256 * 3 + 255, "Sigma 18-200mm f/3.5-6.3 DC")); + choices.insert(p_t(256 * 3 + 255, "Sigma DL-II 35-80mm f/4-5.6")); + choices.insert(p_t(256 * 3 + 255, "Sigma DL Zoom 75-300mm f/4-5.6")); + choices.insert(p_t(256 * 3 + 255, "Sigma DF EX Aspherical 28-70mm f/2.8")); + choices.insert(p_t(256 * 3 + 255, "Sigma AF Tele 400mm f/5.6 Multi-coated")); + choices.insert(p_t(256 * 3 + 255, "Sigma 24-60mm f/2.8 EX DG")); + choices.insert(p_t(256 * 3 + 255, "Sigma 70-300mm f/4-5.6 Macro")); + choices.insert(p_t(256 * 3 + 255, "Sigma 55-200mm f/4-5.6 DC")); + choices.insert(p_t(256 * 3 + 255, "Sigma 18-50mm f/2.8 EX DC")); + choices.insert(p_t(256 * 4 + 1, "smc PENTAX-FA SOFT 28mm f/2.8")); + choices.insert(p_t(256 * 4 + 2, "smc PENTAX-FA 80-320mm f/4.5-5.6")); + choices.insert(p_t(256 * 4 + 3, "smc PENTAX-FA 43mm f/1.9 Limited")); + choices.insert(p_t(256 * 4 + 6, "smc PENTAX-FA 35-80mm f/4-5.6")); + choices.insert(p_t(256 * 4 + 12, "smc PENTAX-FA 50mm f/1.4")); + choices.insert(p_t(256 * 4 + 15, "smc PENTAX-FA 28-105mm f/4-5.6 [IF]")); + choices.insert(p_t(256 * 4 + 16, "Tamron AF 80-210mm f/4-5.6 (178D)")); + choices.insert(p_t(256 * 4 + 19, "Tamron SP AF 90mm f/2.8 (172E)")); + choices.insert(p_t(256 * 4 + 20, "smc PENTAX-FA 28-80mm f/3.5-5.6")); + choices.insert(p_t(256 * 4 + 21, "Cosina AF 100-300mm f/5.6-6.7")); + choices.insert(p_t(256 * 4 + 22, "Tokina 28-80mm f/3.5-5.6")); + choices.insert(p_t(256 * 4 + 23, "smc PENTAX-FA 20-35mm f/4 AL")); + choices.insert(p_t(256 * 4 + 24, "smc PENTAX-FA 77mm f/1.8 Limited")); + choices.insert(p_t(256 * 4 + 25, "Tamron SP AF 14mm f/2.8")); + choices.insert(p_t(256 * 4 + 26, "smc PENTAX-FA Macro 100mm f/3.5 or Cosina Lens")); + choices.insert(p_t(256 * 4 + 26, "Cosina 100mm f/3.5 Macro")); + choices.insert(p_t(256 * 4 + 27, "Tamron AF 28-300mm f/3.5-6.3 LD Aspherical[IF] Macro (185D/285D)")); + choices.insert(p_t(256 * 4 + 28, "smc PENTAX-FA 35mm f/2 AL")); + choices.insert(p_t(256 * 4 + 29, "Tamron AF 28-200mm f/3.8-5.6 LD Super II Macro (371D)")); + choices.insert(p_t(256 * 4 + 34, "smc PENTAX-FA 24-90mm f/3.5-4.5 AL[IF]")); + choices.insert(p_t(256 * 4 + 35, "smc PENTAX-FA 100-300mm f/4.7-5.8")); + choices.insert(p_t(256 * 4 + 36, "Tamron AF 70-300mm f/4-5.6 LD Macro 1:2")); + choices.insert(p_t(256 * 4 + 37, "Tamron SP AF 24-135mm f/3.5-5.6 AD AL (190D)")); + choices.insert(p_t(256 * 4 + 38, "smc PENTAX-FA 28-105mm f/3.2-4.5 AL[IF]")); + choices.insert(p_t(256 * 4 + 39, "smc PENTAX-FA 31mm f/1.8 AL Limited")); + choices.insert(p_t(256 * 4 + 41, "Tamron AF 28-200mm Super Zoom f/3.8-5.6 Aspherical XR [IF] Macro (A03)")); + choices.insert(p_t(256 * 4 + 43, "smc PENTAX-FA 28-90mm f/3.5-5.6")); + choices.insert(p_t(256 * 4 + 44, "smc PENTAX-FA J 75-300mm f/4.5-5.8 AL")); choices.insert(p_t(256 * 4 + 45, "Tamron Lens (4 45)")); - choices.insert(p_t(256 * 4 + 45, "Tamron 28-300mm F3.5-6.3 Ultra zoom XR")); - choices.insert(p_t(256 * 4 + 45, "Tamron AF 28-300mm F3.5-6.3 XR Di LD Aspherical [IF] Macro")); - choices.insert(p_t(256 * 4 + 46, "smc PENTAX-FA J 28-80mm F3.5-5.6 AL")); - choices.insert(p_t(256 * 4 + 47, "smc PENTAX-FA J 18-35mm F4-5.6 AL")); - choices.insert(p_t(256 * 4 + 49, "Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical [IF] Macro")); - choices.insert(p_t(256 * 4 + 51, "smc PENTAX-D FA 50mm F2.8 Macro")); - choices.insert(p_t(256 * 4 + 52, "smc PENTAX-D FA 100mm F2.8 Macro")); - choices.insert(p_t(256 * 4 + 55, "Samsung/Schneider D-XENOGON 35mm F2")); - choices.insert(p_t(256 * 4 + 56, "Samsung/Schneider D-XENON 100mm F2.8 Macro")); - choices.insert(p_t(256 * 4 + 75, "Tamron SP AF 70-200mm F2.8 Di LD [IF] Macro (A001)")); - choices.insert(p_t(256 * 4 + 214, "smc PENTAX-DA 35mm F2.4 AL")); - choices.insert(p_t(256 * 4 + 229, "smc PENTAX-DA 18-55mm F3.5-5.6 AL II")); - choices.insert(p_t(256 * 4 + 230, "Tamron SP AF 17-50mm F2.8 XR Di II")); - choices.insert(p_t(256 * 4 + 231, "smc PENTAX-DA 18-250mm F3.5-6.3 ED AL [IF]")); - choices.insert(p_t(256 * 4 + 237, "Samsung/Schneider D-XENOGON 10-17mm F3.5-4.5")); - choices.insert(p_t(256 * 4 + 239, "Samsung/Schneider D-XENON 12-24mm F4 ED AL [IF]")); - choices.insert(p_t(256 * 4 + 242, "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 4 + 243, "smc PENTAX-DA 70mm F2.4 Limited")); - choices.insert(p_t(256 * 4 + 244, "smc PENTAX-DA 21mm F3.2 AL Limited")); - choices.insert(p_t(256 * 4 + 245, "Samsung/Schneider D-XENON 50-200mm F4-5.6")); - choices.insert(p_t(256 * 4 + 246, "Samsung/Schneider D-XENON 18-55mm F3.5-5.6")); - choices.insert(p_t(256 * 4 + 247, "smc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED[IF]")); - choices.insert(p_t(256 * 4 + 248, "smc PENTAX-DA 12-24mm F4 ED AL [IF]")); - choices.insert(p_t(256 * 4 + 249, "Tamron XR DiII 18-200mm F3.5-6.3 (A14)")); - choices.insert(p_t(256 * 4 + 250, "smc PENTAX-DA 50-200mm F4-5.6 ED")); - choices.insert(p_t(256 * 4 + 251, "smc PENTAX-DA 40mm F2.8 Limited")); - choices.insert(p_t(256 * 4 + 252, "smc PENTAX-DA 18-55mm F3.5-5.6 AL")); - choices.insert(p_t(256 * 4 + 253, "smc PENTAX-DA 14mm F2.8 ED[IF]")); - choices.insert(p_t(256 * 4 + 254, "smc PENTAX-DA 16-45mm F4 ED AL")); - choices.insert(p_t(256 * 5 + 1, "smc PENTAX-FA* 24mm F2 AL[IF]")); - choices.insert(p_t(256 * 5 + 2, "smc PENTAX-FA 28mm F2.8 AL")); - choices.insert(p_t(256 * 5 + 3, "smc PENTAX-FA 50mm F1.7")); - choices.insert(p_t(256 * 5 + 4, "smc PENTAX-FA 50mm F1.4")); - choices.insert(p_t(256 * 5 + 5, "smc PENTAX-FA* 600mm F4 ED[IF]")); - choices.insert(p_t(256 * 5 + 6, "smc PENTAX-FA* 300mm F4.5 ED[IF]")); - choices.insert(p_t(256 * 5 + 7, "smc PENTAX-FA 135mm F2.8 [IF]")); - choices.insert(p_t(256 * 5 + 8, "smc PENTAX-FA Macro 50mm F2.8")); - choices.insert(p_t(256 * 5 + 9, "smc PENTAX-FA Macro 100mm F2.8")); - choices.insert(p_t(256 * 5 + 10, "smc PENTAX-FA* 85mm F1.4 [IF]")); - choices.insert(p_t(256 * 5 + 11, "smc PENTAX-FA* 200mm F2.8 ED[IF]")); - choices.insert(p_t(256 * 5 + 12, "smc PENTAX-FA 28-80mm F3.5-4.7")); - choices.insert(p_t(256 * 5 + 13, "smc PENTAX-FA 70-200mm F4-5.6")); - choices.insert(p_t(256 * 5 + 14, "smc PENTAX-FA* 250-600mm F5.6 ED[IF]")); - choices.insert(p_t(256 * 5 + 15, "smc PENTAX-FA 28-105mm F4-5.6")); - choices.insert(p_t(256 * 5 + 16, "smc PENTAX-FA 100-300mm F4.5-5.6")); - choices.insert(p_t(256 * 5 + 98, "smc PENTAX-FA 100-300mm F4.5-5.6")); - choices.insert(p_t(256 * 6 + 1, "smc PENTAX-FA* 85mm F1.4 [IF]")); - choices.insert(p_t(256 * 6 + 2, "smc PENTAX-FA* 200mm F2.8 ED[IF]")); - choices.insert(p_t(256 * 6 + 3, "smc PENTAX-FA* 300mm F2.8 ED[IF]")); - choices.insert(p_t(256 * 6 + 4, "smc PENTAX-FA* 28-70mm F2.8 AL")); - choices.insert(p_t(256 * 6 + 5, "smc PENTAX-FA* 80-200mm F2.8 ED[IF]")); - choices.insert(p_t(256 * 6 + 6, "smc PENTAX-FA* 28-70mm F2.8 AL")); - choices.insert(p_t(256 * 6 + 7, "smc PENTAX-FA* 80-200mm F2.8 ED[IF]")); - choices.insert(p_t(256 * 6 + 8, "smc PENTAX-FA 28-70mm F4AL")); - choices.insert(p_t(256 * 6 + 9, "smc PENTAX-FA 20mm F2.8")); - choices.insert(p_t(256 * 6 + 10, "smc PENTAX-FA* 400mm F5.6 ED[IF]")); - choices.insert(p_t(256 * 6 + 13, "smc PENTAX-FA* 400mm F5.6 ED[IF]")); - choices.insert(p_t(256 * 6 + 14, "smc PENTAX-FA* Macro 200mm F4 ED[IF]")); - choices.insert(p_t(256 * 7 + 0, "smc PENTAX-DA 21mm F3.2 AL Limited")); - choices.insert(p_t(256 * 7 + 58, "smc PENTAX-D FA Macro 100mm F2.8 WR")); - choices.insert(p_t(256 * 7 + 75, "Tamron SP AF 70-200mm F2.8 Di LD [IF] Macro (A001)")); - choices.insert(p_t(256 * 7 + 201, "smc Pentax-DA L 50-200mm F4-5.6 ED WR")); - choices.insert(p_t(256 * 7 + 202, "smc PENTAX-DA L 18-55mm F3.5-5.6 AL WR")); - choices.insert(p_t(256 * 7 + 203, "HD PENTAX-DA 55-300mm F4-5.8 ED WR")); - choices.insert(p_t(256 * 7 + 204, "HD PENTAX-DA 15mm F4 ED AL Limited")); - choices.insert(p_t(256 * 7 + 205, "HD PENTAX-DA 35mm F2.8 Macro Limited")); - choices.insert(p_t(256 * 7 + 206, "HD PENTAX-DA 70mm F2.4 Limited")); - choices.insert(p_t(256 * 7 + 207, "HD PENTAX-DA 21mm F3.2 ED AL Limited")); - choices.insert(p_t(256 * 7 + 208, "HD PENTAX-DA 40mm F2.8 Limited")); - choices.insert(p_t(256 * 7 + 212, "smc PENTAX-DA 50mm F1.8")); - choices.insert(p_t(256 * 7 + 213, "smc PENTAX-DA 40mm F2.8 XS")); - choices.insert(p_t(256 * 7 + 214, "smc PENTAX-DA 35mm F2.4 AL")); - choices.insert(p_t(256 * 7 + 216, "smc PENTAX-DA L 55-300mm F4-5.8 ED")); - choices.insert(p_t(256 * 7 + 217, "smc PENTAX-DA 50-200mm F4-5.6 ED WR")); - choices.insert(p_t(256 * 7 + 218, "smc PENTAX-DA 18-55mm F3.5-5.6 AL WR")); - choices.insert(p_t(256 * 7 + 220, "Tamron SP AF 10-24mm F3.5-4.5 Di II LD Aspherical [IF]")); - choices.insert(p_t(256 * 7 + 221, "smc PENTAX-DA L 50-200mm F4-5.6 ED")); - choices.insert(p_t(256 * 7 + 222, "smc PENTAX-DA L 18-55mm F3.5-5.6")); - choices.insert(p_t(256 * 7 + 223, "Samsung/Schneider D-XENON 18-55mm F3.5-5.6 II")); - choices.insert(p_t(256 * 7 + 224, "smc PENTAX-DA 15mm F4 ED AL Limited")); - choices.insert(p_t(256 * 7 + 225, "Samsung/Schneider D-XENON 18-250mm F3.5-6.3")); - choices.insert(p_t(256 * 7 + 226, "smc PENTAX-DA* 55mm F1.4 SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 227, "smc PENTAX-DA* 60-250mm F4 [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 228, "Samsung 16-45mm F4 ED")); - choices.insert(p_t(256 * 7 + 229, "smc PENTAX-DA 18-55mm F3.5-5.6 AL II")); - choices.insert(p_t(256 * 7 + 230, "Tamron AF 17-50mm F2.8 XR Di-II LD (Model A16)")); - choices.insert(p_t(256 * 7 + 231, "smc PENTAX-DA 18-250mm F3.5-6.3 ED AL [IF]")); - choices.insert(p_t(256 * 7 + 233, "smc PENTAX-DA 35mm F2.8 Macro Limited")); - choices.insert(p_t(256 * 7 + 234, "smc PENTAX-DA* 300mm F4 ED [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 235, "smc PENTAX-DA* 200mm F2.8 ED [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 236, "smc PENTAX-DA 55-300mm F4-5.8 ED")); - choices.insert(p_t(256 * 7 + 238, "Tamron AF 18-250mm F3.5-6.3 Di II LD Aspherical [IF] Macro")); - choices.insert(p_t(256 * 7 + 241, "smc PENTAX-DA* 50-135mm F2.8 ED [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 242, "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM (SDM unused)")); - choices.insert(p_t(256 * 7 + 243, "smc PENTAX-DA 70mm F2.4 Limited")); - choices.insert(p_t(256 * 7 + 244, "smc PENTAX-DA 21mm F3.2 AL Limited")); - choices.insert(p_t(256 * 8 + 0, "Sigma 50-150mm F2.8 II APO EX DC HSM")); - choices.insert(p_t(256 * 8 + 3, "Sigma AF 18-125mm F3.5-5.6 DC")); - choices.insert(p_t(256 * 8 + 4, "Sigma 50mm F1.4 EX DG HSM")); - choices.insert(p_t(256 * 8 + 7, "Sigma 24-70mm F2.8 IF EX DG HSM")); - choices.insert(p_t(256 * 8 + 8, "Sigma 18-250mm F3.5-6.3 DC OS HSM")); - choices.insert(p_t(256 * 8 + 11, "Sigma 10-20mm F3.5 EX DC HSM")); - choices.insert(p_t(256 * 8 + 12, "Sigma 70-300mm F4-5.6 DG OS")); - choices.insert(p_t(256 * 8 + 13, "Sigma 120-400mm F4.5-5.6 APO DG OS HSM")); - choices.insert(p_t(256 * 8 + 14, "Sigma 17-70mm F2.8-4.0 DC Macro OS HSM")); - choices.insert(p_t(256 * 8 + 15, "Sigma 150-500mm F5-6.3 APO DG OS HSM")); - choices.insert(p_t(256 * 8 + 16, "Sigma 70-200mm F2.8 EX DG Macro HSM II")); - choices.insert(p_t(256 * 8 + 17, "Sigma 50-500mm F4.5-6.3 DG OS HSM")); - choices.insert(p_t(256 * 8 + 18, "Sigma 8-16mm F4.5-5.6 DC HSM")); - choices.insert(p_t(256 * 8 + 21, "Sigma 17-50mm F2.8 EX DC OS HSM")); - choices.insert(p_t(256 * 8 + 22, "Sigma 85mm F1.4 EX DG HSM")); - choices.insert(p_t(256 * 8 + 23, "Sigma 70-200mm F2.8 APO EX DG OS HSM")); - choices.insert(p_t(256 * 8 + 25, "Sigma 17-50mm F2.8 EX DC HSM")); - choices.insert(p_t(256 * 8 + 27, "Sigma 18-200mm F3.5-6.3 II DC HSM")); - choices.insert(p_t(256 * 8 + 28, "Sigma 18-250mm F3.5-6.3 DC Macro HSM")); - choices.insert(p_t(256 * 8 + 29, "Sigma 35mm F1.4 DG HSM")); - choices.insert(p_t(256 * 8 + 30, "Sigma 17-70mm F2.8-4 DC Macro HSM Contemporary")); - choices.insert(p_t(256 * 8 + 31, "Sigma 18-35mm F1.8 DC HSM")); - choices.insert(p_t(256 * 8 + 32, "Sigma 30mm F1.4 DC HSM | A")); - choices.insert(p_t(256 * 8 + 59, "HD PENTAX-D FA 150-450mm F4.5-5.6 ED DC AW")); - choices.insert(p_t(256 * 8 + 60, "HD PENTAX-D FA* 70-200mm F2.8 ED DC AW")); - choices.insert(p_t(256 * 8 + 198, "smc PENTAX-DA L 18-50mm F4-5.6 DC WR RE")); - choices.insert(p_t(256 * 8 + 199, "HD PENTAX-DA 18-50mm F4-5.6 DC WR RE")); - choices.insert(p_t(256 * 8 + 200, "HD PENTAX-DA 16-85mm F3.5-5.6 ED DC WR")); - choices.insert(p_t(256 * 8 + 209, "HD PENTAX-DA 20-40mm F2.8-4 ED Limited DC WR")); - choices.insert(p_t(256 * 8 + 210, "smc PENTAX-DA 18-270mm F3.5-6.3 ED SDM")); - choices.insert(p_t(256 * 8 + 211, "HD PENTAX-DA 560mm F5.6 ED AW")); - choices.insert(p_t(256 * 8 + 215, "smc PENTAX-DA 18-135mm F3.5-5.6 ED AL [IF] DC WR")); - choices.insert(p_t(256 * 8 + 226, "smc PENTAX-DA* 55mm F1.4 SDM")); - choices.insert(p_t(256 * 8 + 227, "smc PENTAX-DA* 60-250mm F4 [IF] SDM")); - choices.insert(p_t(256 * 8 + 232, "smc PENTAX-DA 17-70mm F4 AL [IF] SDM")); - choices.insert(p_t(256 * 8 + 234, "smc PENTAX-DA* 300mm F4 ED [IF] SDM")); - choices.insert(p_t(256 * 8 + 235, "smc PENTAX-DA* 200mm F2.8 ED [IF] SDM")); - choices.insert(p_t(256 * 8 + 241, "smc PENTAX-DA* 50-135mm F2.8 ED [IF] SDM")); - choices.insert(p_t(256 * 8 + 242, "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM")); + choices.insert(p_t(256 * 4 + 45, "Tamron 28-300mm f/3.5-6.3 Ultra zoom XR")); + choices.insert(p_t(256 * 4 + 45, "Tamron AF 28-300mm f/3.5-6.3 XR Di LD Aspherical [IF] Macro")); + choices.insert(p_t(256 * 4 + 46, "smc PENTAX-FA J 28-80mm f/3.5-5.6 AL")); + choices.insert(p_t(256 * 4 + 47, "smc PENTAX-FA J 18-35mm f/4-5.6 AL")); + choices.insert(p_t(256 * 4 + 49, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro")); + choices.insert(p_t(256 * 4 + 51, "smc PENTAX-D FA 50mm f/2.8 Macro")); + choices.insert(p_t(256 * 4 + 52, "smc PENTAX-D FA 100mm f/2.8 Macro")); + choices.insert(p_t(256 * 4 + 55, "Samsung/Schneider D-XENOGON 35mm f/2")); + choices.insert(p_t(256 * 4 + 56, "Samsung/Schneider D-XENON 100mm f/2.8 Macro")); + choices.insert(p_t(256 * 4 + 75, "Tamron SP AF 70-200mm f/2.8 Di LD [IF] Macro (A001)")); + choices.insert(p_t(256 * 4 + 214, "smc PENTAX-DA 35mm f/2.4 AL")); + choices.insert(p_t(256 * 4 + 229, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL II")); + choices.insert(p_t(256 * 4 + 230, "Tamron SP AF 17-50mm f/2.8 XR Di II")); + choices.insert(p_t(256 * 4 + 231, "smc PENTAX-DA 18-250mm f/3.5-6.3 ED AL [IF]")); + choices.insert(p_t(256 * 4 + 237, "Samsung/Schneider D-XENOGON 10-17mm f/3.5-4.5")); + choices.insert(p_t(256 * 4 + 239, "Samsung/Schneider D-XENON 12-24mm f/4 ED AL [IF]")); + choices.insert(p_t(256 * 4 + 242, "smc PENTAX-DA* 16-50mm f/2.8 ED AL [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 4 + 243, "smc PENTAX-DA 70mm f/2.4 Limited")); + choices.insert(p_t(256 * 4 + 244, "smc PENTAX-DA 21mm f/3.2 AL Limited")); + choices.insert(p_t(256 * 4 + 245, "Samsung/Schneider D-XENON 50-200mm f/4-5.6")); + choices.insert(p_t(256 * 4 + 246, "Samsung/Schneider D-XENON 18-55mm f/3.5-5.6")); + choices.insert(p_t(256 * 4 + 247, "smc PENTAX-DA FISH-EYE 10-17mm f/3.5-4.5 ED[IF]")); + choices.insert(p_t(256 * 4 + 248, "smc PENTAX-DA 12-24mm f/4 ED AL [IF]")); + choices.insert(p_t(256 * 4 + 249, "Tamron XR DiII 18-200mm f/3.5-6.3 (A14)")); + choices.insert(p_t(256 * 4 + 250, "smc PENTAX-DA 50-200mm f/4-5.6 ED")); + choices.insert(p_t(256 * 4 + 251, "smc PENTAX-DA 40mm f/2.8 Limited")); + choices.insert(p_t(256 * 4 + 252, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL")); + choices.insert(p_t(256 * 4 + 253, "smc PENTAX-DA 14mm f/2.8 ED[IF]")); + choices.insert(p_t(256 * 4 + 254, "smc PENTAX-DA 16-45mm f/4 ED AL")); + choices.insert(p_t(256 * 5 + 1, "smc PENTAX-FA* 24mm f/2 AL[IF]")); + choices.insert(p_t(256 * 5 + 2, "smc PENTAX-FA 28mm f/2.8 AL")); + choices.insert(p_t(256 * 5 + 3, "smc PENTAX-FA 50mm f/1.7")); + choices.insert(p_t(256 * 5 + 4, "smc PENTAX-FA 50mm f/1.4")); + choices.insert(p_t(256 * 5 + 5, "smc PENTAX-FA* 600mm f/4 ED[IF]")); + choices.insert(p_t(256 * 5 + 6, "smc PENTAX-FA* 300mm f/4.5 ED[IF]")); + choices.insert(p_t(256 * 5 + 7, "smc PENTAX-FA 135mm f/2.8 [IF]")); + choices.insert(p_t(256 * 5 + 8, "smc PENTAX-FA Macro 50mm f/2.8")); + choices.insert(p_t(256 * 5 + 9, "smc PENTAX-FA Macro 100mm f/2.8")); + choices.insert(p_t(256 * 5 + 10, "smc PENTAX-FA* 85mm f/1.4 [IF]")); + choices.insert(p_t(256 * 5 + 11, "smc PENTAX-FA* 200mm f/2.8 ED[IF]")); + choices.insert(p_t(256 * 5 + 12, "smc PENTAX-FA 28-80mm f/3.5-4.7")); + choices.insert(p_t(256 * 5 + 13, "smc PENTAX-FA 70-200mm f/4-5.6")); + choices.insert(p_t(256 * 5 + 14, "smc PENTAX-FA* 250-600mm f/5.6 ED[IF]")); + choices.insert(p_t(256 * 5 + 15, "smc PENTAX-FA 28-105mm f/4-5.6")); + choices.insert(p_t(256 * 5 + 16, "smc PENTAX-FA 100-300mm f/4.5-5.6")); + choices.insert(p_t(256 * 5 + 98, "smc PENTAX-FA 100-300mm f/4.5-5.6")); + choices.insert(p_t(256 * 6 + 1, "smc PENTAX-FA* 85mm f/1.4 [IF]")); + choices.insert(p_t(256 * 6 + 2, "smc PENTAX-FA* 200mm f/2.8 ED[IF]")); + choices.insert(p_t(256 * 6 + 3, "smc PENTAX-FA* 300mm f/2.8 ED[IF]")); + choices.insert(p_t(256 * 6 + 4, "smc PENTAX-FA* 28-70mm f/2.8 AL")); + choices.insert(p_t(256 * 6 + 5, "smc PENTAX-FA* 80-200mm f/2.8 ED[IF]")); + choices.insert(p_t(256 * 6 + 6, "smc PENTAX-FA* 28-70mm f/2.8 AL")); + choices.insert(p_t(256 * 6 + 7, "smc PENTAX-FA* 80-200mm f/2.8 ED[IF]")); + choices.insert(p_t(256 * 6 + 8, "smc PENTAX-FA 28-70mm f/4AL")); + choices.insert(p_t(256 * 6 + 9, "smc PENTAX-FA 20mm f/2.8")); + choices.insert(p_t(256 * 6 + 10, "smc PENTAX-FA* 400mm f/5.6 ED[IF]")); + choices.insert(p_t(256 * 6 + 13, "smc PENTAX-FA* 400mm f/5.6 ED[IF]")); + choices.insert(p_t(256 * 6 + 14, "smc PENTAX-FA* Macro 200mm f/4 ED[IF]")); + choices.insert(p_t(256 * 7 + 0, "smc PENTAX-DA 21mm f/3.2 AL Limited")); + choices.insert(p_t(256 * 7 + 58, "smc PENTAX-D FA Macro 100mm f/2.8 WR")); + choices.insert(p_t(256 * 7 + 75, "Tamron SP AF 70-200mm f/2.8 Di LD [IF] Macro (A001)")); + choices.insert(p_t(256 * 7 + 201, "smc Pentax-DA L 50-200mm f/4-5.6 ED WR")); + choices.insert(p_t(256 * 7 + 202, "smc PENTAX-DA L 18-55mm f/3.5-5.6 AL WR")); + choices.insert(p_t(256 * 7 + 203, "HD PENTAX-DA 55-300mm f/4-5.8 ED WR")); + choices.insert(p_t(256 * 7 + 204, "HD PENTAX-DA 15mm f/4 ED AL Limited")); + choices.insert(p_t(256 * 7 + 205, "HD PENTAX-DA 35mm f/2.8 Macro Limited")); + choices.insert(p_t(256 * 7 + 206, "HD PENTAX-DA 70mm f/2.4 Limited")); + choices.insert(p_t(256 * 7 + 207, "HD PENTAX-DA 21mm f/3.2 ED AL Limited")); + choices.insert(p_t(256 * 7 + 208, "HD PENTAX-DA 40mm f/2.8 Limited")); + choices.insert(p_t(256 * 7 + 212, "smc PENTAX-DA 50mm f/1.8")); + choices.insert(p_t(256 * 7 + 213, "smc PENTAX-DA 40mm f/2.8 XS")); + choices.insert(p_t(256 * 7 + 214, "smc PENTAX-DA 35mm f/2.4 AL")); + choices.insert(p_t(256 * 7 + 216, "smc PENTAX-DA L 55-300mm f/4-5.8 ED")); + choices.insert(p_t(256 * 7 + 217, "smc PENTAX-DA 50-200mm f/4-5.6 ED WR")); + choices.insert(p_t(256 * 7 + 218, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL WR")); + choices.insert(p_t(256 * 7 + 220, "Tamron SP AF 10-24mm f/3.5-4.5 Di II LD Aspherical [IF]")); + choices.insert(p_t(256 * 7 + 221, "smc PENTAX-DA L 50-200mm f/4-5.6 ED")); + choices.insert(p_t(256 * 7 + 222, "smc PENTAX-DA L 18-55mm f/3.5-5.6")); + choices.insert(p_t(256 * 7 + 223, "Samsung/Schneider D-XENON 18-55mm f/3.5-5.6 II")); + choices.insert(p_t(256 * 7 + 224, "smc PENTAX-DA 15mm f/4 ED AL Limited")); + choices.insert(p_t(256 * 7 + 225, "Samsung/Schneider D-XENON 18-250mm f/3.5-6.3")); + choices.insert(p_t(256 * 7 + 226, "smc PENTAX-DA* 55mm f/1.4 SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 227, "smc PENTAX-DA* 60-250mm f/4 [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 228, "Samsung 16-45mm f/4 ED")); + choices.insert(p_t(256 * 7 + 229, "smc PENTAX-DA 18-55mm f/3.5-5.6 AL II")); + choices.insert(p_t(256 * 7 + 230, "Tamron AF 17-50mm f/2.8 XR Di-II LD (Model A16)")); + choices.insert(p_t(256 * 7 + 231, "smc PENTAX-DA 18-250mm f/3.5-6.3 ED AL [IF]")); + choices.insert(p_t(256 * 7 + 233, "smc PENTAX-DA 35mm f/2.8 Macro Limited")); + choices.insert(p_t(256 * 7 + 234, "smc PENTAX-DA* 300mm f/4 ED [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 235, "smc PENTAX-DA* 200mm f/2.8 ED [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 236, "smc PENTAX-DA 55-300mm f/4-5.8 ED")); + choices.insert(p_t(256 * 7 + 238, "Tamron AF 18-250mm f/3.5-6.3 Di II LD Aspherical [IF] Macro")); + choices.insert(p_t(256 * 7 + 241, "smc PENTAX-DA* 50-135mm f/2.8 ED [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 242, "smc PENTAX-DA* 16-50mm f/2.8 ED AL [IF] SDM (SDM unused)")); + choices.insert(p_t(256 * 7 + 243, "smc PENTAX-DA 70mm f/2.4 Limited")); + choices.insert(p_t(256 * 7 + 244, "smc PENTAX-DA 21mm f/3.2 AL Limited")); + choices.insert(p_t(256 * 8 + 0, "Sigma 50-150mm f/2.8 II APO EX DC HSM")); + choices.insert(p_t(256 * 8 + 3, "Sigma AF 18-125mm f/3.5-5.6 DC")); + choices.insert(p_t(256 * 8 + 4, "Sigma 50mm f/1.4 EX DG HSM")); + choices.insert(p_t(256 * 8 + 7, "Sigma 24-70mm f/2.8 IF EX DG HSM")); + choices.insert(p_t(256 * 8 + 8, "Sigma 18-250mm f/3.5-6.3 DC OS HSM")); + choices.insert(p_t(256 * 8 + 11, "Sigma 10-20mm f/3.5 EX DC HSM")); + choices.insert(p_t(256 * 8 + 12, "Sigma 70-300mm f/4-5.6 DG OS")); + choices.insert(p_t(256 * 8 + 13, "Sigma 120-400mm f/4.5-5.6 APO DG OS HSM")); + choices.insert(p_t(256 * 8 + 14, "Sigma 17-70mm f/2.8-4.0 DC Macro OS HSM")); + choices.insert(p_t(256 * 8 + 15, "Sigma 150-500mm f/5-6.3 APO DG OS HSM")); + choices.insert(p_t(256 * 8 + 16, "Sigma 70-200mm f/2.8 EX DG Macro HSM II")); + choices.insert(p_t(256 * 8 + 17, "Sigma 50-500mm f/4.5-6.3 DG OS HSM")); + choices.insert(p_t(256 * 8 + 18, "Sigma 8-16mm f/4.5-5.6 DC HSM")); + choices.insert(p_t(256 * 8 + 21, "Sigma 17-50mm f/2.8 EX DC OS HSM")); + choices.insert(p_t(256 * 8 + 22, "Sigma 85mm f/1.4 EX DG HSM")); + choices.insert(p_t(256 * 8 + 23, "Sigma 70-200mm f/2.8 APO EX DG OS HSM")); + choices.insert(p_t(256 * 8 + 25, "Sigma 17-50mm f/2.8 EX DC HSM")); + choices.insert(p_t(256 * 8 + 27, "Sigma 18-200mm f/3.5-6.3 II DC HSM")); + choices.insert(p_t(256 * 8 + 28, "Sigma 18-250mm f/3.5-6.3 DC Macro HSM")); + choices.insert(p_t(256 * 8 + 29, "Sigma 35mm f/1.4 DG HSM")); + choices.insert(p_t(256 * 8 + 30, "Sigma 17-70mm f/2.8-4 DC Macro HSM Contemporary")); + choices.insert(p_t(256 * 8 + 31, "Sigma 18-35mm f/1.8 DC HSM")); + choices.insert(p_t(256 * 8 + 32, "Sigma 30mm f/1.4 DC HSM | A")); + choices.insert(p_t(256 * 8 + 59, "HD PENTAX-D FA 150-450mm f/4.5-5.6 ED DC AW")); + choices.insert(p_t(256 * 8 + 60, "HD PENTAX-D FA* 70-200mm f/2.8 ED DC AW")); + choices.insert(p_t(256 * 8 + 198, "smc PENTAX-DA L 18-50mm f/4-5.6 DC WR RE")); + choices.insert(p_t(256 * 8 + 199, "HD PENTAX-DA 18-50mm f/4-5.6 DC WR RE")); + choices.insert(p_t(256 * 8 + 200, "HD PENTAX-DA 16-85mm f/3.5-5.6 ED DC WR")); + choices.insert(p_t(256 * 8 + 209, "HD PENTAX-DA 20-40mm f/2.8-4 ED Limited DC WR")); + choices.insert(p_t(256 * 8 + 210, "smc PENTAX-DA 18-270mm f/3.5-6.3 ED SDM")); + choices.insert(p_t(256 * 8 + 211, "HD PENTAX-DA 560mm f/5.6 ED AW")); + choices.insert(p_t(256 * 8 + 215, "smc PENTAX-DA 18-135mm f/3.5-5.6 ED AL [IF] DC WR")); + choices.insert(p_t(256 * 8 + 226, "smc PENTAX-DA* 55mm f/1.4 SDM")); + choices.insert(p_t(256 * 8 + 227, "smc PENTAX-DA* 60-250mm f/4 [IF] SDM")); + choices.insert(p_t(256 * 8 + 232, "smc PENTAX-DA 17-70mm f/4 AL [IF] SDM")); + choices.insert(p_t(256 * 8 + 234, "smc PENTAX-DA* 300mm f/4 ED [IF] SDM")); + choices.insert(p_t(256 * 8 + 235, "smc PENTAX-DA* 200mm f/2.8 ED [IF] SDM")); + choices.insert(p_t(256 * 8 + 241, "smc PENTAX-DA* 50-135mm f/2.8 ED [IF] SDM")); + choices.insert(p_t(256 * 8 + 242, "smc PENTAX-DA* 16-50mm f/2.8 ED AL [IF] SDM")); choices.insert(p_t(256 * 8 + 255, "Sigma Lens (8 255)")); - choices.insert(p_t(256 * 8 + 255, "Sigma 70-200mm F2.8 EX DG Macro HSM II")); - choices.insert(p_t(256 * 8 + 255, "Sigma 150-500mm F5-6.3 DG APO [OS] HSM")); - choices.insert(p_t(256 * 8 + 255, "Sigma 50-150mm F2.8 II APO EX DC HSM")); - choices.insert(p_t(256 * 8 + 255, "Sigma 4.5mm F2.8 EX DC HSM Circular Fisheye")); - choices.insert(p_t(256 * 8 + 255, "Sigma 50-200mm F4-5.6 DC OS")); - choices.insert(p_t(256 * 8 + 255, "Sigma 24-70mm F2.8 EX DG HSM")); + choices.insert(p_t(256 * 8 + 255, "Sigma 70-200mm f/2.8 EX DG Macro HSM II")); + choices.insert(p_t(256 * 8 + 255, "Sigma 150-500mm f/5-6.3 DG APO [OS] HSM")); + choices.insert(p_t(256 * 8 + 255, "Sigma 50-150mm f/2.8 II APO EX DC HSM")); + choices.insert(p_t(256 * 8 + 255, "Sigma 4.5mm f/2.8 EX DC HSM Circular Fisheye")); + choices.insert(p_t(256 * 8 + 255, "Sigma 50-200mm f/4-5.6 DC OS")); + choices.insert(p_t(256 * 8 + 255, "Sigma 24-70mm f/2.8 EX DG HSM")); choices.insert(p_t(256 * 9 + 0, "645 Manual Lens")); choices.insert(p_t(256 * 10 + 0, "645 A Series Lens")); - choices.insert(p_t(256 * 11 + 1, "smc PENTAX-FA 645 75mm F2.8")); - choices.insert(p_t(256 * 11 + 2, "smc PENTAX-FA 645 45mm F2.8")); - choices.insert(p_t(256 * 11 + 3, "smc PENTAX-FA* 645 300mm F4 ED [IF]")); - choices.insert(p_t(256 * 11 + 4, "smc PENTAX-FA 645 45-85mm F4.5")); - choices.insert(p_t(256 * 11 + 5, "smc PENTAX-FA 645 400mm F5.6 ED [IF]")); - choices.insert(p_t(256 * 11 + 7, "smc PENTAX-FA 645 Macro 120mm F4")); - choices.insert(p_t(256 * 11 + 8, "smc PENTAX-FA 645 80-160mm F4.5")); - choices.insert(p_t(256 * 11 + 9, "smc PENTAX-FA 645 200mm F4 [IF]")); - choices.insert(p_t(256 * 11 + 10, "smc PENTAX-FA 645 150mm F2.8 [IF]")); - choices.insert(p_t(256 * 11 + 11, "smc PENTAX-FA 645 35mm F3.5 AL [IF]")); - choices.insert(p_t(256 * 11 + 12, "smc PENTAX-FA 645 300mm F5.6 ED [IF]")); - choices.insert(p_t(256 * 11 + 14, "smc PENTAX-FA 645 55-110mm F5.6")); - choices.insert(p_t(256 * 11 + 16, "smc PENTAX-FA 645 33-55mm F4.5 AL")); - choices.insert(p_t(256 * 11 + 17, "smc PENTAX-FA 645 150-300mm F5.6 ED [IF]")); - choices.insert(p_t(256 * 13 + 18, "smc PENTAX-D FA 645 55mm F2.8 AL [IF] SDM AW")); - choices.insert(p_t(256 * 13 + 19, "smc PENTAX-D FA 645 25mm F4 AL [IF] SDM AW")); - choices.insert(p_t(256 * 13 + 20, "HD PENTAX-D FA 645 90mm F2.8 ED AW SR")); - choices.insert(p_t(256 * 13 + 253, "HD PENTAX-DA 645 28-45mm F4.5 ED AW SR")); + choices.insert(p_t(256 * 11 + 1, "smc PENTAX-FA 645 75mm f/2.8")); + choices.insert(p_t(256 * 11 + 2, "smc PENTAX-FA 645 45mm f/2.8")); + choices.insert(p_t(256 * 11 + 3, "smc PENTAX-FA* 645 300mm f/4 ED [IF]")); + choices.insert(p_t(256 * 11 + 4, "smc PENTAX-FA 645 45-85mm f/4.5")); + choices.insert(p_t(256 * 11 + 5, "smc PENTAX-FA 645 400mm f/5.6 ED [IF]")); + choices.insert(p_t(256 * 11 + 7, "smc PENTAX-FA 645 Macro 120mm f/4")); + choices.insert(p_t(256 * 11 + 8, "smc PENTAX-FA 645 80-160mm f/4.5")); + choices.insert(p_t(256 * 11 + 9, "smc PENTAX-FA 645 200mm f/4 [IF]")); + choices.insert(p_t(256 * 11 + 10, "smc PENTAX-FA 645 150mm f/2.8 [IF]")); + choices.insert(p_t(256 * 11 + 11, "smc PENTAX-FA 645 35mm f/3.5 AL [IF]")); + choices.insert(p_t(256 * 11 + 12, "smc PENTAX-FA 645 300mm f/5.6 ED [IF]")); + choices.insert(p_t(256 * 11 + 14, "smc PENTAX-FA 645 55-110mm f/5.6")); + choices.insert(p_t(256 * 11 + 16, "smc PENTAX-FA 645 33-55mm f/4.5 AL")); + choices.insert(p_t(256 * 11 + 17, "smc PENTAX-FA 645 150-300mm f/5.6 ED [IF]")); + choices.insert(p_t(256 * 13 + 18, "smc PENTAX-D FA 645 55mm f/2.8 AL [IF] SDM AW")); + choices.insert(p_t(256 * 13 + 19, "smc PENTAX-D FA 645 25mm f/4 AL [IF] SDM AW")); + choices.insert(p_t(256 * 13 + 20, "HD PENTAX-D FA 645 90mm f/2.8 ED AW SR")); + choices.insert(p_t(256 * 13 + 253, "HD PENTAX-DA 645 28-45mm f/4.5 ED AW SR")); choices.insert(p_t(256 * 21 + 0, "Pentax Q Manual Lens")); - choices.insert(p_t(256 * 21 + 1, "01 Standard Prime 8.5mm F1.9")); - choices.insert(p_t(256 * 21 + 2, "02 Standard Zoom 5-15mm F2.8-4.5")); - choices.insert(p_t(256 * 21 + 6, "06 Telephoto Zoom 15-45mm F2.8")); - choices.insert(p_t(256 * 21 + 7, "07 Mount Shield 11.5mm F9")); - choices.insert(p_t(256 * 21 + 8, "08 Wide Zoom 3.8-5.9mm F3.7-4")); - choices.insert(p_t(256 * 22 + 3, "03 Fish-eye 3.2mm F5.6")); - choices.insert(p_t(256 * 22 + 4, "04 Toy Lens Wide 6.3mm F7.1")); - choices.insert(p_t(256 * 22 + 5, "05 Toy Lens Telephoto 18mm F8")); + choices.insert(p_t(256 * 21 + 1, "01 Standard Prime 8.5mm f/1.9")); + choices.insert(p_t(256 * 21 + 2, "02 Standard Zoom 5-15mm f/2.8-4.5")); + choices.insert(p_t(256 * 21 + 6, "06 Telephoto Zoom 15-45mm f/2.8")); + choices.insert(p_t(256 * 21 + 7, "07 Mount Shield 11.5mm f/9")); + choices.insert(p_t(256 * 21 + 8, "08 Wide Zoom 3.8-5.9mm f/3.7-4")); + choices.insert(p_t(256 * 22 + 3, "03 Fish-eye 3.2mm f/5.6")); + choices.insert(p_t(256 * 22 + 4, "04 Toy Lens Wide 6.3mm f/7.1")); + choices.insert(p_t(256 * 22 + 5, "05 Toy Lens Telephoto 18mm f/8")); } virtual std::string toString (Tag* t) { diff --git a/rtexif/sonyminoltaattribs.cc b/rtexif/sonyminoltaattribs.cc index b44f74fbd..ea8fc0b49 100644 --- a/rtexif/sonyminoltaattribs.cc +++ b/rtexif/sonyminoltaattribs.cc @@ -532,487 +532,487 @@ class SALensIDInterpreter : public IntLensInterpreter< int > public: SALensIDInterpreter () { - choices.insert(p_t(0, "Minolta AF 28-85mm F3.5-4.5 New")); - choices.insert(p_t(1, "Minolta AF 80-200mm F2.8 HS-APO G")); - choices.insert(p_t(2, "Minolta AF 28-70mm F2.8 G")); - choices.insert(p_t(3, "Minolta AF 28-80mm F4-5.6")); - choices.insert(p_t(4, "Minolta AF 85mm F1.4G")); - choices.insert(p_t(5, "Minolta AF 35-70mm F3.5-4.5 [II]")); - choices.insert(p_t(6, "Minolta AF 24-85mm F3.5-4.5 [New]")); - choices.insert(p_t(7, "Minolta AF 100-300mm F4.5-5.6 APO [New] or 100-400mm or Sigma Lens")); - choices.insert(p_t(7, "Minolta AF 100-400mm F4.5-6.7 APO")); - choices.insert(p_t(7, "Sigma AF 100-300mm F4 EX DG IF")); - choices.insert(p_t(8, "Minolta AF 70-210mm F4.5-5.6 [II]")); - choices.insert(p_t(9, "Minolta AF 50mm F3.5 Macro")); - choices.insert(p_t(10, "Minolta AF 28-105mm F3.5-4.5 [New]")); - choices.insert(p_t(11, "Minolta AF 300mm F4 HS-APO G")); - choices.insert(p_t(12, "Minolta AF 100mm F2.8 Soft Focus")); - choices.insert(p_t(13, "Minolta AF 75-300mm F4.5-5.6 (New or II)")); - choices.insert(p_t(14, "Minolta AF 100-400mm F4.5-6.7 APO")); - choices.insert(p_t(15, "Minolta AF 400mm F4.5 HS-APO G")); - choices.insert(p_t(16, "Minolta AF 17-35mm F3.5 G")); - choices.insert(p_t(17, "Minolta AF 20-35mm F3.5-4.5")); - choices.insert(p_t(18, "Minolta AF 28-80mm F3.5-5.6 II")); - choices.insert(p_t(19, "Minolta AF 35mm F1.4 G")); - choices.insert(p_t(20, "Minolta/Sony 135mm F2.8 [T4.5] STF")); - choices.insert(p_t(22, "Minolta AF 35-80mm F4-5.6 II")); - choices.insert(p_t(23, "Minolta AF 200mm F4 Macro APO G")); - choices.insert(p_t(24, "Minolta/Sony AF 24-105mm F3.5-4.5 (D) or Sigma or Tamron Lens")); - choices.insert(p_t(24, "Sigma 18-50mm F2.8")); - choices.insert(p_t(24, "Sigma 17-70mm F2.8-4.5 (D)")); - choices.insert(p_t(24, "Sigma 20-40mm F2.8 EX DG Aspherical IF")); - choices.insert(p_t(24, "Sigma 18-200mm F3.5-6.3 DC")); - choices.insert(p_t(24, "Sigma DC 18-125mm F4-5,6 D")); - choices.insert(p_t(24, "Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical [IF] Macro")); - choices.insert(p_t(25, "Minolta AF 100-300mm F4.5-5.6 APO (D) or Sigma Lens")); - choices.insert(p_t(25, "Sigma 100-300mm F4 EX (APO (D) or D IF)")); - choices.insert(p_t(25, "Sigma 70mm F2.8 EX DG Macro")); - choices.insert(p_t(25, "Sigma 20mm F1.8 EX DG Aspherical RF")); - choices.insert(p_t(25, "Sigma 30mm F1.4 EX DC")); - choices.insert(p_t(25, "Sigma 24mm F1.8 EX DG ASP Macro")); - choices.insert(p_t(27, "Minolta AF 85mm F1.4 G (D)")); - choices.insert(p_t(28, "Minolta/Sony AF 100mm F2.8 Macro (D) or Tamron Lens")); - choices.insert(p_t(28, "Tamron SP AF 90mm F2.8 Di Macro")); - choices.insert(p_t(28, "Tamron SP AF 180mm F3.5 Di LD [IF] Macro")); - choices.insert(p_t(29, "Minolta/Sony AF 75-300mm F4.5-5.6 (D)")); - choices.insert(p_t(30, "Minolta AF 28-80mm F3.5-5.6 (D) or Sigma Lens")); - choices.insert(p_t(30, "Sigma AF 10-20mm F4-5.6 EX DC")); - choices.insert(p_t(30, "Sigma AF 12-24mm F4.5-5.6 EX DG")); - choices.insert(p_t(30, "Sigma 28-70mm EX DG F2.8")); - choices.insert(p_t(30, "Sigma 55-200mm F4-5.6 DC")); - choices.insert(p_t(31, "Minolta/Sony AF 50mm F2.8 Macro (D) or F3.5")); - choices.insert(p_t(31, "Minolta/Sony AF 50mm F3.5 Macro")); - choices.insert(p_t(32, "Minolta/Sony AF 300mm F2.8 G or 1.5x Teleconverter")); - choices.insert(p_t(33, "Minolta/Sony AF 70-200mm F2.8 G")); - choices.insert(p_t(35, "Minolta AF 85mm F1.4 G (D) Limited")); - choices.insert(p_t(36, "Minolta AF 28-100mm F3.5-5.6 (D)")); - choices.insert(p_t(38, "Minolta AF 17-35mm F2.8-4 (D)")); - choices.insert(p_t(39, "Minolta AF 28-75mm F2.8 (D)")); - choices.insert(p_t(40, "Minolta/Sony AF DT 18-70mm F3.5-5.6 (D)")); - choices.insert(p_t(41, "Minolta/Sony AF DT 11-18mm F4.5-5.6 (D) or Tamron Lens")); - choices.insert(p_t(41, "Tamron SP AF 11-18mm F4.5-5.6 Di II LD Aspherical IF")); - choices.insert(p_t(42, "Minolta/Sony AF DT 18-200mm F3.5-6.3 (D)")); - choices.insert(p_t(43, "Sony 35mm F1.4 G (SAL35F14G)")); - choices.insert(p_t(44, "Sony 50mm F1.4 (SAL50F14)")); - choices.insert(p_t(45, "Carl Zeiss Planar T* 85mm F1.4 ZA (SAL85F14Z)")); - choices.insert(p_t(46, "Carl Zeiss Vario-Sonnar T* DT 16-80mm F3.5-4.5 ZA (SAL1680Z)")); - choices.insert(p_t(47, "Carl Zeiss Sonnar T* 135mm F1.8 ZA (SAL135F18Z)")); - choices.insert(p_t(48, "Carl Zeiss Vario-Sonnar T* 24-70mm F2.8 ZA SSM (SAL2470Z) or ZA SSM II")); - choices.insert(p_t(48, "Carl Zeiss Vario-Sonnar T* 24-70mm F2.8 ZA SSM II (SAL2470Z2)")); - choices.insert(p_t(49, "Sony DT 55-200mm F4-5.6 (SAL55200)")); - choices.insert(p_t(50, "Sony DT 18-250mm F3.5-6.3 (SAL18250)")); - choices.insert(p_t(51, "Sony DT 16-105mm F3.5-5.6 (SAL16105)")); - choices.insert(p_t(52, "Sony 70-300mm F4.5-5.6 G SSM (SAL70300G) or G SSM II or Tamron Lens")); - choices.insert(p_t(52, "Sony 70-300mm F4.5-5.6 G SSM II (SAL70300G2)")); - choices.insert(p_t(52, "Tamron SP 70-300mm F4-5.6 Di USD")); - choices.insert(p_t(53, "Sony 70-400mm F4-5.6 G SSM (SAL70400G)")); - choices.insert(p_t(54, "Carl Zeiss Vario-Sonnar T* 16-35mm F2.8 ZA SSM (SAL1635Z) or ZA SSM II")); - choices.insert(p_t(54, "Carl Zeiss Vario-Sonnar T* 16-35mm F2.8 ZA SSM II (SAL1635Z2)")); - choices.insert(p_t(55, "Sony DT 18-55mm F3.5-5.6 SAM (SAL1855) or SAM II")); - choices.insert(p_t(55, "Sony DT 18-55mm F3.5-5.6 SAM II (SAL18552)")); - choices.insert(p_t(56, "Sony DT 55-200mm F4-5.6 SAM (SAL55200-2)")); - choices.insert(p_t(57, "Sony DT 50mm F1.8 SAM (SAL50F18) or Tamron Lens")); - choices.insert(p_t(57, "Tamron SP AF 60mm F2 Di II LD [IF] Macro 1:1")); - choices.insert(p_t(57, "Tamron 18-270mm F3.5-6.3 Di II PZD")); - choices.insert(p_t(58, "Sony DT 30mm F2.8 Macro SAM (SAL30M28)")); - choices.insert(p_t(59, "Sony 28-75mm F2.8 SAM (SAL2875)")); - choices.insert(p_t(60, "Carl Zeiss Distagon T* 24mm F2 ZA SSM (SAL24F20Z)")); - choices.insert(p_t(61, "Sony 85mm F2.8 SAM (SAL85F28)")); - choices.insert(p_t(62, "Sony DT 35mm F1.8 SAM (SAL35F18)")); - choices.insert(p_t(63, "Sony DT 16-50mm F2.8 SSM (SAL1650)")); - choices.insert(p_t(64, "Sony 500mm F4 G SSM (SAL500F40G)")); - choices.insert(p_t(65, "Sony DT 18-135mm F3.5-5.6 SAM (SAL18135)")); - choices.insert(p_t(66, "Sony 300mm F2.8 G SSM II (SAL300F28G2)")); - choices.insert(p_t(67, "Sony 70-200mm F2.8 G SSM II (SAL70200G2)")); - choices.insert(p_t(68, "Sony DT 55-300mm F4.5-5.6 SAM (SAL55300)")); - choices.insert(p_t(69, "Sony 70-400mm F4-5.6 G SSM II (SAL70400G2)")); - choices.insert(p_t(70, "Carl Zeiss Planar T* 50mm F1.4 ZA SSM (SAL50F14Z)")); + choices.insert(p_t(0, "Minolta AF 28-85mm f/3.5-4.5 New")); + choices.insert(p_t(1, "Minolta AF 80-200mm f/2.8 HS-APO G")); + choices.insert(p_t(2, "Minolta AF 28-70mm f/2.8 G")); + choices.insert(p_t(3, "Minolta AF 28-80mm f/4-5.6")); + choices.insert(p_t(4, "Minolta AF 85mm f/1.4G")); + choices.insert(p_t(5, "Minolta AF 35-70mm f/3.5-4.5 [II]")); + choices.insert(p_t(6, "Minolta AF 24-85mm f/3.5-4.5 [New]")); + choices.insert(p_t(7, "Minolta AF 100-300mm f/4.5-5.6 APO [New] or 100-400mm or Sigma Lens")); + choices.insert(p_t(7, "Minolta AF 100-400mm f/4.5-6.7 APO")); + choices.insert(p_t(7, "Sigma AF 100-300mm f/4 EX DG IF")); + choices.insert(p_t(8, "Minolta AF 70-210mm f/4.5-5.6 [II]")); + choices.insert(p_t(9, "Minolta AF 50mm f/3.5 Macro")); + choices.insert(p_t(10, "Minolta AF 28-105mm f/3.5-4.5 [New]")); + choices.insert(p_t(11, "Minolta AF 300mm f/4 HS-APO G")); + choices.insert(p_t(12, "Minolta AF 100mm f/2.8 Soft Focus")); + choices.insert(p_t(13, "Minolta AF 75-300mm f/4.5-5.6 (New or II)")); + choices.insert(p_t(14, "Minolta AF 100-400mm f/4.5-6.7 APO")); + choices.insert(p_t(15, "Minolta AF 400mm f/4.5 HS-APO G")); + choices.insert(p_t(16, "Minolta AF 17-35mm f/3.5 G")); + choices.insert(p_t(17, "Minolta AF 20-35mm f/3.5-4.5")); + choices.insert(p_t(18, "Minolta AF 28-80mm f/3.5-5.6 II")); + choices.insert(p_t(19, "Minolta AF 35mm f/1.4 G")); + choices.insert(p_t(20, "Minolta/Sony 135mm f/2.8 [T4.5] STF")); + choices.insert(p_t(22, "Minolta AF 35-80mm f/4-5.6 II")); + choices.insert(p_t(23, "Minolta AF 200mm f/4 Macro APO G")); + choices.insert(p_t(24, "Minolta/Sony AF 24-105mm f/3.5-4.5 (D) or Sigma or Tamron Lens")); + choices.insert(p_t(24, "Sigma 18-50mm f/2.8")); + choices.insert(p_t(24, "Sigma 17-70mm f/2.8-4.5 (D)")); + choices.insert(p_t(24, "Sigma 20-40mm f/2.8 EX DG Aspherical IF")); + choices.insert(p_t(24, "Sigma 18-200mm f/3.5-6.3 DC")); + choices.insert(p_t(24, "Sigma DC 18-125mm f/4-5,6 D")); + choices.insert(p_t(24, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro")); + choices.insert(p_t(25, "Minolta AF 100-300mm f/4.5-5.6 APO (D) or Sigma Lens")); + choices.insert(p_t(25, "Sigma 100-300mm f/4 EX (APO (D) or D IF)")); + choices.insert(p_t(25, "Sigma 70mm f/2.8 EX DG Macro")); + choices.insert(p_t(25, "Sigma 20mm f/1.8 EX DG Aspherical RF")); + choices.insert(p_t(25, "Sigma 30mm f/1.4 EX DC")); + choices.insert(p_t(25, "Sigma 24mm f/1.8 EX DG ASP Macro")); + choices.insert(p_t(27, "Minolta AF 85mm f/1.4 G (D)")); + choices.insert(p_t(28, "Minolta/Sony AF 100mm f/2.8 Macro (D) or Tamron Lens")); + choices.insert(p_t(28, "Tamron SP AF 90mm f/2.8 Di Macro")); + choices.insert(p_t(28, "Tamron SP AF 180mm f/3.5 Di LD [IF] Macro")); + choices.insert(p_t(29, "Minolta/Sony AF 75-300mm f/4.5-5.6 (D)")); + choices.insert(p_t(30, "Minolta AF 28-80mm f/3.5-5.6 (D) or Sigma Lens")); + choices.insert(p_t(30, "Sigma AF 10-20mm f/4-5.6 EX DC")); + choices.insert(p_t(30, "Sigma AF 12-24mm f/4.5-5.6 EX DG")); + choices.insert(p_t(30, "Sigma 28-70mm EX DG f/2.8")); + choices.insert(p_t(30, "Sigma 55-200mm f/4-5.6 DC")); + choices.insert(p_t(31, "Minolta/Sony AF 50mm f/2.8 Macro (D) or f/3.5")); + choices.insert(p_t(31, "Minolta/Sony AF 50mm f/3.5 Macro")); + choices.insert(p_t(32, "Minolta/Sony AF 300mm f/2.8 G or 1.5x Teleconverter")); + choices.insert(p_t(33, "Minolta/Sony AF 70-200mm f/2.8 G")); + choices.insert(p_t(35, "Minolta AF 85mm f/1.4 G (D) Limited")); + choices.insert(p_t(36, "Minolta AF 28-100mm f/3.5-5.6 (D)")); + choices.insert(p_t(38, "Minolta AF 17-35mm f/2.8-4 (D)")); + choices.insert(p_t(39, "Minolta AF 28-75mm f/2.8 (D)")); + choices.insert(p_t(40, "Minolta/Sony AF DT 18-70mm f/3.5-5.6 (D)")); + choices.insert(p_t(41, "Minolta/Sony AF DT 11-18mm f/4.5-5.6 (D) or Tamron Lens")); + choices.insert(p_t(41, "Tamron SP AF 11-18mm f/4.5-5.6 Di II LD Aspherical IF")); + choices.insert(p_t(42, "Minolta/Sony AF DT 18-200mm f/3.5-6.3 (D)")); + choices.insert(p_t(43, "Sony 35mm f/1.4 G (SAL35F14G)")); + choices.insert(p_t(44, "Sony 50mm f/1.4 (SAL50F14)")); + choices.insert(p_t(45, "Carl Zeiss Planar T* 85mm f/1.4 ZA (SAL85F14Z)")); + choices.insert(p_t(46, "Carl Zeiss Vario-Sonnar T* DT 16-80mm f/3.5-4.5 ZA (SAL1680Z)")); + choices.insert(p_t(47, "Carl Zeiss Sonnar T* 135mm f/1.8 ZA (SAL135F18Z)")); + choices.insert(p_t(48, "Carl Zeiss Vario-Sonnar T* 24-70mm f/2.8 ZA SSM (SAL2470Z) or ZA SSM II")); + choices.insert(p_t(48, "Carl Zeiss Vario-Sonnar T* 24-70mm f/2.8 ZA SSM II (SAL2470Z2)")); + choices.insert(p_t(49, "Sony DT 55-200mm f/4-5.6 (SAL55200)")); + choices.insert(p_t(50, "Sony DT 18-250mm f/3.5-6.3 (SAL18250)")); + choices.insert(p_t(51, "Sony DT 16-105mm f/3.5-5.6 (SAL16105)")); + choices.insert(p_t(52, "Sony 70-300mm f/4.5-5.6 G SSM (SAL70300G) or G SSM II or Tamron Lens")); + choices.insert(p_t(52, "Sony 70-300mm f/4.5-5.6 G SSM II (SAL70300G2)")); + choices.insert(p_t(52, "Tamron SP 70-300mm f/4-5.6 Di USD")); + choices.insert(p_t(53, "Sony 70-400mm f/4-5.6 G SSM (SAL70400G)")); + choices.insert(p_t(54, "Carl Zeiss Vario-Sonnar T* 16-35mm f/2.8 ZA SSM (SAL1635Z) or ZA SSM II")); + choices.insert(p_t(54, "Carl Zeiss Vario-Sonnar T* 16-35mm f/2.8 ZA SSM II (SAL1635Z2)")); + choices.insert(p_t(55, "Sony DT 18-55mm f/3.5-5.6 SAM (SAL1855) or SAM II")); + choices.insert(p_t(55, "Sony DT 18-55mm f/3.5-5.6 SAM II (SAL18552)")); + choices.insert(p_t(56, "Sony DT 55-200mm f/4-5.6 SAM (SAL55200-2)")); + choices.insert(p_t(57, "Sony DT 50mm f/1.8 SAM (SAL50F18) or Tamron Lens")); + choices.insert(p_t(57, "Tamron SP AF 60mm f/2 Di II LD [IF] Macro 1:1")); + choices.insert(p_t(57, "Tamron 18-270mm f/3.5-6.3 Di II PZD")); + choices.insert(p_t(58, "Sony DT 30mm f/2.8 Macro SAM (SAL30M28)")); + choices.insert(p_t(59, "Sony 28-75mm f/2.8 SAM (SAL2875)")); + choices.insert(p_t(60, "Carl Zeiss Distagon T* 24mm f/2 ZA SSM (SAL24F20Z)")); + choices.insert(p_t(61, "Sony 85mm f/2.8 SAM (SAL85F28)")); + choices.insert(p_t(62, "Sony DT 35mm f/1.8 SAM (SAL35F18)")); + choices.insert(p_t(63, "Sony DT 16-50mm f/2.8 SSM (SAL1650)")); + choices.insert(p_t(64, "Sony 500mm f/4 G SSM (SAL500F40G)")); + choices.insert(p_t(65, "Sony DT 18-135mm f/3.5-5.6 SAM (SAL18135)")); + choices.insert(p_t(66, "Sony 300mm f/2.8 G SSM II (SAL300F28G2)")); + choices.insert(p_t(67, "Sony 70-200mm f/2.8 G SSM II (SAL70200G2)")); + choices.insert(p_t(68, "Sony DT 55-300mm f/4.5-5.6 SAM (SAL55300)")); + choices.insert(p_t(69, "Sony 70-400mm f/4-5.6 G SSM II (SAL70400G2)")); + choices.insert(p_t(70, "Carl Zeiss Planar T* 50mm f/1.4 ZA SSM (SAL50F14Z)")); choices.insert(p_t(128, "Tamron or Sigma Lens (128)")); - choices.insert(p_t(128, "Tamron AF 18-200mm F3.5-6.3 XR Di II LD Aspherical [IF] Macro")); - choices.insert(p_t(128, "Tamron AF 28-300mm F3.5-6.3 XR Di LD Aspherical [IF] Macro")); - choices.insert(p_t(128, "Tamron 80-300mm F3.5-6.3")); - choices.insert(p_t(128, "Tamron AF 28-200mm F3.8-5.6 XR Di Aspherical [IF] Macro")); - choices.insert(p_t(128, "Tamron SP AF 17-35mm F2.8-4 Di LD Aspherical IF")); - choices.insert(p_t(128, "Sigma AF 50-150mm F2.8 EX DC APO HSM II")); - choices.insert(p_t(128, "Sigma 10-20mm F3.5 EX DC HSM")); - choices.insert(p_t(128, "Sigma 70-200mm F2.8 II EX DG APO MACRO HSM")); - choices.insert(p_t(128, "Sigma 10mm F2.8 EX DC HSM Fisheye")); - choices.insert(p_t(128, "Sigma 50mm F1.4 EX DG HSM")); - choices.insert(p_t(128, "Sigma 85mm F1.4 EX DG HSM")); - choices.insert(p_t(128, "Sigma 24-70mm F2.8 IF EX DG HSM")); - choices.insert(p_t(128, "Sigma 18-250mm F3.5-6.3 DC OS HSM")); - choices.insert(p_t(128, "Sigma 17-50mm F2.8 EX DC HSM")); - choices.insert(p_t(128, "Sigma 17-70mm F2.8-4 DC Macro HSM")); - choices.insert(p_t(128, "Sigma 150mm F2.8 EX DG OS HSM APO Macro")); - choices.insert(p_t(128, "Sigma 150-500mm F5-6.3 APO DG OS HSM")); - choices.insert(p_t(128, "Tamron AF 28-105mm F4-5.6 [IF]")); - choices.insert(p_t(128, "Sigma 35mm F1.4 DG HSM")); - choices.insert(p_t(128, "Sigma 18-35mm F1.8 DC HSM")); + choices.insert(p_t(128, "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical [IF] Macro")); + choices.insert(p_t(128, "Tamron AF 28-300mm f/3.5-6.3 XR Di LD Aspherical [IF] Macro")); + choices.insert(p_t(128, "Tamron 80-300mm f/3.5-6.3")); + choices.insert(p_t(128, "Tamron AF 28-200mm f/3.8-5.6 XR Di Aspherical [IF] Macro")); + choices.insert(p_t(128, "Tamron SP AF 17-35mm f/2.8-4 Di LD Aspherical IF")); + choices.insert(p_t(128, "Sigma AF 50-150mm f/2.8 EX DC APO HSM II")); + choices.insert(p_t(128, "Sigma 10-20mm f/3.5 EX DC HSM")); + choices.insert(p_t(128, "Sigma 70-200mm f/2.8 II EX DG APO MACRO HSM")); + choices.insert(p_t(128, "Sigma 10mm f/2.8 EX DC HSM Fisheye")); + choices.insert(p_t(128, "Sigma 50mm f/1.4 EX DG HSM")); + choices.insert(p_t(128, "Sigma 85mm f/1.4 EX DG HSM")); + choices.insert(p_t(128, "Sigma 24-70mm f/2.8 IF EX DG HSM")); + choices.insert(p_t(128, "Sigma 18-250mm f/3.5-6.3 DC OS HSM")); + choices.insert(p_t(128, "Sigma 17-50mm f/2.8 EX DC HSM")); + choices.insert(p_t(128, "Sigma 17-70mm f/2.8-4 DC Macro HSM")); + choices.insert(p_t(128, "Sigma 150mm f/2.8 EX DG OS HSM APO Macro")); + choices.insert(p_t(128, "Sigma 150-500mm f/5-6.3 APO DG OS HSM")); + choices.insert(p_t(128, "Tamron AF 28-105mm f/4-5.6 [IF]")); + choices.insert(p_t(128, "Sigma 35mm f/1.4 DG HSM")); + choices.insert(p_t(128, "Sigma 18-35mm f/1.8 DC HSM")); choices.insert(p_t(129, "Tamron Lens (129)")); - choices.insert(p_t(129, "Tamron 200-400mm F5.6 LD")); - choices.insert(p_t(129, "Tamron 70-300mm F4-5.6 LD")); - choices.insert(p_t(131, "Tamron 20-40mm F2.7-3.5 SP Aspherical IF")); - choices.insert(p_t(135, "Vivitar 28-210mm F3.5-5.6")); - choices.insert(p_t(136, "Tokina EMZ M100 AF 100mm F3.5")); - choices.insert(p_t(137, "Cosina 70-210mm F2.8-4 AF")); - choices.insert(p_t(138, "Soligor 19-35mm F3.5-4.5")); - choices.insert(p_t(139, "Tokina AF 28-300mm F4-6.3")); - choices.insert(p_t(142, "Voigtlander 70-300mm F4.5-5.6")); - choices.insert(p_t(146, "Voigtlander Macro APO-Lanthar 125mm F2.5 SL")); - choices.insert(p_t(194, "Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical [IF]")); - choices.insert(p_t(203, "Tamron SP 70-200mm F2.8 Di USD")); - choices.insert(p_t(204, "Tamron SP 24-70mm F2.8 Di USD")); - choices.insert(p_t(213, "Tamron 16-300mm F3.5-6.3 Di II PZD")); - choices.insert(p_t(214, "Tamron SP 150-600mm F5-6.3 Di USD")); - choices.insert(p_t(224, "Tamron SP 90mm F2.8 Di Macro 1:1 USD")); + choices.insert(p_t(129, "Tamron 200-400mm f/5.6 LD")); + choices.insert(p_t(129, "Tamron 70-300mm f/4-5.6 LD")); + choices.insert(p_t(131, "Tamron 20-40mm f/2.7-3.5 SP Aspherical IF")); + choices.insert(p_t(135, "Vivitar 28-210mm f/3.5-5.6")); + choices.insert(p_t(136, "Tokina EMZ M100 AF 100mm f/3.5")); + choices.insert(p_t(137, "Cosina 70-210mm f/2.8-4 AF")); + choices.insert(p_t(138, "Soligor 19-35mm f/3.5-4.5")); + choices.insert(p_t(139, "Tokina AF 28-300mm f/4-6.3")); + choices.insert(p_t(142, "Voigtlander 70-300mm f/4.5-5.6")); + choices.insert(p_t(146, "Voigtlander Macro APO-Lanthar 125mm f/2.5 SL")); + choices.insert(p_t(194, "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical [IF]")); + choices.insert(p_t(203, "Tamron SP 70-200mm f/2.8 Di USD")); + choices.insert(p_t(204, "Tamron SP 24-70mm f/2.8 Di USD")); + choices.insert(p_t(213, "Tamron 16-300mm f/3.5-6.3 Di II PZD")); + choices.insert(p_t(214, "Tamron SP 150-600mm f/5-6.3 Di USD")); + choices.insert(p_t(224, "Tamron SP 90mm f/2.8 Di Macro 1:1 USD")); choices.insert(p_t(255, "Tamron Lens (255)")); - choices.insert(p_t(255, "Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical")); - choices.insert(p_t(255, "Tamron AF 18-250mm F3.5-6.3 XR Di II LD")); - choices.insert(p_t(255, "Tamron AF 55-200mm F4-5.6 Di II LD Macro")); - choices.insert(p_t(255, "Tamron AF 70-300mm F4-5.6 Di LD Macro 1:2")); - choices.insert(p_t(255, "Tamron SP AF 200-500mm F5.0-6.3 Di LD IF")); - choices.insert(p_t(255, "Tamron SP AF 10-24mm F3.5-4.5 Di II LD Aspherical IF")); - choices.insert(p_t(255, "Tamron SP AF 70-200mm F2.8 Di LD IF Macro")); - choices.insert(p_t(255, "Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical IF")); - choices.insert(p_t(255, "Tamron AF 90-300mm F4.5-5.6 Telemacro")); - choices.insert(p_t(2550, "Minolta AF 50mm F1.7")); - choices.insert(p_t(2551, "Minolta AF 35-70mm F4 or Other Lens")); - choices.insert(p_t(2551, "Sigma UC AF 28-70mm F3.5-4.5")); - choices.insert(p_t(2551, "Sigma AF 28-70mm F2.8")); - choices.insert(p_t(2551, "Sigma M-AF 70-200mm F2.8 EX Aspherical")); - choices.insert(p_t(2551, "Quantaray M-AF 35-80mm F4-5.6")); - choices.insert(p_t(2551, "Tokina 28-70mm F2.8-4.5 AF")); - choices.insert(p_t(2552, "Minolta AF 28-85mm F3.5-4.5 or Other Lens")); - choices.insert(p_t(2552, "Tokina 19-35mm F3.5-4.5")); - choices.insert(p_t(2552, "Tokina 28-70mm F2.8 AT-X")); - choices.insert(p_t(2552, "Tokina 80-400mm F4.5-5.6 AT-X AF II 840")); - choices.insert(p_t(2552, "Tokina AF PRO 28-80mm F2.8 AT-X 280")); - choices.insert(p_t(2552, "Tokina AT-X PRO [II] AF 28-70mm F2.6-2.8 270")); - choices.insert(p_t(2552, "Tamron AF 19-35mm F3.5-4.5")); - choices.insert(p_t(2552, "Angenieux AF 28-70mm F2.6")); - choices.insert(p_t(2552, "Tokina AT-X 17 AF 17mm F3.5")); - choices.insert(p_t(2552, "Tokina 20-35mm F3.5-4.5 II AF")); - choices.insert(p_t(2553, "Minolta AF 28-135mm F4-4.5 or Sigma Lens")); - choices.insert(p_t(2553, "Sigma ZOOM-alpha 35-135mm F3.5-4.5")); - choices.insert(p_t(2553, "Sigma 28-105mm F2.8-4 Aspherical")); - choices.insert(p_t(2553, "Sigma 28-105mm F4-5.6 UC")); - choices.insert(p_t(2554, "Minolta AF 35-105mm F3.5-4.5")); - choices.insert(p_t(2555, "Minolta AF 70-210mm F4 Macro or Sigma Lens")); - choices.insert(p_t(2555, "Sigma 70-210mm F4-5.6 APO")); - choices.insert(p_t(2555, "Sigma M-AF 70-200mm F2.8 EX APO")); - choices.insert(p_t(2555, "Sigma 75-200mm F2.8-3.5")); - choices.insert(p_t(2556, "Minolta AF 135mm F2.8")); - choices.insert(p_t(2557, "Minolta/Sony AF 28mm F2.8")); - choices.insert(p_t(2558, "Minolta AF 24-50mm F4")); - choices.insert(p_t(2560, "Minolta AF 100-200mm F4.5")); - choices.insert(p_t(2561, "Minolta AF 75-300mm F4.5-5.6 or Sigma Lens")); - choices.insert(p_t(2561, "Sigma 70-300mm F4-5.6 DL Macro")); - choices.insert(p_t(2561, "Sigma 300mm F4 APO Macro")); - choices.insert(p_t(2561, "Sigma AF 500mm F4.5 APO")); - choices.insert(p_t(2561, "Sigma AF 170-500mm F5-6.3 APO Aspherical")); - choices.insert(p_t(2561, "Tokina AT-X AF 300mm F4")); - choices.insert(p_t(2561, "Tokina AT-X AF 400mm F5.6 SD")); - choices.insert(p_t(2561, "Tokina AF 730 II 75-300mm F4.5-5.6")); - choices.insert(p_t(2561, "Sigma 800mm F5.6 APO")); - choices.insert(p_t(2561, "Sigma AF 400mm F5.6 APO Macro")); - choices.insert(p_t(2562, "Minolta AF 50mm F1.4 [New]")); - choices.insert(p_t(2563, "Minolta AF 300mm F2.8 APO or Sigma Lens")); - choices.insert(p_t(2563, "Sigma AF 50-500mm F4-6.3 EX DG APO")); - choices.insert(p_t(2563, "Sigma AF 170-500mm F5-6.3 APO Aspherical")); - choices.insert(p_t(2563, "Sigma AF 500mm F4.5 EX DG APO")); - choices.insert(p_t(2563, "Sigma 400mm F5.6 APO")); - choices.insert(p_t(2564, "Minolta AF 50mm F2.8 Macro or Sigma Lens")); - choices.insert(p_t(2564, "Sigma 50mm F2.8 EX Macro")); - choices.insert(p_t(2565, "Minolta AF 600mm F4")); - choices.insert(p_t(2566, "Minolta AF 24mm F2.8 or Sigma Lens")); - choices.insert(p_t(2566, "Sigma 17-35mm F2.8-4 EX Aspherical")); - choices.insert(p_t(2572, "Minolta/Sony AF 500mm F8 Reflex")); - choices.insert(p_t(2578, "Minolta/Sony AF 16mm F2.8 Fisheye or Sigma Lens")); - choices.insert(p_t(2578, "Sigma 8mm F4 EX [DG] Fisheye")); - choices.insert(p_t(2578, "Sigma 14mm F3.5")); - choices.insert(p_t(2578, "Sigma 15mm F2.8 Fisheye")); - choices.insert(p_t(2579, "Minolta/Sony AF 20mm F2.8 or Tokina Lens")); - choices.insert(p_t(2579, "Tokina AT-X Pro DX 11-16mm F2.8")); - choices.insert(p_t(2581, "Minolta AF 100mm F2.8 Macro [New] or Sigma or Tamron Lens")); - choices.insert(p_t(2581, "Sigma AF 90mm F2.8 Macro")); - choices.insert(p_t(2581, "Sigma AF 105mm F2.8 EX [DG] Macro")); - choices.insert(p_t(2581, "Sigma 180mm F5.6 Macro")); - choices.insert(p_t(2581, "Sigma 180mm F3.5 EX DG Macro")); - choices.insert(p_t(2581, "Tamron 90mm F2.8 Macro")); - choices.insert(p_t(2585, "Minolta AF 35-105mm F3.5-4.5 New or Tamron Lens")); - choices.insert(p_t(2585, "Beroflex 35-135mm F3.5-4.5")); - choices.insert(p_t(2585, "Tamron 24-135mm F3.5-5.6")); - choices.insert(p_t(2588, "Minolta AF 70-210mm F3.5-4.5")); - choices.insert(p_t(2589, "Minolta AF 80-200mm F2.8 APO or Tokina Lens")); - choices.insert(p_t(2589, "Tokina 80-200mm F2.8")); - choices.insert(p_t(2590, "Minolta AF 200mm F2.8 G APO + Minolta AF 1.4x APO or Other Lens + 1.4x")); - choices.insert(p_t(2590, "Minolta AF 600mm F4 HS-APO G + Minolta AF 1.4x APO")); - choices.insert(p_t(2591, "Minolta AF 35mm F1.4")); - choices.insert(p_t(2592, "Minolta AF 85mm F1.4 G (D)")); - choices.insert(p_t(2593, "Minolta AF 200mm F2.8 G APO")); - choices.insert(p_t(2594, "Minolta AF 3x-1x F1.7-2.8 Macro")); - choices.insert(p_t(2596, "Minolta AF 28mm F2")); - choices.insert(p_t(2597, "Minolta AF 35mm F2 [New]")); - choices.insert(p_t(2598, "Minolta AF 100mm F2")); - choices.insert(p_t(2601, "Minolta AF 200mm F2.8 G APO + Minolta AF 2x APO or Other Lens + 2x")); - choices.insert(p_t(2601, "Minolta AF 600mm F4 HS-APO G + Minolta AF 2x APO")); - choices.insert(p_t(2604, "Minolta AF 80-200mm F4.5-5.6")); - choices.insert(p_t(2605, "Minolta AF 35-80mm F4-5.6")); - choices.insert(p_t(2606, "Minolta AF 100-300mm F4.5-5.6")); - choices.insert(p_t(2607, "Minolta AF 35-80mm F4-5.6")); - choices.insert(p_t(2608, "Minolta AF 300mm F2.8 HS-APO G")); - choices.insert(p_t(2609, "Minolta AF 600mm F4 HS-APO G")); - choices.insert(p_t(2612, "Minolta AF 200mm F2.8 HS-APO G")); - choices.insert(p_t(2613, "Minolta AF 50mm F1.7 New")); - choices.insert(p_t(2615, "Minolta AF 28-105mm F3.5-4.5 xi")); - choices.insert(p_t(2616, "Minolta AF 35-200mm F4.5-5.6 xi")); - choices.insert(p_t(2618, "Minolta AF 28-80mm F4-5.6 xi")); - choices.insert(p_t(2619, "Minolta AF 80-200mm F4.5-5.6 xi")); - choices.insert(p_t(2620, "Minolta AF 28-70mm F2.8 G")); - choices.insert(p_t(2621, "Minolta AF 100-300mm F4.5-5.6 xi")); - choices.insert(p_t(2624, "Minolta AF 35-80mm F4-5.6 Power Zoom")); - choices.insert(p_t(2628, "Minolta AF 80-200mm F2.8 G")); - choices.insert(p_t(2629, "Minolta AF 85mm F1.4 New")); - choices.insert(p_t(2631, "Minolta/Sony AF 100-300mm F4.5-5.6 APO")); - choices.insert(p_t(2632, "Minolta AF 24-50mm F4 New")); - choices.insert(p_t(2638, "Minolta AF 50mm F2.8 Macro New")); - choices.insert(p_t(2639, "Minolta AF 100mm F2.8 Macro")); - choices.insert(p_t(2641, "Minolta/Sony AF 20mm F2.8 New")); - choices.insert(p_t(2642, "Minolta AF 24mm F2.8 New")); - choices.insert(p_t(2644, "Minolta AF 100-400mm F4.5-6.7 APO")); - choices.insert(p_t(2662, "Minolta AF 50mm F1.4 New")); - choices.insert(p_t(2667, "Minolta AF 35mm F2 New")); - choices.insert(p_t(2668, "Minolta AF 28mm F2 New")); - choices.insert(p_t(2672, "Minolta AF 24-105mm F3.5-4.5 (D)")); + choices.insert(p_t(255, "Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical")); + choices.insert(p_t(255, "Tamron AF 18-250mm f/3.5-6.3 XR Di II LD")); + choices.insert(p_t(255, "Tamron AF 55-200mm f/4-5.6 Di II LD Macro")); + choices.insert(p_t(255, "Tamron AF 70-300mm f/4-5.6 Di LD Macro 1:2")); + choices.insert(p_t(255, "Tamron SP AF 200-500mm f/5.0-6.3 Di LD IF")); + choices.insert(p_t(255, "Tamron SP AF 10-24mm f/3.5-4.5 Di II LD Aspherical IF")); + choices.insert(p_t(255, "Tamron SP AF 70-200mm f/2.8 Di LD IF Macro")); + choices.insert(p_t(255, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical IF")); + choices.insert(p_t(255, "Tamron AF 90-300mm f/4.5-5.6 Telemacro")); + choices.insert(p_t(2550, "Minolta AF 50mm f/1.7")); + choices.insert(p_t(2551, "Minolta AF 35-70mm f/4 or Other Lens")); + choices.insert(p_t(2551, "Sigma UC AF 28-70mm f/3.5-4.5")); + choices.insert(p_t(2551, "Sigma AF 28-70mm f/2.8")); + choices.insert(p_t(2551, "Sigma M-AF 70-200mm f/2.8 EX Aspherical")); + choices.insert(p_t(2551, "Quantaray M-AF 35-80mm f/4-5.6")); + choices.insert(p_t(2551, "Tokina 28-70mm f/2.8-4.5 AF")); + choices.insert(p_t(2552, "Minolta AF 28-85mm f/3.5-4.5 or Other Lens")); + choices.insert(p_t(2552, "Tokina 19-35mm f/3.5-4.5")); + choices.insert(p_t(2552, "Tokina 28-70mm f/2.8 AT-X")); + choices.insert(p_t(2552, "Tokina 80-400mm f/4.5-5.6 AT-X AF II 840")); + choices.insert(p_t(2552, "Tokina AF PRO 28-80mm f/2.8 AT-X 280")); + choices.insert(p_t(2552, "Tokina AT-X PRO [II] AF 28-70mm f/2.6-2.8 270")); + choices.insert(p_t(2552, "Tamron AF 19-35mm f/3.5-4.5")); + choices.insert(p_t(2552, "Angenieux AF 28-70mm f/2.6")); + choices.insert(p_t(2552, "Tokina AT-X 17 AF 17mm f/3.5")); + choices.insert(p_t(2552, "Tokina 20-35mm f/3.5-4.5 II AF")); + choices.insert(p_t(2553, "Minolta AF 28-135mm f/4-4.5 or Sigma Lens")); + choices.insert(p_t(2553, "Sigma ZOOM-alpha 35-135mm f/3.5-4.5")); + choices.insert(p_t(2553, "Sigma 28-105mm f/2.8-4 Aspherical")); + choices.insert(p_t(2553, "Sigma 28-105mm f/4-5.6 UC")); + choices.insert(p_t(2554, "Minolta AF 35-105mm f/3.5-4.5")); + choices.insert(p_t(2555, "Minolta AF 70-210mm f/4 Macro or Sigma Lens")); + choices.insert(p_t(2555, "Sigma 70-210mm f/4-5.6 APO")); + choices.insert(p_t(2555, "Sigma M-AF 70-200mm f/2.8 EX APO")); + choices.insert(p_t(2555, "Sigma 75-200mm f/2.8-3.5")); + choices.insert(p_t(2556, "Minolta AF 135mm f/2.8")); + choices.insert(p_t(2557, "Minolta/Sony AF 28mm f/2.8")); + choices.insert(p_t(2558, "Minolta AF 24-50mm f/4")); + choices.insert(p_t(2560, "Minolta AF 100-200mm f/4.5")); + choices.insert(p_t(2561, "Minolta AF 75-300mm f/4.5-5.6 or Sigma Lens")); + choices.insert(p_t(2561, "Sigma 70-300mm f/4-5.6 DL Macro")); + choices.insert(p_t(2561, "Sigma 300mm f/4 APO Macro")); + choices.insert(p_t(2561, "Sigma AF 500mm f/4.5 APO")); + choices.insert(p_t(2561, "Sigma AF 170-500mm f/5-6.3 APO Aspherical")); + choices.insert(p_t(2561, "Tokina AT-X AF 300mm f/4")); + choices.insert(p_t(2561, "Tokina AT-X AF 400mm f/5.6 SD")); + choices.insert(p_t(2561, "Tokina AF 730 II 75-300mm f/4.5-5.6")); + choices.insert(p_t(2561, "Sigma 800mm f/5.6 APO")); + choices.insert(p_t(2561, "Sigma AF 400mm f/5.6 APO Macro")); + choices.insert(p_t(2562, "Minolta AF 50mm f/1.4 [New]")); + choices.insert(p_t(2563, "Minolta AF 300mm f/2.8 APO or Sigma Lens")); + choices.insert(p_t(2563, "Sigma AF 50-500mm f/4-6.3 EX DG APO")); + choices.insert(p_t(2563, "Sigma AF 170-500mm f/5-6.3 APO Aspherical")); + choices.insert(p_t(2563, "Sigma AF 500mm f/4.5 EX DG APO")); + choices.insert(p_t(2563, "Sigma 400mm f/5.6 APO")); + choices.insert(p_t(2564, "Minolta AF 50mm f/2.8 Macro or Sigma Lens")); + choices.insert(p_t(2564, "Sigma 50mm f/2.8 EX Macro")); + choices.insert(p_t(2565, "Minolta AF 600mm f/4")); + choices.insert(p_t(2566, "Minolta AF 24mm f/2.8 or Sigma Lens")); + choices.insert(p_t(2566, "Sigma 17-35mm f/2.8-4 EX Aspherical")); + choices.insert(p_t(2572, "Minolta/Sony AF 500mm f/8 Reflex")); + choices.insert(p_t(2578, "Minolta/Sony AF 16mm f/2.8 Fisheye or Sigma Lens")); + choices.insert(p_t(2578, "Sigma 8mm f/4 EX [DG] Fisheye")); + choices.insert(p_t(2578, "Sigma 14mm f/3.5")); + choices.insert(p_t(2578, "Sigma 15mm f/2.8 Fisheye")); + choices.insert(p_t(2579, "Minolta/Sony AF 20mm f/2.8 or Tokina Lens")); + choices.insert(p_t(2579, "Tokina AT-X Pro DX 11-16mm f/2.8")); + choices.insert(p_t(2581, "Minolta AF 100mm f/2.8 Macro [New] or Sigma or Tamron Lens")); + choices.insert(p_t(2581, "Sigma AF 90mm f/2.8 Macro")); + choices.insert(p_t(2581, "Sigma AF 105mm f/2.8 EX [DG] Macro")); + choices.insert(p_t(2581, "Sigma 180mm f/5.6 Macro")); + choices.insert(p_t(2581, "Sigma 180mm f/3.5 EX DG Macro")); + choices.insert(p_t(2581, "Tamron 90mm f/2.8 Macro")); + choices.insert(p_t(2585, "Minolta AF 35-105mm f/3.5-4.5 New or Tamron Lens")); + choices.insert(p_t(2585, "Beroflex 35-135mm f/3.5-4.5")); + choices.insert(p_t(2585, "Tamron 24-135mm f/3.5-5.6")); + choices.insert(p_t(2588, "Minolta AF 70-210mm f/3.5-4.5")); + choices.insert(p_t(2589, "Minolta AF 80-200mm f/2.8 APO or Tokina Lens")); + choices.insert(p_t(2589, "Tokina 80-200mm f/2.8")); + choices.insert(p_t(2590, "Minolta AF 200mm f/2.8 G APO + Minolta AF 1.4x APO or Other Lens + 1.4x")); + choices.insert(p_t(2590, "Minolta AF 600mm f/4 HS-APO G + Minolta AF 1.4x APO")); + choices.insert(p_t(2591, "Minolta AF 35mm f/1.4")); + choices.insert(p_t(2592, "Minolta AF 85mm f/1.4 G (D)")); + choices.insert(p_t(2593, "Minolta AF 200mm f/2.8 G APO")); + choices.insert(p_t(2594, "Minolta AF 3x-1x f/1.7-2.8 Macro")); + choices.insert(p_t(2596, "Minolta AF 28mm f/2")); + choices.insert(p_t(2597, "Minolta AF 35mm f/2 [New]")); + choices.insert(p_t(2598, "Minolta AF 100mm f/2")); + choices.insert(p_t(2601, "Minolta AF 200mm f/2.8 G APO + Minolta AF 2x APO or Other Lens + 2x")); + choices.insert(p_t(2601, "Minolta AF 600mm f/4 HS-APO G + Minolta AF 2x APO")); + choices.insert(p_t(2604, "Minolta AF 80-200mm f/4.5-5.6")); + choices.insert(p_t(2605, "Minolta AF 35-80mm f/4-5.6")); + choices.insert(p_t(2606, "Minolta AF 100-300mm f/4.5-5.6")); + choices.insert(p_t(2607, "Minolta AF 35-80mm f/4-5.6")); + choices.insert(p_t(2608, "Minolta AF 300mm f/2.8 HS-APO G")); + choices.insert(p_t(2609, "Minolta AF 600mm f/4 HS-APO G")); + choices.insert(p_t(2612, "Minolta AF 200mm f/2.8 HS-APO G")); + choices.insert(p_t(2613, "Minolta AF 50mm f/1.7 New")); + choices.insert(p_t(2615, "Minolta AF 28-105mm f/3.5-4.5 xi")); + choices.insert(p_t(2616, "Minolta AF 35-200mm f/4.5-5.6 xi")); + choices.insert(p_t(2618, "Minolta AF 28-80mm f/4-5.6 xi")); + choices.insert(p_t(2619, "Minolta AF 80-200mm f/4.5-5.6 xi")); + choices.insert(p_t(2620, "Minolta AF 28-70mm f/2.8 G")); + choices.insert(p_t(2621, "Minolta AF 100-300mm f/4.5-5.6 xi")); + choices.insert(p_t(2624, "Minolta AF 35-80mm f/4-5.6 Power Zoom")); + choices.insert(p_t(2628, "Minolta AF 80-200mm f/2.8 G")); + choices.insert(p_t(2629, "Minolta AF 85mm f/1.4 New")); + choices.insert(p_t(2631, "Minolta/Sony AF 100-300mm f/4.5-5.6 APO")); + choices.insert(p_t(2632, "Minolta AF 24-50mm f/4 New")); + choices.insert(p_t(2638, "Minolta AF 50mm f/2.8 Macro New")); + choices.insert(p_t(2639, "Minolta AF 100mm f/2.8 Macro")); + choices.insert(p_t(2641, "Minolta/Sony AF 20mm f/2.8 New")); + choices.insert(p_t(2642, "Minolta AF 24mm f/2.8 New")); + choices.insert(p_t(2644, "Minolta AF 100-400mm f/4.5-6.7 APO")); + choices.insert(p_t(2662, "Minolta AF 50mm f/1.4 New")); + choices.insert(p_t(2667, "Minolta AF 35mm f/2 New")); + choices.insert(p_t(2668, "Minolta AF 28mm f/2 New")); + choices.insert(p_t(2672, "Minolta AF 24-105mm f/3.5-4.5 (D)")); choices.insert(p_t(3046, "Metabones Canon EF Speed Booster")); - choices.insert(p_t(4567, "Tokina 70-210mm F4-5.6")); - choices.insert(p_t(4571, "Vivitar 70-210mm F4.5-5.6")); + choices.insert(p_t(4567, "Tokina 70-210mm f/4-5.6")); + choices.insert(p_t(4571, "Vivitar 70-210mm f/4.5-5.6")); choices.insert(p_t(4574, "2x Teleconverter or Tamron or Tokina Lens")); - choices.insert(p_t(4574, "Tamron SP AF 90mm F2.5")); - choices.insert(p_t(4574, "Tokina RF 500mm F8.0 x2")); - choices.insert(p_t(4574, "Tokina 300mm F2.8 x2")); + choices.insert(p_t(4574, "Tamron SP AF 90mm f/2.5")); + choices.insert(p_t(4574, "Tokina RF 500mm f/8.0 x2")); + choices.insert(p_t(4574, "Tokina 300mm f/2.8 x2")); choices.insert(p_t(4575, "1.4x Teleconverter")); - choices.insert(p_t(4585, "Tamron SP AF 300mm F2.8 LD IF")); - choices.insert(p_t(4586, "Tamron SP AF 35-105mm F2.8 LD Aspherical IF")); - choices.insert(p_t(4587, "Tamron AF 70-210mm F2.8 SP LD")); + choices.insert(p_t(4585, "Tamron SP AF 300mm f/2.8 LD IF")); + choices.insert(p_t(4586, "Tamron SP AF 35-105mm f/2.8 LD Aspherical IF")); + choices.insert(p_t(4587, "Tamron AF 70-210mm f/2.8 SP LD")); choices.insert(p_t(6118, "Metabones Canon EF Adapter")); choices.insert(p_t(6553, "E-Mount, T-Mount, Other Lens or no lens")); - choices.insert(p_t(6553, "Sony E 16mm F2.8")); - choices.insert(p_t(6553, "Sony E 18-55mm F3.5-5.6 OSS")); - choices.insert(p_t(6553, "Sony E 55-210mm F4.5-6.3 OSS")); - choices.insert(p_t(6553, "Sony E 18-200mm F3.5-6.3 OSS")); - choices.insert(p_t(6553, "Sony E 30mm F3.5 Macro")); - choices.insert(p_t(6553, "Sony E 24mm F1.8 ZA")); - choices.insert(p_t(6553, "Sony E 50mm F1.8 OSS")); - choices.insert(p_t(6553, "Sony E 16-70mm F4 ZA OSS")); - choices.insert(p_t(6553, "Sony E 10-18mm F4 OSS")); - choices.insert(p_t(6553, "Sony E PZ 16-50mm F3.5-5.6 OSS")); - choices.insert(p_t(6553, "Sony FE 35mm F2.8 ZA")); - choices.insert(p_t(6553, "Sony FE 24-70mm F4 ZA OSS")); - choices.insert(p_t(6553, "Sony E 18-200mm F3.5-6.3 OSS LE")); - choices.insert(p_t(6553, "Sony E 20mm F2.8")); - choices.insert(p_t(6553, "Sony E 35mm F1.8 OSS")); - choices.insert(p_t(6553, "Sony E PZ 18-105mm F4 G OSS")); - choices.insert(p_t(6553, "Sony FE 90mm F2.8 Macro G OSS")); - choices.insert(p_t(6553, "Sony E 18-50mm F4-5.6")); - choices.insert(p_t(6553, "Sony E PZ 18-200mm F3.5-6.3 OSS")); - choices.insert(p_t(6553, "Sony FE 55mm F1.8 ZA")); - choices.insert(p_t(6553, "Sony FE 70-200mm F4 G OSS")); - choices.insert(p_t(6553, "Sony FE 16-35mm F4 ZA OSS")); - choices.insert(p_t(6553, "Sony FE 28-70mm F3.5-5.6 OSS")); - choices.insert(p_t(6553, "Sony FE 35mm F1.4 ZA")); - choices.insert(p_t(6553, "Sony FE 24-240mm F3.5-6.3 OSS")); - choices.insert(p_t(6553, "Sony FE 28mm F2")); - choices.insert(p_t(6553, "Sony FE PZ 28-135mm F4 G OSS")); - choices.insert(p_t(6553, "Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)")); - choices.insert(p_t(6553, "Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)")); - choices.insert(p_t(6553, "Sigma 19mm F2.8 [EX] DN")); - choices.insert(p_t(6553, "Sigma 30mm F2.8 [EX] DN")); - choices.insert(p_t(6553, "Sigma 60mm F2.8 DN")); - choices.insert(p_t(6553, "Tamron 18-200mm F3.5-6.3 Di III VC")); - choices.insert(p_t(6553, "Zeiss Batis 25mm F2")); - choices.insert(p_t(6553, "Zeiss Batis 85mm F1.8")); - choices.insert(p_t(6553, "Zeiss Loxia 35mm F2")); - choices.insert(p_t(6553, "Zeiss Loxia 50mm F2")); - choices.insert(p_t(6553, "Zeiss Touit 12mm F2.8")); - choices.insert(p_t(6553, "Zeiss Touit 32mm F1.8")); - choices.insert(p_t(6553, "Zeiss Touit 50mm F2.8 Macro")); - choices.insert(p_t(6553, "Arax MC 35mm F2.8 Tilt+Shift")); - choices.insert(p_t(6553, "Arax MC 80mm F2.8 Tilt+Shift")); - choices.insert(p_t(6553, "Zenitar MF 16mm F2.8 Fisheye M42")); - choices.insert(p_t(6553, "Samyang 500mm Mirror F8.0")); - choices.insert(p_t(6553, "Pentacon Auto 135mm F2.8")); - choices.insert(p_t(6553, "Pentacon Auto 29mm F2.8")); - choices.insert(p_t(6553, "Helios 44-2 58mm F2.0")); - choices.insert(p_t(25501, "Minolta AF 50mm F1.7")); - choices.insert(p_t(25511, "Minolta AF 35-70mm F4 or Other Lens")); - choices.insert(p_t(25511, "Sigma UC AF 28-70mm F3.5-4.5")); - choices.insert(p_t(25511, "Sigma AF 28-70mm F2.8")); - choices.insert(p_t(25511, "Sigma M-AF 70-200mm F2.8 EX Aspherical")); - choices.insert(p_t(25511, "Quantaray M-AF 35-80mm F4-5.6")); - choices.insert(p_t(25511, "Tokina 28-70mm F2.8-4.5 AF")); - choices.insert(p_t(25521, "Minolta AF 28-85mm F3.5-4.5 or Other Lens")); - choices.insert(p_t(25521, "Tokina 19-35mm F3.5-4.5")); - choices.insert(p_t(25521, "Tokina 28-70mm F2.8 AT-X")); - choices.insert(p_t(25521, "Tokina 80-400mm F4.5-5.6 AT-X AF II 840")); - choices.insert(p_t(25521, "Tokina AF PRO 28-80mm F2.8 AT-X 280")); - choices.insert(p_t(25521, "Tokina AT-X PRO [II] AF 28-70mm F2.6-2.8 270")); - choices.insert(p_t(25521, "Tamron AF 19-35mm F3.5-4.5")); - choices.insert(p_t(25521, "Angenieux AF 28-70mm F2.6")); - choices.insert(p_t(25521, "Tokina AT-X 17 AF 17mm F3.5")); - choices.insert(p_t(25521, "Tokina 20-35mm F3.5-4.5 II AF")); - choices.insert(p_t(25531, "Minolta AF 28-135mm F4-4.5 or Sigma Lens")); - choices.insert(p_t(25531, "Sigma ZOOM-alpha 35-135mm F3.5-4.5")); - choices.insert(p_t(25531, "Sigma 28-105mm F2.8-4 Aspherical")); - choices.insert(p_t(25531, "Sigma 28-105mm F4-5.6 UC")); - choices.insert(p_t(25541, "Minolta AF 35-105mm F3.5-4.5")); - choices.insert(p_t(25551, "Minolta AF 70-210mm F4 Macro or Sigma Lens")); - choices.insert(p_t(25551, "Sigma 70-210mm F4-5.6 APO")); - choices.insert(p_t(25551, "Sigma M-AF 70-200mm F2.8 EX APO")); - choices.insert(p_t(25551, "Sigma 75-200mm F2.8-3.5")); - choices.insert(p_t(25561, "Minolta AF 135mm F2.8")); - choices.insert(p_t(25571, "Minolta/Sony AF 28mm F2.8")); - choices.insert(p_t(25581, "Minolta AF 24-50mm F4")); - choices.insert(p_t(25601, "Minolta AF 100-200mm F4.5")); - choices.insert(p_t(25611, "Minolta AF 75-300mm F4.5-5.6 or Sigma Lens")); - choices.insert(p_t(25611, "Sigma 70-300mm F4-5.6 DL Macro")); - choices.insert(p_t(25611, "Sigma 300mm F4 APO Macro")); - choices.insert(p_t(25611, "Sigma AF 500mm F4.5 APO")); - choices.insert(p_t(25611, "Sigma AF 170-500mm F5-6.3 APO Aspherical")); - choices.insert(p_t(25611, "Tokina AT-X AF 300mm F4")); - choices.insert(p_t(25611, "Tokina AT-X AF 400mm F5.6 SD")); - choices.insert(p_t(25611, "Tokina AF 730 II 75-300mm F4.5-5.6")); - choices.insert(p_t(25611, "Sigma 800mm F5.6 APO")); - choices.insert(p_t(25611, "Sigma AF 400mm F5.6 APO Macro")); - choices.insert(p_t(25621, "Minolta AF 50mm F1.4 [New]")); - choices.insert(p_t(25631, "Minolta AF 300mm F2.8 APO or Sigma Lens")); - choices.insert(p_t(25631, "Sigma AF 50-500mm F4-6.3 EX DG APO")); - choices.insert(p_t(25631, "Sigma AF 170-500mm F5-6.3 APO Aspherical")); - choices.insert(p_t(25631, "Sigma AF 500mm F4.5 EX DG APO")); - choices.insert(p_t(25631, "Sigma 400mm F5.6 APO")); - choices.insert(p_t(25641, "Minolta AF 50mm F2.8 Macro or Sigma Lens")); - choices.insert(p_t(25641, "Sigma 50mm F2.8 EX Macro")); - choices.insert(p_t(25651, "Minolta AF 600mm F4")); - choices.insert(p_t(25661, "Minolta AF 24mm F2.8 or Sigma Lens")); - choices.insert(p_t(25661, "Sigma 17-35mm F2.8-4 EX Aspherical")); - choices.insert(p_t(25721, "Minolta/Sony AF 500mm F8 Reflex")); - choices.insert(p_t(25781, "Minolta/Sony AF 16mm F2.8 Fisheye or Sigma Lens")); - choices.insert(p_t(25781, "Sigma 8mm F4 EX [DG] Fisheye")); - choices.insert(p_t(25781, "Sigma 14mm F3.5")); - choices.insert(p_t(25781, "Sigma 15mm F2.8 Fisheye")); - choices.insert(p_t(25791, "Minolta/Sony AF 20mm F2.8 or Tokina Lens")); - choices.insert(p_t(25791, "Tokina AT-X Pro DX 11-16mm F2.8")); - choices.insert(p_t(25811, "Minolta AF 100mm F2.8 Macro [New] or Sigma or Tamron Lens")); - choices.insert(p_t(25811, "Sigma AF 90mm F2.8 Macro")); - choices.insert(p_t(25811, "Sigma AF 105mm F2.8 EX [DG] Macro")); - choices.insert(p_t(25811, "Sigma 180mm F5.6 Macro")); - choices.insert(p_t(25811, "Sigma 180mm F3.5 EX DG Macro")); - choices.insert(p_t(25811, "Tamron 90mm F2.8 Macro")); - choices.insert(p_t(25851, "Beroflex 35-135mm F3.5-4.5")); - choices.insert(p_t(25858, "Minolta AF 35-105mm F3.5-4.5 New or Tamron Lens")); - choices.insert(p_t(25858, "Tamron 24-135mm F3.5-5.6")); - choices.insert(p_t(25881, "Minolta AF 70-210mm F3.5-4.5")); - choices.insert(p_t(25891, "Minolta AF 80-200mm F2.8 APO or Tokina Lens")); - choices.insert(p_t(25891, "Tokina 80-200mm F2.8")); - choices.insert(p_t(25901, "Minolta AF 200mm F2.8 G APO + Minolta AF 1.4x APO or Other Lens + 1.4x")); - choices.insert(p_t(25901, "Minolta AF 600mm F4 HS-APO G + Minolta AF 1.4x APO")); - choices.insert(p_t(25911, "Minolta AF 35mm F1.4")); - choices.insert(p_t(25921, "Minolta AF 85mm F1.4 G (D)")); - choices.insert(p_t(25931, "Minolta AF 200mm F2.8 G APO")); - choices.insert(p_t(25941, "Minolta AF 3x-1x F1.7-2.8 Macro")); - choices.insert(p_t(25961, "Minolta AF 28mm F2")); - choices.insert(p_t(25971, "Minolta AF 35mm F2 [New]")); - choices.insert(p_t(25981, "Minolta AF 100mm F2")); - choices.insert(p_t(26011, "Minolta AF 200mm F2.8 G APO + Minolta AF 2x APO or Other Lens + 2x")); - choices.insert(p_t(26011, "Minolta AF 600mm F4 HS-APO G + Minolta AF 2x APO")); - choices.insert(p_t(26041, "Minolta AF 80-200mm F4.5-5.6")); - choices.insert(p_t(26051, "Minolta AF 35-80mm F4-5.6")); - choices.insert(p_t(26061, "Minolta AF 100-300mm F4.5-5.6")); - choices.insert(p_t(26071, "Minolta AF 35-80mm F4-5.6")); - choices.insert(p_t(26081, "Minolta AF 300mm F2.8 HS-APO G")); - choices.insert(p_t(26091, "Minolta AF 600mm F4 HS-APO G")); - choices.insert(p_t(26121, "Minolta AF 200mm F2.8 HS-APO G")); - choices.insert(p_t(26131, "Minolta AF 50mm F1.7 New")); - choices.insert(p_t(26151, "Minolta AF 28-105mm F3.5-4.5 xi")); - choices.insert(p_t(26161, "Minolta AF 35-200mm F4.5-5.6 xi")); - choices.insert(p_t(26181, "Minolta AF 28-80mm F4-5.6 xi")); - choices.insert(p_t(26191, "Minolta AF 80-200mm F4.5-5.6 xi")); - choices.insert(p_t(26201, "Minolta AF 28-70mm F2.8 G")); - choices.insert(p_t(26211, "Minolta AF 100-300mm F4.5-5.6 xi")); - choices.insert(p_t(26241, "Minolta AF 35-80mm F4-5.6 Power Zoom")); - choices.insert(p_t(26281, "Minolta AF 80-200mm F2.8 G")); - choices.insert(p_t(26291, "Minolta AF 85mm F1.4 New")); - choices.insert(p_t(26311, "Minolta/Sony AF 100-300mm F4.5-5.6 APO")); - choices.insert(p_t(26321, "Minolta AF 24-50mm F4 New")); - choices.insert(p_t(26381, "Minolta AF 50mm F2.8 Macro New")); - choices.insert(p_t(26391, "Minolta AF 100mm F2.8 Macro")); - choices.insert(p_t(26411, "Minolta/Sony AF 20mm F2.8 New")); - choices.insert(p_t(26421, "Minolta AF 24mm F2.8 New")); - choices.insert(p_t(26441, "Minolta AF 100-400mm F4.5-6.7 APO")); - choices.insert(p_t(26621, "Minolta AF 50mm F1.4 New")); - choices.insert(p_t(26671, "Minolta AF 35mm F2 New")); - choices.insert(p_t(26681, "Minolta AF 28mm F2 New")); - choices.insert(p_t(26721, "Minolta AF 24-105mm F3.5-4.5 (D)")); + choices.insert(p_t(6553, "Sony E 16mm f/2.8")); + choices.insert(p_t(6553, "Sony E 18-55mm f/3.5-5.6 OSS")); + choices.insert(p_t(6553, "Sony E 55-210mm f/4.5-6.3 OSS")); + choices.insert(p_t(6553, "Sony E 18-200mm f/3.5-6.3 OSS")); + choices.insert(p_t(6553, "Sony E 30mm f/3.5 Macro")); + choices.insert(p_t(6553, "Sony E 24mm f/1.8 ZA")); + choices.insert(p_t(6553, "Sony E 50mm f/1.8 OSS")); + choices.insert(p_t(6553, "Sony E 16-70mm f/4 ZA OSS")); + choices.insert(p_t(6553, "Sony E 10-18mm f/4 OSS")); + choices.insert(p_t(6553, "Sony E PZ 16-50mm f/3.5-5.6 OSS")); + choices.insert(p_t(6553, "Sony FE 35mm f/2.8 ZA")); + choices.insert(p_t(6553, "Sony FE 24-70mm f/4 ZA OSS")); + choices.insert(p_t(6553, "Sony E 18-200mm f/3.5-6.3 OSS LE")); + choices.insert(p_t(6553, "Sony E 20mm f/2.8")); + choices.insert(p_t(6553, "Sony E 35mm f/1.8 OSS")); + choices.insert(p_t(6553, "Sony E PZ 18-105mm f/4 G OSS")); + choices.insert(p_t(6553, "Sony FE 90mm f/2.8 Macro G OSS")); + choices.insert(p_t(6553, "Sony E 18-50mm f/4-5.6")); + choices.insert(p_t(6553, "Sony E PZ 18-200mm f/3.5-6.3 OSS")); + choices.insert(p_t(6553, "Sony FE 55mm f/1.8 ZA")); + choices.insert(p_t(6553, "Sony FE 70-200mm f/4 G OSS")); + choices.insert(p_t(6553, "Sony FE 16-35mm f/4 ZA OSS")); + choices.insert(p_t(6553, "Sony FE 28-70mm f/3.5-5.6 OSS")); + choices.insert(p_t(6553, "Sony FE 35mm f/1.4 ZA")); + choices.insert(p_t(6553, "Sony FE 24-240mm f/3.5-6.3 OSS")); + choices.insert(p_t(6553, "Sony FE 28mm f/2")); + choices.insert(p_t(6553, "Sony FE PZ 28-135mm f/4 G OSS")); + choices.insert(p_t(6553, "Sony FE 21mm f/2.8 (SEL28F20 + SEL075UWC)")); + choices.insert(p_t(6553, "Sony FE 16mm f/3.5 Fisheye (SEL28F20 + SEL057FEC)")); + choices.insert(p_t(6553, "Sigma 19mm f/2.8 [EX] DN")); + choices.insert(p_t(6553, "Sigma 30mm f/2.8 [EX] DN")); + choices.insert(p_t(6553, "Sigma 60mm f/2.8 DN")); + choices.insert(p_t(6553, "Tamron 18-200mm f/3.5-6.3 Di III VC")); + choices.insert(p_t(6553, "Zeiss Batis 25mm f/2")); + choices.insert(p_t(6553, "Zeiss Batis 85mm f/1.8")); + choices.insert(p_t(6553, "Zeiss Loxia 35mm f/2")); + choices.insert(p_t(6553, "Zeiss Loxia 50mm f/2")); + choices.insert(p_t(6553, "Zeiss Touit 12mm f/2.8")); + choices.insert(p_t(6553, "Zeiss Touit 32mm f/1.8")); + choices.insert(p_t(6553, "Zeiss Touit 50mm f/2.8 Macro")); + choices.insert(p_t(6553, "Arax MC 35mm f/2.8 Tilt+Shift")); + choices.insert(p_t(6553, "Arax MC 80mm f/2.8 Tilt+Shift")); + choices.insert(p_t(6553, "Zenitar MF 16mm f/2.8 Fisheye M42")); + choices.insert(p_t(6553, "Samyang 500mm Mirror f/8.0")); + choices.insert(p_t(6553, "Pentacon Auto 135mm f/2.8")); + choices.insert(p_t(6553, "Pentacon Auto 29mm f/2.8")); + choices.insert(p_t(6553, "Helios 44-2 58mm f/2.0")); + choices.insert(p_t(25501, "Minolta AF 50mm f/1.7")); + choices.insert(p_t(25511, "Minolta AF 35-70mm f/4 or Other Lens")); + choices.insert(p_t(25511, "Sigma UC AF 28-70mm f/3.5-4.5")); + choices.insert(p_t(25511, "Sigma AF 28-70mm f/2.8")); + choices.insert(p_t(25511, "Sigma M-AF 70-200mm f/2.8 EX Aspherical")); + choices.insert(p_t(25511, "Quantaray M-AF 35-80mm f/4-5.6")); + choices.insert(p_t(25511, "Tokina 28-70mm f/2.8-4.5 AF")); + choices.insert(p_t(25521, "Minolta AF 28-85mm f/3.5-4.5 or Other Lens")); + choices.insert(p_t(25521, "Tokina 19-35mm f/3.5-4.5")); + choices.insert(p_t(25521, "Tokina 28-70mm f/2.8 AT-X")); + choices.insert(p_t(25521, "Tokina 80-400mm f/4.5-5.6 AT-X AF II 840")); + choices.insert(p_t(25521, "Tokina AF PRO 28-80mm f/2.8 AT-X 280")); + choices.insert(p_t(25521, "Tokina AT-X PRO [II] AF 28-70mm f/2.6-2.8 270")); + choices.insert(p_t(25521, "Tamron AF 19-35mm f/3.5-4.5")); + choices.insert(p_t(25521, "Angenieux AF 28-70mm f/2.6")); + choices.insert(p_t(25521, "Tokina AT-X 17 AF 17mm f/3.5")); + choices.insert(p_t(25521, "Tokina 20-35mm f/3.5-4.5 II AF")); + choices.insert(p_t(25531, "Minolta AF 28-135mm f/4-4.5 or Sigma Lens")); + choices.insert(p_t(25531, "Sigma ZOOM-alpha 35-135mm f/3.5-4.5")); + choices.insert(p_t(25531, "Sigma 28-105mm f/2.8-4 Aspherical")); + choices.insert(p_t(25531, "Sigma 28-105mm f/4-5.6 UC")); + choices.insert(p_t(25541, "Minolta AF 35-105mm f/3.5-4.5")); + choices.insert(p_t(25551, "Minolta AF 70-210mm f/4 Macro or Sigma Lens")); + choices.insert(p_t(25551, "Sigma 70-210mm f/4-5.6 APO")); + choices.insert(p_t(25551, "Sigma M-AF 70-200mm f/2.8 EX APO")); + choices.insert(p_t(25551, "Sigma 75-200mm f/2.8-3.5")); + choices.insert(p_t(25561, "Minolta AF 135mm f/2.8")); + choices.insert(p_t(25571, "Minolta/Sony AF 28mm f/2.8")); + choices.insert(p_t(25581, "Minolta AF 24-50mm f/4")); + choices.insert(p_t(25601, "Minolta AF 100-200mm f/4.5")); + choices.insert(p_t(25611, "Minolta AF 75-300mm f/4.5-5.6 or Sigma Lens")); + choices.insert(p_t(25611, "Sigma 70-300mm f/4-5.6 DL Macro")); + choices.insert(p_t(25611, "Sigma 300mm f/4 APO Macro")); + choices.insert(p_t(25611, "Sigma AF 500mm f/4.5 APO")); + choices.insert(p_t(25611, "Sigma AF 170-500mm f/5-6.3 APO Aspherical")); + choices.insert(p_t(25611, "Tokina AT-X AF 300mm f/4")); + choices.insert(p_t(25611, "Tokina AT-X AF 400mm f/5.6 SD")); + choices.insert(p_t(25611, "Tokina AF 730 II 75-300mm f/4.5-5.6")); + choices.insert(p_t(25611, "Sigma 800mm f/5.6 APO")); + choices.insert(p_t(25611, "Sigma AF 400mm f/5.6 APO Macro")); + choices.insert(p_t(25621, "Minolta AF 50mm f/1.4 [New]")); + choices.insert(p_t(25631, "Minolta AF 300mm f/2.8 APO or Sigma Lens")); + choices.insert(p_t(25631, "Sigma AF 50-500mm f/4-6.3 EX DG APO")); + choices.insert(p_t(25631, "Sigma AF 170-500mm f/5-6.3 APO Aspherical")); + choices.insert(p_t(25631, "Sigma AF 500mm f/4.5 EX DG APO")); + choices.insert(p_t(25631, "Sigma 400mm f/5.6 APO")); + choices.insert(p_t(25641, "Minolta AF 50mm f/2.8 Macro or Sigma Lens")); + choices.insert(p_t(25641, "Sigma 50mm f/2.8 EX Macro")); + choices.insert(p_t(25651, "Minolta AF 600mm f/4")); + choices.insert(p_t(25661, "Minolta AF 24mm f/2.8 or Sigma Lens")); + choices.insert(p_t(25661, "Sigma 17-35mm f/2.8-4 EX Aspherical")); + choices.insert(p_t(25721, "Minolta/Sony AF 500mm f/8 Reflex")); + choices.insert(p_t(25781, "Minolta/Sony AF 16mm f/2.8 Fisheye or Sigma Lens")); + choices.insert(p_t(25781, "Sigma 8mm f/4 EX [DG] Fisheye")); + choices.insert(p_t(25781, "Sigma 14mm f/3.5")); + choices.insert(p_t(25781, "Sigma 15mm f/2.8 Fisheye")); + choices.insert(p_t(25791, "Minolta/Sony AF 20mm f/2.8 or Tokina Lens")); + choices.insert(p_t(25791, "Tokina AT-X Pro DX 11-16mm f/2.8")); + choices.insert(p_t(25811, "Minolta AF 100mm f/2.8 Macro [New] or Sigma or Tamron Lens")); + choices.insert(p_t(25811, "Sigma AF 90mm f/2.8 Macro")); + choices.insert(p_t(25811, "Sigma AF 105mm f/2.8 EX [DG] Macro")); + choices.insert(p_t(25811, "Sigma 180mm f/5.6 Macro")); + choices.insert(p_t(25811, "Sigma 180mm f/3.5 EX DG Macro")); + choices.insert(p_t(25811, "Tamron 90mm f/2.8 Macro")); + choices.insert(p_t(25851, "Beroflex 35-135mm f/3.5-4.5")); + choices.insert(p_t(25858, "Minolta AF 35-105mm f/3.5-4.5 New or Tamron Lens")); + choices.insert(p_t(25858, "Tamron 24-135mm f/3.5-5.6")); + choices.insert(p_t(25881, "Minolta AF 70-210mm f/3.5-4.5")); + choices.insert(p_t(25891, "Minolta AF 80-200mm f/2.8 APO or Tokina Lens")); + choices.insert(p_t(25891, "Tokina 80-200mm f/2.8")); + choices.insert(p_t(25901, "Minolta AF 200mm f/2.8 G APO + Minolta AF 1.4x APO or Other Lens + 1.4x")); + choices.insert(p_t(25901, "Minolta AF 600mm f/4 HS-APO G + Minolta AF 1.4x APO")); + choices.insert(p_t(25911, "Minolta AF 35mm f/1.4")); + choices.insert(p_t(25921, "Minolta AF 85mm f/1.4 G (D)")); + choices.insert(p_t(25931, "Minolta AF 200mm f/2.8 G APO")); + choices.insert(p_t(25941, "Minolta AF 3x-1x f/1.7-2.8 Macro")); + choices.insert(p_t(25961, "Minolta AF 28mm f/2")); + choices.insert(p_t(25971, "Minolta AF 35mm f/2 [New]")); + choices.insert(p_t(25981, "Minolta AF 100mm f/2")); + choices.insert(p_t(26011, "Minolta AF 200mm f/2.8 G APO + Minolta AF 2x APO or Other Lens + 2x")); + choices.insert(p_t(26011, "Minolta AF 600mm f/4 HS-APO G + Minolta AF 2x APO")); + choices.insert(p_t(26041, "Minolta AF 80-200mm f/4.5-5.6")); + choices.insert(p_t(26051, "Minolta AF 35-80mm f/4-5.6")); + choices.insert(p_t(26061, "Minolta AF 100-300mm f/4.5-5.6")); + choices.insert(p_t(26071, "Minolta AF 35-80mm f/4-5.6")); + choices.insert(p_t(26081, "Minolta AF 300mm f/2.8 HS-APO G")); + choices.insert(p_t(26091, "Minolta AF 600mm f/4 HS-APO G")); + choices.insert(p_t(26121, "Minolta AF 200mm f/2.8 HS-APO G")); + choices.insert(p_t(26131, "Minolta AF 50mm f/1.7 New")); + choices.insert(p_t(26151, "Minolta AF 28-105mm f/3.5-4.5 xi")); + choices.insert(p_t(26161, "Minolta AF 35-200mm f/4.5-5.6 xi")); + choices.insert(p_t(26181, "Minolta AF 28-80mm f/4-5.6 xi")); + choices.insert(p_t(26191, "Minolta AF 80-200mm f/4.5-5.6 xi")); + choices.insert(p_t(26201, "Minolta AF 28-70mm f/2.8 G")); + choices.insert(p_t(26211, "Minolta AF 100-300mm f/4.5-5.6 xi")); + choices.insert(p_t(26241, "Minolta AF 35-80mm f/4-5.6 Power Zoom")); + choices.insert(p_t(26281, "Minolta AF 80-200mm f/2.8 G")); + choices.insert(p_t(26291, "Minolta AF 85mm f/1.4 New")); + choices.insert(p_t(26311, "Minolta/Sony AF 100-300mm f/4.5-5.6 APO")); + choices.insert(p_t(26321, "Minolta AF 24-50mm f/4 New")); + choices.insert(p_t(26381, "Minolta AF 50mm f/2.8 Macro New")); + choices.insert(p_t(26391, "Minolta AF 100mm f/2.8 Macro")); + choices.insert(p_t(26411, "Minolta/Sony AF 20mm f/2.8 New")); + choices.insert(p_t(26421, "Minolta AF 24mm f/2.8 New")); + choices.insert(p_t(26441, "Minolta AF 100-400mm f/4.5-6.7 APO")); + choices.insert(p_t(26621, "Minolta AF 50mm f/1.4 New")); + choices.insert(p_t(26671, "Minolta AF 35mm f/2 New")); + choices.insert(p_t(26681, "Minolta AF 28mm f/2 New")); + choices.insert(p_t(26721, "Minolta AF 24-105mm f/3.5-4.5 (D)")); choices.insert(p_t(30464, "Metabones Canon EF Speed Booster")); - choices.insert(p_t(45671, "Tokina 70-210mm F4-5.6")); - choices.insert(p_t(45711, "Vivitar 70-210mm F4.5-5.6")); + choices.insert(p_t(45671, "Tokina 70-210mm f/4-5.6")); + choices.insert(p_t(45711, "Vivitar 70-210mm f/4.5-5.6")); choices.insert(p_t(45741, "2x Teleconverter or Tamron or Tokina Lens")); - choices.insert(p_t(45741, "Tamron SP AF 90mm F2.5")); - choices.insert(p_t(45741, "Tokina RF 500mm F8.0 x2")); - choices.insert(p_t(45741, "Tokina 300mm F2.8 x2")); + choices.insert(p_t(45741, "Tamron SP AF 90mm f/2.5")); + choices.insert(p_t(45741, "Tokina RF 500mm f/8.0 x2")); + choices.insert(p_t(45741, "Tokina 300mm f/2.8 x2")); choices.insert(p_t(45751, "1.4x Teleconverter")); - choices.insert(p_t(45851, "Tamron SP AF 300mm F2.8 LD IF")); - choices.insert(p_t(45861, "Tamron SP AF 35-105mm F2.8 LD Aspherical IF")); - choices.insert(p_t(45871, "Tamron AF 70-210mm F2.8 SP LD")); + choices.insert(p_t(45851, "Tamron SP AF 300mm f/2.8 LD IF")); + choices.insert(p_t(45861, "Tamron SP AF 35-105mm f/2.8 LD Aspherical IF")); + choices.insert(p_t(45871, "Tamron AF 70-210mm f/2.8 SP LD")); choices.insert(p_t(61184, "Metabones Canon EF Adapter")); choices.insert(p_t(65535, "E-Mount, T-Mount, Other Lens or no lens")); - choices.insert(p_t(65535, "Sony E 16mm F2.8")); - choices.insert(p_t(65535, "Sony E 18-55mm F3.5-5.6 OSS")); - choices.insert(p_t(65535, "Sony E 55-210mm F4.5-6.3 OSS")); - choices.insert(p_t(65535, "Sony E 18-200mm F3.5-6.3 OSS")); - choices.insert(p_t(65535, "Sony E 30mm F3.5 Macro")); - choices.insert(p_t(65535, "Sony E 24mm F1.8 ZA")); - choices.insert(p_t(65535, "Sony E 50mm F1.8 OSS")); - choices.insert(p_t(65535, "Sony E 16-70mm F4 ZA OSS")); - choices.insert(p_t(65535, "Sony E 10-18mm F4 OSS")); - choices.insert(p_t(65535, "Sony E PZ 16-50mm F3.5-5.6 OSS")); - choices.insert(p_t(65535, "Sony FE 35mm F2.8 ZA")); - choices.insert(p_t(65535, "Sony FE 24-70mm F4 ZA OSS")); - choices.insert(p_t(65535, "Sony E 18-200mm F3.5-6.3 OSS LE")); - choices.insert(p_t(65535, "Sony E 20mm F2.8")); - choices.insert(p_t(65535, "Sony E 35mm F1.8 OSS")); - choices.insert(p_t(65535, "Sony E PZ 18-105mm F4 G OSS")); - choices.insert(p_t(65535, "Sony FE 90mm F2.8 Macro G OSS")); - choices.insert(p_t(65535, "Sony E 18-50mm F4-5.6")); - choices.insert(p_t(65535, "Sony E PZ 18-200mm F3.5-6.3 OSS")); - choices.insert(p_t(65535, "Sony FE 55mm F1.8 ZA")); - choices.insert(p_t(65535, "Sony FE 70-200mm F4 G OSS")); - choices.insert(p_t(65535, "Sony FE 16-35mm F4 ZA OSS")); - choices.insert(p_t(65535, "Sony FE 28-70mm F3.5-5.6 OSS")); - choices.insert(p_t(65535, "Sony FE 35mm F1.4 ZA")); - choices.insert(p_t(65535, "Sony FE 24-240mm F3.5-6.3 OSS")); - choices.insert(p_t(65535, "Sony FE 28mm F2")); - choices.insert(p_t(65535, "Sony FE PZ 28-135mm F4 G OSS")); - choices.insert(p_t(65535, "Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)")); - choices.insert(p_t(65535, "Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)")); - choices.insert(p_t(65535, "Sigma 19mm F2.8 [EX] DN")); - choices.insert(p_t(65535, "Sigma 30mm F2.8 [EX] DN")); - choices.insert(p_t(65535, "Sigma 60mm F2.8 DN")); - choices.insert(p_t(65535, "Tamron 18-200mm F3.5-6.3 Di III VC")); - choices.insert(p_t(65535, "Zeiss Batis 25mm F2")); - choices.insert(p_t(65535, "Zeiss Batis 85mm F1.8")); - choices.insert(p_t(65535, "Zeiss Loxia 35mm F2")); - choices.insert(p_t(65535, "Zeiss Loxia 50mm F2")); - choices.insert(p_t(65535, "Zeiss Touit 12mm F2.8")); - choices.insert(p_t(65535, "Zeiss Touit 32mm F1.8")); - choices.insert(p_t(65535, "Zeiss Touit 50mm F2.8 Macro")); - choices.insert(p_t(65535, "Arax MC 35mm F2.8 Tilt+Shift")); - choices.insert(p_t(65535, "Arax MC 80mm F2.8 Tilt+Shift")); - choices.insert(p_t(65535, "Zenitar MF 16mm F2.8 Fisheye M42")); - choices.insert(p_t(65535, "Samyang 500mm Mirror F8.0")); - choices.insert(p_t(65535, "Pentacon Auto 135mm F2.8")); - choices.insert(p_t(65535, "Pentacon Auto 29mm F2.8")); - choices.insert(p_t(65535, "Helios 44-2 58mm F2.0")); + choices.insert(p_t(65535, "Sony E 16mm f/2.8")); + choices.insert(p_t(65535, "Sony E 18-55mm f/3.5-5.6 OSS")); + choices.insert(p_t(65535, "Sony E 55-210mm f/4.5-6.3 OSS")); + choices.insert(p_t(65535, "Sony E 18-200mm f/3.5-6.3 OSS")); + choices.insert(p_t(65535, "Sony E 30mm f/3.5 Macro")); + choices.insert(p_t(65535, "Sony E 24mm f/1.8 ZA")); + choices.insert(p_t(65535, "Sony E 50mm f/1.8 OSS")); + choices.insert(p_t(65535, "Sony E 16-70mm f/4 ZA OSS")); + choices.insert(p_t(65535, "Sony E 10-18mm f/4 OSS")); + choices.insert(p_t(65535, "Sony E PZ 16-50mm f/3.5-5.6 OSS")); + choices.insert(p_t(65535, "Sony FE 35mm f/2.8 ZA")); + choices.insert(p_t(65535, "Sony FE 24-70mm f/4 ZA OSS")); + choices.insert(p_t(65535, "Sony E 18-200mm f/3.5-6.3 OSS LE")); + choices.insert(p_t(65535, "Sony E 20mm f/2.8")); + choices.insert(p_t(65535, "Sony E 35mm f/1.8 OSS")); + choices.insert(p_t(65535, "Sony E PZ 18-105mm f/4 G OSS")); + choices.insert(p_t(65535, "Sony FE 90mm f/2.8 Macro G OSS")); + choices.insert(p_t(65535, "Sony E 18-50mm f/4-5.6")); + choices.insert(p_t(65535, "Sony E PZ 18-200mm f/3.5-6.3 OSS")); + choices.insert(p_t(65535, "Sony FE 55mm f/1.8 ZA")); + choices.insert(p_t(65535, "Sony FE 70-200mm f/4 G OSS")); + choices.insert(p_t(65535, "Sony FE 16-35mm f/4 ZA OSS")); + choices.insert(p_t(65535, "Sony FE 28-70mm f/3.5-5.6 OSS")); + choices.insert(p_t(65535, "Sony FE 35mm f/1.4 ZA")); + choices.insert(p_t(65535, "Sony FE 24-240mm f/3.5-6.3 OSS")); + choices.insert(p_t(65535, "Sony FE 28mm f/2")); + choices.insert(p_t(65535, "Sony FE PZ 28-135mm f/4 G OSS")); + choices.insert(p_t(65535, "Sony FE 21mm f/2.8 (SEL28F20 + SEL075UWC)")); + choices.insert(p_t(65535, "Sony FE 16mm f/3.5 Fisheye (SEL28F20 + SEL057FEC)")); + choices.insert(p_t(65535, "Sigma 19mm f/2.8 [EX] DN")); + choices.insert(p_t(65535, "Sigma 30mm f/2.8 [EX] DN")); + choices.insert(p_t(65535, "Sigma 60mm f/2.8 DN")); + choices.insert(p_t(65535, "Tamron 18-200mm f/3.5-6.3 Di III VC")); + choices.insert(p_t(65535, "Zeiss Batis 25mm f/2")); + choices.insert(p_t(65535, "Zeiss Batis 85mm f/1.8")); + choices.insert(p_t(65535, "Zeiss Loxia 35mm f/2")); + choices.insert(p_t(65535, "Zeiss Loxia 50mm f/2")); + choices.insert(p_t(65535, "Zeiss Touit 12mm f/2.8")); + choices.insert(p_t(65535, "Zeiss Touit 32mm f/1.8")); + choices.insert(p_t(65535, "Zeiss Touit 50mm f/2.8 Macro")); + choices.insert(p_t(65535, "Arax MC 35mm f/2.8 Tilt+Shift")); + choices.insert(p_t(65535, "Arax MC 80mm f/2.8 Tilt+Shift")); + choices.insert(p_t(65535, "Zenitar MF 16mm f/2.8 Fisheye M42")); + choices.insert(p_t(65535, "Samyang 500mm Mirror f/8.0")); + choices.insert(p_t(65535, "Pentacon Auto 135mm f/2.8")); + choices.insert(p_t(65535, "Pentacon Auto 29mm f/2.8")); + choices.insert(p_t(65535, "Helios 44-2 58mm f/2.0")); } virtual std::string toString (Tag* t) @@ -1063,37 +1063,37 @@ public: choices.insert(p_t(78, "Metabones Canon EF Smart Adapter Mark III or IV")); choices.insert(p_t(234, "Adapter only - no lens attached")); choices.insert(p_t(239, "Metabones Canon EF Speed Booster")); - choices.insert(p_t(32784, "Sony E 16mm F2.8")); - choices.insert(p_t(32785, "Sony E 18-55mm F3.5-5.6 OSS")); - choices.insert(p_t(32786, "Sony E 55-210mm F4.5-6.3 OSS")); - choices.insert(p_t(32787, "Sony E 18-200mm F3.5-6.3 OSS")); - choices.insert(p_t(32788, "Sony E 30mm F3.5 Macro")); - choices.insert(p_t(32789, "Sony E 24mm F1.8 ZA")); - choices.insert(p_t(32790, "Sony E 50mm F1.8 OSS")); - choices.insert(p_t(32791, "Sony E 16-70mm F4 ZA OSS")); - choices.insert(p_t(32792, "Sony E 10-18mm F4 OSS")); - choices.insert(p_t(32793, "Sony E PZ 16-50mm F3.5-5.6 OSS")); - choices.insert(p_t(32794, "Sony FE 35mm F2.8 ZA")); - choices.insert(p_t(32795, "Sony FE 24-70mm F4 ZA OSS")); - choices.insert(p_t(32797, "Sony E 18-200mm F3.5-6.3 OSS LE")); - choices.insert(p_t(32798, "Sony E 20mm F2.8")); - choices.insert(p_t(32799, "Sony E 35mm F1.8 OSS")); - choices.insert(p_t(32800, "Sony E PZ 18-105mm F4 G OSS")); - choices.insert(p_t(32802, "Sony FE 90mm F2.8 Macro G OSS")); - choices.insert(p_t(32803, "Sony E 18-50mm F4-5.6")); - choices.insert(p_t(32807, "Sony E PZ 18-200mm F3.5-6.3 OSS")); - choices.insert(p_t(32808, "Sony FE 55mm F1.8 ZA")); - choices.insert(p_t(32810, "Sony FE 70-200mm F4 G OSS")); - choices.insert(p_t(32811, "Sony FE 16-35mm F4 ZA OSS")); - choices.insert(p_t(32813, "Sony FE 28-70mm F3.5-5.6 OSS")); - choices.insert(p_t(32814, "Sony FE 35mm F1.4 ZA")); - choices.insert(p_t(32815, "Sony FE 24-240mm F3.5-6.3 OSS")); - choices.insert(p_t(32816, "Sony FE 28mm F2")); - choices.insert(p_t(32817, "Sony FE PZ 28-135mm F4 G OSS")); - choices.insert(p_t(32826, "Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)")); - choices.insert(p_t(32827, "Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)")); - choices.insert(p_t(49216, "Zeiss Batis 25mm F2")); - choices.insert(p_t(49217, "Zeiss Batis 85mm F1.8")); + choices.insert(p_t(32784, "Sony E 16mm f/2.8")); + choices.insert(p_t(32785, "Sony E 18-55mm f/3.5-5.6 OSS")); + choices.insert(p_t(32786, "Sony E 55-210mm f/4.5-6.3 OSS")); + choices.insert(p_t(32787, "Sony E 18-200mm f/3.5-6.3 OSS")); + choices.insert(p_t(32788, "Sony E 30mm f/3.5 Macro")); + choices.insert(p_t(32789, "Sony E 24mm f/1.8 ZA")); + choices.insert(p_t(32790, "Sony E 50mm f/1.8 OSS")); + choices.insert(p_t(32791, "Sony E 16-70mm f/4 ZA OSS")); + choices.insert(p_t(32792, "Sony E 10-18mm f/4 OSS")); + choices.insert(p_t(32793, "Sony E PZ 16-50mm f/3.5-5.6 OSS")); + choices.insert(p_t(32794, "Sony FE 35mm f/2.8 ZA")); + choices.insert(p_t(32795, "Sony FE 24-70mm f/4 ZA OSS")); + choices.insert(p_t(32797, "Sony E 18-200mm f/3.5-6.3 OSS LE")); + choices.insert(p_t(32798, "Sony E 20mm f/2.8")); + choices.insert(p_t(32799, "Sony E 35mm f/1.8 OSS")); + choices.insert(p_t(32800, "Sony E PZ 18-105mm f/4 G OSS")); + choices.insert(p_t(32802, "Sony FE 90mm f/2.8 Macro G OSS")); + choices.insert(p_t(32803, "Sony E 18-50mm f/4-5.6")); + choices.insert(p_t(32807, "Sony E PZ 18-200mm f/3.5-6.3 OSS")); + choices.insert(p_t(32808, "Sony FE 55mm f/1.8 ZA")); + choices.insert(p_t(32810, "Sony FE 70-200mm f/4 G OSS")); + choices.insert(p_t(32811, "Sony FE 16-35mm f/4 ZA OSS")); + choices.insert(p_t(32813, "Sony FE 28-70mm f/3.5-5.6 OSS")); + choices.insert(p_t(32814, "Sony FE 35mm f/1.4 ZA")); + choices.insert(p_t(32815, "Sony FE 24-240mm f/3.5-6.3 OSS")); + choices.insert(p_t(32816, "Sony FE 28mm f/2")); + choices.insert(p_t(32817, "Sony FE PZ 28-135mm f/4 G OSS")); + choices.insert(p_t(32826, "Sony FE 21mm f/2.8 (SEL28F20 + SEL075UWC)")); + choices.insert(p_t(32827, "Sony FE 16mm f/3.5 Fisheye (SEL28F20 + SEL057FEC)")); + choices.insert(p_t(49216, "Zeiss Batis 25mm f/2")); + choices.insert(p_t(49217, "Zeiss Batis 85mm f/1.8")); } virtual std::string toString (Tag* t) From 483a8911fc13d2185c50b20a62d31b4b2d73a0e5 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Fri, 28 Aug 2015 22:13:33 +0200 Subject: [PATCH 30/35] Fix wrong handling of MakerNotes in dng files created with HDRMerge from Nikon NEF files --- rtexif/rtexif.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rtexif/rtexif.cc b/rtexif/rtexif.cc index e80467b5d..2aa9c66e0 100644 --- a/rtexif/rtexif.cc +++ b/rtexif/rtexif.cc @@ -1133,7 +1133,13 @@ bool Tag::parseMakerNote(FILE* f, int base, ByteOrder bom ) int basepos = ftell (f); fread (value, 1, 18, f); directory = new TagDirectory*[2]; - directory[0] = new TagDirectory (parent, f, basepos + 10, nikon3Attribs, bom); + // byte order for makernotes can be different from exif byte order. We have to get it from makernotes header + ByteOrder MakerNoteOrder; + if(value[10] == 'M' && value[11] == 'M') + MakerNoteOrder = rtexif::MOTOROLA; + else + MakerNoteOrder = rtexif::INTEL; + directory[0] = new TagDirectory (parent, f, basepos + 10, nikon3Attribs, MakerNoteOrder); directory[1] = NULL; } } else if ( make.find( "Canon" ) != std::string::npos ) { From 98c12219089d9c171aa3d5269733cafb54467073 Mon Sep 17 00:00:00 2001 From: heckflosse Date: Tue, 1 Sep 2015 18:09:46 +0200 Subject: [PATCH 31/35] crash when first two curve points are at x=0, fixes #2888 --- rtengine/diagonalcurves.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rtengine/diagonalcurves.cc b/rtengine/diagonalcurves.cc index 5ef4eefca..f46cdb8cb 100644 --- a/rtengine/diagonalcurves.cc +++ b/rtengine/diagonalcurves.cc @@ -70,6 +70,10 @@ DiagonalCurve::DiagonalCurve (const std::vector& p, int poly_pn) identity = false; } + if(x[0] == 0.f && x[1] == 0.f) + // Avoid crash when first two points are at x = 0 (git Issue 2888) + x[1] = 0.5f; + if (!identity) { if (kind == DCT_Spline && N > 2) { spline_cubic_set (); From 86fb53037d41fdf01789c96c963fcd83db6af529 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Thu, 3 Sep 2015 22:48:32 +0200 Subject: [PATCH 32/35] Fixes #2892 - tone curve node spinbutton range --- rtgui/coordinateadjuster.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rtgui/coordinateadjuster.cc b/rtgui/coordinateadjuster.cc index 76ad1d50c..354e01577 100644 --- a/rtgui/coordinateadjuster.cc +++ b/rtgui/coordinateadjuster.cc @@ -161,7 +161,7 @@ void CoordinateAdjuster::startNumericalAdjustment(const std::vector Gtk::SpinButton *currSpinButton = axisAdjusters.at(i)->spinButton; currSpinButton->set_sensitive(true); float range = axisAdjusters.at(i)->rangeUpperBound - axisAdjusters.at(i)->rangeLowerBound; - currSpinButton->set_range(newBoundaries.at(i).minVal * range + axisAdjusters.at(i)->rangeLowerBound, newBoundaries.at(i).maxVal * range + axisAdjusters.at(i)->rangeUpperBound); + currSpinButton->set_range(newBoundaries.at(i).minVal * range + axisAdjusters.at(i)->rangeLowerBound, newBoundaries.at(i).maxVal * range + axisAdjusters.at(i)->rangeLowerBound); } axisAdjusters.at(0)->spinButton->grab_focus(); @@ -190,7 +190,7 @@ void CoordinateAdjuster::switchAdjustedPoint(std::vector &pos, const std // ...narrow the range to the new interval float range = axisAdjusters.at(i)->rangeUpperBound - axisAdjusters.at(i)->rangeLowerBound; - currAxis->spinButton->set_range(newBoundaries.at(i).minVal * range + axisAdjusters.at(i)->rangeLowerBound, newBoundaries.at(i).maxVal * range + axisAdjusters.at(i)->rangeUpperBound); + currAxis->spinButton->set_range(newBoundaries.at(i).minVal * range + axisAdjusters.at(i)->rangeLowerBound, newBoundaries.at(i).maxVal * range + axisAdjusters.at(i)->rangeLowerBound); // enable events currAxis->spinButtonConn.block(false); From 95b12983b405057d147c6086509535ed228941c9 Mon Sep 17 00:00:00 2001 From: TooWaBoo Date: Fri, 4 Sep 2015 22:26:15 +0200 Subject: [PATCH 33/35] Updated Deutsch translation closing issue #2896 Signed-off-by: Morgan Hardwood --- rtdata/languages/Deutsch | 2453 +++++++++++++++++++------------------ rtdata/languages/Japanese | 6 - 2 files changed, 1228 insertions(+), 1231 deletions(-) diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch index a6e6855d8..33eae1839 100644 --- a/rtdata/languages/Deutsch +++ b/rtdata/languages/Deutsch @@ -19,6 +19,7 @@ #19 Erweiterung (oduis) #20 2013-02-27 Erweiterung (cytrinox) #21 2013-12-31 Erweiterung (Ingo) +#22 2015-09-04 komplette Überarbeitung (TooWaBoo) ABOUT_TAB_BUILD;Version ABOUT_TAB_CREDITS;Danksagungen @@ -27,11 +28,17 @@ ABOUT_TAB_RELEASENOTES;Versionshinweise ABOUT_TAB_SPLASH;Startbild ADJUSTER_RESET_TO_DEFAULT;Standard wiederherstellen BATCHQUEUE_AUTOSTART;Automatisch starten +BATCHQUEUE_DESTFILENAME;Pfad und Dateiname BATCH_PROCESSING;Stapelverarbeitung +CURVEEDITOR_AXIS_IN;x: +CURVEEDITOR_AXIS_LEFT_TAN;LT: +CURVEEDITOR_AXIS_OUT;y: +CURVEEDITOR_AXIS_RIGHT_TAN;RT: CURVEEDITOR_CURVES;Kurven CURVEEDITOR_CURVE;Kurve CURVEEDITOR_CUSTOM;Angepasst CURVEEDITOR_DARKS;Tiefen +CURVEEDITOR_EDITPOINT_HINT;Bearbeitung der Kurvenpunkte über Zahlenwerte.\n\nRechtsklick auf einen Kurvenpunkt um ihn auszuwählen. Rechtsklick in einen leeren Bereich um ihn abzuwählen. CURVEEDITOR_HIGHLIGHTS;Spitzlichter CURVEEDITOR_LIGHTS;Lichter CURVEEDITOR_LINEAR;Linear @@ -42,26 +49,28 @@ CURVEEDITOR_PARAMETRIC;Parametrisch CURVEEDITOR_SAVEDLGLABEL;Kurve speichern... CURVEEDITOR_SHADOWS;Schatten CURVEEDITOR_TOOLTIPCOPY;Kurve in Zwischenablage kopieren -CURVEEDITOR_TOOLTIPLINEAR;Kurve zurücksetzen (Linear) -CURVEEDITOR_TOOLTIPLOAD;Kurve aus Datei laden +CURVEEDITOR_TOOLTIPLINEAR;Kurve zurücksetzen +CURVEEDITOR_TOOLTIPLOAD;Kurve laden CURVEEDITOR_TOOLTIPPASTE;Kurve aus Zwischenablage einfügen CURVEEDITOR_TOOLTIPSAVE;Kurve speichern -CURVEEDITOR_TYPE;Typ -DIRBROWSER_FOLDERS;Verzeichnisse +CURVEEDITOR_TYPE;Typ: +DIRBROWSER_FOLDERS;Ordner EDITWINDOW_TITLE;Bildbearbeitung +EDIT_OBJECT_TOOLTIP;Schaltet das Einstellungswerkzeug im Vorschaubild ein/aus +EDIT_PIPETTE_TOOLTIP;Um einen Punkt der Kurve hinzuzufügen, halten Sie die Strg-Taste gedrückt und klicken mit der linke Maustaste auf die gewünschte Stelle in der Vorschau.\nUm den Punkt anzupassen, halten Sie die Strg-Taste gedrückt und klicken Sie mit der linken Maustaste auf den entsprechenden Bereich in der Vorschau. Dann lassen Sie die Strg-Taste los (es sei denn, Sie möchten eine Feineinstellung vornehmen) und bewegen die Maus bei gedrückter linker Maustaste nach oben oder unten, um den Punkt auf der Kurve zu bewegen. EXIFFILTER_APERTURE;Blende EXIFFILTER_CAMERA;Kamera -EXIFFILTER_EXPOSURECOMPENSATION;Belichtungskorrektur (EV) +EXIFFILTER_EXPOSURECOMPENSATION;Belichtung\nBelichtungskorrektur (EV) EXIFFILTER_FILETYPE;Dateityp EXIFFILTER_FOCALLEN;Brennweite EXIFFILTER_ISO;ISO EXIFFILTER_LENS;Objektiv EXIFFILTER_METADATAFILTER;Metadatenfilter einschalten EXIFFILTER_SHUTTER;Verschlusszeit -EXIFPANEL_ADDEDITHINT;Neues Attribut hinzufügen oder bestehendes ändern -EXIFPANEL_ADDEDIT;Neu/Ändern +EXIFPANEL_ADDEDITHINT;Attribut hinzufügen oder ändern +EXIFPANEL_ADDEDIT;Hinzufügen/Ändern EXIFPANEL_ADDTAGDLG_ENTERVALUE;Wert eingeben -EXIFPANEL_ADDTAGDLG_SELECTTAG;Attribut wählen +EXIFPANEL_ADDTAGDLG_SELECTTAG;Attribut auswählen EXIFPANEL_ADDTAGDLG_TITLE;Attribut hinzufügen/ändern EXIFPANEL_KEEPHINT;Gewählte Attribute beim Erzeugen des Bildes behalten EXIFPANEL_KEEP;Behalten @@ -72,47 +81,49 @@ EXIFPANEL_RESETALL;Alle zurücksetzen EXIFPANEL_RESETHINT;Gewählte Attribute auf die ursprünglichen Werte zurücksetzen EXIFPANEL_RESET;Zurücksetzen EXIFPANEL_SUBDIRECTORY;Unterverzeichnis -EXPORT_BYPASS_ALL;Alle/Keine der Umgehungen auswählen -EXPORT_BYPASS_DEFRINGE;Defringe umgehen -EXPORT_BYPASS_DIRPYRDENOISE;Rauschminderung umgehen -EXPORT_BYPASS_DIRPYREQUALIZER;Kontrast nach Detailstufen umgehen -EXPORT_BYPASS_RAW_CA;Korrektur der Chromatischen\nAberration umgehen [RAW] -EXPORT_BYPASS_RAW_CCSTEPS;Falschfarbenunterdrückung umgehen\n[RAW] -EXPORT_BYPASS_RAW_DCB_ENHANCE;DCB-Verfeinerungsschritt umgehen\n[RAW] -EXPORT_BYPASS_RAW_DCB_ITERATIONS;DCB-Interationen umgehen [RAW] -EXPORT_BYPASS_RAW_DF;Dunkelbild umgehen [RAW] -EXPORT_BYPASS_RAW_FF;Weißbild umgehen [RAW] -EXPORT_BYPASS_RAW_GREENTHRESH;Grün-Ausgleich umgehen [RAW] -EXPORT_BYPASS_RAW_LINENOISE;Zeilenrauschfilter umgehen [RAW] -EXPORT_BYPASS_SHARPENEDGE;Kantenschärfung umgehen -EXPORT_BYPASS_SHARPENING;Schärfung umgehen -EXPORT_BYPASS_SHARPENMICRO;Mikrokontrast umgehen -EXPORT_BYPASS_SH_HQ;Schatten/Lichter umgehen\n(Hohe Qualität) -EXPORT_FASTEXPORTOPTIONS;Schneller Export - Einstellungen -EXPORT_INSTRUCTIONS;Die Einstellungen zum schnellen Export\nerlauben es, zeit- und ressourcenintensive\nEntwicklungsschritte zu umgehen und dafür\ndie Warteschlangenverarbeitung mit\nschnellen Export-Einstellungen auszuführen.\nDieses Vorgehen wird zur schnelleren\nGenerierung von gering aufgelösten Bildern\nempfohlen, falls es auf die Geschwindigkeit\nankommt oder für ein oder mehrere Bilder\nandere Ausgabegrößen gewünscht werden,\nohne Änderungen an deren gespeicherten\nParameter vornehmen zu müssen. +EXPORT_BYPASS_ALL;Alle/Keine auswählen +EXPORT_BYPASS_DEFRINGE;Farbsaum entfernen überspringen +EXPORT_BYPASS_DIRPYRDENOISE;Rauschreduzierung überspringen +EXPORT_BYPASS_DIRPYREQUALIZER;Kontrast nach Detailebenen überspringen +EXPORT_BYPASS_EQUALIZER;Waveletebenen überspringen +EXPORT_BYPASS_RAW_CA;CA-Korrektur überspringen [RAW] +EXPORT_BYPASS_RAW_CCSTEPS;Falschfarbenunterdrückung überspringen\n[RAW] +EXPORT_BYPASS_RAW_DCB_ENHANCE;DCB-Verbesserungsstufen überspringen\n[RAW] +EXPORT_BYPASS_RAW_DCB_ITERATIONS;DCB-Interationen überspringen [RAW] +EXPORT_BYPASS_RAW_DF;Dunkelbild überspringen [RAW] +EXPORT_BYPASS_RAW_FF;Weißbild überspringen [RAW] +EXPORT_BYPASS_RAW_GREENTHRESH;Grün-Ausgleich überspringen [RAW] +EXPORT_BYPASS_RAW_LINENOISE;Zeilenrauschfilter überspringen [RAW] +EXPORT_BYPASS_RAW_LMMSE_ITERATIONS;LMMSE-Verbesserungsstufen überspringen [RAW] +EXPORT_BYPASS_SHARPENEDGE;Kantenschärfung überspringen +EXPORT_BYPASS_SHARPENING;Schärfung überspringen +EXPORT_BYPASS_SHARPENMICRO;Mikrokontrast überspringen +EXPORT_BYPASS_SH_HQ;Schatten/Lichter überspringen\n(Schärfemaske) +EXPORT_FASTEXPORTOPTIONS;Schnell-Export - Einstellungen +EXPORT_INSTRUCTIONS;Die Einstellungen zum schnellen Export\nerlauben es, zeit- und ressourcenintensive\nEntwicklungsschritte zu überspringen und dafür\ndie Warteschlangenverarbeitung mit\nschnellen Export-Einstellungen auszuführen.\nDieses Vorgehen wird zur schnelleren\nGenerierung von gering aufgelösten Bildern\nempfohlen, falls es auf die Geschwindigkeit\nankommt oder für ein oder mehrere Bilder\nandere Ausgabegrößen gewünscht werden,\nohne Änderungen an deren gespeicherten\nParameter vornehmen zu müssen. EXPORT_MAXHEIGHT;Maximale Höhe: EXPORT_MAXWIDTH;Maximale Breite: -EXPORT_PUTTOQUEUEFAST;In Warteschlange zum schnellen Export -EXPORT_RAW_DMETHOD;Farbinterpolation\nMethode -EXTPROGTARGET_1;Raw -EXTPROGTARGET_2;stapelverarbeitet -FILEBROWSER_ADDDELTEMPLATE;Vorlagen hinzu/entfernen... +EXPORT_PUTTOQUEUEFAST; Zur Warteschlange “Schneller Export“ hinzufügen +EXPORT_RAW_DMETHOD;Demosaikmethode +EXTPROGTARGET_1;RAW +EXTPROGTARGET_2;Stapelverarbeitung beendet +FILEBROWSER_ADDDELTEMPLATE;Vorlagen hinzufügen/entfernen... FILEBROWSER_APPLYPROFILE;Profil anwenden FILEBROWSER_APPLYPROFILE_PARTIAL;Profil selektiv anwenden FILEBROWSER_AUTODARKFRAME;Automatisches Dunkelbild FILEBROWSER_AUTOFLATFIELD;Automatisches Weißbild -FILEBROWSER_BROWSEPATHBUTTONHINT;Nebenstehenden Pfad öffnen -FILEBROWSER_BROWSEPATHHINT;Pfad zum Öffnen eingeben\nStrg+O zum Setzen des Fokus\nEingabe (bzw. Strg+Eingabe im Dateimanager) zum Öffnen\n\nSonderzeichen im Pfad:\n~ für Benutzerverzeichnis, ! für Bildverzeichnis des Benutzers -FILEBROWSER_CACHECLEARFROMFULL;Aus dem Cache entfernen (vollständig) -FILEBROWSER_CACHECLEARFROMPARTIAL;Aus dem Cache entfernen (teilweise) -FILEBROWSER_CACHE;Cache +FILEBROWSER_BROWSEPATHBUTTONHINT;Ausgewählter Pfad öffnen +FILEBROWSER_BROWSEPATHHINT;Einen Pfad eingeben:\nTaste:\nStrg + o Setzt den Cursor in das Eingabefeld\nEnter Öffnet den Pfad\nEsc Änderungen verwerfen\nUmschalt + Esc Eingabefeld verlassen\n\nSchnellnavigation:\nTaste:\n~ “Home“-Verzeichnis des Benutzers\n! Bilder-Verzeichnis des Benutzers +FILEBROWSER_CACHECLEARFROMFULL;Aus dem Zwischenspeicher entfernen (vollständig) +FILEBROWSER_CACHECLEARFROMPARTIAL;Aus dem Zwischenspeicher entfernen (teilweise) +FILEBROWSER_CACHE;Zwischenspeicher FILEBROWSER_CLEARPROFILE;Profil löschen -FILEBROWSER_COLORLABEL_TOOLTIP;Farbmarkierung\n\nBenutze Dropdown oder Tastatur:\nShift-Strg-0 Keine\nShift-Strg-1 Rot\nShift-Strg-2 Gelb\nShift-Strg-3 Grün\nShift-Strg-4 Blau\nShift-Strg-5 Violett +FILEBROWSER_COLORLABEL_TOOLTIP;Farbmarkierung\n\nTaste: Strg + Umschalt + 0 Ohne\nTaste: Strg + Umschalt + 1 Rot\nTaste: Strg + Umschalt + 2 Gelb\nTaste: Strg + Umschalt + 3 Grün\nTaste: Strg + Umschalt + 4 Blau\nTaste: Strg + Umschalt + 5 Violett FILEBROWSER_COPYPROFILE;Profil kopieren FILEBROWSER_CURRENT_NAME;Aktueller Name: FILEBROWSER_DARKFRAME;Dunkelbild FILEBROWSER_DELETEDLGLABEL;Dateien löschen -FILEBROWSER_DELETEDLGMSGINCLPROC;Möchten Sie wirklich %1 Datei(en) unwiderruflich löschen, SAMT evtl. zugehörigen, aus der Stapelverarbeitung resultierenden Ausgabedateien? +FILEBROWSER_DELETEDLGMSGINCLPROC;Möchten Sie wirklich %1 Datei(en) unwiderruflich löschen, mit allen aus der Stapelverarbeitung resultierenden zugehörigen Ausgabedateien? FILEBROWSER_DELETEDLGMSG;Möchten Sie wirklich %1 Datei(en) unwiderruflich löschen? FILEBROWSER_EMPTYTRASHHINT;Dateien endgültig aus Papierkorb löschen FILEBROWSER_EMPTYTRASH;Papierkorb leeren @@ -126,6 +137,12 @@ FILEBROWSER_OPENDEFAULTVIEWER;Windows Standard-Betracher (stapelverarbeitet) FILEBROWSER_PARTIALPASTEPROFILE;Profil selektiv einfügen FILEBROWSER_PASTEPROFILE;Profil einfügen FILEBROWSER_POPUPCANCELJOB;Job abbrechen +FILEBROWSER_POPUPCOLORLABEL0;Markierung: Ohne +FILEBROWSER_POPUPCOLORLABEL1;Markierung: Rot +FILEBROWSER_POPUPCOLORLABEL2;Markierung: Gelb +FILEBROWSER_POPUPCOLORLABEL3;Markierung: Grün +FILEBROWSER_POPUPCOLORLABEL4;Markierung: Blau +FILEBROWSER_POPUPCOLORLABEL5;Markierung: Violett FILEBROWSER_POPUPCOLORLABEL;Farbmarkierung FILEBROWSER_POPUPCOPYTO;Kopieren nach... FILEBROWSER_POPUPFILEOPERATIONS;Dateioperationen @@ -134,9 +151,15 @@ FILEBROWSER_POPUPMOVEHEAD;An den Anfang der Warteschlange verschieben FILEBROWSER_POPUPMOVETO;Verschieben nach... FILEBROWSER_POPUPOPENINEDITOR;Im Editor öffnen FILEBROWSER_POPUPOPEN;Öffnen -FILEBROWSER_POPUPPROCESSFAST;In Warteschlange legen (Schnelles Exportieren) -FILEBROWSER_POPUPPROCESS;In Warteschlange legen +FILEBROWSER_POPUPPROCESSFAST;Zur Warteschlange hinzufügen (Schnelles Exportieren) +FILEBROWSER_POPUPPROCESS;Zur Warteschlange hinzufügen FILEBROWSER_POPUPPROFILEOPERATIONS;Profiloperationen +FILEBROWSER_POPUPRANK0;Nicht bewertet +FILEBROWSER_POPUPRANK1;Bewertung 1 * +FILEBROWSER_POPUPRANK2;Bewertung 2 ** +FILEBROWSER_POPUPRANK3;Bewertung 3 *** +FILEBROWSER_POPUPRANK4;Bewertung 4 **** +FILEBROWSER_POPUPRANK5;Bewertung 5 ***** FILEBROWSER_POPUPRANK;Bewertung FILEBROWSER_POPUPREMOVEINCLPROC;Löschen (auch Resultate der Stapelverarbeitung) FILEBROWSER_POPUPREMOVE;Löschen @@ -145,63 +168,72 @@ FILEBROWSER_POPUPSELECTALL;Alle auswählen FILEBROWSER_POPUPTRASH;In den Papierkorb verschieben FILEBROWSER_POPUPUNRANK;Bewertung entfernen FILEBROWSER_POPUPUNTRASH;Aus dem Papierkorb wiederherstellen -FILEBROWSER_QUERYBUTTONHINT;Nebenstehenden Suchfilter zurücksetzen -FILEBROWSER_QUERYHINT;Nur Dateien anzeigen, deren Namen die angegebene\nZeichenkette beinhalten\nStrg+F (im Dateimanager) zum Setzen des Fokus\nEingabe zum Suchen +FILEBROWSER_QUERYBUTTONHINT;Suchfilter zurücksetzen +FILEBROWSER_QUERYHINT;Nur Dateien anzeigen, deren Namen die angegebene Zeichenkette beinhalten.\n\nTaste:\nStrg + f Setzt den Cursor in das Suchfeld\nEnter Suche starten\nEsc Suchfeld löschen\nUmschalt + Esc Suchfeldfeld verlassen FILEBROWSER_QUERYLABEL; Suche: -FILEBROWSER_RANK1_TOOLTIP;Bewertung 1 *\nShift-1 -FILEBROWSER_RANK2_TOOLTIP;Bewertung 2 *\nShift-2 -FILEBROWSER_RANK3_TOOLTIP;Bewertung 3 *\nShift-3 -FILEBROWSER_RANK4_TOOLTIP;Bewertung 4 *\nShift-4 -FILEBROWSER_RANK5_TOOLTIP;Bewertung 5 *\nShift-5 +FILEBROWSER_RANK1_TOOLTIP;Bewertung 1 *\nTaste: Umschalt + 1 +FILEBROWSER_RANK2_TOOLTIP;Bewertung 2 **\nTaste: Umschalt + 2 +FILEBROWSER_RANK3_TOOLTIP;Bewertung 3 ***\nTaste: Umschalt + 3 +FILEBROWSER_RANK4_TOOLTIP;Bewertung 4 ****\nTaste: Umschalt + 4 +FILEBROWSER_RANK5_TOOLTIP;Bewertung 5 *****\nTaste: Umschalt + 5 FILEBROWSER_RENAMEDLGLABEL;Datei umbenennen -FILEBROWSER_RENAMEDLGMSG;Umbenennen der Datei "%1" nach: +FILEBROWSER_RENAMEDLGMSG;Umbenennen der Datei "%1" in: FILEBROWSER_SELECTDARKFRAME;Dunkelbild wählen... FILEBROWSER_SELECTFLATFIELD;Weißbild wählen... -FILEBROWSER_SHOWCOLORLABEL1HINT;Nur rot markierte Bilder anzeigen Alt+1 -FILEBROWSER_SHOWCOLORLABEL2HINT;Nur gelb markierte Bilder anzeigen Alt+2 -FILEBROWSER_SHOWCOLORLABEL3HINT;Nur grün markierte Bilder anzeigen Alt+3 -FILEBROWSER_SHOWCOLORLABEL4HINT;Nur blau markierte Bilder anzeigen Alt+4 -FILEBROWSER_SHOWCOLORLABEL5HINT;Nur violett markierte Bilder anzeigen Alt+5 -FILEBROWSER_SHOWDIRHINT;Nebenstehende Filter zurücksetzen D -FILEBROWSER_SHOWEDITEDHINT;Nur bearbeitete Bilder anzeigen 7 -FILEBROWSER_SHOWEDITEDNOTHINT;Nur unbearbeitete Bilder anzeigen 6 -FILEBROWSER_SHOWEXIFINFO;Bildinformationen ein-/ausblenden I -FILEBROWSER_SHOWRANK1HINT;Nur mit 1 Stern bewertete Bilder anzeigen 1 -FILEBROWSER_SHOWRANK2HINT;Nur mit 2 Sternen bewertete Bilder anzeigen 2 -FILEBROWSER_SHOWRANK3HINT;Nur mit 3 Sternen bewertete Bilder anzeigen 3 -FILEBROWSER_SHOWRANK4HINT;Nur mit 4 Sternen bewertete Bilder anzeigen 4 -FILEBROWSER_SHOWRANK5HINT;Nur mit 5 Sternen bewertete Bilder anzeigen 5 -FILEBROWSER_SHOWRECENTLYSAVEDHINT;Nur kürzlich gespeicherte Bilder anzeigen Alt+7 -FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Nur nicht kürzlich gespeicherte Bilder anzeigen Alt+6 -FILEBROWSER_SHOWTRASHHINT;Inhalt des Papierkorbs anzeigen Strg-t -FILEBROWSER_SHOWUNCOLORHINT;Nur unmarkierte Bilder anzeigen Alt+0 -FILEBROWSER_SHOWUNRANKHINT;Nur unbewertete Bilder anzeigen 0 -FILEBROWSER_STARTPROCESSINGHINT;Verarbeitung/Speichern der Bilder in der Warteschlange starten +FILEBROWSER_SHOWCOLORLABEL1HINT;Nur rot markierte Bilder anzeigen\nTaste: Alt + 1 +FILEBROWSER_SHOWCOLORLABEL2HINT;Nur gelb markierte Bilder anzeigen\nTaste: Alt + 2 +FILEBROWSER_SHOWCOLORLABEL3HINT;Nur grün markierte Bilder anzeigen\nTaste: Alt + 3 +FILEBROWSER_SHOWCOLORLABEL4HINT;Nur blau markierte Bilder anzeigen\nTaste: Alt + 4 +FILEBROWSER_SHOWCOLORLABEL5HINT;Nur violett markierte Bilder anzeigen\nTaste: Alt + 5 +FILEBROWSER_SHOWDIRHINT;Alle Filter zurücksetzen\nTaste: d +FILEBROWSER_SHOWEDITEDHINT;Nur bearbeitete Bilder anzeigen\nTaste: 7 +FILEBROWSER_SHOWEDITEDNOTHINT;Nur unbearbeitete Bilder anzeigen\nTaste: 6 +FILEBROWSER_SHOWEXIFINFO;Bildinformationen ein-/ausblenden\n\nIm Multi-Reitermodus:\nTaste: i\nIm Ein-Reitermodus:\nTaste: Alt + i +FILEBROWSER_SHOWNOTTRASHHINT;Nur nicht gelöschte Bilder anzeigen +FILEBROWSER_SHOWRANK1HINT;Nur mit 1 Stern bewertete Bilder anzeigen\nTaste: 1 +FILEBROWSER_SHOWRANK2HINT;Nur mit 2 Sternen bewertete Bilder anzeigen\nTaste: 2 +FILEBROWSER_SHOWRANK3HINT;Nur mit 3 Sternen bewertete Bilder anzeigen\nTaste: 3 +FILEBROWSER_SHOWRANK4HINT;Nur mit 4 Sternen bewertete Bilder anzeigen\nTaste: 4 +FILEBROWSER_SHOWRANK5HINT;Nur mit 5 Sternen bewertete Bilder anzeigen\nTaste: 5 +FILEBROWSER_SHOWRECENTLYSAVEDHINT;Nur gespeicherte Bilder anzeigen\nTaste: Alt + 7 +FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Nur nicht gespeicherte Bilder anzeigen\nTaste: Alt + 6 +FILEBROWSER_SHOWTRASHHINT;Inhalt des Papierkorbs anzeigen\nTaste: Strg + t +FILEBROWSER_SHOWUNCOLORHINT;Nur unmarkierte Bilder anzeigen\nTaste: Alt + 0 +FILEBROWSER_SHOWUNRANKHINT;Nur unbewertete Bilder anzeigen\nTaste: 0 +FILEBROWSER_STARTPROCESSINGHINT;Verarbeitung und Speichern der Bilder in der Warteschlange starten.\nTaste: Strg + s FILEBROWSER_STARTPROCESSING;Verarbeitung starten -FILEBROWSER_STOPPROCESSINGHINT;Verarbeitung der Bilder stoppen +FILEBROWSER_STOPPROCESSINGHINT;Verarbeitung der Bilder stoppen\nTaste: Strg + s FILEBROWSER_STOPPROCESSING;Verarbeitung stoppen -FILEBROWSER_THUMBSIZE;Größe der Vorschau +FILEBROWSER_THUMBSIZE;Miniaturbildgröße FILEBROWSER_TOOLTIP_STOPPROCESSING;Bei neuem Job die Verarbeitung automatisch starten -FILEBROWSER_UNRANK_TOOLTIP;Bewertung entfernen\nShift-0 -FILEBROWSER_ZOOMINHINT;Voransichten vergrößern + -FILEBROWSER_ZOOMOUTHINT;Voransichten verkleinern - +FILEBROWSER_UNRANK_TOOLTIP;Bewertung entfernen\nTaste: Umschalt + 0 +FILEBROWSER_ZOOMINHINT;Miniaturbilder vergrößern\n\nIm Multi-Reitermodus:\nTaste: +\nIm Ein-Reitermodus:\nTaste: Alt + +FILEBROWSER_ZOOMOUTHINT;Miniaturbilder verkleinern\n\nIm Multi-Reitermodus:\nTaste: -\nIm Ein-Reitermodus:\nTaste: Alt - +FILECHOOSER_FILTER_ANY;Alle Dateien +FILECHOOSER_FILTER_COLPROF;Farbprofile +FILECHOOSER_FILTER_CURVE;Kurvendateien +FILECHOOSER_FILTER_LCP;Objektivkorrekturprofile +FILECHOOSER_FILTER_PP;Verarbeitungsprofile +FILECHOOSER_FILTER_SAME;Gleiche Format wie aktuelles Bild +FILECHOOSER_FILTER_TIFF;TIFF-Dateien GENERAL_ABOUT;Über GENERAL_AFTER;Nachher +GENERAL_ASIMAGE;Als Bild GENERAL_AUTO;Automatisch GENERAL_BEFORE;Vorher GENERAL_CANCEL;Abbruch GENERAL_CLOSE;Schließen GENERAL_DISABLED;Deaktiviert GENERAL_DISABLE;Deaktivieren -GENERAL_ENABLED;Aktiv +GENERAL_ENABLED;Aktiviert GENERAL_ENABLE;Aktivieren GENERAL_FILE;Datei GENERAL_LANDSCAPE;Quer GENERAL_NA;n/a -GENERAL_NONE;Keins +GENERAL_NONE;Keine GENERAL_NO;Nein GENERAL_OK;OK -GENERAL_PORTRAIT;Hoch +GENERAL_PORTRAIT;Portrait GENERAL_SAVE;Speichern GENERAL_UNCHANGED;(Unverändert) GENERAL_WARNING;Warnung @@ -213,152 +245,152 @@ HISTOGRAM_TOOLTIP_G;Grün-Histogramm ein-/ausblenden HISTOGRAM_TOOLTIP_L;CIELab-Luminanz-Histogramm ein-/ausblenden HISTOGRAM_TOOLTIP_RAW;Zwischen normalen Histogrammen und\nRAW-Histogrammen umschalten HISTOGRAM_TOOLTIP_R;Rot-Histogramm ein-/ausblenden -HISTORY_CHANGED;Verändert -HISTORY_CUSTOMCURVE;Benutzerdefinierte Kurve -HISTORY_DELSNAPSHOT;Entf. +HISTORY_CHANGED;Geändert +HISTORY_CUSTOMCURVE;Benutzerdefiniert +HISTORY_DELSNAPSHOT;Entfernen HISTORY_FROMCLIPBOARD;Aus der Zwischenablage HISTORY_LABEL;Historie HISTORY_MSG_1;Bild geladen HISTORY_MSG_2;Profil geladen HISTORY_MSG_3;Profil geändert -HISTORY_MSG_4;Historie durchsehen -HISTORY_MSG_5;Helligkeit -HISTORY_MSG_6;Kontrast -HISTORY_MSG_7;Schwarz -HISTORY_MSG_8;Belichtungskorrektur -HISTORY_MSG_9;Lichter-Kompression -HISTORY_MSG_10;Schatten-Kompression -HISTORY_MSG_11;Tonwertkurve 1 -HISTORY_MSG_12;Automatische Belichtung -HISTORY_MSG_13;Belichtungsbeschneidung -HISTORY_MSG_14;Luminanz Helligkeit -HISTORY_MSG_15;Luminanz Kontrast -HISTORY_MSG_16;Luminanz Schwarz -HISTORY_MSG_17;Luminanz Lichter-Kompression -HISTORY_MSG_18;Luminanz Schatten-Kompression -HISTORY_MSG_19;'L'-Kurve +HISTORY_MSG_4;Historie durchsuchen +HISTORY_MSG_5;Belichtung\nHelligkeit +HISTORY_MSG_6;Belichtung\nKontrast +HISTORY_MSG_7;Belichtung\nSchwarzwert +HISTORY_MSG_8;Belichtung\nBelichtungskorrektur +HISTORY_MSG_9;Belichtung\nLichterkompression +HISTORY_MSG_10;Belichtung\nSchattenkompression +HISTORY_MSG_11;Belichtung\nTonwertkurve 1 +HISTORY_MSG_12;Belichtung - Auto +HISTORY_MSG_13;Belichtung\nAuto-Grenzwert +HISTORY_MSG_14;L*a*b* - Helligkeit +HISTORY_MSG_15;L*a*b* - Kontrast +HISTORY_MSG_16;- +HISTORY_MSG_17;- +HISTORY_MSG_18;- +HISTORY_MSG_19;L*a*b* - L-Kurve HISTORY_MSG_20;Schärfung -HISTORY_MSG_21;Unscharfmaskierung\nRadius -HISTORY_MSG_22;Unscharfmaskierung\nStärke -HISTORY_MSG_23;Unscharfmaskierung\nSchwellenwert -HISTORY_MSG_24;Unscharfmaskierung\nNur Kanten -HISTORY_MSG_25;Unscharfmaskierung\nKanten Radius -HISTORY_MSG_26;Unscharfmaskierung\nKanten Toleranz -HISTORY_MSG_27;Unscharfmaskierung\nHalo-Kontrolle -HISTORY_MSG_28;Unscharfmaskierung\nHalo-Kontrolle Stärke -HISTORY_MSG_29;Schärfung Methode -HISTORY_MSG_30;Dekonvolution Radius -HISTORY_MSG_31;Dekonvolution Stärke -HISTORY_MSG_32;Dekonvolution\nDämpfung -HISTORY_MSG_33;Dekonvolution\nIterationen -HISTORY_MSG_34;LCP Verzerrung -HISTORY_MSG_35;LCP Vignettierung -HISTORY_MSG_36;LCP CA -HISTORY_MSG_37;Farbverstärkung +HISTORY_MSG_21;Schärfung\nUnschärfemaskierung\nRadius +HISTORY_MSG_22;Schärfung\nUnschärfemaskierung\nStärke +HISTORY_MSG_23;Schärfung\nUnschärfemaskierung\nSchwellenwert +HISTORY_MSG_24;Schärfung\nUnschärfemaskierung\nNur Kanten schärfen +HISTORY_MSG_25;Schärfung\nUnschärfemaskierung\nKantenradius +HISTORY_MSG_26;Schärfung\nUnschärfemaskierung\nKantentoleranz +HISTORY_MSG_27;Schärfung\nUnschärfemaskierung\nHalokontrolle +HISTORY_MSG_28;Schärfung\nUnschärfemaskierung\nHalokontrolle - Stärke +HISTORY_MSG_29;Schärfung - Methode +HISTORY_MSG_30;Schärfung\nDekonvolution\nRadius +HISTORY_MSG_31;Schärfung\nDekonvolution\nStärke +HISTORY_MSG_32;Schärfung\nDekonvolution\nDämpfung +HISTORY_MSG_33;Schärfung\nDekonvolution\nIterationen +HISTORY_MSG_34;Objektivkorrektur\nProfil\nVerzeichnung +HISTORY_MSG_35;Objektivkorrektur\nProfil\nVignettierung +HISTORY_MSG_36;Objektivkorrektur\nProfil\nCA-Korrektur +HISTORY_MSG_37;Belichtung - Auto HISTORY_MSG_38;Weißabgleich Methode -HISTORY_MSG_39;Weißabgleich Farbtemp. -HISTORY_MSG_40;Weißabgleich Farbton -HISTORY_MSG_41;Tonewertkurve Modus 1 -HISTORY_MSG_42;Tonwertkurve 2 -HISTORY_MSG_43;Tonewertkurve Modus 2 -HISTORY_MSG_44;Luminanz-Rauschfilter Radius -HISTORY_MSG_45;Luminanz-Rauschfilter Kantentoleranz +HISTORY_MSG_39;Weißabgleich\nFarbtemperatur +HISTORY_MSG_40;Weißabgleich\nTönung +HISTORY_MSG_41;Belichtung\nTonwertkurve 1\nModus +HISTORY_MSG_42;Belichtung\nTonwertkurve 2 +HISTORY_MSG_43;Belichtung\nTonwertkurve 2\nModus +HISTORY_MSG_44;Luminanz-Rauschfilter\nRadius +HISTORY_MSG_45;Luminanz-Rauschfilter\nKantentoleranz HISTORY_MSG_46;Farb-Rauschfilter -HISTORY_MSG_47;ICC Lichter aus Matrix einmischen -HISTORY_MSG_48;DCP Tonwertkurve verwenden -HISTORY_MSG_49;Farb-Rauschfilter Kantensuche +HISTORY_MSG_47;ICC Lichter aus Matrix\nüberlagern +HISTORY_MSG_48;Eingangsfarbprofil\nDCP\nTonwertkurve +HISTORY_MSG_49;Eingangsfarbprofil\n DCP\nIllumination HISTORY_MSG_50;Schatten/Lichter -HISTORY_MSG_51;Lichter abschwächen -HISTORY_MSG_52;Schatten verstärken -HISTORY_MSG_53;Tonweite Lichter -HISTORY_MSG_54;Tonweite Schatten -HISTORY_MSG_55;Lokaler Kontrast -HISTORY_MSG_56;Schatten/Lichter Radius +HISTORY_MSG_51;Schatten/Lichter\nLichter +HISTORY_MSG_52;Schatten/Lichter\nSchatten +HISTORY_MSG_53;Schatten/Lichter\nTonwertbreite\nLichter +HISTORY_MSG_54;Schatten/Lichter\nTonwertbreite\nSchatten +HISTORY_MSG_55;Schatten/Lichter\nLokaler Kontrast +HISTORY_MSG_56;Schatten/Lichter\nRadius HISTORY_MSG_57;Grobe Drehung HISTORY_MSG_58;Horizontal spiegeln HISTORY_MSG_59;Vertikal spiegeln -HISTORY_MSG_60;Drehung - Grad -HISTORY_MSG_61;Auto-Füllen -HISTORY_MSG_62;Verzeichnungskorrektur -HISTORY_MSG_63;Variante gewählt -HISTORY_MSG_64;Bild beschneiden -HISTORY_MSG_65;Farbsaum entfernen -HISTORY_MSG_66;Lichter wiederherstellen -HISTORY_MSG_67;Lichter wiederherstellen\nStärke -HISTORY_MSG_68;Lichter wiederherstellen\nMethode -HISTORY_MSG_69;Aktueller Farbraum -HISTORY_MSG_70;Farbraum für Ausgabe -HISTORY_MSG_71;Farbraum für Eingabe -HISTORY_MSG_72;Vignettierungskorrektur -HISTORY_MSG_73;Kanal-Mixer -HISTORY_MSG_74;Größe ändern - Maßstab -HISTORY_MSG_75;Größe ändern - Methode +HISTORY_MSG_60;Objektivkorrektur\nDrehen - Grad +HISTORY_MSG_61;Objektivkorrektur\nAuto-Füllen +HISTORY_MSG_62;Objektivkorrektur\nVerzeichnung +HISTORY_MSG_63;Schnappschuss\nausgewählt +HISTORY_MSG_64;Ausschnitt +HISTORY_MSG_65;Objektivkorrektur\nFarbsaum entfernen +HISTORY_MSG_66;Belichtung\nLichter rekonstruieren +HISTORY_MSG_67;Belichtung\nLichterkompression\nUmfang +HISTORY_MSG_68;Belichtung\nLichterkompression\nMethode +HISTORY_MSG_69;Farbmanagement\nArbeitsfarbraum +HISTORY_MSG_70;Farbmanagement\nAusgabeprofil +HISTORY_MSG_71;Eingangsfarbprofil +HISTORY_MSG_72;Objektivkorrektur\nVignettierung\nStärke +HISTORY_MSG_73;RGB-Kanalmixer +HISTORY_MSG_74;Größe ändern\nMaßstab +HISTORY_MSG_75;Größe ändern\nMethode HISTORY_MSG_76;Exif Metadaten HISTORY_MSG_77;IPTC Metadaten -HISTORY_MSG_78;Angaben für Größenänderung +HISTORY_MSG_78;- HISTORY_MSG_79;Größe ändern - Breite HISTORY_MSG_80;Größe ändern - Höhe HISTORY_MSG_81;Größe ändern HISTORY_MSG_82;Profil geändert -HISTORY_MSG_83;Schatten/Lichter\nHohe Qualität -HISTORY_MSG_84;Perspektive - Korrektur -HISTORY_MSG_85;Linsenkorrektur-Profil -HISTORY_MSG_86;Wavelet-Mixer -HISTORY_MSG_87;Impulsrauschminderung -HISTORY_MSG_88;Impulsrauschminderung\nSchwellenwert -HISTORY_MSG_89;Rauschminderung -HISTORY_MSG_90;Rauschminderung\nLuminanz -HISTORY_MSG_91;Rauschminderung\nChrominanz -HISTORY_MSG_92;Rauschminderung\nGamma -HISTORY_MSG_93;Kontrast - Detailstufen\nParameter -HISTORY_MSG_94;Kontrast - Detailstufen -HISTORY_MSG_95;Sättigung -HISTORY_MSG_96;'a'-Kurve -HISTORY_MSG_97;'b'-Kurve -HISTORY_MSG_98;Entrasterung Methode -HISTORY_MSG_99;Hot/Dead-Pixel-Filter -HISTORY_MSG_100;RGB Sättigung -HISTORY_MSG_101;HSV-Equalizer Farbton -HISTORY_MSG_102;HSV-Equalizer Sättigung -HISTORY_MSG_103;HSV-Equalizer Hellwert -HISTORY_MSG_104;HSV-Equalizer -HISTORY_MSG_105;Defringe -HISTORY_MSG_106;Defringe Radius -HISTORY_MSG_107;Defringe Schwellenwert -HISTORY_MSG_108;Lichter-Kompression\nSchwellenwert +HISTORY_MSG_83;Schatten/Lichter\nSchärfemaske +HISTORY_MSG_84;Objektivkorrektur\nPerspektive +HISTORY_MSG_85;Objektivkorrektur\nProfil +HISTORY_MSG_86;RGB-Kurven\nHelligkeitsmodus +HISTORY_MSG_87;Impulsrauschred. +HISTORY_MSG_88;Impulsrauschred.\nSchwellenwert +HISTORY_MSG_89;Rauschreduzierung +HISTORY_MSG_90;Rauschreduzierung\nLuminanz +HISTORY_MSG_91;Rauschreduzierung\nChrominanz (Master) +HISTORY_MSG_92;Rauschreduzierung\nGamma +HISTORY_MSG_93;Kontrast nach\nDetailebenen - Wert +HISTORY_MSG_94;Kontrast nach\nDetailebenen +HISTORY_MSG_95;L*a*b* - Chromatizität +HISTORY_MSG_96;L*a*b* - a-Kurve +HISTORY_MSG_97;L*a*b* - b-Kurve +HISTORY_MSG_98;Demosaikmethode +HISTORY_MSG_99;Vorverarbeitung\nHot-Pixel-Filter +HISTORY_MSG_100;Belichtung\nSättigung +HISTORY_MSG_101;HSV - Farbton (H) +HISTORY_MSG_102;HSV - Sättigung (S) +HISTORY_MSG_103;HSV - Dynamik (V) +HISTORY_MSG_104;HSV +HISTORY_MSG_105;Farbsaum entfernen +HISTORY_MSG_106;Farbsaum entfernen\nRadius +HISTORY_MSG_107;Farbsaum entfernen\nSchwellenwert +HISTORY_MSG_108;Belichtung\nLichterkompression\nSchwellenwert HISTORY_MSG_109;Größe ändern\nBegrenzungsrahmen -HISTORY_MSG_110;Größenänderung gilt für -HISTORY_MSG_111;Farbbeschneidungen\nverhindern -HISTORY_MSG_112;Sättigungsbegrenzung -HISTORY_MSG_113;Sättigungsgrenze +HISTORY_MSG_110;Größe ändern\nGilt für +HISTORY_MSG_111;L*a*b*\nFarbverschiebung\nvermeiden +HISTORY_MSG_112;--unused-- +HISTORY_MSG_113;L*a*b* - Hautfarbtöne\nschützen HISTORY_MSG_114;DCB-Iterationen -HISTORY_MSG_115;Falschfarben-Iterationen -HISTORY_MSG_116;DCB-Verfeinerung +HISTORY_MSG_115;Falschfarben-\nunterdrückung +HISTORY_MSG_116;DCB-Verbesserung HISTORY_MSG_117;CA-Korrektur Rot HISTORY_MSG_118;CA-Korrektur Blau HISTORY_MSG_119;Zeilenrauschfilter HISTORY_MSG_120;Grün-Ausgleich -HISTORY_MSG_121;Autom. CA -HISTORY_MSG_122;Autom. Dunkelbild +HISTORY_MSG_121;Autom. CA-Korrektur +HISTORY_MSG_122;Dunkelbild\nAutom. Auswahl HISTORY_MSG_123;Dunkelbild - Datei -HISTORY_MSG_124;Belichtungskorrektur\nLinear -HISTORY_MSG_125;Belichtungskorrektur\nLichter bewahren +HISTORY_MSG_124;Weißpunktkorrektur +HISTORY_MSG_125;Belichtungskorrektur\nLichter schützen HISTORY_MSG_126;Weißbild - Datei -HISTORY_MSG_127;Autom. Weißbild -HISTORY_MSG_128;Weißbild Unschärferadius -HISTORY_MSG_129;Weißbild Unschärfetyp +HISTORY_MSG_127;Weißbild\nAutom. Auswahl +HISTORY_MSG_128;Weißbild\nUnschärferadius +HISTORY_MSG_129;Weißbild\nUnschärfetyp HISTORY_MSG_130;Autom. Verzeichnung -HISTORY_MSG_131;Rauschminderung\nLuminanz -HISTORY_MSG_132;Rauschminderung\nChrominanz -HISTORY_MSG_133;Gamma -HISTORY_MSG_134;Gamma Position -HISTORY_MSG_135;Freies Gamma -HISTORY_MSG_136;Gamma Gradient -HISTORY_MSG_137;Schwarzpegel Grün 1 -HISTORY_MSG_138;Schwarzpegel Rot -HISTORY_MSG_139;Schwarzpegel Blau -HISTORY_MSG_140;Schwarzpegel Grün 2 -HISTORY_MSG_141;Schwarzpegel\nGrün-Werte angleichen +HISTORY_MSG_131;Rauschreduzierung\nLuminanz +HISTORY_MSG_132;Rauschreduzierung\nChrominanz +HISTORY_MSG_133;Farbmanagement\nAusgabeprofil\nAusgabe-Gamma +HISTORY_MSG_134;Farbmanagement\nAusgabeprofil\nGamma +HISTORY_MSG_135;Farbmanagement\nAusgabeprofil\nFreies Gamma +HISTORY_MSG_136;Farbmanagement\nAusgabeprofil\nGradient (linear) +HISTORY_MSG_137;Schwarzpunkt Grün 1 +HISTORY_MSG_138;Schwarzpunkt Rot +HISTORY_MSG_139;Schwarzpunkt Blau +HISTORY_MSG_140;Schwarzpunkt Grün 2 +HISTORY_MSG_141;Schwarzpunkt\nGrün-Werte angleichen HISTORY_MSG_142;Kantenschärfung\nIterationen HISTORY_MSG_143;Kantenschärfung\nStärke HISTORY_MSG_144;Mikrokontrast\nStärke @@ -367,234 +399,432 @@ HISTORY_MSG_146;Kantenschärfung HISTORY_MSG_147;Kantenschärfung\nNur Luminanz HISTORY_MSG_148;Mikrokontrast HISTORY_MSG_149;Mikrokontrast\n3×3-Matrix -HISTORY_MSG_150;Artifakt-/Rauschmind.\nnach Farbinterpolation +HISTORY_MSG_150;Artefakt-/Rauschred.\nnach Farbinterpolation HISTORY_MSG_151;Dynamik -HISTORY_MSG_152;Dynamik - Pastelltöne +HISTORY_MSG_152;Dynamik\nPastelltöne HISTORY_MSG_153;Dynamik\nGesättigte Töne -HISTORY_MSG_154;Dynamik\nHauttöne schützen -HISTORY_MSG_155;Dynamik - Farbver-\nschiebungen verhindern -HISTORY_MSG_156;Dynamik - Pastellene und\ngesättigte Töne koppeln -HISTORY_MSG_157;Dynamik - Schwellenwert\nPastell / gesättigte Töne -HISTORY_MSG_158;Tone Mapping\nStärke -HISTORY_MSG_159;Tone Mapping\nKantenschutz -HISTORY_MSG_160;Tone Mapping\nFaktor -HISTORY_MSG_161;Tone Mapping\nNeugewichtung -HISTORY_MSG_162;Tone Mapping -HISTORY_MSG_163;RGB-Kurven - R -HISTORY_MSG_164;RGB-Kurven - G -HISTORY_MSG_165;RGB-Kurven - B -HISTORY_MSG_166;Neutrale Belichtung -HISTORY_MSG_167;S&W Tonung -HISTORY_MSG_168;'CC' Kurve -HISTORY_MSG_169;'CH' Kurve -HISTORY_MSG_170;Vibrance - Kurve -HISTORY_MSG_171;'LC' Kurve -HISTORY_MSG_172;LC beschränken auf Rot- und Hauttöne -HISTORY_MSG_173;NR - Leuchtdichte Detail +HISTORY_MSG_154;Dynamik\nHautfarbtöne schützen +HISTORY_MSG_155;Dynamik\nFarbverschiebungen\nvermeiden +HISTORY_MSG_156;Dynamik\nPastell und gesättigte\nTöne koppeln +HISTORY_MSG_157;Dynamik\nPastell/gesättigte Töne\nSchwellenwert +HISTORY_MSG_158;Dynamikkompression\nStärke +HISTORY_MSG_159;Dynamikkompression\nKantenschutz +HISTORY_MSG_160;Dynamikkompression\nFaktor +HISTORY_MSG_161;Dynamikkompression\nIterationen +HISTORY_MSG_162;Dynamikkompression +HISTORY_MSG_163;RGB-Kurven - Rot +HISTORY_MSG_164;RGB-Kurven - Grün +HISTORY_MSG_165;RGB-Kurven - Blau +HISTORY_MSG_166;Belichtung - Neutral +HISTORY_MSG_167;--unused-- +HISTORY_MSG_168;L*a*b* - CC-Kurve +HISTORY_MSG_169;L*a*b* - CH-Kurve +HISTORY_MSG_170;Dynamik - HH-Kurve +HISTORY_MSG_171;L*a*b* - LC-Kurve +HISTORY_MSG_172;L*a*b* - LC-Kurve\nbeschränken +HISTORY_MSG_173;Rauschreduzierung\nLuminanz-Details HISTORY_MSG_174;CIECAM02 -HISTORY_MSG_175;CAM02 - Umfang der chrom. Anpassung -HISTORY_MSG_176;CAM02 - Dunkle Umgebung des Betrachters -HISTORY_MSG_177;CAM02 - Adaptation der Szenen-Luminanz -HISTORY_MSG_178;CAM02 - Adaption der Luminanz des Betrachters -HISTORY_MSG_179;CAM02 - Modell -HISTORY_MSG_180;CAM02 - Rel. Helligkeit (J) -HISTORY_MSG_181;CAM02 - Buntheit (C) -HISTORY_MSG_182;CAM02 - Automatisch CAT02 +HISTORY_MSG_175;CAM02 - CAT02\nAdaptation +HISTORY_MSG_176;CAM02 - Umgebung +HISTORY_MSG_177;CAM02 - Szene\nLeuchtstärke +HISTORY_MSG_178;CAM02\nBetrachtungsbed.\nLeuchtstärke +HISTORY_MSG_179;CAM02 - Weißpunkt-\nmodell +HISTORY_MSG_180;CAM02 - Helligkeit (J) +HISTORY_MSG_181;CAM02 - Buntheit (H) +HISTORY_MSG_182;CAM02 - CAT02\nAutomatisch HISTORY_MSG_183;CAM02 - Kontrast (J) -HISTORY_MSG_184;CAM02 - Szene in dunkler Umgebung -HISTORY_MSG_185;CAM02 - Gamut Kontrolle +HISTORY_MSG_184;CAM02 - Dunkle\nUmgebung +HISTORY_MSG_185;CAM02\nGamutkontrolle HISTORY_MSG_186;CAM02 - Algorithmus -HISTORY_MSG_187;CAM02 - Rot & Hauttöne schützen -HISTORY_MSG_188;CAM02 - Absolute Helligkeit (Q) +HISTORY_MSG_187;CAM02 - Hautfarbtöne\nschützen +HISTORY_MSG_188;CAM02 - Helligkeit (Q) HISTORY_MSG_189;CAM02 - Kontrast (Q) HISTORY_MSG_190;CAM02 - Sättigung (S) HISTORY_MSG_191;CAM02 - Farbigkeit (M) -HISTORY_MSG_192;CAM02 - Buntton (Winkel) -HISTORY_MSG_193;CAM02 - Tonwertkurve 1 -HISTORY_MSG_194;CAM02 - Tonwertkurve 2 -HISTORY_MSG_195;CAM02 - Tonwertkurve 1 -HISTORY_MSG_196;CAM02 - Tonwertkurve 2 +HISTORY_MSG_192;CAM02 - Farbton (H) +HISTORY_MSG_193;CAM02\nTonwertkurve 1 +HISTORY_MSG_194;CAM02\nTonwertkurve 2 +HISTORY_MSG_195;CAM02\nTonwertkurve 1\nModus +HISTORY_MSG_196;CAM02\nTonwertkurve 2\nModus HISTORY_MSG_197;CAM02 - Farbkurve -HISTORY_MSG_198;CAM02 - Farbkurve -HISTORY_MSG_199;CAM02 - CIECAM02 Ausgabe-Histogramm als Kurve anzeigen -HISTORY_MSG_200;CAMO2 - Tone mapping mit CIECAM02 Q -HISTORY_MSG_201;NR - Delta Chrominanz Rot -HISTORY_MSG_202;NR - Delta Chrominanz Blau -HISTORY_MSG_203;NR - Methode -HISTORY_MSG_208;Blau/Rot Equalizer -HISTORY_MSG_210;Grauverlauff. - Winkel -HISTORY_MSG_211;Grauverlauffilter -HISTORY_MSG_212;Vignettierungsf. - Stärke +HISTORY_MSG_198;CAM02 - Farbkurve\nModus +HISTORY_MSG_199;CAM02 - Ausgabe-\nHistogramm +HISTORY_MSG_200;CAM02\nDynamikkompression +HISTORY_MSG_201;Rauschreduzierung\nDelta-Chrominanz\nRot/Grün +HISTORY_MSG_202;Rauschreduzierung\nDelta-Chrominanz\nBlau/Gelb +HISTORY_MSG_203;Rauschreduzierung\nMethode +HISTORY_MSG_204;LMMSE-\nVerbesserung +HISTORY_MSG_205;CAM02 - Hot/Bad-\nPixelfilter +HISTORY_MSG_206;CAT02 - Auto-Szenen-\nLuminanz +HISTORY_MSG_207;Farbsaum entfernen\nFarbtonkurve +HISTORY_MSG_208;Weißabgleich\nBau/Rot-Korrektur +HISTORY_MSG_210;Grauverlaufsfilter\nRotationswinkel +HISTORY_MSG_211;Grauverlaufsfilter +HISTORY_MSG_212;Vignettierungsfilter\nStärke HISTORY_MSG_213;Vignettierungsfilter -HISTORY_MSG_214;SW -HISTORY_MSG_215;SW Kanal-Mixer Rot -HISTORY_MSG_216;SW Kanal-Mixer Grün -HISTORY_MSG_217;SW Kanal-Mixer Blau -HISTORY_MSG_218;SW Rot Gamma -HISTORY_MSG_219;SW Grün Gamma -HISTORY_MSG_220;SW Blau Gamma -HISTORY_MSG_221;SW Farb-Filter -HISTORY_MSG_222;SW Voreinstellung -HISTORY_MSG_230;SW Methode -HISTORY_MSG_235;SW Autom. Kanal-Mixer -HISTORY_MSG_237;SW Kanal-Mixer -HISTORY_MSG_238;Grauverlauff. - Verlauf -HISTORY_MSG_239;Grauverlauff. - Stärke -HISTORY_MSG_240;Grauverlauff. - Rotationsachse -HISTORY_MSG_241;Vignettierungsf. - Verlauf -HISTORY_MSG_242;Vignettierungsf. - Rundheit -HISTORY_MSG_243;Vignett.Korrektur - Radius -HISTORY_MSG_244;Vignett.Korrektur - Faktor -HISTORY_MSG_245;Vignett.Korrektur - Zentrum -HISTORY_MSG_246;'CL' Kurve -HISTORY_MSG_247;'LH' Kurve -HISTORY_MSG_248;'HH' Kurve -HISTORY_MSG_249;Kontrast - Detailstufen Schwellenwert -HISTORY_NEWSNAPSHOT;Hinzuf. -HISTORY_NEWSNAPSHOT_TOOLTIP;Kürzel: Alt-s -HISTORY_SNAPSHOTS;Varianten -HISTORY_SNAPSHOT;Variante +HISTORY_MSG_214;Schwarz/Weiß +HISTORY_MSG_215;Schwarz/Weiß - Rot +HISTORY_MSG_216;Schwarz/Weiß - Grün +HISTORY_MSG_217;Schwarz/Weiß - Blau +HISTORY_MSG_218;Schwarz/Weiß\nGamma - Rot +HISTORY_MSG_219;Schwarz/Weiß\nGamma - Grün +HISTORY_MSG_220;Schwarz/Weiß\nGamma - Blau +HISTORY_MSG_221;Schwarz/Weiß\nFarbfilter +HISTORY_MSG_222;Schwarz/Weiß\nVorgaben +HISTORY_MSG_223;Schwarz/Weiß - Orange +HISTORY_MSG_224;Schwarz/Weiß - Gelb +HISTORY_MSG_225;Schwarz/Weiß - Cyan +HISTORY_MSG_226;Schwarz/Weiß - Magenta +HISTORY_MSG_227;Schwarz/Weiß - Violett +HISTORY_MSG_228;Schwarz/Weiß\nLuminanzequalizer +HISTORY_MSG_229;Schwarz/Weiß\nLuminanzequalizer +HISTORY_MSG_230;Schwarz/Weiß - Modus +HISTORY_MSG_231;Schwarz/Weiß\n“Bevor“-Kurve +HISTORY_MSG_232;Schwarz/Weiß\n“Bevor“-Kurventyp +HISTORY_MSG_233;Schwarz/Weiß\n“Danach“-Kurve +HISTORY_MSG_234;Schwarz/Weiß\n“Danach“-Kurventyp +HISTORY_MSG_235;Schwarz/Weiß\nAuto-Kanalmixer +HISTORY_MSG_236;--unused-- +HISTORY_MSG_237;Schwarz/Weiß - Mixer +HISTORY_MSG_238;Grauverlaufsfilter\nBereich +HISTORY_MSG_239;Grauverlaufsfilter\nStärke +HISTORY_MSG_240;Grauverlaufsfilter\nRotationsachsen +HISTORY_MSG_241;Vignettierungsfilter\nBereich +HISTORY_MSG_242;Vignettierungsfilter\nRundung +HISTORY_MSG_243;Objektivkorrektur\nVignettierung\nRadius +HISTORY_MSG_244;Objektivkorrektur\nVignettierung\nFaktor +HISTORY_MSG_245;Objektivkorrektur\nVignettierung\nZentrum +HISTORY_MSG_246;L*a*b* - CL-Kurve +HISTORY_MSG_247;L*a*b* - LH-Kurve +HISTORY_MSG_248;L*a*b* - BB-Kurve +HISTORY_MSG_249;Kontrast nach\nDetailebenen\nSchwellenwert +HISTORY_MSG_250;Rauschreduzierung\nVerbesserung +HISTORY_MSG_251;Schwarz/Weiß\nAlgorithmus +HISTORY_MSG_252;Kontrast nach\nDetailebenen\nHautfarbtöne\nändern/schützen +HISTORY_MSG_253;Kontrast nach\nDetailebenen\nArtefakte reduzieren +HISTORY_MSG_254;Kontrast nach\nDetailebenen\nHautfarbton +HISTORY_MSG_255;Rauschreduzierung\nMedianfilter +HISTORY_MSG_256;Rauschreduzierung\nMediantyp +HISTORY_MSG_257;Farbanpassungen +HISTORY_MSG_258;Farbanpassungen\nFarbkurve +HISTORY_MSG_259;Farbanpassungen\nDeckkraftkurve +HISTORY_MSG_260;Farbanpassungen\na*[b*]-Transparenz +HISTORY_MSG_261;Farbanpassungen\nMethode +HISTORY_MSG_262;Farbanpassungen\nb*-Transparenz +HISTORY_MSG_263;Farbanpassungen\nSchatten - Blau/Rot +HISTORY_MSG_264;Farbanpassungen\nSchatten - Cyan/Grün +HISTORY_MSG_265;Farbanpassungen\nSchatten - Gelb/Blau +HISTORY_MSG_266;Farbanpassungen\nMitten - Blau/Rot +HISTORY_MSG_267;Farbanpassungen\nMitten - Cyan/Grün +HISTORY_MSG_268;Farbanpassungen\nMitten - Gelb/Blau +HISTORY_MSG_269;Farbanpassungen\nLichter - Bau/Rot +HISTORY_MSG_270;Farbanpassungen\nLichter - Cyan/Grün +HISTORY_MSG_271;Farbanpassungen\nLichter - GelbBlau +HISTORY_MSG_272;Farbanpassungen\nFarbausgleich +HISTORY_MSG_273;Farbanpassungen\nZurücksetzen +HISTORY_MSG_274;Farbanpassungen\nSättigung Schatten +HISTORY_MSG_275;Farbanpassungen\nSättigung Lichter +HISTORY_MSG_276;Farbanpassungen\nDeckkraft +HISTORY_MSG_277;--unused-- +HISTORY_MSG_278;Farbanpassungen\nLuminanz schützen +HISTORY_MSG_279;Farbanpassungen\nSchatten +HISTORY_MSG_280;Farbanpassungen\nLichter +HISTORY_MSG_281;Farbanpassungen\nSättigung schützen\nStärke +HISTORY_MSG_282;Farbanpassungen\nSättigung schützen\nSchwellenwert +HISTORY_MSG_283;Farbanpassungen\nStärke +HISTORY_MSG_284;Farbanpassungen\nSättigung schützen\nAutomatisch +HISTORY_MSG_285;Rauschreduzierung\nMedianmethode +HISTORY_MSG_286;Rauschreduzierung\nMediantyp +HISTORY_MSG_287;Rauschreduzierung\nMedianiterationen +HISTORY_MSG_288;Weißbild\nKontrolle zu heller\nBereiche +HISTORY_MSG_289;Weißbild\nAuto-Kontrolle zu\nheller Bereiche +HISTORY_MSG_290;Schwarzpunkt - Rot +HISTORY_MSG_291;Schwarzpunkt - Grün +HISTORY_MSG_292;Schwarzpunkt - Blau +HISTORY_MSG_293;Filmsimulation +HISTORY_MSG_294;Filmsimulation - Stärke +HISTORY_MSG_295;Filmsimulation - Film +HISTORY_MSG_296;Rauschreduzierung\nLuminanzkurve +HISTORY_MSG_297;Rauschreduzierung\nQualität +HISTORY_MSG_298;Vorverarbeitung\nDead-Pixel-Filter +HISTORY_MSG_299;Rauschreduzierung\nChrominanzkurve +HISTORY_MSG_300;- +HISTORY_MSG_301;Rauschreduzierung\nLumakontrolle +HISTORY_MSG_302;Rauschreduzierung\nChrominanz\nMethode +HISTORY_MSG_303;Rauschreduzierung\nChrominanz\nMethode +HISTORY_MSG_304;Wavelet\nKontrastebenen +HISTORY_MSG_305;Wavelet +HISTORY_MSG_306;Wavelet\nEinstellungen\nVerarbeitungsebene +HISTORY_MSG_307;Wavelet\nEinstellungen\nVerarbeitung +HISTORY_MSG_308;Wavelet\nEinstellungen\nVerarbeitungsrichtung +HISTORY_MSG_309;Wavelet\nKantenschärfung\nDetails +HISTORY_MSG_310;Wavelet - Nachbild\nHimmelsfarbtöne\nändern/schützen +HISTORY_MSG_311;Wavelet\nEinstellungen\nWaveletebenen +HISTORY_MSG_312;Wavelet - Nachbild\nSchatten Schwellenwert +HISTORY_MSG_313;Wavelet\nFarbe\nSättigung +HISTORY_MSG_314;Wavelet\nGamut\nArtefakte reduzieren +HISTORY_MSG_315;Wavelet - Nachbild\nKontrast +HISTORY_MSG_316;Wavelet - Gamut\nHautfarbtöne\nändern/schützen +HISTORY_MSG_317;Wavelet - Gamut\nHautfarbton +HISTORY_MSG_318;Wavelet - Kontrast\nLichterebenen +HISTORY_MSG_319;Wavelet - Kontrast\nLichterbereich +HISTORY_MSG_320;Wavelet - Kontrast\nSchattenbereich +HISTORY_MSG_321;Wavelet - Kontrast\nSchattenebenen +HISTORY_MSG_322;Wavelet - Gamut\nFarbverschiebungen\nvermeiden +HISTORY_MSG_323;Wavelet\nKantenschärfung\nLokaler Kontrast +HISTORY_MSG_324;Wavelet - Farbe\nPastellfarben +HISTORY_MSG_325;Wavelet - Farbe\nGesättigt Farben +HISTORY_MSG_326;Wavelet - Farbe\nMethode +HISTORY_MSG_327;Wavelet - Kontrast\nAnwenden auf +HISTORY_MSG_328;Wavelet - Farbe\nVerlinkungsstärke +HISTORY_MSG_329;Wavelet - Tönung\nDeckkraft Rot/Grün +HISTORY_MSG_330;Wavelet - Tönung\nDeckkraft Blau/Gelb +HISTORY_MSG_331;Wavelet\nKontrastebenen\nExtra +HISTORY_MSG_332;Wavelet\nEinstellungen\nKachelgröße +HISTORY_MSG_333;Wavelet - Nachbild\nSchatten +HISTORY_MSG_334;Wavelet - Nachbild\nBuntheit +HISTORY_MSG_335;Wavelet - Nachbild\nLichter +HISTORY_MSG_336;Wavelet - Nachbild\nLichter Schwellenwert +HISTORY_MSG_337;Wavelet - Nachbild\nHimmelsfarbton +HISTORY_MSG_338;Wavelet\nKantenschärfung\nRadius +HISTORY_MSG_339;Wavelet\nKantenschärfung\nStärke +HISTORY_MSG_340;Wavelet\nEinstellungen\nStärke +HISTORY_MSG_341;Wavelet\nEinstellungen\nKantenperformance +HISTORY_MSG_342;Wavelet\nKantenschärfung\nErste Ebene +HISTORY_MSG_343;Wavelet - Farbe\nFarbebenen +HISTORY_MSG_344;Wavelet\nFarbemethode\nRegler/Kurve +HISTORY_MSG_345;Wavelet\nKantenschärfung\nLokaler Kontrast +HISTORY_MSG_346;Wavelet\nKantenschärfung\nLokale Kontrastmethode +HISTORY_MSG_347;Wavelet\nRauschreduzierung\nEbene 1 +HISTORY_MSG_348;Wavelet\nRauschreduzierung\nEbene 2 +HISTORY_MSG_349;Wavelet\nRauschreduzierung\nEbene 3 +HISTORY_MSG_350;Wavelet\nKantenschärfung\nKantenerkennung +HISTORY_MSG_351;Wavelet - Nachbild\nHH-Kurve +HISTORY_MSG_352;Wavelet\nEinstellungen\nHintergrund +HISTORY_MSG_353;Wavelet\nKantenschärfung\nGradienten-\nempfindlichkeit +HISTORY_MSG_354;Wavelet\nKantenschärfung\nErweitert +HISTORY_MSG_355;Wavelet\nKantenschärfung\nSchwellenwert niedrig +HISTORY_MSG_356;Wavelet\nKantenschärfung\nSchwellenwert hoch +HISTORY_MSG_357;Wavelet\nRauschreduzierung\nSchärfung +HISTORY_MSG_358;Wavelet - Gamut\nKontrastkurve +HISTORY_MSG_359;Vorverarbeitung\nHot/Dead-Pixel\nSchwellenwert +HISTORY_MSG_360;Dynamikkompression\nGamma +HISTORY_MSG_361;Wavelet - Endretusche\nFarbeausgleich +HISTORY_MSG_362;Wavelet - Nachbild\nKompression +HISTORY_MSG_363;Wavelet - Nachbild\nKompressionsstärke +HISTORY_MSG_364;Wavelet - Endretusche\nKontrastausgleich +HISTORY_MSG_365;Wavelet - Endretusche\nDelta-Ausgleich +HISTORY_MSG_366;Wavelet - Nachbild\nGammakompression +HISTORY_MSG_367;Wavelet\nKantenschärfung\nLokale Kontrastkurve +HISTORY_MSG_368;Wavelet - Endretusche\nKontrastausgleich +HISTORY_MSG_369;Wavelet - Endretusche\nKontrastmethode +HISTORY_MSG_370;Wavelet - Endretusche\nLokale Kontrastkurve +HISTORY_MSG_371;Nach Größenänderung\nschärfen +HISTORY_MSG_372;Größe ändern\nSchärfen - USM\nRadius +HISTORY_MSG_373;Größe ändern\nSchärfen - USM\nStärke +HISTORY_MSG_374;Größe ändern\nSchärfen - USM\nSchwellenwert +HISTORY_MSG_375;Größe ändern\nSchärfen - USM\nNur Kanten schärfen +HISTORY_MSG_376;Größe ändern\nSchärfen - USM\nKantenerkennung Radius +HISTORY_MSG_377;Größe ändern\nSchärfen - USM\nKantentoleranz +HISTORY_MSG_378;Größe ändern\nSchärfen - USM\nHalokontrolle +HISTORY_MSG_379;Größe ändern\nSchärfen - USM\nHalokontrolle Stärke +HISTORY_MSG_380;Größe ändern\nSchärfen - Methode +HISTORY_MSG_381;Größe ändern\nSchärfen - RLD\nRadius +HISTORY_MSG_382;Größe ändern\nSchärfen - RLD\nStärke +HISTORY_MSG_383;Größe ändern\nSchärfen - RLD\nDämpfung +HISTORY_MSG_384;Größe ändern\nSchärfen - RLD\nIterationen +HISTORY_MSG_385;Wavelet - Nachbild\nFarbausgleich +HISTORY_MSG_386;Wavelet - Nachbild\nFarbausgleich\nLichter Grün/Cyan +HISTORY_MSG_387;Wavelet - Nachbild\nFarbausgleich\nLichter Blau/Gelb +HISTORY_MSG_388;Wavelet - Nachbild\nFarbausgleich\nMitten Grün/Cyan +HISTORY_MSG_389;Wavelet - Nachbild\nFarbausgleich\nMitten Blau/Gelb +HISTORY_MSG_390;Wavelet - Nachbild\nFarbausgleich\nSchatten Grün/Cyan +HISTORY_MSG_391;Wavelet - Nachbild\nFarbausgleich\nSchatten Blau/Gelb +HISTORY_MSG_392;Wavelet - Nachbild\nFarbausgleich +HISTORY_MSG_393;Eingangsfarbprofil\nDCP\nLook-Tabelle +HISTORY_MSG_394;Eingangsfarbprofil\nDCP\nAusgangsbelichtung +HISTORY_MSG_395;Eingangsfarbprofil\nDCP\nBasistabelle +HISTORY_MSG_396;Wavelet - Kontrast +HISTORY_MSG_397;Wavelet - Farbe +HISTORY_MSG_398;Wavelet\nKantenschärfung +HISTORY_MSG_399;Wavelet - Nachbild +HISTORY_MSG_400;Wavelet - Endretusche +HISTORY_MSG_401;Wavelet - Tönung +HISTORY_MSG_402;Wavelet\nRauschreduzierung +HISTORY_MSG_403;Wavelet\nKantenschärfung\nKantenempfindlichkeit +HISTORY_MSG_404;Wavelet\nKantenschärfung\nGrundverstärkung +HISTORY_MSG_405;Wavelet\nRauschreduzierung\nEbene 4 +HISTORY_MSG_406;Wavelet\nKantenschärfung\nNachbarpixel +HISTORY_NEWSNAPSHOT;Hinzufügen +HISTORY_NEWSNAPSHOT_TOOLTIP;Taste: Alt + s +HISTORY_SNAPSHOTS;Schnappschüsse +HISTORY_SNAPSHOT;Schnappschuss IPTCPANEL_AUTHORSPOSITIONHINT;Titel des Autors oder der Autoren (By-line Title) IPTCPANEL_AUTHORSPOSITION;Position des\nAutors IPTCPANEL_AUTHOR;Autor IPTCPANEL_CAPTIONHINT;Beschreibung des Bildinhaltes (Caption - Abstract) -IPTCPANEL_CAPTIONWRITERHINT;Name der beim Schreiben, Editieren oder Korrigieren des Bildes oder der Bildbeschreibung beteiligten Person (Writer - Editor) +IPTCPANEL_CAPTIONWRITERHINT;Name der Person die beim Bild mitgewirkt hat (Writer - Editor) IPTCPANEL_CAPTIONWRITER;Autor der\nBildbeschreibung IPTCPANEL_CAPTION;Bildbeschreibung -IPTCPANEL_CATEGORYHINT;3-stelliger Code, der die Kategorie des Bildes beschreibt (Category) +IPTCPANEL_CATEGORYHINT;3-stelliger Code, der die Kategorie des Bildes beschreibt (Category). IPTCPANEL_CATEGORY;Kategorie IPTCPANEL_CITYHINT;Aufnahmeort: Stadt (City) IPTCPANEL_CITY;Stadt IPTCPANEL_COPYHINT;IPTC-Werte in die Zwischenablage kopieren -IPTCPANEL_COPYRIGHTHINT;Alle nötigen Hinweise zu Urheberrechten (Copyright Notice) +IPTCPANEL_COPYRIGHTHINT;Urheberrechtshinweis (Copyright Notice) IPTCPANEL_COPYRIGHT;Copyright IPTCPANEL_COUNTRYHINT;Aufnahmeort: Land (Country - Primary Location Name) IPTCPANEL_COUNTRY;Land IPTCPANEL_CREDITHINT;Identifiziert den Anbieter des Bildes, es muss nicht der Eigentümer sein (Credit) IPTCPANEL_CREDIT;Bildrechte -IPTCPANEL_DATECREATEDHINT;Erstellungsdatum des Bildes; Format: JJJJMMTT (Date Created) +IPTCPANEL_DATECREATEDHINT;Erstellungsdatum des Bildes\nFormat: JJJJMMTT IPTCPANEL_DATECREATED;Erstellt am -IPTCPANEL_EMBEDDEDHINT;Zu den im Bild eingebetteten Werten zurücksetzen -IPTCPANEL_EMBEDDED;Eingebettete -IPTCPANEL_HEADLINEHINT;Kurzform der Bildbeschreibung, könnte als Überschrift an das Bild geklebt werden (Headline) +IPTCPANEL_EMBEDDEDHINT;Setzt auf die im Bild eingebetteten IPTC-Daten zurück. +IPTCPANEL_EMBEDDED;Eingebettet +IPTCPANEL_HEADLINEHINT;Eine Beschreibung über den Inhalt des Bildes. Kann auch als Überschrift dienen. IPTCPANEL_HEADLINE;Bildtitel -IPTCPANEL_INSTRUCTIONSHINT;Besondere Hinweise bezüglich der Verwendung des Bildes (Special Instructions) +IPTCPANEL_INSTRUCTIONSHINT;Besondere Hinweise bezüglich der Nutzung des Bildes (Special Instructions) IPTCPANEL_INSTRUCTIONS;Hinweise IPTCPANEL_KEYWORDSHINT;Stichwörter für das spätere Wiederfinden der Bilder (Keywords) IPTCPANEL_KEYWORDS;Schlagwörter IPTCPANEL_PASTEHINT;IPTC-Werte aus der Zwischenablage einfügen IPTCPANEL_PROVINCEHINT;Aufnahmeort: Provinz (Province-State) IPTCPANEL_PROVINCE;Provinz -IPTCPANEL_RESETHINT;Zu den im Profil gesetzten Werten zurücksetzen +IPTCPANEL_RESETHINT;Auf die im Profil gespeicherten Werte zurücksetzen IPTCPANEL_RESET;Zurücksetzen -IPTCPANEL_SOURCEHINT;Der ursprüngliche Eigentümer des Werkes auf dem Bild (Source) +IPTCPANEL_SOURCEHINT;Der ursprüngliche Eigentümer des Bildes (Source) IPTCPANEL_SOURCE;Quelle -IPTCPANEL_SUPPCATEGORIESHINT;Frei wählbare zusätzliche Kategorien (Supplemental Categories) +IPTCPANEL_SUPPCATEGORIESHINT;Zusätzliche wählbare Bildoptimierungen IPTCPANEL_SUPPCATEGORIES;Zusätzliche\nKategorien IPTCPANEL_TITLEHINT;Kurztitel des Bildes (Object Name) IPTCPANEL_TITLE;Titel IPTCPANEL_TRANSREFERENCEHINT;Ein Code, der den ursprünglichen Ort der Übertragung definiert (Original Transmission Reference) -IPTCPANEL_TRANSREFERENCE;Übertragungs\nReferenz -MAIN_BUTTON_FULLSCREEN;Vollbild F11 +IPTCPANEL_TRANSREFERENCE;Übertragungs-\nreferenz +MAIN_BUTTON_FULLSCREEN;Vollbild\nTaste: F11 +MAIN_BUTTON_NAVNEXT_TOOLTIP;Navigiert zum nächsten Miniaturbild in der Dateiverwaltung oder Filmstreifen bezogen auf das ausgewählte Miniaturbild.\nTaste: F4\n\nNavigiert zum nächsten Miniaturbild in der Dateiverwaltung oder Filmstreifen bezogen auf auf das im Editor geöffnete Bild.\nTaste: Umschalt + F4 +MAIN_BUTTON_NAVPREV_TOOLTIP;Navigiert zum vorherigen Miniaturbild in der Dateiverwaltung oder Filmstreifen bezogen auf das ausgewählte Miniaturbild.\nTaste: F3\n\nNavigiert zum vorherigen Miniaturbild in der Dateiverwaltung oder Filmstreifen bezogen auf auf das im Editor geöffnete Bild.\nTaste: Umschalt + F3 +MAIN_BUTTON_NAVSYNC_TOOLTIP;Selektiert das Miniaturbild des aktuell geöffneten Bildes in der Dateiverwaltung und des Filmstreifens. Es werden alle aktiven Filter gelöscht.\nTaste: x\n\nWie oben, jedoch ohne Löschung aktiver Filter. Das Miniaturbild des geöffneten Bildes wird nicht angezeigt, wenn es herausgefiltert wurde.\nTaste: y MAIN_BUTTON_PREFERENCES;Einstellungen -MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Bild in Warteschlange einreihen Strg+Q -MAIN_BUTTON_SAVE_TOOLTIP;Bild speichern Strg+S -MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Bild im externen Editor bearbeiten Strg+E -MAIN_BUTTON_SHOWHIDESIDEPANELS_TOOLTIP;Alle seitlichen Bedienfelder ein-/ausblenden M -MAIN_BUTTON_UNFULLSCREEN;Vollbild beenden F11 +MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Bild in Warteschlange hinzufügen\nTaste: Strg + b +MAIN_BUTTON_SAVE_TOOLTIP;Bild speichern\nTaste: Strg + s +MAIN_BUTTON_SENDTOEDITOR;Bild im externen Editor öffnen +MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Bild im externen Editor öffnen\nTaste: Strg + e +MAIN_BUTTON_SHOWHIDESIDEPANELS_TOOLTIP;Alle seitlichen Bedienfelder ein-/ausblenden\nTaste: m +MAIN_BUTTON_UNFULLSCREEN;Vollbild beenden\nTaste: F11 MAIN_FRAME_BATCHQUEUE;Warteschlange -MAIN_FRAME_BATCHQUEUE_TOOLTIP;Warteschlange Strg+F3 +MAIN_FRAME_BATCHQUEUE_TOOLTIP;Warteschlange\nTaste: Strg + F3 MAIN_FRAME_EDITOR;Editor -MAIN_FRAME_EDITOR_TOOLTIP;Editor Strg+F4 +MAIN_FRAME_EDITOR_TOOLTIP;Editor\nTaste: Strg + F4 MAIN_FRAME_FILEBROWSER;Dateiverwaltung -MAIN_FRAME_FILEBROWSER_TOOLTIP;Dateiverwaltung Strg+F2 +MAIN_FRAME_FILEBROWSER_TOOLTIP;Dateiverwaltung\nTaste: Strg + F2 MAIN_FRAME_PLACES;Favoriten -MAIN_FRAME_PLACES_ADD;Hinzuf. -MAIN_FRAME_PLACES_DEL;Entf. +MAIN_FRAME_PLACES_ADD;Hinzufügen +MAIN_FRAME_PLACES_DEL;Entfernen MAIN_FRAME_RECENT;Verzeichnishistorie MAIN_MSG_ALREADYEXISTS;Diese Datei existiert bereits. MAIN_MSG_CANNOTLOAD;Bild kann nicht geladen werden MAIN_MSG_CANNOTSAVE;Fehler beim Speichern -MAIN_MSG_CANNOTSTARTEDITOR;Der Editor kann nicht gestartet werden. +MAIN_MSG_CANNOTSTARTEDITOR;Der externe Editor kann nicht gestartet werden. MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;Setzen Sie bitte den richtigen Pfad in den Einstellungen. MAIN_MSG_EMPTYFILENAME;Dateiname fehlt! -MAIN_MSG_IMAGEUNPROCESSED;Für diese Funktion müssen erst alle Bilder stapelverarbeitet sein. +MAIN_MSG_IMAGEUNPROCESSED;Für diese Funktion müssen erst alle Bilder in der Stapelverarbeitung verarbeitet sein. MAIN_MSG_NAVIGATOR;Navigator +MAIN_MSG_OPERATIONCANCELLED;Ausführung abgebrochen +MAIN_MSG_PATHDOESNTEXIST;Der Pfad\n\n%1\n\nexistiert nicht. Bitte setzen Sie den richtigen Pfad in den Einstellungen. MAIN_MSG_QOVERWRITE;Möchten Sie die Datei überschreiben? +MAIN_MSG_SETPATHFIRST;Um diese Funktion zu nutzen, müssen Sie zuerst in den Einstellungen einen Zielpfad setzen. MAIN_MSG_WRITEFAILED;Fehler beim Schreiben von\n\n"%1"\n\nStellen Sie sicher, dass das Verzeichnis existiert und dass Sie Schreibrechte besitzen. MAIN_TAB_COLOR;Farbe -MAIN_TAB_COLOR_TOOLTIP;Alt+C -MAIN_TAB_DETAIL;Detail -MAIN_TAB_DETAIL_TOOLTIP;Alt+D +MAIN_TAB_COLOR_TOOLTIP;Taste: Alt + c +MAIN_TAB_DETAIL;Details +MAIN_TAB_DETAIL_TOOLTIP;Taste: Alt + d MAIN_TAB_DEVELOP;Entwickeln MAIN_TAB_EXIF;Exif MAIN_TAB_EXPORT;Exportieren MAIN_TAB_EXPOSURE;Belichtung -MAIN_TAB_EXPOSURE_TOOLTIP;Alt+E -MAIN_TAB_FILTER;Metadatenfilter +MAIN_TAB_EXPOSURE_TOOLTIP;Taste: Alt + e +MAIN_TAB_FILTER; Filter +MAIN_TAB_INSPECT; Prüfen MAIN_TAB_IPTC;IPTC MAIN_TAB_METADATA;Metadaten -MAIN_TAB_METADATA_TOOLTIP;Alt+M +MAIN_TAB_METADATA_TOOLTIP;Taste: Alt + m MAIN_TAB_RAW;RAW -MAIN_TAB_RAW_TOOLTIP;Alt+R -MAIN_TAB_TRANSFORM;Verändern -MAIN_TAB_TRANSFORM_TOOLTIP;Alt+T -MAIN_TOOLTIP_BACKCOLOR0;Hintergrundfarbe der Vorschau: Theme-basierend\nKürzel: 8 -MAIN_TOOLTIP_BACKCOLOR1;Hintergrundfarbe der Vorschau: Schwarz\nKürzel: 9 -MAIN_TOOLTIP_BACKCOLOR2;Hintergrundfarbe der Vorschau: Weiß\nKürzel: 0 -MAIN_TOOLTIP_BEFOREAFTERLOCK;Vorher-Ansicht sperren/entsperren\n\nSperren: Friert die Vorher-Ansicht ein, so dass sich die Gesamtwirkung mehrerer Werkzeuge beurteilen lässt; zudem können Vergleiche zu jedem Stand der Historie angestellt werden\n\nEntsperren: Die Vorher-Ansicht bleibt stets einen Änderungsschritt hinter der Nachher-Ansicht zurück, so dass die Auswirkung des zuletzt angewendeten Werkzeugs ersichtlich wird -MAIN_TOOLTIP_HIDEHP;Linkes Bedienfeld ein-/ausblenden (einschließlich der Historie) L / Strg+L -MAIN_TOOLTIP_INDCLIPPEDH;Anzeige zu heller Bereiche ein-/ausschalten <\n\nNur Windows: Alternativ kann während Betätigung eines\nSchiebereglers die Alt-Taste gedrückt gehalten werden -MAIN_TOOLTIP_INDCLIPPEDS;Anzeige zu dunkler Bereiche ein-/ausschalten >\n\nNur Windows: Alternativ kann während Betätigung eines\nSchiebereglers die Alt-Taste gedrückt gehalten werden -MAIN_TOOLTIP_PREVIEWB;Vorschau Blau-Kanal B -MAIN_TOOLTIP_PREVIEWFOCUSMASK;Vorschau Fokussiermaske Umschalt+F\n\nPräziser bei Bildern mit geringer Tiefenschärfe, niedrigem Rauschen und bei hoher Vergrößerung; zur Verbesserung der Erkennungsgenauigkeit bei verrauschten Bildern sollte ein kleiner Zoom (10-30 %) gewählt werden\n\nBei eingeschalteter Fokussiermaske dauert der Aufbau der Vorschau länger -MAIN_TOOLTIP_PREVIEWG;Vorschau Grün-Kanal G -MAIN_TOOLTIP_PREVIEWL;Vorschau Helligkeit V\n\n0.299·R + 0.587·G + 0.114·B -MAIN_TOOLTIP_PREVIEWR;Vorschau Rot-Kanal R -MAIN_TOOLTIP_QINFO;Bildinformationen ein-/ausblenden I -MAIN_TOOLTIP_SHOWHIDELP1;Linkes Bedienfeld ein-/ausblenden L / Strg+L -MAIN_TOOLTIP_SHOWHIDERP1;Rechtes Bedienfeld ein-/ausblenden Alt+L -MAIN_TOOLTIP_SHOWHIDETP1;Oberes Bedienfeld ein-/ausblenden Umschalt+L +MAIN_TAB_RAW_TOOLTIP;Taste: Alt + r +MAIN_TAB_TRANSFORM;Transformieren +MAIN_TAB_TRANSFORM_TOOLTIP;Taste: Alt + t +MAIN_TAB_WAVELET;Wavelet +MAIN_TAB_WAVELET_TOOLTIP;Taste: Alt + w +MAIN_TOOLTIP_BACKCOLOR0;Hintergrundfarbe der Vorschau basierend auf dem: Oberflächendesign\nTaste: 9 +MAIN_TOOLTIP_BACKCOLOR1;Hintergrundfarbe der Vorschau: Schwarz\nTaste: 9 +MAIN_TOOLTIP_BACKCOLOR2;Hintergrundfarbe der Vorschau: Weiß\nTaste: 9 +MAIN_TOOLTIP_BEFOREAFTERLOCK;Vorher-Ansicht Sperren/Entsperren\n\nGesperrt: Friert die Vorher-Ansicht ein, so dass sich die Gesamtwirkung mehrerer Bearbeitungsschritte beurteilen lässt.\n\nEntsperrt: Die Vorher-Ansicht hinkt dem aktuellen Bild immer einen Bearbeitungsschritt hinterher. +MAIN_TOOLTIP_HIDEHP;Linkes Bedienfeld ein-/ausblenden\nTaste: l +MAIN_TOOLTIP_INDCLIPPEDH;Anzeige zu heller Bereiche ein-/ausschalten\nTaste: < +MAIN_TOOLTIP_INDCLIPPEDS;Anzeige zu dunkler Bereiche ein-/ausschalten\nTaste: > +MAIN_TOOLTIP_PREVIEWB;Vorschau Blau-Kanal\nTaste: b +MAIN_TOOLTIP_PREVIEWFOCUSMASK;Vorschau Fokusmaske\nTaste: Umschalt + f\n\nPräziser bei Bildern mit geringer Tiefenschärfe, niedrigem Rauschen und bei hoher Vergrößerung. +MAIN_TOOLTIP_PREVIEWG;Vorschau Grün-Kanal\nTaste: g +MAIN_TOOLTIP_PREVIEWL;Vorschau Helligkeit\nTaste: v\n\n0.299·R + 0.587·G + 0.114·B +MAIN_TOOLTIP_PREVIEWR;Vorschau Rot-Kanal\nTaste: r +MAIN_TOOLTIP_QINFO;Bildinformationen ein-/ausblenden\nTaste: i +MAIN_TOOLTIP_SHOWHIDELP1;Linkes Bedienfeld ein-/ausblenden\nTaste: l +MAIN_TOOLTIP_SHOWHIDERP1;Rechtes Bedienfeld ein-/ausblenden\nTaste: Alt + l +MAIN_TOOLTIP_SHOWHIDETP1;Oberes Bedienfeld ein-/ausblenden\nTaste: Umschalt + l MAIN_TOOLTIP_THRESHOLD;Schwellenwert -MAIN_TOOLTIP_TOGGLE;Vorher/Nachher-Ansicht ein-/ausschalten Umschalt+B +MAIN_TOOLTIP_TOGGLE;Vorher/Nachher-Ansicht ein-/ausschalten\nTaste: Umschalt + b +NAVIGATOR_B;B: +NAVIGATOR_G;G: +NAVIGATOR_H;H: +NAVIGATOR_LAB_A;a*: +NAVIGATOR_LAB_B;b*: +NAVIGATOR_LAB_L;L*: +NAVIGATOR_NA; -- +NAVIGATOR_R;R: +NAVIGATOR_S;S: +NAVIGATOR_V;V: NAVIGATOR_XY_FULL;Breite = %1, Höhe = %2 -NAVIGATOR_XY_NA;x = k.a., y = k.a. -OPTIONS_DEFIMG_MISSING;Die Standard-Profile für nicht-Raw Photos wurden nicht gefunden oder nicht gesetzt.\n\nBitte prüfen Sie das Profil-Verzeichnis, es fehlt möglicherweise oder ist beschädigt.\n\nEs werden stattdessen interne Standardwerte verwendet. -OPTIONS_DEFRAW_MISSING;Die Standard-Profile für Raw Photos wurden nicht gefunden oder nicht gesetzt.\n\nBitte prüfen Sie das Profil-Verzeichnis, es fehlt möglicherweise oder ist beschädigt.\n\nEs werden stattdessen interne Standardwerte verwendet. +NAVIGATOR_XY_NA;x: --, y: -- +OPTIONS_DEFIMG_MISSING;Die Standard-Profile für nicht-RAW-Bilder wurden nicht gefunden oder nicht festgelegt.\n\nBitte prüfen Sie das Profil-Verzeichnis, es fehlt möglicherweise oder ist beschädigt.\n\nEs werden stattdessen interne Standardwerte verwendet. +OPTIONS_DEFRAW_MISSING;Die Standard-Profile für RAW-Bilder wurden nicht gefunden oder nicht festgelegt.\n\nBitte prüfen Sie das Profil-Verzeichnis, es fehlt möglicherweise oder ist beschädigt.\n\nEs werden stattdessen interne Standardwerte verwendet. PARTIALPASTE_BASICGROUP;Gruppe Basiseinstellungen PARTIALPASTE_CACORRECTION;Farbsaum entfernen -PARTIALPASTE_CHANNELMIXER;Kanal-Mixer +PARTIALPASTE_CHANNELMIXERBW;Schwarz/Weiß +PARTIALPASTE_CHANNELMIXER;RGB-Kanalmixer PARTIALPASTE_COARSETRANS;Drehen / Spiegeln PARTIALPASTE_COLORAPP;CIE Color Appearance Model 2002 PARTIALPASTE_COLORGROUP;Gruppe Farbeinstellungen +PARTIALPASTE_COLORTONING;Farbanpassungen PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto-Füllen PARTIALPASTE_COMPOSITIONGROUP;Gruppe Gestaltungseinstellungen PARTIALPASTE_CROP;Ausschnitt PARTIALPASTE_DARKFRAMEAUTOSELECT;Dunkelbild: Automatische Auswahl PARTIALPASTE_DARKFRAMEFILE;Dunkelbild: Datei -PARTIALPASTE_DEFRINGE;Defringe +PARTIALPASTE_DEFRINGE;Farbsaum entfernen (Defringe) PARTIALPASTE_DETAILGROUP;Gruppe Detaileinstellungen PARTIALPASTE_DIALOGLABEL;Selektives Einfügen des Bearbeitungsprofils -PARTIALPASTE_DIRPYRDENOISE;Rauschminderung -PARTIALPASTE_DIRPYREQUALIZER;Kontrast nach Detailstufen +PARTIALPASTE_DIRPYRDENOISE;Rauschreduzierung +PARTIALPASTE_DIRPYREQUALIZER;Kontrast nach Detailebenen PARTIALPASTE_DISTORTION;Verzeichnungskorrektur -PARTIALPASTE_EPD;Tone Mapping +PARTIALPASTE_EPD;Dynamikkompression +PARTIALPASTE_EQUALIZER;Waveletebenen PARTIALPASTE_EVERYTHING;Alles PARTIALPASTE_EXIFCHANGES;Änderungen an Exif-Daten PARTIALPASTE_EXPOSURE;Belichtung +PARTIALPASTE_FILMSIMULATION;Filmsimulation PARTIALPASTE_FLATFIELDAUTOSELECT;Weißbild: Automatische Auswahl PARTIALPASTE_FLATFIELDBLURRADIUS;Weißbild: Unschärferadius PARTIALPASTE_FLATFIELDBLURTYPE;Weißbild: Unschärfetyp +PARTIALPASTE_FLATFIELDCLIPCONTROL;Weißbild: Kontrolle zu heller Bereiche PARTIALPASTE_FLATFIELDFILE;Weißbild: Datei -PARTIALPASTE_GRADIENT;Grauverlauffilter -PARTIALPASTE_HSVEQUALIZER;HSV-Equalizer +PARTIALPASTE_GRADIENT;Grauverlaufsfilter +PARTIALPASTE_HSVEQUALIZER;Farbton (H) / Sättigung (S) / Dynamik (V) PARTIALPASTE_ICMGAMMA;Ausgabe-Gamma PARTIALPASTE_ICMSETTINGS;ICM-Einstellungen -PARTIALPASTE_IMPULSEDENOISE;Impulsrauschminderung +PARTIALPASTE_IMPULSEDENOISE;Impulsrauschreduzierung PARTIALPASTE_IPTCINFO;IPTC-Informationen -PARTIALPASTE_LABCURVE;Lab-Anpassungen +PARTIALPASTE_LABCURVE;L*a*b* - Einstellungen PARTIALPASTE_LENSGROUP;Gruppe Objektivkorrekturen -PARTIALPASTE_LENSPROFILE;Linsen-Korrekturprofil +PARTIALPASTE_LENSPROFILE;Objektivkorrekturprofil PARTIALPASTE_METAGROUP;Gruppe Metadaten PARTIALPASTE_PCVIGNETTE;Vignettierungsfilter PARTIALPASTE_PERSPECTIVE;Perspektive @@ -607,40 +837,64 @@ PARTIALPASTE_RAWCACORR_CABLUE;Chromatische Aberration: Blau PARTIALPASTE_RAWCACORR_CARED;Chromatische Aberration: Rot PARTIALPASTE_RAWEXPOS_BLACK;RAW-Weiß/Schwarz-Punkt: Schwarzpegel PARTIALPASTE_RAWEXPOS_LINEAR;RAW-Weiß/Schwarz-Punkt: Linearer Korrekturfaktor -PARTIALPASTE_RAWEXPOS_PRESER;RAW-Weiß/Schwarz-Punkt: Lichter bewahren (EV) +PARTIALPASTE_RAWEXPOS_PRESER;RAW-Weiß/Schwarz-Punkt: Lichter schützen (EV) PARTIALPASTE_RAWGROUP;Gruppe RAW -PARTIALPASTE_RAW_DCBENHANCE;Farbinterpolation: DCB-Verfeinerungsschritt +PARTIALPASTE_RAW_DCBENHANCE;Farbinterpolation: DCB-Verbesserung PARTIALPASTE_RAW_DCBITERATIONS;Farbinterpolation: Anzahl der DCB-Iterationen -PARTIALPASTE_RAW_DMETHOD;Farbinterpolation: Methode -PARTIALPASTE_RAW_FALSECOLOR;Farbinterpolation: Falschfarbenunterdrückung Stufen +PARTIALPASTE_RAW_DMETHOD;Demosaikmethode +PARTIALPASTE_RAW_FALSECOLOR;Farbinterpolation: Falschfarbenunterdrückung +PARTIALPASTE_RAW_LMMSEITERATIONS;LMMSE-Verbesserungsstufen PARTIALPASTE_RESIZE;Größe ändern PARTIALPASTE_RGBCURVES;RGB-Kurven -PARTIALPASTE_ROTATION;Fein-Rotation +PARTIALPASTE_ROTATION;Drehen PARTIALPASTE_SHADOWSHIGHLIGHTS;Schatten/Lichter PARTIALPASTE_SHARPENEDGE;Kantenschärfung PARTIALPASTE_SHARPENING;Schärfung PARTIALPASTE_SHARPENMICRO;Mikrokontrast PARTIALPASTE_VIBRANCE;Dynamik PARTIALPASTE_VIGNETTING;Vignettierungskorrektur +PARTIALPASTE_WAVELETGROUP;Wavelet PARTIALPASTE_WHITEBALANCE;Weißabgleich PREFERENCES_ADD;HINZU PREFERENCES_APPLNEXTSTARTUP;erfordert Neustart +PREFERENCES_AUTLISLOW;Niedrig +PREFERENCES_AUTLISMAX;Max.-Durchschnitt aller Kacheln +PREFERENCES_AUTLISSTD;Hoch +PREFERENCES_AUTLISVLOW;Keine +PREFERENCES_AUTLOW;Niedrig PREFERENCES_AUTOMONPROFILE;Autom. das für den aktuellen Monitor festgelegte Profil verwenden +PREFERENCES_AUTSTD;Standard PREFERENCES_BATCH_PROCESSING;Stapelverarbeitung +PREFERENCES_BEHADDALLHINT;Setzt alle Parameter auf Hinzufügen.\nAnpassungen der Parameter in der Hintergrundstapelverarbeitung werden als Deltas zu den gespeicherten Werten interpretiert. +PREFERENCES_BEHADDALL;Alle hinzufügen PREFERENCES_BEHAVIOR;Verhalten +PREFERENCES_BEHSETALLHINT;Setzt alle Parameter auf Setzen.\nAnpassungen der Parameter in der Hintergrundstapelverarbeitung werden als Absolut zu den gespeicherten Werten interpretiert. +PREFERENCES_BEHSETALL;Alle setzen PREFERENCES_BLACKBODY;Wolfram PREFERENCES_CACHECLEARALL;Alles löschen PREFERENCES_CACHECLEARPROFILES;Profile löschen -PREFERENCES_CACHECLEARTHUMBS;Voransichten löschen -PREFERENCES_CACHEMAXENTRIES;Höchstzahl der Einträge im Zwischenspeicher -PREFERENCES_CACHEOPTS;Einstellungen des Zwischenspeichers für Voransichten (Cache) -PREFERENCES_CACHETHUMBHEIGHT;Maximale Höhe der Voransichten -PREFERENCES_CIEART;CIECAM02 Optimierung +PREFERENCES_CACHECLEARTHUMBS;Miniaturbilder löschen +PREFERENCES_CACHEMAXENTRIES;Maximale Anzahl der Einträge im Zwischenspeicher +PREFERENCES_CACHEOPTS;Einstellungen des Zwischenspeichers auf der Festplatte für Miniaturbilder +PREFERENCES_CACHETHUMBHEIGHT;Maximale Höhe der Miniaturbilder +PREFERENCES_CIEART;CIECAM02-Optimierung +PREFERENCES_CIEART_FRAME;CIECAM02-spezifische Einstellungen PREFERENCES_CIEART_LABEL;Einfache statt doppelte Genauigkeit -PREFERENCES_CIEART_TOOLTIP;Wenn aktiviert, werden CIECAM02-Berechnungen mit einfacher Genauigkeit statt doppelter durchgeführt. Dadurch wird der Vorgang etwas beschleunigt, die Qualität nimmt jedoch geringfügig ab. +PREFERENCES_CIEART_TOOLTIP;Wenn aktiviert, werden CIECAM02-Berechnungen mit einfacher Genauigkeit statt doppelter durchgeführt. Dadurch wird der Vorgang etwas beschleunigt. Die Qualität nimmt jedoch geringfügig ab. PREFERENCES_CLIPPINGIND;Anzeige zu heller/dunkler Bereiche +PREFERENCES_CLUTSCACHE;HaldCLUT-Zwischenspeicher +PREFERENCES_CLUTSCACHE_LABEL;Maximale Anzahl CLUTs im Zwischenspeicher +PREFERENCES_CLUTSDIR;HaldCLUT-Verzeichnis PREFERENCES_CMETRICINTENT;Farbraumtransformation +PREFERENCES_CURVEBBOXPOS;Position der Kurven-Buttons +PREFERENCES_CURVEBBOXPOS_ABOVE;Oben +PREFERENCES_CURVEBBOXPOS_BELOW;Unten +PREFERENCES_CURVEBBOXPOS_LEFT;Links +PREFERENCES_CURVEBBOXPOS_RIGHT;Rechts PREFERENCES_CUSTPROFBUILDHINT;Anwendung (oder Skript) zur Erzeugung eines neuen Profils für ein Bild. Folgende Kommandozeilenparameter zur regelbasierten *.PP3-Erzeugung werden übergeben:\n[Pfad RAW/JPEG] [Pfad vorgegebenes Profil] [Blende] [Belichtungszeit in s] [Brennweite in mm] [ISO] [Objektiv] [Kamera] +PREFERENCES_CUSTPROFBUILDKEYFORMAT;Format +PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name +PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;Tag-ID PREFERENCES_CUSTPROFBUILDPATH;Anwendungspfad PREFERENCES_CUSTPROFBUILD;Benutzerdefinierter Bildprofilgenerator PREFERENCES_CUTOVERLAYBRUSH;Farbe/Transparenz für Schnittmaske @@ -654,8 +908,10 @@ PREFERENCES_DARKFRAMETEMPLATES;Vorlagen PREFERENCES_DARKFRAME;Dunkelbild PREFERENCES_DATEFORMATHINT;Die folgenden Variablen können verwendet werden:\n%y : Jahr\n%m : Monat\n%d : Tag\n\nBeispiele:\n%d.%m.%y (übliche deutsche Datumsschreibweise)\n%y-%m-%d (Datumsformat nach ISO 8601 und EN 28601) PREFERENCES_DATEFORMAT;Format +PREFERENCES_DAUB_LABEL;Benutze Daubechies D6-Wavelets anstatt D4 +PREFERENCES_DAUB_TOOLTIP;Rauschreduzierung und Waveletebenen verwenden ein Debauchies Mutter-Wavelet. Wenn Sie D6 statt D4 wählen, erhöhen Sie die Anzahl der orthogonalen Daubechies-Koeffizienten, was die Qualität bei niedrigen Ebenen verbessern kann. Es gibt keinen Unterschied zwischen D4 und D6 im Speicherverbrauch oder in der Verarbeitungszeit. PREFERENCES_DEFAULTLANG;Sprache für Menüs und Dialoge -PREFERENCES_DEFAULTTHEME;Standard-Oberflächendesign +PREFERENCES_DEFAULTTHEME;Oberflächendesign PREFERENCES_DIRDARKFRAMES;Dunkelbild-Verzeichnis PREFERENCES_DIRHOME;Benutzer-Verzeichnis PREFERENCES_DIRLAST;Zuletzt geöffnetes Verzeichnis @@ -664,10 +920,12 @@ PREFERENCES_DIRSELECTDLG;Wähle das Bild-Verzeichnis beim Programmstart... PREFERENCES_DIRSOFTWARE;Installationsverzeichnis PREFERENCES_EDITORCMDLINE;Befehlszeile PREFERENCES_EDITORLAYOUT;Editor-Layout +PREFERENCES_EXPAUT;Experte PREFERENCES_EXTERNALEDITOR;Externer Editor -PREFERENCES_FBROWSEROPTS;Bildinformationen und Voransichten -PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Einzeilige Werkzeugleiste in Dateiverwaltung (Bei geringer Bildschirmauflösung deaktivieren) +PREFERENCES_FBROWSEROPTS;Bildinformationen und Miniaturbilder +PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Einzeilige Werkzeugleiste (Bei geringer Bildschirmauflösung deaktivieren) PREFERENCES_FILEFORMAT;Dateiformat +PREFERENCES_FILMSIMULATION;Filmsimulation PREFERENCES_FLATFIELDFOUND;Gefunden PREFERENCES_FLATFIELDSDIR;Weißbild-Verzeichnis PREFERENCES_FLATFIELDSHOTS;Aufnahmen @@ -678,6 +936,8 @@ PREFERENCES_FLUOF7;Fluoreszenz F7 PREFERENCES_FLUOF11;Fluoreszenz F11 PREFERENCES_FORIMAGE;Für Bilddateien PREFERENCES_FORRAW;Für RAW-Dateien +PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Gleiche Miniaturbildgröße in der Dateiverwaltung und dem Filmstreifen verwenden +PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Unterschiedliche Miniaturbildgrößen benötigen mehr Verarbeitungszeit beim Wechsel zwischen der Dateiverwaltung und dem Editor PREFERENCES_GIMPPATH;GIMP Installationsverzeichnis PREFERENCES_GREY05;Yb=05 CIE L#30 PREFERENCES_GREY10;Yb=10 CIE L#40 @@ -686,17 +946,32 @@ PREFERENCES_GREY18;Yb=18 CIE L#50 PREFERENCES_GREY23;Yb=23 CIE L#55 PREFERENCES_GREY30;Yb=30 CIE L#60 PREFERENCES_GREY40;Yb=40 CIE L#70 -PREFERENCES_GREY;Yb Helligkeit (%) des Ausgabegerätes +PREFERENCES_GREYSC18;Yb=18 CIE L#49 +PREFERENCES_GREYSCA;Automatisch +PREFERENCES_GREYSC;Szenen-Yb-Luminanz (%) +PREFERENCES_GREY;Yb-Luminanz (%) des Ausgabegerätes PREFERENCES_HISTOGRAMPOSITIONLEFT;Histogramm linksseitig -PREFERENCES_HLTHRESHOLD;Schwellenwert - zu hell +PREFERENCES_HISTOGRAMWORKING;Das Arbeitsprofil zur Darstellung des Haupthistogramms verwenden +PREFERENCES_HISTOGRAM_TOOLTIP;Wenn aktiviert wird das Arbeitsprofil für die Darstellung des Haupthistogramms, andernfalls das des gammakorrigierten Ausgangsprofil, verwendet. +PREFERENCES_HLTHRESHOLD;Lichter - Schwellenwert PREFERENCES_ICCDIR;ICC-Profile-Verzeichnis -PREFERENCES_IMPROCPARAMS;Standard-Bildbearbeitungsparameter +PREFERENCES_IMG_RELOAD_NEEDED;Änderungen werden nur auf neu geöffnete Bilder angewendet +PREFERENCES_IMPROCPARAMS;Standard-Bildverarbeitungsparameter +PREFERENCES_INSPECT_LABEL;Bildzwischenspeicher +PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximale Anzahl Bilder im Zwischenspeicher +PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Legt die maximale Anzahl Bilder fest, die im Zwischenspeicher gehalten werden, wenn man in der Dateiverwaltung mit der Maus über ein Bild fährt.\n\nAuf Systemen mit nicht mehr als 2GB RAM, sollte der Wert nicht größer als 2 gewählt werden. PREFERENCES_INTENT_ABSOLUTE;Absolut farbmetrisch PREFERENCES_INTENT_PERCEPTUAL;Wahrnehmungsabhängig PREFERENCES_INTENT_RELATIVE;Relativ farbmetrisch PREFERENCES_INTENT_SATURATION;Sättigung -PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Voransicht aus RAW, wenn noch nicht editiert -PREFERENCES_LANGAUTODETECT;Betriebssystem-Einstellung verwenden +PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Zeige das eingebettete JPEG als Miniaturbild, wenn die RAW-Datei noch nicht editiert wurde +PREFERENCES_LANGAUTODETECT;Systemsprache verwenden +PREFERENCES_LEVAUTDN;Rauschreduzierungsstufe +PREFERENCES_LEVDN;Zellengröße +PREFERENCES_LISS;Automatische Glättung bei Mehrfachzonen +PREFERENCES_MAXRECENTFOLDERS;Maximale Anzahl der letzten Dateien +PREFERENCES_MAX;Maxi (Kachel) +PREFERENCES_MED;Medium (Kachel/2) PREFERENCES_MENUGROUPEXTPROGS;Untermenü "Öffnen mit" PREFERENCES_MENUGROUPFILEOPERATIONS;Untermenü Dateioperationen PREFERENCES_MENUGROUPLABEL;Untermenü Farbmarkierung @@ -704,79 +979,110 @@ PREFERENCES_MENUGROUPPROFILEOPERATIONS;Untermenü Profiloperationen PREFERENCES_MENUGROUPRANK;Untermenü Bewertung PREFERENCES_MENUOPTIONS;Menüoptionen PREFERENCES_METADATA;Metadaten +PREFERENCES_MIN;Mini (100x115) PREFERENCES_MONITORICC;Monitor-Profil -PREFERENCES_MULTITABDUALMON;Multi-Reiter Modus (auf zweitem Monitor, wenn verfügbar) -PREFERENCES_MULTITAB;Multi-Reiter Modus -PREFERENCES_OUTDIRFOLDERHINT;Alle erzeugten Dateien in dem angegebenen Verzeichnis ablegen +PREFERENCES_MULTITABDUALMON;Multi-Reitermodus (auf zweitem Monitor, wenn verfügbar) +PREFERENCES_MULTITAB;Multi-Reitermodus +PREFERENCES_NAVGUIDEBRUSH;Farbe der Navigationshilfe +PREFERENCES_NAVIGATIONFRAME;Navigation +PREFERENCES_NOISE;Rauschreduzierung +PREFERENCES_OUTDIRFOLDERHINT;Alle Dateien ausgewähltem Verzeichnis speichern. PREFERENCES_OUTDIRFOLDER;Im Verzeichnis speichern -PREFERENCES_OUTDIRTEMPLATEHINT;Erzeugte Dateien gemäß Vorlage benennen und ablegen.\n\nDie folgenden Variablen können verwendet werden:\n%d1, %d2, ..., %f, %p1, %p2, ..., %r\n\nDiese Variablen beinhalten bestimmte Teile des Verzeichnispfades, in welchem sich ein Bild befindet, oder Attribute des Bildes.\n\nWenn zum Beispiel /home/tom/photos/2010-10-31/dsc0042.nef geöffnet wurde, dann haben die Variablen den folgenden Inhalt:\n%d4 = home\n%d3 = tom\n%d2 = photos\n%d1 = 2010-10-31\n%f = dsc0042\n%p1 = /home/tom/photos/2010-10-31\n%p2 = /home/tom/photos\n%p3 = /home/tom\n%p4 = /home\n\nWenn Sie die Ausgabedatei in dasselbe Verzeichnis wie das Originalbild speichern wollen, dann wählen Sie:\n%p1/%f\n\nWenn Sie die Ausgabedatei in ein Unterverzeichnis mit dem Namen "converted" schreiben wollen, dann wählen Sie:\n%p1/converted/%f\n\nWenn Sie die Ausgabedatei im Verzeichnispfad "/home/tom/photos/converted" speichern wollen, dort jedoch in einem mit dem Namen des Ursprungsverzeichnisses betitelten Unterverzeichnis, dann wählen Sie:\n%p2/converted/%d1/%f\n\nDie Variable %r enthält die Bewertung des Bildes; ihr Inhalt ist für unbewertete Bilder "0", für in den Papierkorb verschobene Bilder "x" und ansonsten - entsprechend der Anzahl der Sterne - eine Ziffer zwischen "1" und "5". +PREFERENCES_OUTDIRTEMPLATEHINT;Die folgenden Variablen können verwendet werden:\n%f, %d1, %d2, ..., %p1, %p2, ..., %r, %s1, %s2, ...\n\nDiese Variablen beinhalten bestimmte Teile des Verzeichnispfades, in welchem sich das Bild befindet, oder Attribute des Bildes.\n\nWenn zum Beispiel /home/tom/photos/2010-10-31/dsc0042.nef geöffnet wurde, dann haben die Variablen den folgenden Inhalt:\n%d4 = home\n%d3 = tom\n%d2 = photos\n%d1 = 2010-10-31\n%f = dsc0042\n%p1 = /home/tom/photos/2010-10-31\n%p2 = /home/tom/photos\n%p3 = /home/tom\n%p4 = /home\n\nWenn Sie die Ausgabedatei in dasselbe Verzeichnis wie das Originalbild speichern wollen, dann wählen Sie:\n%p1/%f\n\nWenn Sie die Ausgabedatei in ein Unterverzeichnis mit dem Namen "converted" schreiben wollen, dann wählen Sie:\n%p1/converted/%f\n\nWenn Sie die Ausgabedatei im Verzeichnispfad "/home/tom/photos/converted" speichern wollen, dort jedoch in einem mit dem Namen des Ursprungsverzeichnisses betitelten Unterverzeichnis, dann wählen Sie:\n%p2/converted/%d1/%f\n\nDie Variable %r enthält die Bewertung des Bildes. PREFERENCES_OUTDIRTEMPLATE;Vorlage verwenden PREFERENCES_OUTDIR;Ausgabeverzeichnis -PREFERENCES_OVERLAY_FILENAMES;Dateiname und Informationen überlagert über Bild +PREFERENCES_OVERLAY_FILENAMES;Bildinformationen überlagern die Miniaturbilder in der Dateiverwaltung +PREFERENCES_OVERLAY_FILENAMES_FILMSTRIP;Bildinformationen der Miniaturbilder im Filmstreifen anzeigen PREFERENCES_OVERWRITEOUTPUTFILE;Bestehende Ausgabedateien überschreiben -PREFERENCES_PANFACTORLABEL;Schrittweite -PREFERENCES_PARSEDEXTADDHINT;Nebenstehenden Dateityp (Extension) der obigen Liste hinzufügen +PREFERENCES_PANFACTORLABEL;Mausgeschwindigkeit beim Bewegen von Bildern +PREFERENCES_PARSEDEXTADDHINT;Dateityp (Extension) zur Liste hinzufügen PREFERENCES_PARSEDEXTADD;Dateityp\nhinzufügen -PREFERENCES_PARSEDEXTDELHINT;Markierten Dateityp aus Liste entfernen +PREFERENCES_PARSEDEXTDELHINT;Selektierten Dateityp aus Liste entfernen PREFERENCES_PARSEDEXT;Angezeigte Dateitypen +PREFERENCES_PREVDEMO;Farbinterpolation +PREFERENCES_PREVDEMO_FAST;Schnell +PREFERENCES_PREVDEMO_LABEL;Demosaikmethode für 100%-Ansicht +PREFERENCES_PREVDEMO_SIDECAR;Wie im Bildverarbeitungsprofil vorgegeben PREFERENCES_PROFILEHANDLING;Behandlung der Bearbeitungsprofile PREFERENCES_PROFILELOADPR;Priorität der Profile beim Laden -PREFERENCES_PROFILEPRCACHE;Bearbeitungsprofil im Zwischenspeicher (Cache) +PREFERENCES_PROFILEPRCACHE;Bearbeitungsprofil im Zwischenspeicher PREFERENCES_PROFILEPRFILE;Bearbeitungsprofil, welches geladener Datei beiliegt (Sidecar) -PREFERENCES_PROFILESAVECACHE;Verarbeitungsparameter im Zwischenspeicher speichern (Cache) +PREFERENCES_PROFILESAVECACHE;Verarbeitungsparameter im Zwischenspeicher speichern PREFERENCES_PROFILESAVEINPUT;Verarbeitungsparameter zusammen mit Datei speichern (Sidecar) PREFERENCES_PROPERTY;Eigenschaft PREFERENCES_PSPATH;Adobe Photoshop Installationsverzeichnis -PREFERENCES_RGBDTL_LABEL;Max. Anzahl Threads für Rauschminderung -PREFERENCES_RGBDTL_TOOLTIP;Die Rauschminderung benötigt mindestens 128MB RAM für ein 10 Megapixel-Bild oder 512MB für ein 40 Megapixel-Bild, und zusätzlich 128MB RAM pro Thread. Je mehr Threads parallel ablaufen, desto schneller ist die Berechnung. Bei Einstellung "0" werden so viele Threads wie möglich benutzt. +PREFERENCES_REMEMBERZOOMPAN;Zoom und Bildposition merken +PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Öffnen eines neuen Bildes mit den Zoom- und Positionswerten des vorangegangenen Bildes.\n\nFunktioniert nur unter folgenden Bedingungen:\nEin-Reitermodus aktiv\n“Demosaikmethode für 100%-Ansicht“ muss auf “Wie im Bildverarbeitungsprofil vorgegeben“ eingestellt sein. +PREFERENCES_RGBDTL_LABEL;Maximale Anzahl Threads für Rauschreduzierung +PREFERENCES_RGBDTL_TOOLTIP;Die Rauschreduzierung benötigt mindestens 128MB RAM für ein 10 Megapixel-Bild oder 512MB für ein 40 Megapixel-Bild, und zusätzlich 128MB RAM pro Thread. Je mehr Threads parallel ablaufen, desto schneller ist die Berechnung. Bei Einstellung "0" werden so viele Threads wie möglich benutzt. PREFERENCES_SELECTFONT;Schriftart PREFERENCES_SELECTLANG;Sprache PREFERENCES_SELECTTHEME;Oberflächendesign +PREFERENCES_SERIALIZE_TIFF_READ;TIFF-Bilder +PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serialisiertes Lesen von TIFF-Bildern verwenden +PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;Beim Arbeiten mit Ordnern voll unkomprimierter TIFF-Bilder, kann diese Einstellung das Generieren von Miniaturbildern deutlich beschleunigen. PREFERENCES_SET;SETZEN PREFERENCES_SHOWBASICEXIF;Exif-Daten anzeigen PREFERENCES_SHOWDATETIME;Datum und Uhrzeit anzeigen PREFERENCES_SHOWEXPOSURECOMPENSATION;Belichtungskorrektur anfügen -PREFERENCES_SHTHRESHOLD;Schwellenwert - zu dunkel -PREFERENCES_SINGLETABVERTAB;Ein-Reiter Modus (vertikale Reiter) -PREFERENCES_SINGLETAB;Ein-Reiter Modus +PREFERENCES_SHOWFILMSTRIPTOOLBAR;Zeige Filmstreifenleiste +PREFERENCES_SHTHRESHOLD;Schatten - Schwellenwert +PREFERENCES_SIMPLAUT;Werkzeugmodus +PREFERENCES_SINGLETABVERTAB;Ein-Reitermodus (vertikale Reiter) +PREFERENCES_SINGLETAB;Ein-Reitermodus PREFERENCES_SLIMUI;Kompakte Oberfläche +PREFERENCES_SMA;Klein (250x287) PREFERENCES_SND_BATCHQUEUEDONE;Warteschlange abgearbeitet -PREFERENCES_SND_HELP;Entweder Dateipfad eingeben oder nichts (falls kein Systemklang gewünscht).\nUnter Windows "SystemDefault", "SystemAsterisk" usw. für Systemklänge verwenden. +PREFERENCES_SND_HELP;Entweder einen Dateipfad zu einer Sounddatei oder einen Systemklang eingeben.\n\nBeispiele Systemklänge:\nWindows: SystemDefault, SystemAsterisk ...\nLinux: complete, window-attention ...\n PREFERENCES_SND_LNGEDITPROCDONE;Bearbeitung abgeschlossen -PREFERENCES_SND_TRESHOLDSECS;nach (s) +PREFERENCES_SND_TRESHOLDSECS;Nach Sekunden PREFERENCES_STARTUPIMDIR;Bildverzeichnis beim Programmstart +PREFERENCES_STDAUT;Standard PREFERENCES_TAB_BROWSER;Dateiverwaltung PREFERENCES_TAB_COLORMGR;Farbmanagement PREFERENCES_TAB_GENERAL;Allgemein PREFERENCES_TAB_IMPROC;Bildbearbeitung -PREFERENCES_TAB_PERFORMANCE;Performance -PREFERENCES_TAB_SOUND;Systemklänge +PREFERENCES_TAB_PERFORMANCE;Performance & Qualität +PREFERENCES_TAB_SOUND;Klänge +PREFERENCES_TIMAX;Hoch +PREFERENCES_TINB;Anzahl Kacheln +PREFERENCES_TISTD;Standard PREFERENCES_TP_LABEL;Werkzeugbereich: PREFERENCES_TP_USEICONORTEXT;Symbole statt Text in Karteireitern PREFERENCES_TP_VSCROLLBAR;Keine vertikale Laufleiste -PREFERENCES_TUNNELMETADATA;IPTC/XMP unverändert in Ausgabedatei kopieren (falls Tagging mittels anderer Software) -PREFERENCES_USESYSTEMTHEME;Systemoberfläche +PREFERENCES_TUNNELMETADATA;Bei Tagging mittels anderer Software, IPTC/XMP unverändert in die Ausgabedatei kopieren. +PREFERENCES_USEBUNDLEDPROFILES;Standardprofile verwenden +PREFERENCES_USESYSTEMTHEME;Systemoberfläche verwenden PREFERENCES_VIEW;Weißabgleich-Einstellung des Ausgabegerätes (Monitor, TV, Projektor, usw.) +PREFERENCES_WAVLEV;Die Qualität von Waveletebenen erhöhen +PREFERENCES_WLONE;Eine Ebene +PREFERENCES_WLTWO;Zwei Ebenen +PREFERENCES_WLZER;Nein PREFERENCES_WORKFLOW;Layout PROFILEPANEL_COPYPPASTE;Zu kopierende Parameter +PROFILEPANEL_GLOBALPROFILES;Standardprofile PROFILEPANEL_LABEL;Bearbeitungsprofile -PROFILEPANEL_LOADDLGLABEL;Bearbeitungsprofil laden... +PROFILEPANEL_LOADDLGLABEL;Bearbeitungsparameter laden... PROFILEPANEL_LOADPPASTE;Zu ladende Parameter +PROFILEPANEL_MODE_TIP;Ist der Button aktiviert, werden Teilprofile als vollständige Profile geladen. Fehlende Parameter werden durch Standardwerte aufgefüllt. +PROFILEPANEL_MYPROFILES;Meine Profile PROFILEPANEL_PASTEPPASTE;Einzufügende Parameter PROFILEPANEL_PCUSTOM;Benutzerdefiniert PROFILEPANEL_PFILE;Aus Datei +PROFILEPANEL_PINTERNAL;Neutral PROFILEPANEL_PLASTSAVED;Zuletzt gespeichert PROFILEPANEL_SAVEDLGLABEL;Bearbeitungsprofil speichern... PROFILEPANEL_SAVEPPASTE;Zu speichernde Parameter -PROFILEPANEL_TOOLTIPCOPY;Profil in Zwischenablage kopieren\n\nStrg-Taste beim Anklicken gedrückt halten,\num zu kopierende Parameter auszuwählen +PROFILEPANEL_TOOLTIPCOPY;Profil in Zwischenablage kopieren\n\nStrg-Taste beim Anklicken gedrückt halten, um zu kopierende Parameter auszuwählen. PROFILEPANEL_TOOLTIPLOAD;Profil aus Datei laden\n\nStrg-Taste beim Anklicken gedrückt halten,\num zu ladende Parameter auszuwählen -PROFILEPANEL_TOOLTIPPASTE;Profil aus Zwischenablage einfügen\n\nStrg-Taste beim Anklicken gedrückt halten,\num einzufügende Parameter auszuwählen +PROFILEPANEL_TOOLTIPPASTE;Profil aus Zwischenablage einfügen\n\nStrg-Taste beim Anklicken gedrückt halten, um einzufügende Parameter auszuwählen. PROFILEPANEL_TOOLTIPSAVE;Profil speichern\n\nStrg-Taste beim Anklicken gedrückt halten,\num zu speichernde Parameter auszuwählen -PROGRESSBAR_LOADINGTHUMBS;Lade Voransichten... +PROGRESSBAR_LOADINGTHUMBS;Lade Miniaturbilder... PROGRESSBAR_LOADING;Lade Bild... PROGRESSBAR_LOADJPEG;Lade JPEG... PROGRESSBAR_LOADPNG;Lade PNG... PROGRESSBAR_LOADTIFF;Lade TIFF... +PROGRESSBAR_NOIMAGES;Keine Bilder gefunden PROGRESSBAR_PROCESSING;Berechne Bild... PROGRESSBAR_PROCESSING_PROFILESAVED;Verarbeitungsprofil gespeichert PROGRESSBAR_READY;Bereit @@ -784,41 +1090,53 @@ PROGRESSBAR_SAVEJPEG;Speichere JPEG... PROGRESSBAR_SAVEPNG;Speichere PNG... PROGRESSBAR_SAVETIFF;Speichere TIFF... PROGRESSBAR_SNAPSHOT_ADDED;Schnappschuss hinzugefügt -PROGRESSDLG_PROFILECHANGEDINBROWSER;Profil wurde im Browser geändert +PROGRESSDLG_PROFILECHANGEDINBROWSER;Profil wurde in der Dateiverwaltung geändert QINFO_ISO;ISO QINFO_NOEXIF;Keine Exif-Daten vorhanden. SAVEDLG_AUTOSUFFIX;Suffix anfügen, falls unter dem Namen bereits eine Datei existiert SAVEDLG_FILEFORMAT;Dateiformat +SAVEDLG_FORCEFORMATOPTS;Erzwinge Speicheroptionen SAVEDLG_JPEGQUAL;JPEG-Qualität SAVEDLG_PNGCOMPR;PNG-Kompression -SAVEDLG_PUTTOQUEUEHEAD;An den Anfang der Warteschlange für Verarbeitung legen -SAVEDLG_PUTTOQUEUETAIL;An das Ende der Warteschlange für Verarbeitung legen -SAVEDLG_PUTTOQUEUE;In Warteschlange für Verarbeitung legen +SAVEDLG_PUTTOQUEUEHEAD;An den Anfang der Warteschlange hinzufügen +SAVEDLG_PUTTOQUEUETAIL;An das Ende der Warteschlange hinzufügen +SAVEDLG_PUTTOQUEUE;Zur Warteschlange hinzufügen SAVEDLG_SAVEIMMEDIATELY;Sofort speichern -SAVEDLG_SAVESPP;Prozessparameter mit dem Bild speichern -SAVEDLG_SUBSAMP;Subsampling +SAVEDLG_SAVESPP;Verarbeitungsparameter mit dem Bild speichern +SAVEDLG_SUBSAMP;Komprimierung SAVEDLG_SUBSAMP_1;Beste Kompression -SAVEDLG_SUBSAMP_2;Ausbalanciert +SAVEDLG_SUBSAMP_2;Ausgeglichen SAVEDLG_SUBSAMP_3;Beste Qualität -SAVEDLG_SUBSAMP_TOOLTIP;Beste Kompression: 4:1:1\nAusbalanciert: 4:2:2\nBeste Qualität: 4:4:4 -SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF +SAVEDLG_SUBSAMP_TOOLTIP;Beste Kompression: 4:1:1\nAusgeglichen: 4:2:2\nBeste Qualität: 4:4:4 +SAVEDLG_TIFFUNCOMPRESSED;Unkomprimiertes TIFF SAVEDLG_WARNFILENAME;Die Datei wird gespeichert als -SHCSELECTOR_TOOLTIP;Um die 3 Regler zurückzusetzen, rechte Maustaste klicken -THRESHOLDSELECTOR_BL;unten-links -THRESHOLDSELECTOR_BR;unten-rechts -THRESHOLDSELECTOR_B;unten -THRESHOLDSELECTOR_HINT;Shift-Taste halten, um individuelle Kontrollpunkte zu verschieben. -THRESHOLDSELECTOR_TL;oben-links -THRESHOLDSELECTOR_TR;oben-rechts -THRESHOLDSELECTOR_T;oben -TOOLBAR_TOOLTIP_CROP;Ausschnitt wählen C\n\nZum Verschieben des Ausschnitts muss die Umschalttaste gedrückt gehalten werden -TOOLBAR_TOOLTIP_HAND;Hand-Werkzeug H -TOOLBAR_TOOLTIP_STRAIGHTEN;Ausrichten / Fein-Rotation S\n\nRichtet das Bild entlang einer Leitlinie aus; der Drehwinkel wird neben der Leitlinie angezeigt, die Drehung erfolgt um die Bildmitte -TOOLBAR_TOOLTIP_WB;Weißabgleich manuell setzen W +SHCSELECTOR_TOOLTIP;Um die 3 Regler zurückzusetzen, rechte Maustaste klicken. +THRESHOLDSELECTOR_BL;Unten-Links +THRESHOLDSELECTOR_BR;Unten-Rechts +THRESHOLDSELECTOR_B;Unten +THRESHOLDSELECTOR_HINT;Umschalt-Taste halten, um individuelle Kontrollpunkte zu verschieben. +THRESHOLDSELECTOR_TL;Oben-Links +THRESHOLDSELECTOR_TR;Oben-Rechts +THRESHOLDSELECTOR_T;Oben +TOOLBAR_TOOLTIP_CROP;Ausschnitt wählen\nTaste: c\n\nZum Verschieben des Ausschnitts muss die Umschalttaste gedrückt gehalten werden +TOOLBAR_TOOLTIP_HAND;Hand-Werkzeug\nTaste: h +TOOLBAR_TOOLTIP_STRAIGHTEN;Ausrichten / Drehen\nTaste: s\n\nRichtet das Bild entlang einer Leitlinie aus. +TOOLBAR_TOOLTIP_WB;Weißabgleich manuell setzen\nTaste: w +TP_BWMIX_ALGO;OYCPM-Algorithmus +TP_BWMIX_ALGO_LI;Linear +TP_BWMIX_ALGO_SP;Spezialeffekte +TP_BWMIX_ALGO_TOOLTIP;Linear liefert ein lineares Ergebnis\nSpezialeffekte liefert einen speziellen Effekt durch Mischen von Kanälen. +TP_BWMIX_AUTOCH;Auto +TP_BWMIX_AUTOCH_TIP;Automatische Berechnung der RGB-Werte. TP_BWMIX_CC_ENABLED;Komplemantärfarbe anpassen TP_BWMIX_CC_TOOLTIP;Aktiviert die automatische Anpassung der Komplementärfarbe im ROYGCBPM-Modus -TP_BWMIX_CHANNEL;Luminanz Equalizer -TP_BWMIX_FILTER;FarbFilter +TP_BWMIX_CHANNEL;Luminanzequalizer +TP_BWMIX_CURVEEDITOR1;“Bevor“-Kurve +TP_BWMIX_CURVEEDITOR2;“Danach“-Kurve +TP_BWMIX_CURVEEDITOR_AFTER_TOOLTIP;Die Tonwertkurve wird NACH der Schwarz/Weiß-Konvertierung angewendet. +TP_BWMIX_CURVEEDITOR_BEFORE_TOOLTIP;Die Tonwertkurve wird VOR der Schwarz/Weiß-Konvertierung angewendet. +TP_BWMIX_CURVEEDITOR_LH_TOOLTIP;Luminanz als Funktion des Farbtons L=f(H). Zu hohe Werte können zu Artefakten führen. +TP_BWMIX_FILTER;Farbfilter TP_BWMIX_FILTER_BLUEGREEN;Blau-Grün TP_BWMIX_FILTER_BLUE;Blau TP_BWMIX_FILTER_GREENYELLOW;Grün-Gelb @@ -827,22 +1145,26 @@ TP_BWMIX_FILTER_NONE;Keiner TP_BWMIX_FILTER_PURPLE;Violett TP_BWMIX_FILTER_REDYELLOW;Rot-Gelb TP_BWMIX_FILTER_RED;Rot -TP_BWMIX_FILTER_TOOLTIP;Farbfilter simulieren Aufnahmen mit einem auf dem Objektiv montierten farbigen Filter. Farbfilter reduzieren die Durchlässigkeit für einen speziellen Farbbereich und verändern dementsprechend die Helligkeit in diesem Bereich. z.B. verdunkelt ein Rotfilter bauen Himmel. +TP_BWMIX_FILTER_TOOLTIP;Der Farbfilter simuliert Aufnahmen wie mit einem auf dem Objektiv montierten farbigen Filter. Farbfilter reduzieren die Durchlässigkeit für einen speziellen Farbbereich und verändern dementsprechend die Helligkeit.\n\nz.B. verdunkelt ein Rotfilter blauen Himmel. TP_BWMIX_FILTER_YELLOW;Gelb -TP_BWMIX_GAMMA;Gamma-Korrektur -TP_BWMIX_GAM_TOOLTIP;Korrigiere Gamma für einzelne RGB-Kanäle -TP_BWMIX_LABEL;Schwarzweiß +TP_BWMIX_GAMMA;Gammakorrektur +TP_BWMIX_GAM_TOOLTIP;Korrigiert Gamma für einzelne RGB-Kanäle. +TP_BWMIX_LABEL;Schwarz / Weiß TP_BWMIX_MET;Methode -TP_BWMIX_MET_CHANMIX;Kanal-Mixer +TP_BWMIX_MET_CHANMIX;Kanalmixer TP_BWMIX_MET_DESAT;Entsättigung -TP_BWMIX_MET_LUMEQUAL;Luminanz Equalizer +TP_BWMIX_MET_LUMEQUAL;Luminanz TP_BWMIX_MIXC;Mixer TP_BWMIX_NEUTRAL;Mixer zurücksetzen +TP_BWMIX_NEUTRAL_TIP;Alle Werte auf Standard zurücksetzen. (Farbfilter, Kanalmixer) +TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Gesamt: %4%% +TP_BWMIX_RGBLABEL_HINT;RGB-Faktoren\n\nGesamt: Summe aller RGB-Werte.\n- immer 100% im Modus Relativ\n- höher (heller), oder niedriger (dunkler) 100% im Modus Absolut +TP_BWMIX_RGB_TOOLTIP;Mischen Sie die Kanäle. Verwenden Sie die Vorgaben zur Orientierung.\nNegative Werte können zu Artefakten führen. TP_BWMIX_SETTING;Voreinstellung -TP_BWMIX_SETTING_TOOLTIP;Verschiedene Voreinstellungen (Filmtypen, Landschaft, ...) oder benutzerdefinierte Einstellungen des Kanal-Mixers +TP_BWMIX_SETTING_TOOLTIP;Voreinstellungen für den Kanalmixer (Film, Landschaft, ...). TP_BWMIX_SET_HIGHCONTAST;Hoher Kontrast TP_BWMIX_SET_HIGHSENSIT;Hohe Empfindlichkeit -TP_BWMIX_SET_HYPERPANCHRO;Hyper Panchromatisch +TP_BWMIX_SET_HYPERPANCHRO;Hyper-Panchromatisch TP_BWMIX_SET_INFRARED;Infrarot TP_BWMIX_SET_LANDSCAPE;Landschaft TP_BWMIX_SET_LOWSENSIT;Niedrige Empfindlichkeit @@ -851,161 +1173,278 @@ TP_BWMIX_SET_NORMCONTAST;Normaler Kontrast TP_BWMIX_SET_ORTHOCHRO;Orthochromatisch TP_BWMIX_SET_PANCHRO;Panchromatisch TP_BWMIX_SET_PORTRAIT;Portrait -TP_BWMIX_TCMODE_FILMLIKE;SW Film-ähnlich -TP_BWMIX_TCMODE_STANDARD;SW Standard -TP_BWMIX_TCMODE_WEIGHTEDSTD;SW Standard gewichtet +TP_BWMIX_SET_RGBABS;RGB absolut +TP_BWMIX_SET_RGBREL;RGB relativ +TP_BWMIX_SET_ROYGCBPMABS;ROYGCBPM absolut +TP_BWMIX_SET_ROYGCBPMREL;ROYGCBPM relativ +TP_BWMIX_TCMODE_FILMLIKE;Filmähnlich +TP_BWMIX_TCMODE_SATANDVALBLENDING;Sättigung und Überlagerung +TP_BWMIX_TCMODE_STANDARD;Standard +TP_BWMIX_TCMODE_WEIGHTEDSTD;Standard gewichtet +TP_BWMIX_VAL;L TP_CACORRECTION_BLUE;Blau TP_CACORRECTION_LABEL;Farbsaum entfernen TP_CACORRECTION_RED;Rot TP_CHMIXER_BLUE;Blau-Kanal TP_CHMIXER_GREEN;Grün-Kanal -TP_CHMIXER_LABEL;Kanal-Mixer +TP_CHMIXER_LABEL;RGB-Kanalmixer TP_CHMIXER_RED;Rot-Kanal TP_CHROMATABERR_LABEL;Chromatische Aberration TP_COARSETRAF_TOOLTIP_HFLIP;Horizontal spiegeln -TP_COARSETRAF_TOOLTIP_ROTLEFT;Nach links drehen [ -TP_COARSETRAF_TOOLTIP_ROTRIGHT;Nach rechts drehen ] +TP_COARSETRAF_TOOLTIP_ROTLEFT;Nach links drehen\nTaste: [ +TP_COARSETRAF_TOOLTIP_ROTRIGHT;Nach rechts drehen\nTaste: ] TP_COARSETRAF_TOOLTIP_VFLIP;Vertikal spiegeln -TP_COLORAPP_ADAPTSCENE;Adaptation Szenen-Leuchtstärke (cd/m²) -TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute Luminanz der Szenen-Umgebung\n(normalerweise 2000cd/m²) -TP_COLORAPP_ADAPTVIEWING;Adaptation Betrachungs-Leuchtstärke (cd/m²) -TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute Luminanz der Betrachtungs-Umgebung\n(normalerweise 16cd/m²) +TP_COLORAPP_ADAPTSCENE;Leuchtstärke (cd/m²) +TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolute Luminanz der Szenenleuchstärket\n(normalerweise 2000cd/m²) +TP_COLORAPP_ADAPTVIEWING;Leuchtstärke (cd/m²) +TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolute Luminanz der Betrachtungsumgebung\n(normalerweise 16cd/m²) +TP_COLORAPP_ADAP_AUTO_TOOLTIP;Wenn aktiviert (empfohlen), werden die optimalen Werte aus den Exif-Daten automatisch berechnet. TP_COLORAPP_ALGO;Algorithmus TP_COLORAPP_ALGO_ALL;Alle -TP_COLORAPP_ALGO_JC;Helligkeit + Chroma (JC) +TP_COLORAPP_ALGO_JC;Helligkeit + Buntheit (JH) TP_COLORAPP_ALGO_JS;Helligkeit+ Sättigung (JS) -TP_COLORAPP_ALGO_QM;Helligkeit + Buntheit (QM) +TP_COLORAPP_ALGO_QM;Helligkeit + Farbigkeit (QM) TP_COLORAPP_ALGO_TOOLTIP;Auswahl zwischen Parameter-Teilmengen und allen Parametern +TP_COLORAPP_BADPIXSL;Hot/Bad-Pixelfilter +TP_COLORAPP_BADPIXSL_TOOLTIP;Unterdrückt “Hot/Bad“-Pixel\n\n0 = keine Auswirkung\n1 = Mittel\n2 = Gaussian TP_COLORAPP_BRIGHT;Helligkeit (Q) -TP_COLORAPP_BRIGHT_TOOLTIP;Helligkeit in CIECAM02 berücksichtigt die Weiß-Intensität und unterscheidet sich von Lab und RGB-Helligkeit -TP_COLORAPP_CHROMA;Chroma (C) -TP_COLORAPP_CHROMA_M;Buntheit (M) -TP_COLORAPP_CHROMA_M_TOOLTIP;Buntheit in CIECAM02 unterscheidet sich von Lab und RGB Buntheit +TP_COLORAPP_BRIGHT_TOOLTIP;Helligkeit in CIECAM02 berücksichtigt die Weißintensität und unterscheidet sich von L*a*b* und RGB-Helligkeit +TP_COLORAPP_CHROMA;Buntheit (H) +TP_COLORAPP_CHROMA_M;Farbigkeit (M) +TP_COLORAPP_CHROMA_M_TOOLTIP;Die Farbigkeit in CIECAM02 unterscheidet sich von L*a*b*- und RGB-Farbigkeit TP_COLORAPP_CHROMA_S;Sättigung (S) -TP_COLORAPP_CHROMA_S_TOOLTIP;Sättigung in CIECAM02 unterscheidet sich von Lab und RGB Sättigung -TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM02 unterscheidet sich von Lab und RGB Chroma +TP_COLORAPP_CHROMA_S_TOOLTIP;Sättigung in CIECAM02 unterscheidet sich von L*a*b* und RGB Sättigung +TP_COLORAPP_CHROMA_TOOLTIP;Buntheit in CIECAM02 unterscheidet sich von L*a*b* und RGB-Buntheit TP_COLORAPP_CIECAT_DEGREE;CAT02 Adaptation TP_COLORAPP_CONTRAST;Kontrast (J) TP_COLORAPP_CONTRAST_Q;Kontrast (Q) -TP_COLORAPP_CONTRAST_Q_TOOLTIP;Kontrast in CIECAM02 des Q Reglers; unterscheidet sich von Lab und RGB Kontrast -TP_COLORAPP_CONTRAST_TOOLTIP;Kontrast in CIECAM02 des J Reglers; unterscheidet sich von Lab und RGB Kontrast +TP_COLORAPP_CONTRAST_Q_TOOLTIP;Kontrast (Q) in CIECAM02 unterscheidet sich vom L*a*b*- und RGB-Kontrast +TP_COLORAPP_CONTRAST_TOOLTIP;Kontrast (J) in CIECAM02 unterscheidet sich vom L*a*b*- und RGB-Kontrast TP_COLORAPP_CURVEEDITOR1;Tonwertkurve 1 -TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Zeigt das Histogramm von L (Lab) vor CIECAM02.\nWenn "CIECAM02 Ausgabe-Histogramm als Kurve anzeigen" aktiviert ist, wird das Histogramm von J oder Q (nach CIECAM02) angezeigt.\n\nJ und Q werden nicht im Haupt-Histogramm angezeigt.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. +TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Zeigt das Histogramm von L (L*a*b*) vor CIECAM02.\nWenn "CIECAM02-Ausgabe-Histogramm in Kurven anzeigen" aktiviert ist, wird das Histogramm von J oder Q nach CIECAM02-Anpassungen angezeigt.\n\nJ und Q werden nicht im Haupt-Histogramm angezeigt.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. TP_COLORAPP_CURVEEDITOR2;Tonwertkurve 2 -TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Gleiche Verwendung wie bei dir zweiten Belichtungs-Tonwertkurve. +TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Gleiche Verwendung wie bei der zweiten Belichtungstonwertkurve. TP_COLORAPP_CURVEEDITOR3;Farbkurve -TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Korrigiert entweder Chroma, Sättigung oder Farbigkeit.\n\nZeigt das Histogramm der Chromatizität (Lab) vor CIECAM02.\nWenn "CIECAM02 Ausgabe-Histogramm als Kurve anzeigen" aktiviert ist, wird das Histogramm von C, S oder M (nach CIECAM02) angezeigt.\n\nC, S und M werden nicht im Haupt-Histogramm angezeigt.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. -TP_COLORAPP_DATACIE;CIECAM02 Ausgabe-Histogramm als Kurve anzeigen -TP_COLORAPP_DATACIE_TOOLTIP;Wenn aktiviert, zeigen die Histogramme für CIECAM02 Kurven die angenäherten Werte/Bereiche für J oder Q, und C, S oder M nach den CIECAM02 Anpassungen.\nDiese Auswahl betrifft nicht das Haupt-Histogramm.\n\nWenn deaktiviert, zeigen die Histogramme für CIECAM02 Kurven die Lab Werte vor CIECAM02 Anpassungen. -TP_COLORAPP_DEGREE_AUTO_TOOLTIP;Wenn aktiviert (emfohlen), berechnet RT einen optimalen Wert der von CAT02 verwendet wird sowie für CIECAM02.\nUm den Wert manuell zu setzen, muss die Option deaktiviert sein (Werte über 64 sind empfohlen). -TP_COLORAPP_DEGREE_TOOLTIP;Umfang der CIE Chromatic Adaptation Transform 2002 -TP_COLORAPP_GAMUT;Gamut Kontrolle (Lab) -TP_COLORAPP_GAMUT_TOOLTIP;Zulassen der Gamut Kontrolle im Lab Modus -TP_COLORAPP_HUE;Buntton (h) -TP_COLORAPP_HUE_TOOLTIP;Buntton (h) - Winkel zwischen 0° und 360° +TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Korrigiert Buntheit, Sättigung oder Farbigkeit.\n\nZeigt das Histogramm der Chromatizität (L*a*b* ) VOR den CIECAM02-Änderungen an.\nWenn "CIECAM02-Ausgabe-Histogramm in Kurven anzeigen" aktiviert ist, wird das Histogramm von C, S oder M NACH den CIECAM02-Änderungen angezeigt.\n\nC, S und M werden nicht im Haupt-Histogramm angezeigt.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. +TP_COLORAPP_DATACIE;CIECAM02-Ausgabe-Histogramm\nin Kurven anzeigen +TP_COLORAPP_DATACIE_TOOLTIP;Wenn aktiviert, zeigen die Histogramme der CIECAM02-Kurven die angenäherten Werte/Bereiche für J oder Q und C, S oder M NACH den CIECAM02-Anpassungen an. Das betrifft nicht das Haupt-Histogramm.\n\nWenn deaktiviert, zeigen die Histogramme der CIECAM02-Kurven die L*a*b*-Werte VOR den CIECAM02-Anpassungen an. +TP_COLORAPP_DEGREE_AUTO_TOOLTIP;Wenn aktiviert (emfohlen), berechnet RT einen optimalen Wert der von CAT02 und CIECAM02 verwendet wird.\nUm den Wert manuell zu setzen, muss die Option deaktiviert sein (Werte über 64 sind empfohlen). +TP_COLORAPP_DEGREE_TOOLTIP;Umfang der “CIE Chromatic Adaptation Transform 2002“ +TP_COLORAPP_GAMUT;Gamutkontrolle (L*a*b*) +TP_COLORAPP_GAMUT_TOOLTIP;Gamutkontrolle im L*a*b*-Modus erlauben. +TP_COLORAPP_HUE;Farbton (H) +TP_COLORAPP_HUE_TOOLTIP;Farbton (H) - Winkel zwischen 0° und 360° TP_COLORAPP_LABEL;CIE Color Appearance Model 2002 TP_COLORAPP_LABEL_CAM02;Bildanpassungen TP_COLORAPP_LABEL_SCENE;Umgebungsbedingungen (Szene) TP_COLORAPP_LABEL_VIEWING;Betrachtungsbedingungen TP_COLORAPP_LIGHT;Helligkeit (J) -TP_COLORAPP_LIGHT_TOOLTIP;Helligkeit in CIECAM02 unterscheidet sich von Lab und RGB Helligkiet -TP_COLORAPP_MODEL;Weißpunkt Modell -TP_COLORAPP_MODEL_TOOLTIP;WB [RT] + [Ausgabe]:\nRT's Weißabgleich wird für die Szene verwendet, CIECAM02 auf D50 gesetzt und der Weißabgleich des Ausgabegerätes kann unter Einstellungen > Farb-Management eingestellt werden.\n\nWB [RT+CAT02] + [Ausgabe]:\nRT's Weißabgleich wird für CAT02 verwendet und der Weißabgleich des Ausgabegerätes kann unter Einstellungen > Farb-Management eingestellt werden. -TP_COLORAPP_RSTPRO;Rot- und Hauttöne schützen -TP_COLORAPP_RSTPRO_TOOLTIP;Rot- und Hauttöne schützen (Regler und Kurven) -TP_COLORAPP_SHARPCIE;Schärfung, Kontrast anhand Detailstufen, Mikrokontrast & Defringe mit Q/C -TP_COLORAPP_SHARPCIE_TOOLTIP;Schärfung, Kontrast anhand Detailstufen, Mikrokontrast & Defringe benutzen CIECAM02, wenn aktiviert. +TP_COLORAPP_LIGHT_TOOLTIP;Helligkeit in CIECAM02 unterscheidet sich von L*a*b* und RGB Helligkeit +TP_COLORAPP_MODEL;Weißpunktmodell +TP_COLORAPP_MODEL_TOOLTIP;Weißabgleich [RT] + [Ausgabe]:\nRT's Weißabgleich wird für die Szene verwendet, CIECAM02 auf D50 gesetzt und der Weißabgleich des Ausgabegerätes kann unter Einstellungen > Farb-Management eingestellt werden.\n\nWeißabgleich [RT+CAT02] + [Ausgabe]:\nRT's Weißabgleich wird für CAT02 verwendet und der Weißabgleich des Ausgabegerätes kann unter Einstellungen > Farb-Management eingestellt werden. +TP_COLORAPP_RSTPRO;Hautfarbtöne schützen +TP_COLORAPP_RSTPRO_TOOLTIP;Hautfarbtöne schützen\nWirkt sich auf Regler und Kurven aus. +TP_COLORAPP_SHARPCIE;--unused-- +TP_COLORAPP_SHARPCIE_TOOLTIP;--unused-- TP_COLORAPP_SURROUND;Umgebung TP_COLORAPP_SURROUND_AVER;Durchschnitt TP_COLORAPP_SURROUND_DARK;Dunkel TP_COLORAPP_SURROUND_DIM;Gedimmt TP_COLORAPP_SURROUND_EXDARK;Extrem Dunkel (Cutsheet) -TP_COLORAPP_SURROUND_TOOLTIP;Verändert Töne und Farben unter Berücksichtigung der Betrachtungsbedingungen des Ausgabegerätes.\n\nDurchschnitt:\nDurchschnittliche Lichtumgebung (standard)\nDas Bild wird nicht angepasst\n\nGedimmt:\nGedimmte Umgebung (TV)\ndas Bild wird leicht dunkel\n\nDunkel:\nDunkle Umgebung (Projektor)\nDas Bild wird dunkler\n\nExtrem Dunkel:\n\nExtrem Dunkle Umgebung\nDas Bild wird sehr dunkel -TP_COLORAPP_SURSOURCE;Dunkle Umbgebung -TP_COLORAPP_SURSOURCE_TOOLTIP;Kann verwendet werden, wenn das Quellbild einen schwarzen Rahmen hat -TP_COLORAPP_TCMODE_BRIGHTNESS;Helligkeit -TP_COLORAPP_TCMODE_CHROMA;Chroma -TP_COLORAPP_TCMODE_COLORF;Buntheit -TP_COLORAPP_TCMODE_LABEL1;Kurve Modus 1 -TP_COLORAPP_TCMODE_LABEL2;Kurve Modus 2 -TP_COLORAPP_TCMODE_LABEL3;Kurve Chroma Modus -TP_COLORAPP_TCMODE_LIGHTNESS;Leuchtkraft -TP_COLORAPP_TCMODE_SATUR;Sättigung -TP_COLORAPP_TONECIE;Tone Mapping mittels CIECAM02 Helligkeit (Q) -TP_COLORAPP_TONECIE_TOOLTIP;Wenn diese Option ausgeschaltet ist, wird Tone Mapping im Lab Farbraum durchgeführt.\nWenn die Option eingeschaltet ist, wird CIECAM02 für Tone Mapping verwendet. Das Tone Mapping (Lab/CIECAM02) Werkzeug muss aktiviert sein, damit diese Option berücksichtigt wird. -TP_COLORAPP_WBCAM;WB [RT+CAT02] + [Ausgabe] -TP_COLORAPP_WBRT;WB [RT] + [Ausgabe] +TP_COLORAPP_SURROUND_TOOLTIP;Verändert Töne und Farben unter Berücksichtigung der Betrachtungsbedingungen des Ausgabegerätes.\n\nDurchschnitt:\nDurchschnittliche Lichtumgebung (standard)\nDas Bild wird nicht angepasst\n\nGedimmt:\nGedimmte Umgebung (TV)\ndas Bild wird leicht dunkel\n\nDunkel:\nDunkle Umgebung (Projektor)\nDas Bild wird dunkler\n\nExtrem Dunkel:\nExtrem Dunkle Umgebung\nDas Bild wird sehr dunkel +TP_COLORAPP_SURSOURCE;Dunkle Umgebung +TP_COLORAPP_SURSOURCE_TOOLTIP;Kann verwendet werden, wenn das Quellbild einen schwarzen Rahmen besitzt. +TP_COLORAPP_TCMODE_BRIGHTNESS;Helligkeit (Q) +TP_COLORAPP_TCMODE_CHROMA;Buntheit (H) +TP_COLORAPP_TCMODE_COLORF;Farbigkeit (M) +TP_COLORAPP_TCMODE_LABEL1;Tonwertkurve 1 Modus +TP_COLORAPP_TCMODE_LABEL2;Tonwertkurve 2 Modus +TP_COLORAPP_TCMODE_LABEL3;Farbkurve Modus +TP_COLORAPP_TCMODE_LIGHTNESS;Helligkeit (J) +TP_COLORAPP_TCMODE_SATUR;Sättigung (S) +TP_COLORAPP_TONECIE;Dynamikkompression mittels\nCIECAM02-Helligkeit (Q) +TP_COLORAPP_TONECIE_TOOLTIP;Wenn diese Option ausgeschaltet ist, wird die Dynamikkompression im L*a*b*-Farbraum durchgeführt.\nWenn die Option eingeschaltet ist, wird CIECAM02 für die Dynamikkompression verwendet. Das Werkzeug Dynamikkompression muss aktiviert sein, damit diese Option berücksichtigt wird. +TP_COLORAPP_WBCAM;[RT+CAT02] + [Ausgabe] +TP_COLORAPP_WBRT;[RT] + [Ausgabe] +TP_COLORTONING_AB;o C/L +TP_COLORTONING_AUTOSAT;Automatisch +TP_COLORTONING_BALANCE;Farbausgleich +TP_COLORTONING_BY;o C/L +TP_COLORTONING_CHROMAC;Deckkraft +TP_COLORTONING_COLOR;Farbe +TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Buntheitdeckkraft als Funktion der Luminanz oB=f(L) +TP_COLORTONING_HIGHLIGHT;Lichter +TP_COLORTONING_HUE;Farbton +TP_COLORTONING_LABEL;Farbanpassungen +TP_COLORTONING_LAB;L*a*b*-Überlagerung +TP_COLORTONING_LUMAMODE;Luminanz schützen +TP_COLORTONING_LUMAMODE_TOOLTIP;Wenn aktiviert, wird die Luminanz der Farben Rot, Grün, Cyan, Blau... geschützt. +TP_COLORTONING_LUMA;Luminanz +TP_COLORTONING_METHOD;Methode +TP_COLORTONING_METHOD_TOOLTIP;L*a*b*-Überlagerung, RGB-Regler und RGB-Kurven verwenden eine interpolierte Farbüberlagerung.\n\nFarbausgleich (Schatten/Mitten/Lichter) und Sättigung (2-Farben) verwenden direkte Farben. +TP_COLORTONING_MIDTONES;Mitten +TP_COLORTONING_NEUTRAL;Regler zurücksetzen +TP_COLORTONING_NEUTRAL_TIP;Alle Werte auf Standard zurücksetzen\n(Schatten, Mitten, Lichter) +TP_COLORTONING_OPACITY;Deckkraft +TP_COLORTONING_RGBCURVES;RGB-Kurven +TP_COLORTONING_RGBSLIDERS;RGB-Regler +TP_COLORTONING_SATURATEDOPACITY;Stärke +TP_COLORTONING_SATURATIONTHRESHOLD;Schwellenwert +TP_COLORTONING_SA;Sättigung schützen +TP_COLORTONING_SHADOWS;Schatten +TP_COLORTONING_SPLITCOCO;Farbausgleich (Schatten/Mitten/Lichter) +TP_COLORTONING_SPLITCO;Schatten/Mitten/Lichter +TP_COLORTONING_SPLITLR;Sättigung (2 Farben) +TP_COLORTONING_STRENGTH;Stärke +TP_COLORTONING_STR;Stärke +TP_COLORTONING_TWO2;Spezial-Farbe (2 Farben) +TP_COLORTONING_TWOALL;Spezial-Farbe +TP_COLORTONING_TWOBY;Spezial a* und b* +TP_COLORTONING_TWOCOLOR_TOOLTIP;Standardfarbe:\nLinearer Verlauf, a* = b*.\n\nSpezial-Farbe:\nLinearer Verlauf, a* = b*, aber nicht verbunden\n\nSpezial a* and b*:\nLinearer Verlauf, nicht verbunden, mit unterschiedlichen Kurven für a* and b*. Bevorzugt für spezielle Effekte.\n\nSpezial-Farbe (2 Farben):\nBesser vorhersehbar +TP_COLORTONING_TWOSTD;Standardfarbe TP_CROP_FIXRATIO;Festes\nVerhältnis: TP_CROP_GTDIAGONALS;Diagonalregel TP_CROP_GTEPASSPORT;Passfoto (biometrisch) -TP_CROP_GTFRAME;Frame +TP_CROP_GTFRAME;Rahmen TP_CROP_GTGRID;Gitternetz +TP_CROP_GTHARMMEANS;Harmonisches Mittel TP_CROP_GTNONE;Keine TP_CROP_GTRULETHIRDS;Drittelregel +TP_CROP_GTTRIANGLE1;Goldenes Dreieck 1 +TP_CROP_GTTRIANGLE2;Goldenes Dreieck 2 TP_CROP_GUIDETYPE;Hilfslinien: -TP_CROP_H;H +TP_CROP_H;Höhe TP_CROP_LABEL;Ausschnitt TP_CROP_PPI;PPI= TP_CROP_SELECTCROP;Ausschnitt wählen -TP_CROP_W;B +TP_CROP_W;Breite TP_CROP_X;x TP_CROP_Y;y TP_DARKFRAME_AUTOSELECT;Automatische Auswahl TP_DARKFRAME_LABEL;Dunkelbild -TP_DEFRINGE_LABEL;Defringe +TP_DEFRINGE_LABEL;Farbsaum entfernen (Defringe) TP_DEFRINGE_RADIUS;Radius TP_DEFRINGE_THRESHOLD;Schwellenwert -TP_DIRPYRDENOISE_BLUE;Delta Chrominanz Blau -TP_DIRPYRDENOISE_CHROMA;Chrominanz -TP_DIRPYRDENOISE_ENABLED_TOOLTIP;Kann für Raw und Nicht-Raw Bilder verwendet werden.\n\nBei Nicht-Raw Bildern hängt die Rauschreduzierung der Luminanz vom Gamma des Eingabe-Farbprofils ab. Es wird ein sRGB-Gamma angenommen, daher wird die Luminanz-Rauschreduzierung variieren, wenn das Eingabe-Bild ein Farbprofil mit anderem Gamma verwendet. +TP_DIRPYRDENOISE_33;3x3 stark +TP_DIRPYRDENOISE_55SOFT;5x5 +TP_DIRPYRDENOISE_55;5x5 stark +TP_DIRPYRDENOISE_77;7x7 (langsam) +TP_DIRPYRDENOISE_99;9x9 (sehr langsam) +TP_DIRPYRDENOISE_ABM;Nur Farbe +TP_DIRPYRDENOISE_AUTO;Automatisch Global +TP_DIRPYRDENOISE_AUTO_TOOLTIP;Bewertung des Farbrauschens.\nDie Bewertung ist ungenau und sehr subjektiv! +TP_DIRPYRDENOISE_AUT;Automatisch Global +TP_DIRPYRDENOISE_BLUE;Delta-Chrominanz Blau/Gelb +TP_DIRPYRDENOISE_C2TYPE_TOOLTIP;Manuell:\nPassen Sie die Chrominanz-Rauschreduzierung manuell an.\n\nAutomatisch Global:\nEs werden 9 Zonen für die Berechnung der Chrominanz-Rauschreduzierung verwendet.\n\nVorschau:\nNur der sichbare Teil des Bildes wird für die Berechnung der Chrominanz-Rauschreduzierung verwendet. +TP_DIRPYRDENOISE_CCCURVE;Chrominanzkurve +TP_DIRPYRDENOISE_CHROMAFR;Chrominanz +TP_DIRPYRDENOISE_CHROMA;Chrominanz (Master) +TP_DIRPYRDENOISE_CTYPE;Methode +TP_DIRPYRDENOISE_CTYPE_TOOLTIP;Manuell:\nPassen Sie die Chrominanz-Rauschreduzierung manuell an.\n\nAutomatisch Global:\nEs werden 9 Zonen für die Berechnung der Chrominanz-Rauschreduzierung verwendet.\n\nAuto-Multizonen:\nKeine Voransicht - wird erst beim Speichern angewendet.\nAbhängig von der Bildgröße, wird das Bild in ca. 10 bis 70 Kacheln aufgeteilt. Für jede Kachel wird die Chrominanz-Rauschreduzierung individuell berechnet.\n\nVorschau:\nNur der sichbare Teil des Bildes wird für die Berechnung der Chrominanz-Rauschreduzierung verwendet. +TP_DIRPYRDENOISE_CURVEEDITOR_CC;Farbe +TP_DIRPYRDENOISE_CURVEEDITOR_CC_TOOLTIP;Erhöht den Wert aller Chrominanz-Regler und regelt die Chrominanz-Rauschreduzierung als Funktion der Chromatizität. Die Intensität kann über Kontrollpunkte für schwach bis intensiv gesättigte Farben unterschiedlich eingestellt werden. +TP_DIRPYRDENOISE_CURVEEDITOR_L_TOOLTIP;Moduliert die Wirkung der Luminanz-Rauschreduzierung +TP_DIRPYRDENOISE_CUR;Kurve +TP_DIRPYRDENOISE_ENABLED_TOOLTIP;Kann für RAW und Nicht-RAW-Bilder verwendet werden.\n\nBei Nicht-Raw-Bildern hängt die Rauschreduzierung der Luminanz vom Gamma des Eingangsfarbprofils ab. Es wird ein sRGB-Gamma angenommen, daher wird die Luminanz-Rauschreduzierung variieren, wenn das Eingangsbild ein Farbprofil mit anderem Gamma verwendet. +TP_DIRPYRDENOISE_ENH;Erweiterter Modus +TP_DIRPYRDENOISE_ENH_TOOLTIP;Erhöht die Qualität der Rauschreduzierung auf Kosten einer um 20% erhöhten Verarbeitungszeit. TP_DIRPYRDENOISE_GAMMA;Gamma -TP_DIRPYRDENOISE_GAMMA_TOOLTIP;Mit Gamma kann die Stärke der Rauschreduzierung über den Farbbereich variiert werden. Bei kleinen Werten sind nur dunkle Farbtöne betroffen, bei größeren Werten wird hingegen der Effekt auf hellere Töne ausgeweitet. -TP_DIRPYRDENOISE_LABEL;Rauschminderung -TP_DIRPYRDENOISE_LDETAIL;Luminanz Detail +TP_DIRPYRDENOISE_GAMMA_TOOLTIP;Mit Gamma kann die Stärke der Rauschreduzierung über den Farbbereich variiert werden. Bei kleinen Werten sind nur dunkle Farbtöne betroffen, bei größeren Werten wird der Effekt auf hellere Töne ausgeweitet. +TP_DIRPYRDENOISE_LABEL;Rauschreduzierung +TP_DIRPYRDENOISE_LABM;L*a*b* +TP_DIRPYRDENOISE_LAB;L*a*b* +TP_DIRPYRDENOISE_LCURVE;Luminanzkurve +TP_DIRPYRDENOISE_LDETAIL;Luminanzdetails +TP_DIRPYRDENOISE_LM;Nur Luminanz +TP_DIRPYRDENOISE_LPLABM;Gewichtet L* (wenig) + a*b* (normal) +TP_DIRPYRDENOISE_LTYPE;Luminanzkontrolle +TP_DIRPYRDENOISE_LUMAFR;Luminanz +TP_DIRPYRDENOISE_LUMAFR_TOOLTIP;Wavelet mit Luminanz- und Fourierumwandlung für Luminanzdetails. TP_DIRPYRDENOISE_LUMA;Luminanz +TP_DIRPYRDENOISE_MANU;Manuell +TP_DIRPYRDENOISE_MAN;Manuell +TP_DIRPYRDENOISE_MEDMETHOD;Medianmethode +TP_DIRPYRDENOISE_MEDTYPE;Mediantyp +TP_DIRPYRDENOISE_MED;Medianfilter +TP_DIRPYRDENOISE_MED_TOOLTIP;Medianrauschreduzierung einschalten +TP_DIRPYRDENOISE_METHOD11;Qualität +TP_DIRPYRDENOISE_METHOD11_TOOLTIP;Einstellung der Qualität der Rauschreduzierung. Die Einstellung “Hoch“ verbessert die Rauschreduzierung auf Kosten der Verarbeitungszeit. TP_DIRPYRDENOISE_METHOD;Methode -TP_DIRPYRDENOISE_METHOD_TOOLTIP;Für Raw-Bilder kann entweder die RGB- oder Lab-Methode verwendet werden.\n\nFür andere Bilder wird unabhängig von der Auswahl immer die Lab-Methode verwendet. -TP_DIRPYRDENOISE_RED;Delta Chrominanz Rot +TP_DIRPYRDENOISE_METHOD_TOOLTIP;Für RAW-Bilder kann entweder die RGB- oder L*a*b*-Methode verwendet werden.\n\nFür andere Bilder wird unabhängig von der Auswahl immer die L*a*b*-Methode verwendet. +TP_DIRPYRDENOISE_METM_TOOLTIP;Bei der Methode “Nur Luminanz“ und “L*a*b*“, wird der Medianfilter nach den Waveletschritten verarbeitet.\nBei RGB wird der Medianfilter am Ende der Rauschreduzierung verarbeitet. +TP_DIRPYRDENOISE_MET_TOOLTIP;Wendet einen Medianfilter mit der angegebenen Größe an. Je größer der Bereich, desto länger dauert die Verarbeitung..\n\n3x3: Verarbeitet 5 Pixel in einem 1-Pixelbereich.\n3x3 stark: Verarbeitet 9 Pixel in einem 1-Pixelbereich.\n5x5: Verarbeitet 13 Pixel in einem 2-Pixelbereich.\n5x5 stark: Verarbeitet 25 Pixel in einem 2-Pixelbereich.\n7x7: Verarbeitet 49 Pixel in einem 3-Pixelbereich.\n9x9: Verarbeitet 81 Pixel in einem 4-Pixelbereich.\n\nManchmal erzielt man mit einem kleinen Bereich mit mehreren Iterationen eine bessere Qualität als mit einem großen Bereich. +TP_DIRPYRDENOISE_NOISELABELEMPTY;Rauschen: Mittelwert = --- Hoch = --- +TP_DIRPYRDENOISE_NOISELABEL;Rauschen: Mittelwert=%1 Hoch=%2 +TP_DIRPYRDENOISE_NRESID_TOOLTIP;Zeigt das Restrauschen des sichtbaren Bildbereichs in der 100%-Ansicht an.\n\n<50: Sehr wenig Rauschen\n50 - 100: Wenig Rauschen\n100 - 300: Durchschnittliches Rauschen\n>300: Hohes Rauschen\n\nDie Werte unterscheiden sich im L*a*b*- und RGB-Modus. Die RGB-Werte sind ungenauer, da der RGB-Modus Luminanz und Chrominanz nicht komplett trennt. +TP_DIRPYRDENOISE_PASSES;Medianiterationen +TP_DIRPYRDENOISE_PASSES_TOOLTIP;Ein 3x3-Medianfilter mit 3 Iterationen erzielt oft bessere Ergebnisse als ein 7x7-Medianfilter mit nur einer Iteration. +TP_DIRPYRDENOISE_PON;Auto-Multizonen +TP_DIRPYRDENOISE_PREVLABEL;Vorschaugröße=%1, Zentrum: Px=%2 Py=%2 +TP_DIRPYRDENOISE_PREV;Vorschau +TP_DIRPYRDENOISE_PRE;Vorschau +TP_DIRPYRDENOISE_RED;Delta-Chrominanz Rot/Grün +TP_DIRPYRDENOISE_RGBM;RGB TP_DIRPYRDENOISE_RGB;RGB -TP_DIRPYREQUALIZER_LABEL;Kontrast nach Detailstufen -TP_DIRPYREQUALIZER_LUMACOARSEST;Gröbstes -TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Kontrast- -TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Kontrast+ -TP_DIRPYREQUALIZER_LUMAFINEST;Feinstes +TP_DIRPYRDENOISE_SHALBI;Hoch +TP_DIRPYRDENOISE_SHAL;Standard +TP_DIRPYRDENOISE_SLI;Regler +TP_DIRPYRDENOISE_SOFT;3x3 +TP_DIRPYRDENOISE_TILELABEL;Kachelgröße=%1 Zentrum: Tx=%2 Ty=%2 +TP_DIRPYREQUALIZER_ALGO;Hautfarbtonbereich +TP_DIRPYREQUALIZER_ALGO_TOOLTIP;Fein: Ist näher an den Hautfarbtönen und minimiert den Einfluss auf andere Farben.\n\nGrob: Minimiert Artefakte. +TP_DIRPYREQUALIZER_ARTIF;Artefakte reduzieren +TP_DIRPYREQUALIZER_HUESKIN;Hautfarbton +TP_DIRPYREQUALIZER_HUESKIN_TOOLTIP;Wenn Sie den Bereich signifikant nach Links oder Rechts verschieben müssen, ist der Weißabgleich nicht richtig gewählt.\n\nWählen Sie den eingeschlossenen Bereich so eng wie möglich, um den Einfluss auf benachbarte Farben zu verhindern. +TP_DIRPYREQUALIZER_LABEL;Kontrast nach Detailebenen +TP_DIRPYREQUALIZER_LUMACOARSEST;Grob +TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Kontrast - +TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Kontrast + +TP_DIRPYREQUALIZER_LUMAFINEST;Fein TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral +TP_DIRPYREQUALIZER_SKIN;Hautfarbtöne ändern/schützen +TP_DIRPYREQUALIZER_SKIN_TOOLTIP;-100: Nur Farben innerhalb des Bereichs werden verändert.\n0: Alle Farben werden gleich behandelt.\n+100: Nur Farben außerhalb des Bereichs werden verändert. TP_DIRPYREQUALIZER_THRESHOLD;Schwellenwert +TP_DIRPYREQUALIZER_TOOLTIP;Verringert Artefakte an den Übergängen zwischen Hautfarbtöne und dem Rest des Bildes. TP_DISTORTION_AMOUNT;Stärke TP_DISTORTION_AUTO;Autom. Verzeichnungskorrektur -TP_DISTORTION_AUTO_TIP;Linsenverzeichnungen automatisch korrigieren (nur für bestimmte Kameras, z.B. Micro 4/3, einige Kompaktkameras, usw.)\n\n(Diese Funktion befindet sich noch im Experimentierstadium) +TP_DISTORTION_AUTO_TIP;Objektivverzeichnungen automatisch korrigieren (nur für bestimmte Kameras, z.B. Micro 4/3, einige Kompaktkameras, usw.) TP_DISTORTION_LABEL;Verzeichnungskorrektur TP_EPD_EDGESTOPPING;Kantenschutz -TP_EPD_LABEL;Tone Mapping -TP_EPD_REWEIGHTINGITERATES;Neugewichtung Iterationen +TP_EPD_GAMMA;Gamma +TP_EPD_LABEL;Dynamikkompression +TP_EPD_REWEIGHTINGITERATES;Iterationen TP_EPD_SCALE;Faktor TP_EPD_STRENGTH;Stärke -TP_EPD_TOOLTIP;Tone Mapping ist mit dem Lab Modus (Standard) und CIECAM02 Modus möglich.\n\nFür CIECAM02 Tone Mapping müssen folgende Optionen aktiviert werden:\n1. CIECAM02\n2. Algorithmus="Helligkeit + Buntheit (QM)"\n3. "Tone Mapping mittels CIECAM02 Helligkeit (Q)" +TP_EPD_TOOLTIP;Dynamikkompression ist mit dem L*a*b*- und CIECAM02-Modus möglich.\n\nFür den CIECAM02-Modus müssen folgende Optionen aktiviert sein:\n1. CIECAM02\n2. Algorithmus = Helligkeit + Farbigkeit (QM)\n3. Dynamikkompression mittels CIECAM02-Helligkeit (Q) TP_EXPOSURE_AUTOLEVELS;Auto -TP_EXPOSURE_AUTOLEVELS_TIP;Automatische Belichtungseinstellungen basierend auf Bildanalyse -TP_EXPOSURE_BLACKLEVEL;Schwarzpegel +TP_EXPOSURE_AUTOLEVELS_TIP;Automatische Belichtungseinstellung basierend auf Bildanalyse +TP_EXPOSURE_BLACKLEVEL;Schwarzwert TP_EXPOSURE_BRIGHTNESS;Helligkeit TP_EXPOSURE_CLIP;Grenzwert -TP_EXPOSURE_CLIP_TIP;Anteil der Pixel, die sich bei automatischer Belichtungseinstellung im Bereich der Spitzlichter und Schatten befinden müssen -TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Lichter wiederherstellen\nSchwellenwert -TP_EXPOSURE_COMPRHIGHLIGHTS;Lichter wiederherstellen\nStärke -TP_EXPOSURE_COMPRSHADOWS;Schatten wiederherstellen +TP_EXPOSURE_CLIP_TIP;Anteil der Pixel, die sich bei automatischer Belichtungseinstellung im Bereich der Spitzlichter und Schatten befinden sollen +TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Lichterkompression Schwellenwert +TP_EXPOSURE_COMPRHIGHLIGHTS;Lichterkompression +TP_EXPOSURE_COMPRSHADOWS;Schattenkompression TP_EXPOSURE_CONTRAST;Kontrast TP_EXPOSURE_CURVEEDITOR1;Tonwertkurve 1 TP_EXPOSURE_CURVEEDITOR2;Tonwertkurve 2 -TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Um mit den doppelten Tonwert-Kurven die besten Ergenisse zu erzielen, lesen Sie bitte den Abschnitt im Handbuch unter:\nDer Werkzeugkasten > Reiter Belichtung > Belichtungsbereich > Tonwertkurvee +TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Um mit den doppelten Tonwert-Kurven die besten Ergenisse zu erzielen, lesen Sie bitte den Abschnitt im Handbuch unter:\nDer Werkzeugkasten > Reiter Belichtung > Belichtungsbereich > Tonwertkurve. TP_EXPOSURE_EXPCOMP;Belichtungskorrektur TP_EXPOSURE_LABEL;Belichtung TP_EXPOSURE_SATURATION;Sättigung -TP_EXPOSURE_TCMODE_FILMLIKE;Film-ähnliche -TP_EXPOSURE_TCMODE_LABEL1;Tonewertkurve Modus 1 -TP_EXPOSURE_TCMODE_LABEL2;Tonewertkurve Modus 2 -TP_EXPOSURE_TCMODE_SATANDVALBLENDING;Saturation and Value Blending +TP_EXPOSURE_TCMODE_FILMLIKE;Filmähnlich +TP_EXPOSURE_TCMODE_LABEL1;Tonwertkurve 1 Modus +TP_EXPOSURE_TCMODE_LABEL2;Tonwertkurve 2 Modus +TP_EXPOSURE_TCMODE_LUMINANCE;Luminanz +TP_EXPOSURE_TCMODE_PERCEPTUAL;Wahrnehmungsabhängig +TP_EXPOSURE_TCMODE_SATANDVALBLENDING;Sättigung und Überlagerung TP_EXPOSURE_TCMODE_STANDARD;Standard -TP_EXPOSURE_TCMODE_WEIGHTEDSTD;Weighted Standard +TP_EXPOSURE_TCMODE_WEIGHTEDSTD;Gewichteter Standard +TP_EXPOS_BLACKPOINT_LABEL;Schwarzpunkt +TP_EXPOS_WHITEPOINT_LABEL;Weißpunkt +TP_FILMSIMULATION_LABEL;Filmsimulation +TP_FILMSIMULATION_STRENGTH;Stärke +TP_FILMSIMULATION_ZEROCLUTSFOUND;HaldCLUT-Verzeichnis in den Einstellungen festlegen TP_FLATFIELD_AUTOSELECT;Automatische Auswahl TP_FLATFIELD_BLURRADIUS;Unschärferadius TP_FLATFIELD_BLURTYPE;Unschärfetyp @@ -1013,62 +1452,78 @@ TP_FLATFIELD_BT_AREA;Bereich TP_FLATFIELD_BT_HORIZONTAL;Horizontal TP_FLATFIELD_BT_VERTHORIZ;Vertikal + Horizontal TP_FLATFIELD_BT_VERTICAL;Vertikal +TP_FLATFIELD_CLIPCONTROL;Kontrolle zu heller Bereiche +TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Verhindert das Abschneiden der Lichter. Wenn vor dem Anwenden des Weißbildes schon abgeschnittene Lichter vorhanden sind, kann es zu einem Farbstich kommen. TP_FLATFIELD_LABEL;Weißbild TP_GAMMA_CURV;Gamma TP_GAMMA_FREE;Freies Gamma TP_GAMMA_OUTPUT;Ausgabe-Gamma TP_GAMMA_SLOP;Gradient (linear) +TP_GENERAL_11SCALE_TOOLTIP;Der Effekt dieses Werkzeugs ist nur in der 100%-Ansicht akkurat oder sichtbar. TP_GRADIENT_CENTER;Rotationsachse TP_GRADIENT_CENTER_X;Rotationsachse X -TP_GRADIENT_CENTER_X_TOOLTIP;Ankerpunkt der Rotationsachse X: -100=linker Bildrand, 0=Bildmitte, +100=rechter Bildrand +TP_GRADIENT_CENTER_X_TOOLTIP;Ankerpunkt der Rotationsachse X:\n-100 = linker Bildrand\n0 = Bildmitte\n+100 = rechter Bildrand TP_GRADIENT_CENTER_Y;Rotationsachse Y -TP_GRADIENT_CENTER_Y_TOOLTIP;Ankerpunkt der Rotationsachse Y: -100=oberer Bildrand, 0=Bildmitte, +100=unterer Bildrand -TP_GRADIENT_DEGREE;Winkel +TP_GRADIENT_CENTER_Y_TOOLTIP;Ankerpunkt der Rotationsachse Y:\n-100 = oberer Bildrand\n0 = Bildmitte\n+100 = unterer Bildrand +TP_GRADIENT_DEGREE;Rotationswinkel TP_GRADIENT_DEGREE_TOOLTIP;Rotationswinkel in Grad -TP_GRADIENT_FEATHER;Verlauf -TP_GRADIENT_FEATHER_TOOLTIP;Breite des Verlaufs in Prozent der Bilddiagonalen -TP_GRADIENT_LABEL;Grauverlauffilter +TP_GRADIENT_FEATHER;Bereich +TP_GRADIENT_FEATHER_TOOLTIP;Bereich des Verlaufs in Prozent der Bilddiagonalen +TP_GRADIENT_LABEL;Grauverlaufsfilter TP_GRADIENT_STRENGTH;Stärke TP_GRADIENT_STRENGTH_TOOLTIP;Filterstärke in Blendenstufen -TP_HLREC_BLEND;Blending -TP_HLREC_CIELAB;CIELab Blending -TP_HLREC_COLOR;Color Propagation -TP_HLREC_ENA_TOOLTIP;Wird bei Verwendung der automatischen Belichtungskorrektur möglicherweise automatsch aktiviert -TP_HLREC_LABEL;Lichter wiederherstellen +TP_HLREC_BLEND;Überlagerung +TP_HLREC_CIELAB;CIELab-Überlagerung +TP_HLREC_COLOR;Farbübertragung +TP_HLREC_ENA_TOOLTIP;Wird bei Verwendung der automatischen Belichtungskorrektur möglicherweise aktiviert +TP_HLREC_LABEL;Lichter rekonstruieren TP_HLREC_LUMINANCE;Luminanz wiederherstellen TP_HLREC_METHOD;Methode: TP_HSVEQUALIZER_CHANNEL;Kanal TP_HSVEQUALIZER_HUE;H -TP_HSVEQUALIZER_LABEL;HSV-Equalizer +TP_HSVEQUALIZER_LABEL;Farbton (H) / Sättigung (S) / Dynamik (V) TP_HSVEQUALIZER_SAT;S TP_HSVEQUALIZER_VAL;V -TP_ICM_BLENDCMSMATRIX;ICC Lichter aus Matrix einmischen -TP_ICM_BLENDCMSMATRIX_TOOLTIP;Stellt bei Verwendung von LUT-basierten\nICC-Profilen die Lichter wieder her. +TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Basisbelichtung +TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Den eingebetteten DCP-Basisbelichtungsausgleich anwenden. Die Einstellung ist nur verfügbar wenn sie vom Eingangsfarbprofil unterstützt wird. +TP_ICM_APPLYHUESATMAP;Basistabelle +TP_ICM_APPLYHUESATMAP_TOOLTIP;Die eingebettete DCP-Basistabelle anwenden. Die Einstellung ist nur verfügbar wenn sie vom Eingangsfarbprofil unterstützt wird. +TP_ICM_APPLYLOOKTABLE;“Look“-Tabelle +TP_ICM_APPLYLOOKTABLE_TOOLTIP;Die eingebettete DCP-“Look“-Tabelle anwenden. Die Einstellung ist nur verfügbar wenn sie vom Eingangsfarbprofil unterstützt wird. +TP_ICM_BLENDCMSMATRIX;ICC Lichter mit Matrix überlagern +TP_ICM_BLENDCMSMATRIX_TOOLTIP;Stellt bei Verwendung von LUT-basierten ICC-Profilen die Lichter wieder her. +TP_ICM_DCPILLUMINANT;Illumination +TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpoliert +TP_ICM_DCPILLUMINANT_TOOLTIP;DCP-Illumination auswählen.\nVorgabe ist Interpoliert. Die Einstellung ist nur verfügbar wenn sie vom Eingangsfarbprofil unterstützt wird. TP_ICM_INPUTCAMERAICC;Kameraspezifisches Profil -TP_ICM_INPUTCAMERAICC_TOOLTIP;RawTherapees kameraspezifisches DCP/ICC-Eingabeprofil verwenden, welches präziser als eine einfache Matrix ist; diese im Verzeichnis /dcpprofiles/ (alternativ /iccprofiles/input) abgelegten Profile sind für einige Kameras verfügbar und werden automatisch herangezogen, wenn der Dateiname zum Namen des Kameramodells passt +TP_ICM_INPUTCAMERAICC_TOOLTIP;Verwendet RawTherapees kameraspezifisches DCP/ICC-Eingangsfarbprofil, welches präziser als eine einfache Matrix ist TP_ICM_INPUTCAMERA;Kamera-Standard -TP_ICM_INPUTCAMERA_TOOLTIP;Einfache Farbmatrix von DCRAW, die (vom Namen des Kameramodells abhängige) erweiterte RawTherapee-Version oder die im DNG eingebettete verwenden -TP_ICM_INPUTCUSTOM;Benutzerdefiniert -TP_ICM_INPUTCUSTOM_TOOLTIP;Eigene DCP/ICC-Farbprofildatei für die Kamera verwenden -TP_ICM_INPUTDLGLABEL;Eingabe-DCP/ICC-Profil wählen... -TP_ICM_INPUTEMBEDDED;Eingebettetes verwenden, falls möglich -TP_ICM_INPUTEMBEDDED_TOOLTIP;Farbprofil verwenden, das ggf. in nicht-RAW Dateien eingebettet ist +TP_ICM_INPUTCAMERA_TOOLTIP;Benutzt eine einfache Farbmatrix von DCRAW, eine erweiterte RawTherapee-Version oder eine aus einem DNG. +TP_ICM_INPUTCUSTOM;DCP/ICC-Profil +TP_ICM_INPUTCUSTOM_TOOLTIP;Eigenes DCP/ICC-Farbprofil verwenden +TP_ICM_INPUTDLGLABEL;DCP/ICC-Profil wählen... +TP_ICM_INPUTEMBEDDED;Eingebettetes Profil verwenden +TP_ICM_INPUTEMBEDDED_TOOLTIP;Farbprofil verwenden, das in Nicht-RAW-Bildern eingebettet ist TP_ICM_INPUTNONE;Kein Profil -TP_ICM_INPUTNONE_TOOLTIP;Kein Eingabe-Farbprofil verwenden; nur in speziellen Fällen sinnvoll -TP_ICM_INPUTPROFILE;Eingabeprofil +TP_ICM_INPUTNONE_TOOLTIP;Kein Eingangsfarbprofil verwenden +TP_ICM_INPUTPROFILE;Eingangsfarbprofil TP_ICM_LABEL;Farbmanagement TP_ICM_NOICM;Kein ICM: sRGB-Ausgabe TP_ICM_OUTPUTPROFILE;Ausgabeprofil TP_ICM_SAVEREFERENCE;Referenzbild für Profil speichern -TP_ICM_TONECURVE;DCP Tonwertkurve verwenden -TP_ICM_TONECURVE_TOOLTIP;Verwendet die Tonwertkurve, die in DCP profilen eingebetten sein kann. +TP_ICM_SAVEREFERENCE_APPLYWB;Weißabgleich anwenden +TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Um ICC-Profile zu erstellen, den Weißabgleich beim Speichern anwenden. Um DCP-Profile zu erstellen, den Weißabgleich NICHT beim Speichern anwenden. +TP_ICM_SAVEREFERENCE_TOOLTIP;Speichert das lineare TIFF-Bild bevor das Eingangsfarbprofil angewendet wird. Das Ergebnis kann zu Kalibrierungsaufgaben und zum Erstellen von Kameraprofilen verwendet werden. +TP_ICM_TONECURVE;Tonwertkurve +TP_ICM_TONECURVE_TOOLTIP;Eingebettete DCP-Tonwertkurve verwenden. Die Einstellung ist nur verfügbar wenn sie vom Eingangsfarbprofil unterstützt wird. TP_ICM_WORKINGPROFILE;Arbeitsfarbraum -TP_IMPULSEDENOISE_LABEL;Impulsrauschminderung +TP_IMPULSEDENOISE_LABEL;Impulsrauschreduzierung TP_IMPULSEDENOISE_THRESH;Schwellenwert -TP_LABCURVE_AVOIDCOLORSHIFT;Vermeide Farbverschiebungen -TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Anpassung der Farben am Gamut des Arbeitsfarbraums und Munsell Korrektur anwenden +TP_LABCURVE_AVOIDCOLORSHIFT;Farbverschiebungen vermeiden +TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Anpassung der Farben an den Arbeitsfarbraum und Anwendung der Munsellkorrektur. TP_LABCURVE_BRIGHTNESS;Helligkeit TP_LABCURVE_CHROMATICITY;Chromatizität +TP_LABCURVE_CHROMA_TOOLTIP;Für Schwarz/Weiß setzen Sie die Chromatizität auf -100. TP_LABCURVE_CONTRAST;Kontrast TP_LABCURVE_CURVEEDITOR;Luminanzkurve TP_LABCURVE_CURVEEDITOR_A_RANGE1;Grün gesättigt @@ -1084,54 +1539,84 @@ TP_LABCURVE_CURVEEDITOR_CC_RANGE1;Neutral TP_LABCURVE_CURVEEDITOR_CC_RANGE2;Matt TP_LABCURVE_CURVEEDITOR_CC_RANGE3;Pastell TP_LABCURVE_CURVEEDITOR_CC_RANGE4;Gesättigt -TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromatizität C=f(C).\n\nZeigt das Histogramm von C vor der Kurvenkorrektur.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. +TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromatizität als Funktion der Chromatizität C=f(C) TP_LABCURVE_CURVEEDITOR_CH;CH -TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromatizität gemäß Buntton +TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromatizität als Funktion des Farbtons C=f(H) +TP_LABCURVE_CURVEEDITOR_CL;CL +TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromatizität als Funktion der Luminanz C=f(L) +TP_LABCURVE_CURVEEDITOR_HH;HH +TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Farbton als Funktion des Farbtons H=f(H) TP_LABCURVE_CURVEEDITOR_LC;LC -TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminanz gemäß Chromatizität -TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminanz Lab L=f(L).\n\nZeigt das Histogramm von L vor der Kurvenkorrektur.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. -TP_LABCURVE_LABEL;Lab-Anpassungen -TP_LABCURVE_LCREDSK;LC auf Rot- und Hauttöne beschränken -TP_LABCURVE_LCREDSK_TIP;Wenn aktiviert, wird die LC Kurve (Luminanz gemäß Chromatizität) beschränkt auf Rot- und Hauttöne.\nWenn deaktiviert, wird die LC Kurve auf alle Töne angewendet. -TP_LABCURVE_RSTPROTECTION;Rot- und Hauttöne schützen -TP_LABCURVE_RSTPRO_TOOLTIP;Kann mit dem Chromatizität-Regler und der CC Kurve verwendet werden. +TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminanz als Funktion der Chromatizität L=f(C) +TP_LABCURVE_CURVEEDITOR_LH;LH +TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminanz als Funktion des Farbtons L=f(H) +TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminanz als Funktion der Luminanz L=f(L) +TP_LABCURVE_LABEL;L*a*b* - Anpassungen +TP_LABCURVE_LCREDSK;LC-Kurve auf Hautfarbtöne beschränken +TP_LABCURVE_LCREDSK_TIP;Wenn aktiviert, wird die LC-Kurve auf Hautfarbtöne beschränkt.\nWenn deaktiviert, wird die LC-Kurve auf alle Farbtöne angewendet. +TP_LABCURVE_RSTPROTECTION;Hautfarbtöne schützen +TP_LABCURVE_RSTPRO_TOOLTIP;Kann mit dem Chromatizitätsregler und der CC-Kurve verwendet werden. TP_LENSGEOM_AUTOCROP;Auto-Schneiden TP_LENSGEOM_FILL;Auto-Füllen TP_LENSGEOM_LABEL;Objektivkorrekturen -TP_LENSPROFILE_LABEL;Linsen-Korrekturprofil +TP_LENSPROFILE_LABEL;Objektivkorrekturprofil TP_LENSPROFILE_USECA;CA korrigieren -TP_LENSPROFILE_USEDIST;Verzerrung korrigieren +TP_LENSPROFILE_USEDIST;Verzeichnung korrigieren TP_LENSPROFILE_USEVIGN;Vignettierung korrigieren TP_NEUTRAL;Neutral TP_NEUTRAL_TIP;Belichtungseinstellungen auf neutrale Werte zurücksetzen -TP_PCVIGNETTE_FEATHER;Verlauf -TP_PCVIGNETTE_FEATHER_TOOLTIP;Verlauf: 0=nur Bildecken, 50=halbe Strecke zum Mittelpunkt, 100=bis zum Mittelpunkt +TP_PCVIGNETTE_FEATHER;Bereich +TP_PCVIGNETTE_FEATHER_TOOLTIP;Bereich:\n0 = nur Bildecken\n50 = halbe Strecke zum Mittelpunkt\n100 = bis zum Mittelpunkt TP_PCVIGNETTE_LABEL;Vignettierungsfilter -TP_PCVIGNETTE_ROUNDNESS;Rundheit -TP_PCVIGNETTE_ROUNDNESS_TOOLTIP;Rundheit: 0=Rechteck, 50=eingepasste Ellipse, 100=Kreis +TP_PCVIGNETTE_ROUNDNESS;Rundung +TP_PCVIGNETTE_ROUNDNESS_TOOLTIP;Rundung:\n0 = Rechteck\n50 = Ellipse\n100 = Kreis TP_PCVIGNETTE_STRENGTH;Stärke TP_PCVIGNETTE_STRENGTH_TOOLTIP;Filterstärke in Blendenstufen (bezogen auf die Bildecken) TP_PERSPECTIVE_HORIZONTAL;Horizontal TP_PERSPECTIVE_LABEL;Perspektive TP_PERSPECTIVE_VERTICAL;Vertikal +TP_PFCURVE_CURVEEDITOR_CH;Farbton +TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Regelt die Intensität der Farbsaumentfernung nach Farben. Je höher die Kurve desto stärker ist der Effekt. TP_PREPROCESS_DEADPIXFILT;Dead-Pixel-Filter +TP_PREPROCESS_DEADPIXFILT_TOOLTIP;Entfernt tote Pixel TP_PREPROCESS_GREENEQUIL;Grün-Ausgleich TP_PREPROCESS_HOTPIXFILT;Hot-Pixel-Filter +TP_PREPROCESS_HOTPIXFILT_TOOLTIP;Entfernt Hot-Pixel TP_PREPROCESS_LABEL;Vorverarbeitung TP_PREPROCESS_LINEDENOISE;Zeilenrauschfilter -TP_PREPROCESS_NO_FOUND;Keins gefunden +TP_PREPROCESS_NO_FOUND;Nichts gefunden +TP_PRSHARPENING_LABEL;Nach Größenänderung schärfen +TP_PRSHARPENING_TOOLTIP;Schärft das Bild nach der Größenänderung. Funktioniert nur mit der Methode „Lanczos“. Das Ergebnis wird nicht in RawTherapee angezeigt.\nWeitere Informationen finden Sie in „RawPedia“. TP_RAWCACORR_AUTO;Automatische Korrektur TP_RAWCACORR_CABLUE;Blau TP_RAWCACORR_CARED;Rot -TP_RAWEXPOS_BLACKS;Schwarzpegel -TP_RAWEXPOS_LINEAR;Weißpunkt: Linearer\nKorrekturfaktor -TP_RAWEXPOS_PRESER;Weißpunkt: Lichter\nbewahrende Korrektur (EV) +TP_RAWEXPOS_BLACKS;Schattenkompression +TP_RAWEXPOS_BLACK_0;Grün 1 (Master) +TP_RAWEXPOS_BLACK_1;Rot +TP_RAWEXPOS_BLACK_2;Blau +TP_RAWEXPOS_BLACK_3;Grün 2 +TP_RAWEXPOS_BLACK_BLUE;Blau +TP_RAWEXPOS_BLACK_GREEN;Grün +TP_RAWEXPOS_BLACK_RED;Rot +TP_RAWEXPOS_LINEAR;Weißpunktkorrektur +TP_RAWEXPOS_PRESER;Weißpunkt: Lichter schützen +TP_RAWEXPOS_RGB;Rot, Grün, Blau TP_RAWEXPOS_TWOGREEN;Grün-Werte automatisch angleichen -TP_RAW_DCBENHANCE;DCB-Verfeinerungsschritt +TP_RAW_DCBENHANCE;DCB-Verbesserung TP_RAW_DCBITERATIONS;Anzahl der DCB-Iterationen TP_RAW_DMETHOD;Methode -TP_RAW_FALSECOLOR;Falschfarbenunterdrückung\nStufen +TP_RAW_DMETHOD_PROGRESSBAR;%1 verarbeitet +TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Demosaikoptimierung +TP_RAW_DMETHOD_TOOLTIP;Hinweis: IGV und LMMSE ist speziell für Bilder mit hohen ISO-Werten reserviert und verbessert die Rauschreduzierung. +TP_RAW_FALSECOLOR;Falschfarbenunterdrückung +TP_RAW_HD;Schwellenwert +TP_RAW_HD_TOOLTIP;Je niedriger der Wert, umso empfindlicher reagiert die “Hot/Dead-Pixel-Erkennung“. Ist die Empfindlichkeit zu hoch, können Artefakte entstehen. Erhöhen Sie in diesem Fall den Schwellenwert, bis die Artefakte verschwinden. TP_RAW_LABEL;Farbinterpolation +TP_RAW_LMMSEITERATIONS;LMMSE-Verbesserungsstufen +TP_RAW_LMMSE_TOOLTIP;Fügt Gamma (Stufe 1), Median (Stufe 2-4) und Optimierung (Stufe 5-6) zur Minimierung von Artefakten hinzu und verbessert das Signalrauschverhältnis. +TP_RAW_SENSOR_BAYER_LABEL;Sensor mit Bayer-Matrix +TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;Mit “3-pass“ erzielt man die besten Ergebnisse (empfohlen bei Bildern mit niedrigen ISO-Werten).\n\nBei hohen ISO-Werten unterscheidet sich “1-pass“ kaum gegenüber “3-pass“, ist aber deutlich schneller. +TP_RAW_SENSOR_XTRANS_LABEL;Sensor mit X-Trans-Matrix TP_RESIZE_APPLIESTO;Gilt für: TP_RESIZE_CROPPEDAREA;Ausschnitt TP_RESIZE_FITBOX;Begrenzungsrahmen @@ -1145,24 +1630,26 @@ TP_RESIZE_NEAREST;Nächster Nachbar TP_RESIZE_SCALE;Maßstab TP_RESIZE_SPECIFY;Vorgabe: TP_RESIZE_WIDTH;Breite -TP_RESIZE_W;B: +TP_RESIZE_W;Breite: TP_RGBCURVES_BLUE;B TP_RGBCURVES_CHANNEL;Kanal TP_RGBCURVES_GREEN;G TP_RGBCURVES_LABEL;RGB-Kurven -TP_RGBCURVES_LUMAMODE;Leuchtkraft Modus -TP_RGBCURVES_LUMAMODE_TOOLTIP;Der Leuchtkraft Modus ermöglicht die Verteilung der R, G und B Kanäle zur Leuchtkraft des Bildes, ohne die Farben des Bildes zu verändern. +TP_RGBCURVES_LUMAMODE;Helligkeitsmodus +TP_RGBCURVES_LUMAMODE_TOOLTIP;Der Helligkeitsmodus ändert die Helligkeit der R-, G- und B-Kanäle ohne die Farben des Bildes zu verändern. TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Grad -TP_ROTATE_LABEL;Fein-Rotation +TP_ROTATE_LABEL;Drehen TP_ROTATE_SELECTLINE;Leitlinie wählen +TP_SAVEDIALOG_OK_TIP;Taste: Strg + Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Lichter -TP_SHADOWSHLIGHTS_HLTONALW;Farbtonbereich für Lichter -TP_SHADOWSHLIGHTS_LABEL;Schatten/Lichter +TP_SHADOWSHLIGHTS_HLTONALW;Tonwertbreite Lichter +TP_SHADOWSHLIGHTS_LABEL;Schatten / Lichter TP_SHADOWSHLIGHTS_LOCALCONTR;Lokaler Kontrast TP_SHADOWSHLIGHTS_RADIUS;Radius TP_SHADOWSHLIGHTS_SHADOWS;Schatten -TP_SHADOWSHLIGHTS_SHTONALW;Farbtonbereich für Schatten +TP_SHADOWSHLIGHTS_SHARPMASK;Schärfemaske +TP_SHADOWSHLIGHTS_SHTONALW;Tonwertbreite Schatten TP_SHARPENEDGE_AMOUNT;Stärke TP_SHARPENEDGE_LABEL;Kantenschärfung TP_SHARPENEDGE_PASSES;Iterationen @@ -1170,7 +1657,7 @@ TP_SHARPENEDGE_THREE;Nur Luminanz TP_SHARPENING_AMOUNT;Stärke TP_SHARPENING_EDRADIUS;Radius TP_SHARPENING_EDTOLERANCE;Kantentoleranz -TP_SHARPENING_HALOCONTROL;Halo-Kontrolle +TP_SHARPENING_HALOCONTROL;Halokontrolle TP_SHARPENING_HCAMOUNT;Stärke TP_SHARPENING_LABEL;Schärfung TP_SHARPENING_METHOD;Methode @@ -1181,27 +1668,27 @@ TP_SHARPENING_RLD_AMOUNT;Stärke TP_SHARPENING_RLD_DAMPING;Dämpfung TP_SHARPENING_RLD_ITERATIONS;Iterationen TP_SHARPENING_THRESHOLD;Schwellenwert -TP_SHARPENING_TOOLTIP;Ergibt einen leicht geänderten Effekt, wenn CIECAM02 verwendet wird. Wenn ein Unterschied festzustellen ist, nach belieben abändern. -TP_SHARPENING_USM;Unscharfmaskierung +TP_SHARPENING_TOOLTIP;Ergibt einen leicht geänderten Effekt, wenn CIECAM02 verwendet wird. +TP_SHARPENING_USM;Unschärfemaskierung TP_SHARPENMICRO_AMOUNT;Stärke TP_SHARPENMICRO_LABEL;Mikrokontrast TP_SHARPENMICRO_MATRIX;3×3-Matrix statt 5×5-Matrix TP_SHARPENMICRO_UNIFORMITY;Gleichmäßigkeit -TP_VIBRANCE_AVOIDCOLORSHIFT;Farbverschiebungen verhindern +TP_VIBRANCE_AVOIDCOLORSHIFT;Farbverschiebungen vermeiden TP_VIBRANCE_CURVEEDITOR_SKINTONES;HH -TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL;Hauttöne +TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL;Hautfarbtöne TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE1;Rot/Violett TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;Rot TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Rot/Gelb TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;Gelb -TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Färbung entsprechend des Farbtons +TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Farbton als Funktion des Farbtons H=f(H) TP_VIBRANCE_LABEL;Dynamik TP_VIBRANCE_PASTELS;Pastelltöne -TP_VIBRANCE_PASTSATTOG;Pastellene und gesättigte Töne koppeln -TP_VIBRANCE_PROTECTSKINS;Hauttöne schützen -TP_VIBRANCE_PSTHRESHOLD;Pastellene/gesättigte Töne\nSchwellenwert +TP_VIBRANCE_PASTSATTOG;Pastell und gesättigte Töne koppeln +TP_VIBRANCE_PROTECTSKINS;Hautfarbtöne schützen +TP_VIBRANCE_PSTHRESHOLD;Pastell/gesättigte Töne\nSchwellenwert TP_VIBRANCE_PSTHRESHOLD_SATTHRESH;Sättigung Schwellenwert -TP_VIBRANCE_PSTHRESHOLD_TOOLTIP;Die vertikale Achse steht für die Pastell-Töne (unten) und gesättigte Töne (oben).\nDie horizontale Achse entspricht dem Sättigungsbereich. +TP_VIBRANCE_PSTHRESHOLD_TOOLTIP;Die vertikale Achse steht für die Pastell (unten) und gesättigte Töne (oben).\nDie horizontale Achse entspricht dem Sättigungsbereich. TP_VIBRANCE_PSTHRESHOLD_WEIGTHING;Gewichtung des Übergangs pastell/gesättigt TP_VIBRANCE_SATURATED;Gesättigte Töne TP_VIGNETTING_AMOUNT;Stärke @@ -1211,11 +1698,182 @@ TP_VIGNETTING_CENTER_Y;Zentrum Y TP_VIGNETTING_LABEL;Vignettierungskorrektur TP_VIGNETTING_RADIUS;Radius TP_VIGNETTING_STRENGTH;Faktor +TP_WAVELET_1;Ebene 1 +TP_WAVELET_2;Ebene 2 +TP_WAVELET_3;Ebene 3 +TP_WAVELET_4;Ebene 4 +TP_WAVELET_5;Ebene 5 +TP_WAVELET_6;Ebene 6 +TP_WAVELET_7;Ebene 7 +TP_WAVELET_8;Ebene 8 +TP_WAVELET_9;Ebene 9 +TP_WAVELET_APPLYTO;Anwenden auf: +TP_WAVELET_AVOID;Farbverschiebungen vermeiden +TP_WAVELET_B0;Schwarz +TP_WAVELET_B1;Grau +TP_WAVELET_B2;Rest +TP_WAVELET_BACKGROUND;Hintergrund +TP_WAVELET_BACUR;Kurve +TP_WAVELET_BALANCE;Kontrastausgleich d/v-h +TP_WAVELET_BALANCE_TOOLTIP;Verändert die Gewichtung zwischen den Wavelet-Richtungen vertikal, horizontal und diagonal.\n\nSind Kontrast-, Farb- oder Nachbild-Dynamikkompression aktiviert, wird die Wirkung aufgrund des Ausgleichs verstärkt. +TP_WAVELET_BALCHRO;Farbausgleich +TP_WAVELET_BALCHRO_TOOLTIP;Wenn aktiviert, beeinflusst der Kontrastausgleich auch den Farbausgleich. +TP_WAVELET_BANONE;Keine +TP_WAVELET_BASLI;Regler +TP_WAVELET_BATYPE;Kontrastmethode +TP_WAVELET_CBENAB;Farbausgleich +TP_WAVELET_CBTYPE;Farbausgleich +TP_WAVELET_CCURVE;Lokaler Kontrast +TP_WAVELET_CH1;Gesamter Farbbereich +TP_WAVELET_CH2;Sättigung/Pastell +TP_WAVELET_CH3;Kontrastebenen verlinken +TP_WAVELET_CHCU;Kurve +TP_WAVELET_CHRO;Sättigung/Pastell Schwellenwert +TP_WAVELET_CHRO_TOOLTIP;Anzahl der Waveletebenen, deren Schwellenwert für die gesättigten und Pastellfarben angewendet werden soll.\n1-n: Gesättigte Farben\nn-9: Pastellfarben\n\nIst der Wert größer als die vorgegebene Anzahl an Waveletebenen werden diese ignoriert. +TP_WAVELET_CHR;Farb-Kontrast-Verlinkungsstärke +TP_WAVELET_CHR_TOOLTIP;Farbton als Funktion des Kontrasts und der Farbton-Kontrast-Verlinkungsstärke +TP_WAVELET_CHSL;Regler +TP_WAVELET_CHTYPE;Chrominanzmethode +TP_WAVELET_COLORT;Deckkraft Rot/Grün +TP_WAVELET_COMBOTH;Beide +TP_WAVELET_COMPCONT;Kontrast +TP_WAVELET_COMPGAMMA;Gammakompression +TP_WAVELET_COMPGAMMA_TOOLTIP;Das Anpassen des Gammawerts des Nachbildes ermöglicht das Angleichen der Daten und des Histogramms +TP_WAVELET_COMPTM;Dynamik +TP_WAVELET_CONTEDIT;“Danach“-Kontrastkurve +TP_WAVELET_CONTRAST_MINUS;Kontrast - +TP_WAVELET_CONTRAST_PLUS;Kontrast + +TP_WAVELET_CONTRA;Kontrast +TP_WAVELET_CONTRA_TOOLTIP;Ändert den Kontrast des Nachbildes +TP_WAVELET_CONTR;Gamut +TP_WAVELET_CTYPE;Chrominanzkontrolle +TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Lokaler Kontrast als Funktion des ursprünglichen Kontrasts.\n\nNiedrige Werte: Wenig lokaler Kontrast (Werte zwischen 10 - 20)\n\n50%: Durchschnittlicher lokaler Kontrast (Werte zwischen 100 - 300)\n\n66%: Standardabweichung des Lokalen Kontrasts (Werte zwischen 300 - 800)\n\n100%: Maximaler lokaler Kontrast (Werte zwischen 3000 - 8000) +TP_WAVELET_CURVEEDITOR_CH;Kontrast = f(H) +TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Kontrast als Funktion des Farbtons.\nAchten Sie darauf, dass Sie die Werte beim Gamut-Farbton nicht überschreiben\n\nDie Kurve hat nur Auswirkung, wenn die Wavelet-Kontrastregler nicht auf “0“ stehen. +TP_WAVELET_CURVEEDITOR_CL;L +TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Wendet eine Kontrasthelligkeitskurve am Ende der Waveletverarbeitung an. +TP_WAVELET_CURVEEDITOR_HH;HH +TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Farbton als Funktion des Farbtons H=f(H) +TP_WAVELET_DALL;Alle Richtungen +TP_WAVELET_DAUB2;D2 - niedrig +TP_WAVELET_DAUB4;D4 - Standard +TP_WAVELET_DAUB6;D6 - Standard Plus +TP_WAVELET_DAUB10;D10 - mittel +TP_WAVELET_DAUB14;D14 - hoch +TP_WAVELET_DAUB;Kantenperformance +TP_WAVELET_DAUB_TOOLTIP;Ändert den Daubechies-Koeffizienten:\nD4 = Standard\nD14 = Häufig bestes Ergebnis auf Kosten von ca. 10% längerer Verarbeitungszeit.\n\nVerbessert die Kantenerkennung sowie die Qualität der ersten Waveletebene. Jedoch hängt die Qualität nicht ausschließlich mit diesem Koeffizienten zusammen und kann je nach Bild und Einsatz variieren. +TP_WAVELET_DONE;Vertikal +TP_WAVELET_DTHR;Diagonal +TP_WAVELET_DTWO;Horizontal +TP_WAVELET_EDCU;Kurve +TP_WAVELET_EDGCONT;Lokaler Kontrast +TP_WAVELET_EDGCONT_TOOLTIP;Verschieben der Punkte nach links, verringert den Kontrast. Nach rechts wird der Kontrast verstärkt. +TP_WAVELET_EDGEAMPLI;Grundverstärkung +TP_WAVELET_EDGEDETECTTHR2;Schwellenwert hoch (Erkennung) +TP_WAVELET_EDGEDETECTTHR;Schwellenwert niedrig (Rauschen) +TP_WAVELET_EDGEDETECTTHR_TOOLTIP;Schwellenwert der Kantenerkennung für feine Details. Verhindert die Schärfung von Rauschen. +TP_WAVELET_EDGEDETECT;Gradientenempfindlichkeit +TP_WAVELET_EDGEDETECT_TOOLTIP;Verschieben des Reglers nach rechts erhöht die Kantenempfindlichkeit. Die Einstellung wirkt sich auf den lokalen Kontrast, Kanteneinstellungen und Rauschen aus. +TP_WAVELET_EDGESENSI;Kantenempfindlichkeit +TP_WAVELET_EDGE;Kantenschärfung +TP_WAVELET_EDGREINF_TOOLTIP;Reduziert oder verstärkt die Kantenschärfung der ersten Ebene. Wird die Schärfung verstärkt, wird bei der zweiten Ebene die Schärfung reduziert und umgekehrt. Alle anderen Ebenen werden nicht beeinflusst. +TP_WAVELET_EDGTHRESH;Details +TP_WAVELET_EDGTHRESH_TOOLTIP;Verschieben des Reglers nach rechts verstärkt die Kantenschärfung der ersten Waveletebene und reduziert sie für die anderen Ebenen.\n\nNegative Werte können zu Artefakten führen. +TP_WAVELET_EDRAD;Radius +TP_WAVELET_EDRAD_TOOLTIP;Der Radius unterscheidet sich von dem in den üblichen Schärfungswerkzeugen. Der Wert wird mit jeder Ebene über eine komplexe Funktion verglichen. Ein Wert von “0“ zeigt deshalb immer noch eine Auswirkung. +TP_WAVELET_EDSL;Regler +TP_WAVELET_EDTYPE;Lokale Kontrastmethode +TP_WAVELET_EDVAL;Stärke +TP_WAVELET_FINAL;Endretusche +TP_WAVELET_FINEST;Fein +TP_WAVELET_HIGHLIGHT;Lichter-Luminanzbereich +TP_WAVELET_HS1;Gesamter Luminanzbereich +TP_WAVELET_HS2;Schatten/Lichter +TP_WAVELET_HUESKIN;Hautfarbton +TP_WAVELET_HUESKIN_TOOLTIP;Wenn Sie den Bereich signifikant nach Links oder Rechts verschieben müssen, ist der Weißabgleich nicht richtig gewählt.\nWählen Sie den eingeschlossenen Bereich so eng wie möglich, um den Einfluss auf benachbarte Farben zu verhindern. +TP_WAVELET_HUESKY;Himmelsfarbton +TP_WAVELET_HUESKY_TOOLTIP;Wenn Sie den Bereich signifikant nach Links oder Rechts verschieben müssen, ist der Weißabgleich nicht richtig gewählt.\nWählen Sie den eingeschlossenen Bereich so eng wie möglich, um den Einfluss auf benachbarte Farben zu verhindern. +TP_WAVELET_ITER;Delta-Kontrastausgleich +TP_WAVELET_ITER_TOOLTIP;Links: Erhöht die niedrigen und reduziert die hohen Ebenen.\nRechts: Reduziert die niedrigen und erhöht die hohen Ebenen. +TP_WAVELET_LABEL;Wavelet +TP_WAVELET_LARGEST;Grob +TP_WAVELET_LEVCH;Farbe +TP_WAVELET_LEVDIR_ALL;Alle Ebenen und Richtungen +TP_WAVELET_LEVDIR_INF;Kleiner oder gleich der Ebene +TP_WAVELET_LEVDIR_ONE;Diese Ebene +TP_WAVELET_LEVDIR_SUP;Über der Ebene +TP_WAVELET_LEVELS;Waveletebenen +TP_WAVELET_LEVELS_TOOLTIP;Wählen Sie die Anzahl der Ebenen in die das Bild zerlegt werden soll. Mehr Ebenen benötigen mehr RAM und eine längere Verarbeitungszeit. +TP_WAVELET_LEVF;Kontrast +TP_WAVELET_LEVLABEL;Vorschau max. möglicher Ebenen +TP_WAVELET_LEVONE;Ebene 2 +TP_WAVELET_LEVTHRE;Ebene 4 +TP_WAVELET_LEVTWO;Ebene 3 +TP_WAVELET_LEVZERO;Ebene 1 +TP_WAVELET_LINKEDG;Mit der Kantenschärfungsstärke verlinken +TP_WAVELET_LIPST;Erweiterter Algorithmus +TP_WAVELET_LIPST_TOOLTIP;Dieser Algorithmus verwendet einen Pixel und acht seiner Nachbarn. Sind die Unterschiede gering, werden die Ränder verstärkt. +TP_WAVELET_LOWLIGHT;Schatten-Luminanzbereich +TP_WAVELET_MEDGREINF;Erste Ebene +TP_WAVELET_MEDILEV;Kantenerkennung +TP_WAVELET_MEDILEV_TOOLTIP;Wenn Sie die Kantenerkennung aktivieren, sollten Sie folgende Einstellungen anpassen:\n\n1. Niedrige Kontrastebenen deaktivieren um Artefakte zu vermeiden.\n2. Hohe Werte bei der Gradientenempfindlichkeit einstellen.\n\nSie können die Stärke mit der Wavelet-Rauschreduzierung anpassen. +TP_WAVELET_MEDI;Artefakte in blauem Himmel reduzieren +TP_WAVELET_NEUTRAL;Neutral +TP_WAVELET_NOISE;Rauschreduzierung +TP_WAVELET_NOIS;Rauschreduzierung +TP_WAVELET_NPHIGH;Hoch +TP_WAVELET_NPLOW;Niedrig +TP_WAVELET_NPNONE;Keine +TP_WAVELET_NPTYPE;Benachbarte Pixel +TP_WAVELET_NPTYPE_TOOLTIP;Dieser Algorithmus verwendet einen Pixel und acht seiner Nachbarn. Sind die Unterschiede gering, werden die Kanten geschärft. +TP_WAVELET_OPACITYWL;Lokaler Kontrast +TP_WAVELET_OPACITYWL_TOOLTIP;Wendet eine lokale Kontrastkurve am Ende der Wavelet-Verarbeitung an.\n\nLinks stellt den niedrigsten, rechts den höchsten Kontrast dar. +TP_WAVELET_OPACITYW;Kontrastausgleichskurve +TP_WAVELET_OPACITY;Deckkraft Blau/Gelb +TP_WAVELET_PASTEL;Pastellfarben +TP_WAVELET_PROC;Verarbeitung +TP_WAVELET_RE1;Schärfung verstärken +TP_WAVELET_RE2;Schärfung normal +TP_WAVELET_RE3;Schärfung reduzieren +TP_WAVELET_RESCHRO;Buntheit +TP_WAVELET_RESCONH;Lichter +TP_WAVELET_RESCON;Schatten +TP_WAVELET_RESID;Nachbild +TP_WAVELET_SAT;Gesättigte Farben +TP_WAVELET_SETTINGS;Wavelet-Einstellungen +TP_WAVELET_SKIN;Hautfarbtöne ändern/schützen +TP_WAVELET_SKIN_TOOLTIP;-100: Nur Farben innerhalb des Bereichs werden verändert.\n0: Alle Farben werden gleich behandelt.\n+100: Nur Farben außerhalb des Bereichs werden verändert. +TP_WAVELET_SKY;Himmelsfarbtöne ändern/schützen +TP_WAVELET_SKY_TOOLTIP;-100: Nur Farben innerhalb des Bereichs werden verändert.\n0: Alle Farben werden gleich behandelt.\n+100: Nur Farben außerhalb des Bereichs werden verändert. +TP_WAVELET_STRENGTH;Stärke +TP_WAVELET_STREN;Stärke +TP_WAVELET_SUPE;Extra +TP_WAVELET_THRESHOLD2;Schattenebenen +TP_WAVELET_THRESHOLD2_TOOLTIP;Legt die Ebene der Untergrenze (9 minus Wert) für den Schatten-Luminanzbereich fest. Der maximal mögliche Wert wird vom Wert der Lichterebenen begrenzt.\n\nBeeinflussbare Ebenen: Untergrenze bis Ebene 9 +TP_WAVELET_THRESHOLD;Lichterebenen +TP_WAVELET_THRESHOLD_TOOLTIP;Legt die Ebene der Obergrenze für den Lichter-Luminanzbereich fest. Der Wert begrenzt die maximal möglichen Schattenebenen.\n\nBeeinflussbare Ebenen: Ebene 1 bis Obergrenze +TP_WAVELET_THRH;Lichter Schwellenwert +TP_WAVELET_THR;Schatten Schwellenwert +TP_WAVELET_TILESBIG;Große Kacheln +TP_WAVELET_TILESFULL;Ganzes Bild +TP_WAVELET_TILESIZE;Kachelgröße +TP_WAVELET_TILESLIT;Kleine Kacheln +TP_WAVELET_TILES_TOOLTIP;“Ganzes Bild“ (empfohlen) liefert eine bessere Qualität.\n“Kacheln“ benötigen weniger Speicher und sind nur für Computer mit wenig RAM zu empfehlen. +TP_WAVELET_TMHIGH;Hoch +TP_WAVELET_TMLOWHIGH;Niedrig + Hoch +TP_WAVELET_TMNONE;Keine +TP_WAVELET_TMSTD;Standard +TP_WAVELET_TMSTRENGTH;Stärke +TP_WAVELET_TMSTRENGTH_TOOLTIP;Kontrolliert die Stärke der Dynamik- oder Kontrastkompression des Nachbildes. Ist der Wert ungleich 0, werden die Stärke- und Gammaregler des Dynamikkompressions-Werkzeugs im Belichtungsreiter deaktiviert. +TP_WAVELET_TMTYPE;Kompression +TP_WAVELET_TON;Tönung TP_WBALANCE_AUTO;Automatisch TP_WBALANCE_CAMERA;Kamera TP_WBALANCE_CLOUDY;Bewölkt TP_WBALANCE_CUSTOM;Benutzerdefiniert TP_WBALANCE_DAYLIGHT;Tageslicht (sonnig) +TP_WBALANCE_EQBLUERED;Blau/Rot-Korrektur +TP_WBALANCE_EQBLUERED_TOOLTIP;Ändert das normale Verhalten des Weißabgleichs durch Änderung der Blau/Rot-Korrektur.\n\nDas kann hilfreich sein, wenn die Aufnahmebedingen:\na) weit weg von der Standardbeleuchtung sind (z.B. unter Wasser)\n\nb) abweichend zu einer Kalibrierung sind.\n\nc) nicht zum ICC-Profil passen. TP_WBALANCE_FLASH55;Leica TP_WBALANCE_FLASH60;Standard, Canon, Pentax, Olympus TP_WBALANCE_FLASH65;Nikon, Panasonic, Sony, Minolta @@ -1233,7 +1891,7 @@ TP_WBALANCE_FLUO10;F10 - Philips TL85 TP_WBALANCE_FLUO11;F11 - Philips TL84 TP_WBALANCE_FLUO12;F12 - Philips TL83 TP_WBALANCE_FLUO_HEADER;Leuchtstofflampe -TP_WBALANCE_GREEN;Farbton +TP_WBALANCE_GREEN;Tönung TP_WBALANCE_GTI;GTI TP_WBALANCE_HMI;HMI TP_WBALANCE_JUDGEIII;JudgeIII @@ -1256,670 +1914,15 @@ TP_WBALANCE_WATER1;Unterwasser 1 TP_WBALANCE_WATER2;Unterwasser 2 TP_WBALANCE_WATER_HEADER;Unterwasser ZOOMPANEL_100;(100%) -ZOOMPANEL_NEWCROPWINDOW;(Weiteres) Detailfenster öffnen -ZOOMPANEL_ZOOM100;Zoom 100% z -ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen f -ZOOMPANEL_ZOOMIN;Hineinzoomen + -ZOOMPANEL_ZOOMOUT;Herauszoomen - +ZOOMPANEL_NEWCROPWINDOW;Neues Detailfenster öffnen +ZOOMPANEL_ZOOM100;Zoom 100%\nTaste: z +ZOOMPANEL_ZOOMFITCROPSCREEN;Ausschnitt an Bildschirm anpassen\nTaste: Alt + f +ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen\nTaste: f +ZOOMPANEL_ZOOMIN;Hineinzoomen\nTaste: + +ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: - !!!!!!!!!!!!!!!!!!!!!!!!! ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! -!BATCHQUEUE_DESTFILENAME;Path and file name -!CURVEEDITOR_AXIS_IN;I: -!CURVEEDITOR_AXIS_LEFT_TAN;LT: -!CURVEEDITOR_AXIS_OUT;O: -!CURVEEDITOR_AXIS_RIGHT_TAN;RT: -!CURVEEDITOR_EDITPOINT_HINT;Enable edition of node in/out values.\n\nRight-click on a node to select it.\nRight-click on empty space to de-select the node. -!EDIT_OBJECT_TOOLTIP;Displays a widget on the preview window which lets you adjust this tool. -!EDIT_PIPETTE_TOOLTIP;To add an adjustment point to the curve, hold the Ctrl key while left-clicking the desired spot in the image preview.\nTo adjust the point, hold the Ctrl key while left-clicking the corresponding area in the preview, then let go of Ctrl (unless you desire fine control) and while still holding the left mouse button move the mouse up or down to move that point up or down in the curve. -!EXPORT_BYPASS_EQUALIZER;Bypass Wavelet Levels -!EXPORT_BYPASS_RAW_LMMSE_ITERATIONS;Bypass [raw] LMMSE Enhancement Steps -!FILEBROWSER_POPUPCOLORLABEL0;Label: None -!FILEBROWSER_POPUPCOLORLABEL1;Label: Red -!FILEBROWSER_POPUPCOLORLABEL2;Label: Yellow -!FILEBROWSER_POPUPCOLORLABEL3;Label: Green -!FILEBROWSER_POPUPCOLORLABEL4;Label: Blue -!FILEBROWSER_POPUPCOLORLABEL5;Label: Purple -!FILEBROWSER_POPUPRANK0;Unrank -!FILEBROWSER_POPUPRANK1;Rank 1 * -!FILEBROWSER_POPUPRANK2;Rank 2 ** -!FILEBROWSER_POPUPRANK3;Rank 3 *** -!FILEBROWSER_POPUPRANK4;Rank 4 **** -!FILEBROWSER_POPUPRANK5;Rank 5 ***** -!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. -!FILECHOOSER_FILTER_ANY;All files -!FILECHOOSER_FILTER_COLPROF;Color profiles -!FILECHOOSER_FILTER_CURVE;Curve files -!FILECHOOSER_FILTER_LCP;Lens correction profiles -!FILECHOOSER_FILTER_PP;Processing profiles -!FILECHOOSER_FILTER_SAME;Same format as current photo -!FILECHOOSER_FILTER_TIFF;TIFF files -!GENERAL_ASIMAGE;As Image -!HISTORY_MSG_204;LMMSE enhancement steps -!HISTORY_MSG_205;CAM02 - Hot/bad pixel filter -!HISTORY_MSG_206;CAT02 - Auto scene luminosity -!HISTORY_MSG_207;Defringe - Hue curve -!HISTORY_MSG_223;B&W - CM - Orange -!HISTORY_MSG_224;B&W - CM - Yellow -!HISTORY_MSG_225;B&W - CM - Cyan -!HISTORY_MSG_226;B&W - CM - Magenta -!HISTORY_MSG_227;B&W - CM - Purple -!HISTORY_MSG_228;B&W - Luminance equalizer -!HISTORY_MSG_229;B&W - Luminance equalizer -!HISTORY_MSG_231;B&W - 'Before' curve -!HISTORY_MSG_232;B&W - 'Before' curve type -!HISTORY_MSG_233;B&W - 'After' curve -!HISTORY_MSG_234;B&W - 'After' curve type -!HISTORY_MSG_236;--unused-- -!HISTORY_MSG_250;NR - Enhanced -!HISTORY_MSG_251;B&W - Algorithm -!HISTORY_MSG_252;CbDL - Skin tar/prot -!HISTORY_MSG_253;CbDL - Reduce artifacts -!HISTORY_MSG_254;CbDL - Skin hue -!HISTORY_MSG_255;NR - Median filter -!HISTORY_MSG_256;NR - Median type -!HISTORY_MSG_257;Color Toning -!HISTORY_MSG_258;CT - Color curve -!HISTORY_MSG_259;CT - Opacity curve -!HISTORY_MSG_260;CT - a*[b*] opacity -!HISTORY_MSG_261;CT - Method -!HISTORY_MSG_262;CT - b* opacity -!HISTORY_MSG_263;CT - Shadows - Red -!HISTORY_MSG_264;CT - Shadows - Green -!HISTORY_MSG_265;CT - Shadows - Blue -!HISTORY_MSG_266;CT - Mid - Red -!HISTORY_MSG_267;CT - Mid - Green -!HISTORY_MSG_268;CT - Mid - Blue -!HISTORY_MSG_269;CT - High - Red -!HISTORY_MSG_270;CT - High - Green -!HISTORY_MSG_271;CT - High - Blue -!HISTORY_MSG_272;CT - Balance -!HISTORY_MSG_273;CT - Reset -!HISTORY_MSG_274;CT - Sat. Shadows -!HISTORY_MSG_275;CT - Sat. Highlights -!HISTORY_MSG_276;CT - Opacity -!HISTORY_MSG_277;--unused-- -!HISTORY_MSG_278;CT - Preserve luminance -!HISTORY_MSG_279;CT - Shadows -!HISTORY_MSG_280;CT - Highlights -!HISTORY_MSG_281;CT - Sat. strength -!HISTORY_MSG_282;CT - Sat. threshold -!HISTORY_MSG_283;CT - Strength -!HISTORY_MSG_284;CT - Auto sat. protection -!HISTORY_MSG_285;NR - Median - Method -!HISTORY_MSG_286;NR - Median - Type -!HISTORY_MSG_287;NR - Median - Iterations -!HISTORY_MSG_288;Flat Field - Clip control -!HISTORY_MSG_289;Flat Field - Clip control - Auto -!HISTORY_MSG_290;Black Level - Red -!HISTORY_MSG_291;Black Level - Green -!HISTORY_MSG_292;Black Level - Blue -!HISTORY_MSG_293;Film Simulation -!HISTORY_MSG_294;Film Simulation - Strength -!HISTORY_MSG_295;Film Simulation - Film -!HISTORY_MSG_296;NR - Luminance curve -!HISTORY_MSG_297;NR - Quality -!HISTORY_MSG_298;Dead pixel filter -!HISTORY_MSG_299;NR - Chrominance curve -!HISTORY_MSG_300;- -!HISTORY_MSG_301;NR - Luma control -!HISTORY_MSG_302;NR - Chroma method -!HISTORY_MSG_303;NR - Chroma method -!HISTORY_MSG_304;W - Contrast levels -!HISTORY_MSG_305;Wavelet Levels -!HISTORY_MSG_306;W - Process -!HISTORY_MSG_307;W - Process -!HISTORY_MSG_308;W - Process direction -!HISTORY_MSG_309;W - ES - Detail -!HISTORY_MSG_310;W - Residual - Sky tar/prot -!HISTORY_MSG_311;W - Wavelet levels -!HISTORY_MSG_312;W - Residual - Shadows threshold -!HISTORY_MSG_313;W - Chroma - Sat/past -!HISTORY_MSG_314;W - Gamut - Reduce artifacts -!HISTORY_MSG_315;W - Residual - Contrast -!HISTORY_MSG_316;W - Gamut - Skin tar/prot -!HISTORY_MSG_317;W - Gamut - Skin hue -!HISTORY_MSG_318;W - Contrast - Highlight levels -!HISTORY_MSG_319;W - Contrast - Highlight range -!HISTORY_MSG_320;W - Contrast - Shadow range -!HISTORY_MSG_321;W - Contrast - Shadow levels -!HISTORY_MSG_322;W - Gamut - Avoid color shift -!HISTORY_MSG_323;W - ES - Local contrast -!HISTORY_MSG_324;W - Chroma - Pastel -!HISTORY_MSG_325;W - Chroma - Saturated -!HISTORY_MSG_326;W - Chroma - Method -!HISTORY_MSG_327;W - Contrast - Apply to -!HISTORY_MSG_328;W - Chroma - Link strength -!HISTORY_MSG_329;W - Toning - Opacity RG -!HISTORY_MSG_330;W - Toning - Opacity BY -!HISTORY_MSG_331;W - Contrast levels - Extra -!HISTORY_MSG_332;W - Tiling method -!HISTORY_MSG_333;W - Residual - Shadows -!HISTORY_MSG_334;W - Residual - Chroma -!HISTORY_MSG_335;W - Residual - Highlights -!HISTORY_MSG_336;W - Residual - Highlights threshold -!HISTORY_MSG_337;W - Residual - Sky hue -!HISTORY_MSG_338;W - ES - Radius -!HISTORY_MSG_339;W - ES - Strength -!HISTORY_MSG_340;W - Strength -!HISTORY_MSG_341;W - Edge performance -!HISTORY_MSG_342;W - ES - First level -!HISTORY_MSG_343;W - Chroma levels -!HISTORY_MSG_344;W - Meth chroma sl/cur -!HISTORY_MSG_345;W - ES - Local contrast -!HISTORY_MSG_346;W - ES - Local contrast method -!HISTORY_MSG_347;W - Denoise - Level 1 -!HISTORY_MSG_348;W - Denoise - Level 2 -!HISTORY_MSG_349;W - Denoise - Level 3 -!HISTORY_MSG_350;W - ES - Edge detection -!HISTORY_MSG_351;W - Residual - HH curve -!HISTORY_MSG_352;W - Background -!HISTORY_MSG_353;W - ES - Gradient sensitivity -!HISTORY_MSG_354;W - ES - Enhanced -!HISTORY_MSG_355;W - ES - Threshold low -!HISTORY_MSG_356;W - ES - Threshold high -!HISTORY_MSG_357;W - Denoise - Link with ES -!HISTORY_MSG_358;W - Gamut - CH -!HISTORY_MSG_359;Hot/Dead - Threshold -!HISTORY_MSG_360;TM Gamma -!HISTORY_MSG_361;W - Final - Chroma balance -!HISTORY_MSG_362;W - Residual - Compression method -!HISTORY_MSG_363;W - Residual - Compression strength -!HISTORY_MSG_364;W - Final - Contrast balance -!HISTORY_MSG_365;W - Final - Delta balance -!HISTORY_MSG_366;W - Residual - Compression gamma -!HISTORY_MSG_367;W - ES - Local contrast curve -!HISTORY_MSG_368;W - Final - Contrast balance -!HISTORY_MSG_369;W - Final - Balance method -!HISTORY_MSG_370;W - Final - Local contrast curve -!HISTORY_MSG_371;Post-Resize Sharpening -!HISTORY_MSG_372;PRS USM - Radius -!HISTORY_MSG_373;PRS USM - Amount -!HISTORY_MSG_374;PRS USM - Threshold -!HISTORY_MSG_375;PRS USM - Sharpen only edges -!HISTORY_MSG_376;PRS USM - Edge detection radius -!HISTORY_MSG_377;PRS USM - Edge tolerance -!HISTORY_MSG_378;PRS USM - Halo control -!HISTORY_MSG_379;PRS USM - Halo control amount -!HISTORY_MSG_380;PRS - Method -!HISTORY_MSG_381;PRS RLD - Radius -!HISTORY_MSG_382;PRS RLD - Amount -!HISTORY_MSG_383;PRS RLD - Damping -!HISTORY_MSG_384;PRS RLD - Iterations -!HISTORY_MSG_385;W - Residual - Color Balance -!HISTORY_MSG_386;W - Residual - CB green high -!HISTORY_MSG_387;W - Residual - CB blue high -!HISTORY_MSG_388;W - Residual - CB green mid -!HISTORY_MSG_389;W - Residual - CB blue mid -!HISTORY_MSG_390;W - Residual - CB green low -!HISTORY_MSG_391;W - Residual - CB blue low -!HISTORY_MSG_392;W - Residual - CB Reset -!HISTORY_MSG_393;DCP - Look table -!HISTORY_MSG_394;DCP - Baseline exposure -!HISTORY_MSG_395;DCP - Base table -!HISTORY_MSG_396;W - Contrast sub-tool -!HISTORY_MSG_397;W - Chroma sub-tool -!HISTORY_MSG_398;W - ES sub-tool -!HISTORY_MSG_399;W - Residual sub-tool -!HISTORY_MSG_400;W - Final sub-tool -!HISTORY_MSG_401;W - Toning sub-tool -!HISTORY_MSG_402;W - Denoise sub-tool -!HISTORY_MSG_403;W - ES - Edge sensitivity -!HISTORY_MSG_404;W - ES - Base amplification -!HISTORY_MSG_405;W - Denoise - Level 4 -!HISTORY_MSG_406;W - ES - Neighboring pixels -!MAIN_BUTTON_NAVNEXT_TOOLTIP;Navigate to the next image relative to image opened in the Editor.\nShortcut: Shift-F4\n\nTo navigate to the next image relative to the currently selected thumbnail in the File Browser or Filmstrip:\nShortcut: F4 -!MAIN_BUTTON_NAVPREV_TOOLTIP;Navigate to the previous image relative to image opened in the Editor.\nShortcut: Shift-F3\n\nTo navigate to the previous image relative to the currently selected thumbnail in the File Browser or Filmstrip:\nShortcut: F3 -!MAIN_BUTTON_NAVSYNC_TOOLTIP;Synchronize the File Browser or Filmstrip with the Editor to reveal the thumbnail of the currently opened image, and clear any active filters.\nShortcut: x\n\nAs above, but without clearing active filters:\nShortcut: y\n(Note that the thumbnail of the opened image will not be shown if filtered out). -!MAIN_MSG_OPERATIONCANCELLED;Operation cancelled -!MAIN_MSG_PATHDOESNTEXIST;The path\n\n%1\n\ndoes not exist. Please set a correct path in Preferences. -!MAIN_MSG_SETPATHFIRST;You first have to set a target path in Preferences in order to use this function! -!MAIN_TAB_INSPECT; Inspect -!MAIN_TAB_WAVELET;Wavelet -!MAIN_TAB_WAVELET_TOOLTIP;Shortcut: Alt-w -!NAVIGATOR_B;B: -!NAVIGATOR_G;G: -!NAVIGATOR_H;H: -!NAVIGATOR_LAB_A;a*: -!NAVIGATOR_LAB_B;b*: -!NAVIGATOR_LAB_L;L*: -!NAVIGATOR_NA; -- -!NAVIGATOR_R;R: -!NAVIGATOR_S;S: -!NAVIGATOR_V;V: -!PARTIALPASTE_CHANNELMIXERBW;Black-and-white -!PARTIALPASTE_COLORTONING;Color toning -!PARTIALPASTE_EQUALIZER;Wavelet levels -!PARTIALPASTE_FILMSIMULATION;Film simulation -!PARTIALPASTE_FLATFIELDCLIPCONTROL;Flat-field clip control -!PARTIALPASTE_RAW_LMMSEITERATIONS;LMMSE enhancement steps -!PARTIALPASTE_WAVELETGROUP;Wavelet Levels -!PREFERENCES_AUTLISLOW;Low -!PREFERENCES_AUTLISMAX;Max - Average of all tiles -!PREFERENCES_AUTLISSTD;High -!PREFERENCES_AUTLISVLOW;None -!PREFERENCES_AUTLOW;Low -!PREFERENCES_AUTSTD;Standard -!PREFERENCES_BEHADDALLHINT;Set all parameters to the Add mode.\nAdjustments of parameters in the batch tool panel will be deltas to the stored values. -!PREFERENCES_BEHADDALL;All to 'Add' -!PREFERENCES_BEHSETALLHINT;Set all parameters to the Set mode.\nAdjustments of parameters in the batch tool panel will be absolute, the actual values will be displayed. -!PREFERENCES_BEHSETALL;All to 'Set' -!PREFERENCES_CIEART_FRAME;CIECAM02-Specific Settings -!PREFERENCES_CLUTSCACHE;HaldCLUT Cache -!PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs -!PREFERENCES_CLUTSDIR;HaldCLUT directory -!PREFERENCES_CURVEBBOXPOS;Position of curve copypasta buttons -!PREFERENCES_CURVEBBOXPOS_ABOVE;Above -!PREFERENCES_CURVEBBOXPOS_BELOW;Below -!PREFERENCES_CURVEBBOXPOS_LEFT;Left -!PREFERENCES_CURVEBBOXPOS_RIGHT;Right -!PREFERENCES_CUSTPROFBUILDKEYFORMAT;Keys format -!PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name -!PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID -!PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 -!PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. -!PREFERENCES_EXPAUT;Expert -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Editor's panel and the File Browser -!PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser. -!PREFERENCES_GREYSC18;Yb=18 CIE L#50 -!PREFERENCES_GREYSCA;Automatic -!PREFERENCES_GREYSC;Scene Yb luminance (%) -!PREFERENCES_HISTOGRAMWORKING;Use working profile for main histogram and Navigator -!PREFERENCES_HISTOGRAM_TOOLTIP;If enabled, the working profile is used for rendering the main histogram and the Navigator panel, otherwise the gamma-corrected output profile is used. -!PREFERENCES_IMG_RELOAD_NEEDED;These changes require the image to be reloaded (or a new image to be opened) to take effect. -!PREFERENCES_INSPECT_LABEL;Inspect -!PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximum number of cached images -!PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2. -!PREFERENCES_LEVAUTDN;Denoising level -!PREFERENCES_LEVDN;Cell size -!PREFERENCES_LISS;Auto multi-zone smoothing -!PREFERENCES_MAXRECENTFOLDERS;Maximum number of recent folders -!PREFERENCES_MAX;Maxi (Tile) -!PREFERENCES_MED;Medium (Tile/2) -!PREFERENCES_MIN;Mini (100x115) -!PREFERENCES_NAVGUIDEBRUSH;Navigator guide color -!PREFERENCES_NAVIGATIONFRAME;Navigation -!PREFERENCES_NOISE;Noise Reduction -!PREFERENCES_OVERLAY_FILENAMES_FILMSTRIP;Overlay filenames on thumbnails in the editor pannel -!PREFERENCES_PREVDEMO;Preview Demosaic Method -!PREFERENCES_PREVDEMO_FAST;Fast -!PREFERENCES_PREVDEMO_LABEL;Demosaicing method used for the preview at <100% zoom: -!PREFERENCES_PREVDEMO_SIDECAR;As in PP3 -!PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset -!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3". -!PREFERENCES_SERIALIZE_TIFF_READ;Tiff Read Settings -!PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serialize read of tiff files -!PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;When working with folders full of uncompressed tiff files enabling this option can increase performance of thumb generation. -!PREFERENCES_SHOWFILMSTRIPTOOLBAR;Show filmstrip toolbar -!PREFERENCES_SIMPLAUT;Tool mode -!PREFERENCES_SMA;Small (250x287) -!PREFERENCES_STDAUT;Standard -!PREFERENCES_TIMAX;High -!PREFERENCES_TINB;Number of tiles -!PREFERENCES_TISTD;Standard -!PREFERENCES_USEBUNDLEDPROFILES;Use bundled profiles -!PREFERENCES_WAVLEV;Increase wavelet level in quality 'high' -!PREFERENCES_WLONE;One level -!PREFERENCES_WLTWO;Two levels -!PREFERENCES_WLZER;No -!PROFILEPANEL_GLOBALPROFILES;Bundled profiles -!PROFILEPANEL_MODE_TIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. -!PROFILEPANEL_MYPROFILES;My profiles -!PROFILEPANEL_PINTERNAL;Neutral -!PROGRESSBAR_NOIMAGES;No images found -!SAVEDLG_FORCEFORMATOPTS;Force saving options -!TP_BWMIX_ALGO;Algorithm OYCPM -!TP_BWMIX_ALGO_LI;Linear -!TP_BWMIX_ALGO_SP;Special effects -!TP_BWMIX_ALGO_TOOLTIP;Linear: will produce a normal linear response.\nSpecial effects: will produce special effects by mixing channels non-linearly. -!TP_BWMIX_AUTOCH;Auto -!TP_BWMIX_AUTOCH_TIP;Calculate values optimizing Channel Mixer. -!TP_BWMIX_CURVEEDITOR1;'Before' curve -!TP_BWMIX_CURVEEDITOR2;'After' curve -!TP_BWMIX_CURVEEDITOR_AFTER_TOOLTIP;Tone curve, after B&W conversion, at the end of treatment. -!TP_BWMIX_CURVEEDITOR_BEFORE_TOOLTIP;Tone curve, just before B&W conversion.\nMay take into account the color components. -!TP_BWMIX_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H).\nPay attention to extreme values as they may cause artifacts. -!TP_BWMIX_NEUTRAL_TIP;Reset all values (Color Filter, Channel Mixer) to default. -!TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Total: %4%% -!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n"Total" displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. -!TP_BWMIX_RGB_TOOLTIP;Mix the RGB channels. Use presets for guidance.\nPay attention to negative values that may cause artifacts or erratic behavior. -!TP_BWMIX_SET_RGBABS;Absolute RGB -!TP_BWMIX_SET_RGBREL;Relative RGB -!TP_BWMIX_SET_ROYGCBPMABS;Absolute ROYGCBPM -!TP_BWMIX_SET_ROYGCBPMREL;Relative ROYGCBPM -!TP_BWMIX_TCMODE_SATANDVALBLENDING;B&W Saturation and Value Blending -!TP_BWMIX_VAL;L -!TP_COLORAPP_ADAP_AUTO_TOOLTIP;If the checkbox is checked (recommended) RawTherapee calculates an optimum value from Exif data.\nTo set the value manually, uncheck the checkbox first. -!TP_COLORAPP_BADPIXSL;Hot/bad pixel filter -!TP_COLORAPP_BADPIXSL_TOOLTIP;Suppression of hot/bad (brightly colored) pixels.\n0 = No effect\n1 = Median\n2 = Gaussian.\nAlternatively, adjust the image to avoid very dark shadows.\n\nThese artifacts are due to limitations of CIECAM02. -!TP_COLORTONING_AB;o C/L -!TP_COLORTONING_AUTOSAT;Automatic -!TP_COLORTONING_BALANCE;Balance -!TP_COLORTONING_BY;o C/L -!TP_COLORTONING_CHROMAC;Opacity -!TP_COLORTONING_COLOR;Color -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) -!TP_COLORTONING_HIGHLIGHT;Highlights -!TP_COLORTONING_HUE;Hue -!TP_COLORTONING_LABEL;Color Toning -!TP_COLORTONING_LAB;L*a*b* blending -!TP_COLORTONING_LUMAMODE;Preserve luminance -!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. -!TP_COLORTONING_LUMA;Luminance -!TP_COLORTONING_METHOD;Method -!TP_COLORTONING_METHOD_TOOLTIP;"L*a*b* blending", "RGB sliders" and "RGB curves" use interpolated color blending.\n"Color balance (Shadows/Midtones/Highlights)" and "Saturation 2 colors" use direct colors.\n\nThe Black-and-White tool can be enabled when using any color toning method, which allows for color toning. -!TP_COLORTONING_MIDTONES;Midtones -!TP_COLORTONING_NEUTRAL;Reset sliders -!TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. -!TP_COLORTONING_OPACITY;Opacity -!TP_COLORTONING_RGBCURVES;RGB - Curves -!TP_COLORTONING_RGBSLIDERS;RGB - Sliders -!TP_COLORTONING_SATURATEDOPACITY;Strength -!TP_COLORTONING_SATURATIONTHRESHOLD;Threshold -!TP_COLORTONING_SA;Saturation Protection -!TP_COLORTONING_SHADOWS;Shadows -!TP_COLORTONING_SPLITCOCO;Color Balance Shadows/Midtones/Highlights -!TP_COLORTONING_SPLITCO;Shadows/Midtones/Highlights -!TP_COLORTONING_SPLITLR;Saturation 2 colors -!TP_COLORTONING_STRENGTH;Strength -!TP_COLORTONING_STR;Strength -!TP_COLORTONING_TWO2;Special chroma '2 colors' -!TP_COLORTONING_TWOALL;Special chroma -!TP_COLORTONING_TWOBY;Special a* and b* -!TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. -!TP_COLORTONING_TWOSTD;Standard chroma -!TP_CROP_GTHARMMEANS;Harmonic Means -!TP_CROP_GTTRIANGLE1;Golden Triangles 1 -!TP_CROP_GTTRIANGLE2;Golden Triangles 2 -!TP_DIRPYRDENOISE_33;3×3 strong -!TP_DIRPYRDENOISE_55SOFT;5×5 -!TP_DIRPYRDENOISE_55;5×5 strong -!TP_DIRPYRDENOISE_77;7×7 (slow) -!TP_DIRPYRDENOISE_99;9x9 (very slow) -!TP_DIRPYRDENOISE_ABM;Chroma only -!TP_DIRPYRDENOISE_AUTO;Automatic global -!TP_DIRPYRDENOISE_AUTO_TOOLTIP;Try to evaluate chroma noise\nBe careful, this calculation is average, and is quite subjective ! -!TP_DIRPYRDENOISE_AUT;Automatic global -!TP_DIRPYRDENOISE_C2TYPE_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CCCURVE;Chrominance curve -!TP_DIRPYRDENOISE_CHROMAFR;Chrominance -!TP_DIRPYRDENOISE_CTYPE;Auto method -!TP_DIRPYRDENOISE_CTYPE_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CURVEEDITOR_CC;Chroma -!TP_DIRPYRDENOISE_CURVEEDITOR_CC_TOOLTIP;Increase (multiply) the value of all chrominance sliders.\nThis curve lets you adjust the strength of chromatic noise reduction as a function of chromaticity, for instance to increase the action in areas of low saturation and to decrease it in those of high saturation. -!TP_DIRPYRDENOISE_CURVEEDITOR_L_TOOLTIP;Modulates action of 'Luminance' denoise -!TP_DIRPYRDENOISE_CUR;Curve -!TP_DIRPYRDENOISE_ENH;Enhanced mode -!TP_DIRPYRDENOISE_ENH_TOOLTIP;Increases noise reduction quality at the expense of a 20% processing time increase. -!TP_DIRPYRDENOISE_LABM;L*a*b* -!TP_DIRPYRDENOISE_LCURVE;Luminance curve -!TP_DIRPYRDENOISE_LM;Luminance only -!TP_DIRPYRDENOISE_LPLABM;Weighted L* (little) + a*b* (normal) -!TP_DIRPYRDENOISE_LTYPE;Luminance control -!TP_DIRPYRDENOISE_LUMAFR;Luminance -!TP_DIRPYRDENOISE_LUMAFR_TOOLTIP;Wavelet on luminance and Fourier transform for luminance detail -!TP_DIRPYRDENOISE_MANU;Manual -!TP_DIRPYRDENOISE_MAN;Manual -!TP_DIRPYRDENOISE_MEDMETHOD;Median method -!TP_DIRPYRDENOISE_MEDTYPE;Median type -!TP_DIRPYRDENOISE_MED;Median Filter -!TP_DIRPYRDENOISE_MED_TOOLTIP;Enabled median denoising -!TP_DIRPYRDENOISE_METHOD11;Quality -!TP_DIRPYRDENOISE_METHOD11_TOOLTIP;Quality can be adapted to the noise pattern. A setting of "high" increases the noise reduction effect at a cost of extended processing time. -!TP_DIRPYRDENOISE_METM_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. -!TP_DIRPYRDENOISE_MET_TOOLTIP;Apply a median filter of the desired size. The larger the size, the longer it takes.\n\n3x3 soft: treats 5 pixels in a 1-pixel range.\n3x3: treats 9 pixels in a 1-pixel range.\n5x5 soft: treats 13 pixels in a 2-pixel range.\n5x5: treats 25 pixels in a 2-pixel range.\n7x7: treats 49 pixels in a 3-pixel range.\n9x9: treats 81 pixels in a 4-pixel range.\n\nSometimes it is possible to achieve higher quality running several iterations with a small range than one iteration with a large range. -!TP_DIRPYRDENOISE_NOISELABELEMPTY;Preview noise: Mean= - High= - -!TP_DIRPYRDENOISE_NOISELABEL;Preview noise: Mean=%1 High=%2 -!TP_DIRPYRDENOISE_NRESID_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. -!TP_DIRPYRDENOISE_PASSES;Median iterations -!TP_DIRPYRDENOISE_PASSES_TOOLTIP;Applying a 3x3 median filter with three iterations often leads to better results than applying 7x7 once. -!TP_DIRPYRDENOISE_PON;Auto multi-zones -!TP_DIRPYRDENOISE_PREVLABEL;Preview size=%1, Center: Px=%2 Py=%3 -!TP_DIRPYRDENOISE_PREV;Preview -!TP_DIRPYRDENOISE_PRE;Preview multi-zones -!TP_DIRPYRDENOISE_RGBM;RGB -!TP_DIRPYRDENOISE_SHALBI;High -!TP_DIRPYRDENOISE_SHAL;Standard -!TP_DIRPYRDENOISE_SLI;Slider -!TP_DIRPYRDENOISE_SOFT;3x3 -!TP_DIRPYRDENOISE_TILELABEL;Tile size=%1, Center: Tx=%2 Ty=%3 -!TP_DIRPYREQUALIZER_ALGO;Skin Color Range -!TP_DIRPYREQUALIZER_ALGO_TOOLTIP;Fine: closer to the colors of the skin, minimizing the action on other colors\nLarge: avoid more artifacts. -!TP_DIRPYREQUALIZER_ARTIF;Reduce artifacts -!TP_DIRPYREQUALIZER_HUESKIN;Skin hue -!TP_DIRPYREQUALIZER_HUESKIN_TOOLTIP;This pyramid is for the upper part, so far as the algorithm at its maximum efficiency.\nTo the lower part, the transition zones.\nIf you need to move the area significantly to the left or right - or if there are artifacts: the white balance is incorrect\nYou can slightly reduce the zone to prevent the rest of the image is affected. -!TP_DIRPYREQUALIZER_SKIN;Skin targetting/protection -!TP_DIRPYREQUALIZER_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts in the transitions between skin colors (hue, chroma, luma) and the rest of the image. -!TP_EPD_GAMMA;Gamma -!TP_EXPOSURE_TCMODE_LUMINANCE;Luminance -!TP_EXPOSURE_TCMODE_PERCEPTUAL;Perceptual -!TP_EXPOS_BLACKPOINT_LABEL;Raw Black Points -!TP_EXPOS_WHITEPOINT_LABEL;Raw White Points -!TP_FILMSIMULATION_LABEL;Film Simulation -!TP_FILMSIMULATION_STRENGTH;Strength -!TP_FILMSIMULATION_ZEROCLUTSFOUND;Set HaldCLUT directory in Preferences -!TP_FLATFIELD_CLIPCONTROL;Clip control -!TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Clip control avoids clipped highlights caused by applying the flat field. If there are already clipped highlights before applying the flat field, clip control can lead to color cast. -!TP_GENERAL_11SCALE_TOOLTIP;The effects of this tool are only visible or only accurate at a preview scale of 1:1. -!TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure -!TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only enabled if the selected DCP has any. -!TP_ICM_APPLYHUESATMAP;Base table -!TP_ICM_APPLYHUESATMAP_TOOLTIP;Employ the embedded DCP base table (HueSatMap). The setting is only enabled if the selected DCP has one. -!TP_ICM_APPLYLOOKTABLE;Look table -!TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is only enabled if the selected DCP has one. -!TP_ICM_DCPILLUMINANT;Illuminant -!TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolated -!TP_ICM_DCPILLUMINANT_TOOLTIP;Select which embedded DCP illuminant to employ. Default is "interpolated" which is a mix between the two based on white balance. The setting is only enabled if a Dual-Illuminant DCP with interpolation support is selected. -!TP_ICM_SAVEREFERENCE_APPLYWB;Apply white balance -!TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generally, apply the white balance when saving images to create ICC profiles, and do not apply the white balance to create DCP profiles. -!TP_ICM_SAVEREFERENCE_TOOLTIP;Save the linear TIFF image before the input profile is applied. The result can be used for calibration purposes and generation of a camera profile. -!TP_LABCURVE_CHROMA_TOOLTIP;To apply B&W toning, set Chromaticity to -100. -!TP_LABCURVE_CURVEEDITOR_CL;CL -!TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L) -!TP_LABCURVE_CURVEEDITOR_HH;HH -!TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H) -!TP_LABCURVE_CURVEEDITOR_LH;LH -!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H) -!TP_PFCURVE_CURVEEDITOR_CH;Hue -!TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Controls defringe strength by color.\nHigher = more,\nLower = less. -!TP_PREPROCESS_DEADPIXFILT_TOOLTIP;Tries to suppress dead pixels. -!TP_PREPROCESS_HOTPIXFILT_TOOLTIP;Tries to suppress hot pixels. -!TP_PRSHARPENING_LABEL;Post-Resize Sharpening -!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. -!TP_RAWEXPOS_BLACK_0;Green 1 (lead) -!TP_RAWEXPOS_BLACK_1;Red -!TP_RAWEXPOS_BLACK_2;Blue -!TP_RAWEXPOS_BLACK_3;Green 2 -!TP_RAWEXPOS_BLACK_BLUE;Blue -!TP_RAWEXPOS_BLACK_GREEN;Green -!TP_RAWEXPOS_BLACK_RED;Red -!TP_RAWEXPOS_RGB;Red, Green, Blue -!TP_RAW_DMETHOD_PROGRESSBAR;%1 demosaicing... -!TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Demosaicing refinement... -!TP_RAW_DMETHOD_TOOLTIP;Note: IGV and LMMSE are dedicated to high ISO images to aid in noise reduction without leading to maze patterns, posterization or a washed-out look. -!TP_RAW_HD;Threshold -!TP_RAW_HD_TOOLTIP;Lower values make hot/dead pixel detection more aggressive, but false positives may lead to artifacts. If you notice any artifacts appearing when enabling the Hot/Dead Pixel Filters, gradually increase the threshold value until they disappear. -!TP_RAW_LMMSEITERATIONS;LMMSE enhancement steps -!TP_RAW_LMMSE_TOOLTIP;Adds gamma (step 1), median (steps 2-4) and refinement (steps 5-6) to reduce artifacts and improve the signal-to-noise ratio. -!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix -!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster. -!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix -!TP_SAVEDIALOG_OK_TIP;Shortcut: Ctrl-Enter -!TP_SHADOWSHLIGHTS_SHARPMASK;Sharp mask -!TP_WAVELET_1;Level 1 -!TP_WAVELET_2;Level 2 -!TP_WAVELET_3;Level 3 -!TP_WAVELET_4;Level 4 -!TP_WAVELET_5;Level 5 -!TP_WAVELET_6;Level 6 -!TP_WAVELET_7;Level 7 -!TP_WAVELET_8;Level 8 -!TP_WAVELET_9;Level 9 -!TP_WAVELET_APPLYTO;Apply To -!TP_WAVELET_AVOID;Avoid color shift -!TP_WAVELET_B0;Black -!TP_WAVELET_B1;Grey -!TP_WAVELET_B2;Residual -!TP_WAVELET_BACKGROUND;Background -!TP_WAVELET_BACUR;Curve -!TP_WAVELET_BALANCE;Contrast balance d/v-h -!TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. -!TP_WAVELET_BALCHRO;Chroma balance -!TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. -!TP_WAVELET_BANONE;None -!TP_WAVELET_BASLI;Slider -!TP_WAVELET_BATYPE;Contrast balance method -!TP_WAVELET_CBENAB;Toning and Color Balance -!TP_WAVELET_CBTYPE;Toning and Color Balance !TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted -!TP_WAVELET_CCURVE;Local contrast -!TP_WAVELET_CH1;Whole chroma range -!TP_WAVELET_CH2;Saturated/pastel -!TP_WAVELET_CH3;Link contrast levels -!TP_WAVELET_CHCU;Curve -!TP_WAVELET_CHRO;Saturated/pastel threshold -!TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. -!TP_WAVELET_CHR;Chroma-contrast link strength -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" -!TP_WAVELET_CHSL;Sliders -!TP_WAVELET_CHTYPE;Chrominance method -!TP_WAVELET_COLORT;Opacity Red-Green -!TP_WAVELET_COMBOTH;Both -!TP_WAVELET_COMPCONT;Contrast -!TP_WAVELET_COMPGAMMA;Compression gamma -!TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. -!TP_WAVELET_COMPTM;Tone mapping -!TP_WAVELET_CONTEDIT;'After' contrast curve -!TP_WAVELET_CONTRAST_MINUS;Contrast - -!TP_WAVELET_CONTRAST_PLUS;Contrast + -!TP_WAVELET_CONTRA;Contrast -!TP_WAVELET_CONTRA_TOOLTIP;Changes contrast of the residual image. -!TP_WAVELET_CONTR;Gamut -!TP_WAVELET_CTYPE;Chrominance control -!TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (absciss)\nLow absciss represents small local contrast (real values about 10..20)\n50% absciss represents average of local contrast (real value about 100..300)\n66% absciss represents standard deviation of local contrast (real value about 300..800)\n100% represents maximum (real value about 3000..8000) -!TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) -!TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function oh hue.\nTake care not to overwrite changes made with the Gamut Hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. -!TP_WAVELET_CURVEEDITOR_CL;L -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast luminance curve at the end of the wavelet treatment. -!TP_WAVELET_CURVEEDITOR_HH;HH -!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image's hue as a function of hue. -!TP_WAVELET_DALL;All directions -!TP_WAVELET_DAUB2;D2 - low -!TP_WAVELET_DAUB4;D4 - standard -!TP_WAVELET_DAUB6;D6 - standard plus -!TP_WAVELET_DAUB10;D10 - medium -!TP_WAVELET_DAUB14;D14 - high -!TP_WAVELET_DAUB;Edge performance -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. -!TP_WAVELET_DONE;Vertical -!TP_WAVELET_DTHR;Diagonal -!TP_WAVELET_DTWO;Horizontal -!TP_WAVELET_EDCU;Curve -!TP_WAVELET_EDGCONT;Local contrast -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, Top-Left, Top-Right, Bottom-right represent respectively local contast for low values, mean, mean+stdev, maxima -!TP_WAVELET_EDGEAMPLI;Base amplification -!TP_WAVELET_EDGEDETECTTHR2;Threshold high (detection) -!TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This adjuster lets you target edge detection for example to avoid applying edge sharpness to fine details, such as noise in the sky. -!TP_WAVELET_EDGEDETECT;Gradient sensitivity -!TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. -!TP_WAVELET_EDGESENSI;Edge sensitivity -!TP_WAVELET_EDGE;Edge Sharpness -!TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. -!TP_WAVELET_EDGTHRESH;Detail -!TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centred on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. -!TP_WAVELET_EDRAD;Radius -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. -!TP_WAVELET_EDSL;Threshold Sliders -!TP_WAVELET_EDTYPE;Local contrast method -!TP_WAVELET_EDVAL;Strength -!TP_WAVELET_FINAL;Final Touchup -!TP_WAVELET_FINEST;Finest -!TP_WAVELET_HIGHLIGHT;Highlight luminance range -!TP_WAVELET_HS1;Whole luminance range -!TP_WAVELET_HS2;Shadows/Highlights -!TP_WAVELET_HUESKIN;Skin hue -!TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. -!TP_WAVELET_HUESKY;Sky hue -!TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. -!TP_WAVELET_ITER;Delta balance levels -!TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LABEL;Wavelet Levels -!TP_WAVELET_LARGEST;Coarsest -!TP_WAVELET_LEVCH;Chroma -!TP_WAVELET_LEVDIR_ALL;All levels in all directions -!TP_WAVELET_LEVDIR_INF;Below or equal the level -!TP_WAVELET_LEVDIR_ONE;One level -!TP_WAVELET_LEVDIR_SUP;Above the level -!TP_WAVELET_LEVELS;Wavelet levels -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. -!TP_WAVELET_LEVF;Contrast -!TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 -!TP_WAVELET_LEVONE;Level 2 -!TP_WAVELET_LEVTHRE;Level 4 -!TP_WAVELET_LEVTWO;Level 3 -!TP_WAVELET_LEVZERO;Level 1 -!TP_WAVELET_LINKEDG;Link with Edge Sharpness' Strength -!TP_WAVELET_LIPST;Enhanced algoritm -!TP_WAVELET_LIPST_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_LOWLIGHT;Shadow luminance range -!TP_WAVELET_MEDGREINF;First level -!TP_WAVELET_MEDILEV;Edge detection -!TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. -!TP_WAVELET_MEDI;Reduce artifacts in blue sky -!TP_WAVELET_NEUTRAL;Neutral -!TP_WAVELET_NOISE;Denoise and Refine -!TP_WAVELET_NOIS;Denoise -!TP_WAVELET_NPHIGH;High -!TP_WAVELET_NPLOW;Low -!TP_WAVELET_NPNONE;None -!TP_WAVELET_NPTYPE;Neighboring pixels -!TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITYWL;Final local contrast -!TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. -!TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITY;Opacity Blue-Yellow -!TP_WAVELET_PASTEL;Pastel chroma -!TP_WAVELET_PROC;Process -!TP_WAVELET_RE1;Reinforced -!TP_WAVELET_RE2;Unchanged -!TP_WAVELET_RE3;Reduced -!TP_WAVELET_RESCHRO;Chroma -!TP_WAVELET_RESCONH;Highlights -!TP_WAVELET_RESCON;Shadows -!TP_WAVELET_RESID;Residual Image -!TP_WAVELET_SAT;Saturated chroma -!TP_WAVELET_SETTINGS;Wavelet Settings -!TP_WAVELET_SKIN;Skin targetting/protection -!TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Sky targetting/protection -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. -!TP_WAVELET_STRENGTH;Strength -!TP_WAVELET_STREN;Strength -!TP_WAVELET_SUPE;Extra -!TP_WAVELET_THRESHOLD2;Shadow levels -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD;Highlight levels -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. -!TP_WAVELET_THRH;Highlights threshold -!TP_WAVELET_THR;Shadows threshold -!TP_WAVELET_TILESBIG;Big tiles -!TP_WAVELET_TILESFULL;Full image -!TP_WAVELET_TILESIZE;Tiling method -!TP_WAVELET_TILESLIT;Little tiles -!TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. -!TP_WAVELET_TMHIGH;High -!TP_WAVELET_TMLOWHIGH;Low+High -!TP_WAVELET_TMNONE;None -!TP_WAVELET_TMSTD;Standard -!TP_WAVELET_TMSTRENGTH;Compression strength -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. -!TP_WAVELET_TMTYPE;Compression method -!TP_WAVELET_TON;Toning -!TP_WBALANCE_EQBLUERED;Blue/Red equalizer -!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of "white balance" by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. -!ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: Alt-f diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese index d7dfa881d..be99b066b 100644 --- a/rtdata/languages/Japanese +++ b/rtdata/languages/Japanese @@ -1933,9 +1933,3 @@ ZOOMPANEL_ZOOMFITSCREEN;画像全体を画面に合わせる\nショートカッ ZOOMPANEL_ZOOMIN;ズームイン\nショートカット: + ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: - -!!!!!!!!!!!!!!!!!!!!!!!!! -! Untranslated keys follow; remove the ! prefix after an entry is translated. -!!!!!!!!!!!!!!!!!!!!!!!!! - -!GENERAL_APPLY;Apply -!GENERAL_OPEN;Open From a7db8f001ce1bccb93bc31d64f0165db5527da5a Mon Sep 17 00:00:00 2001 From: heckflosse Date: Fri, 4 Sep 2015 23:50:39 +0200 Subject: [PATCH 34/35] Added TooWaBoo, thanks for translating the Deutsch file :-) --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 62b67501e..8c87a42c3 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -55,4 +55,5 @@ Other contributors (profiles, ideas, mockups, testing, forum activity, translati Alberto Righetto Kostia (Kildor) Romanov Johan Thor + TooWaBoo Colin Walker From 18fb107f822bbb33f77840c3f6a84b42b686fc74 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Mon, 7 Sep 2015 00:16:13 +0200 Subject: [PATCH 35/35] Fixed "HISTORY_MSG_167;Demosaicing method" string --- rtdata/languages/Catala | 2 +- rtdata/languages/Chinese (Simplified) | 2 +- rtdata/languages/Chinese (Traditional) | 2 +- rtdata/languages/Czech | 2 +- rtdata/languages/Dansk | 2 +- rtdata/languages/Deutsch | 2 +- rtdata/languages/English (UK) | 2 +- rtdata/languages/English (US) | 2 +- rtdata/languages/Espanol | 2 +- rtdata/languages/Euskara | 2 +- rtdata/languages/Francais | 2 +- rtdata/languages/Greek | 2 +- rtdata/languages/Hebrew | 2 +- rtdata/languages/Italiano | 2 +- rtdata/languages/Japanese | 2 +- rtdata/languages/Latvian | 2 +- rtdata/languages/Magyar | 2 +- rtdata/languages/Nederlands | 2 +- rtdata/languages/Norsk BM | 2 +- rtdata/languages/Polish | 2 +- rtdata/languages/Polish (Latin Characters) | 2 +- rtdata/languages/Portugues (Brasil) | 2 +- rtdata/languages/Russian | 2 +- rtdata/languages/Serbian (Cyrilic Characters) | 2 +- rtdata/languages/Serbian (Latin Characters) | 2 +- rtdata/languages/Slovak | 2 +- rtdata/languages/Suomi | 2 +- rtdata/languages/Swedish | 2 +- rtdata/languages/Turkish | 2 +- rtdata/languages/default | 2 +- 30 files changed, 30 insertions(+), 30 deletions(-) diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala index 0bf23a561..f8e21bdc1 100644 --- a/rtdata/languages/Catala +++ b/rtdata/languages/Catala @@ -354,7 +354,7 @@ HISTORY_MSG_163;RGB corbes - R HISTORY_MSG_164;RGB corbes - G HISTORY_MSG_165;RGB corbes - B HISTORY_MSG_166;Nivells neutrals -HISTORY_MSG_167;N&B tons +HISTORY_MSG_167;Mètode demosaicat HISTORY_MSG_168;Corba 'CC' HISTORY_MSG_169;Corba 'CH' HISTORY_MSG_170;Vibrància - corba diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified) index 3a74f85d0..11c13d31a 100644 --- a/rtdata/languages/Chinese (Simplified) +++ b/rtdata/languages/Chinese (Simplified) @@ -959,7 +959,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: - !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Chinese (Traditional) b/rtdata/languages/Chinese (Traditional) index 93fe01b9d..710706d1b 100644 --- a/rtdata/languages/Chinese (Traditional) +++ b/rtdata/languages/Chinese (Traditional) @@ -683,7 +683,7 @@ TP_WBALANCE_TEMPERATURE;色溫 !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech index 21a838d71..8deab96b5 100644 --- a/rtdata/languages/Czech +++ b/rtdata/languages/Czech @@ -414,7 +414,7 @@ HISTORY_MSG_163;RGB křivky - Červená HISTORY_MSG_164;RGB křivky - Zelená HISTORY_MSG_165;RGB křivky - Modrá HISTORY_MSG_166;Neutrální úrovně -HISTORY_MSG_167;--nepoužito-- +HISTORY_MSG_167;Metoda demozajkování HISTORY_MSG_168;L*a*b* - CC křivka HISTORY_MSG_169;L*a*b* - CH Křivka HISTORY_MSG_170;Živost - HH křivka diff --git a/rtdata/languages/Dansk b/rtdata/languages/Dansk index 670991e01..66acbfb22 100644 --- a/rtdata/languages/Dansk +++ b/rtdata/languages/Dansk @@ -679,7 +679,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch index 33eae1839..362879fa6 100644 --- a/rtdata/languages/Deutsch +++ b/rtdata/languages/Deutsch @@ -416,7 +416,7 @@ HISTORY_MSG_163;RGB-Kurven - Rot HISTORY_MSG_164;RGB-Kurven - Grün HISTORY_MSG_165;RGB-Kurven - Blau HISTORY_MSG_166;Belichtung - Neutral -HISTORY_MSG_167;--unused-- +HISTORY_MSG_167;Demosaikmethode HISTORY_MSG_168;L*a*b* - CC-Kurve HISTORY_MSG_169;L*a*b* - CH-Kurve HISTORY_MSG_170;Dynamik - HH-Kurve diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK) index 7d5dd2323..9df9ea9b6 100644 --- a/rtdata/languages/English (UK) +++ b/rtdata/languages/English (UK) @@ -487,7 +487,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US) index d0d560dd3..34413967d 100644 --- a/rtdata/languages/English (US) +++ b/rtdata/languages/English (US) @@ -397,7 +397,7 @@ !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol index 0977ee200..05611d2da 100644 --- a/rtdata/languages/Espanol +++ b/rtdata/languages/Espanol @@ -440,7 +440,7 @@ HISTORY_MSG_163;Curvas RGB - Rojo HISTORY_MSG_164;Curvas RGB - Verde HISTORY_MSG_165;Curvas RGB - Azul HISTORY_MSG_166;Niveles neutros -HISTORY_MSG_167;-No se usa-- +HISTORY_MSG_167;Método de Interpolación HISTORY_MSG_168;Curva 'CC' HISTORY_MSG_169;Curva 'CM' HISTORY_MSG_170;Vib - Curva diff --git a/rtdata/languages/Euskara b/rtdata/languages/Euskara index dfe147667..e2365b060 100644 --- a/rtdata/languages/Euskara +++ b/rtdata/languages/Euskara @@ -679,7 +679,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais index 93268e24a..180109b63 100644 --- a/rtdata/languages/Francais +++ b/rtdata/languages/Francais @@ -385,7 +385,7 @@ HISTORY_MSG_163;Courbes RVB - Rouge HISTORY_MSG_164;Courbes RVB - Vert HISTORY_MSG_165;Courbes RVB - Bleu HISTORY_MSG_166;Niveaux Neutre -HISTORY_MSG_167;--inutilisé-- +HISTORY_MSG_167;Algorithme de dématriçage HISTORY_MSG_168;Courbe 'CC' HISTORY_MSG_169;Courbe 'CT' HISTORY_MSG_170;Vib. - Courbe diff --git a/rtdata/languages/Greek b/rtdata/languages/Greek index 9f0850130..1529e40c4 100644 --- a/rtdata/languages/Greek +++ b/rtdata/languages/Greek @@ -678,7 +678,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Hebrew b/rtdata/languages/Hebrew index bfecb5a1c..a2cd5a37f 100644 --- a/rtdata/languages/Hebrew +++ b/rtdata/languages/Hebrew @@ -679,7 +679,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano index c55f2d484..253ce2f50 100644 --- a/rtdata/languages/Italiano +++ b/rtdata/languages/Italiano @@ -384,7 +384,7 @@ HISTORY_MSG_163;Curve RGB - R (Rosso) HISTORY_MSG_164;Curve RGB - G (Verde) HISTORY_MSG_165;Curve RGB - B (Blu) HISTORY_MSG_166;Livelli Neutrali -HISTORY_MSG_167;--inutilizzato-- +HISTORY_MSG_167;Demosaicizzazione - Metodo HISTORY_MSG_168;Curva 'CC' HISTORY_MSG_169;Curva 'CH' HISTORY_MSG_170;Vividezza - Curva diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese index be99b066b..206228497 100644 --- a/rtdata/languages/Japanese +++ b/rtdata/languages/Japanese @@ -428,7 +428,7 @@ HISTORY_MSG_163;RGB カーブ - レッド HISTORY_MSG_164;RGB カーブ - グリーン HISTORY_MSG_165;RGB カーブ - ブルー HISTORY_MSG_166;ニュートラル・レベル -HISTORY_MSG_167;--未使用-- +HISTORY_MSG_167;デモザイク 方式 HISTORY_MSG_168;L*a*b* CC カーブ HISTORY_MSG_169;L*a*b* CH カーブ HISTORY_MSG_170;自然な彩度 - カーブ diff --git a/rtdata/languages/Latvian b/rtdata/languages/Latvian index 22fa7b180..934ded58e 100644 --- a/rtdata/languages/Latvian +++ b/rtdata/languages/Latvian @@ -679,7 +679,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar index d5fd18592..e2390022a 100644 --- a/rtdata/languages/Magyar +++ b/rtdata/languages/Magyar @@ -963,7 +963,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !GENERAL_WARNING;Warning !HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram. !HISTOGRAM_TOOLTIP_FULL;Toggle full (off) or scaled (on) histogram. -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands index a6cb29af1..ef344a423 100644 --- a/rtdata/languages/Nederlands +++ b/rtdata/languages/Nederlands @@ -393,7 +393,7 @@ HISTORY_MSG_163;RGB-curve - R HISTORY_MSG_164;RGB-curve - G HISTORY_MSG_165;RGB-curve - B HISTORY_MSG_166;Neutrale niveaus -HISTORY_MSG_167;- +HISTORY_MSG_167;Demozaïekmethode HISTORY_MSG_168;L*a*b* - CC curve HISTORY_MSG_169;L*a*b* - CH curve HISTORY_MSG_170;Levendigheid curve diff --git a/rtdata/languages/Norsk BM b/rtdata/languages/Norsk BM index 151f9f19f..f6a598b5e 100644 --- a/rtdata/languages/Norsk BM +++ b/rtdata/languages/Norsk BM @@ -678,7 +678,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish index 2895e9a42..63d153c25 100644 --- a/rtdata/languages/Polish +++ b/rtdata/languages/Polish @@ -388,7 +388,7 @@ HISTORY_MSG_163;Krzywe RGB - Czerwona HISTORY_MSG_164;Krzywe RGB - Zielona HISTORY_MSG_165;Krzywe RGB - Niebieska HISTORY_MSG_166;Neutralna ekspozycja -HISTORY_MSG_167;- +HISTORY_MSG_167;Algorytm demozaikowania HISTORY_MSG_168;L*a*b* - Krzywa CC HISTORY_MSG_169;L*a*b* - Krzywa CH HISTORY_MSG_170;Jaskrawość - Krzywa HH diff --git a/rtdata/languages/Polish (Latin Characters) b/rtdata/languages/Polish (Latin Characters) index 4566d3c55..0289fb0f6 100644 --- a/rtdata/languages/Polish (Latin Characters) +++ b/rtdata/languages/Polish (Latin Characters) @@ -388,7 +388,7 @@ HISTORY_MSG_163;Krzywe RGB - Czerwona HISTORY_MSG_164;Krzywe RGB - Zielona HISTORY_MSG_165;Krzywe RGB - Niebieska HISTORY_MSG_166;Neutralna ekspozycja -HISTORY_MSG_167;- +HISTORY_MSG_167;Algorytm demozaikowania HISTORY_MSG_168;L*a*b* - Krzywa CC HISTORY_MSG_169;L*a*b* - Krzywa CH HISTORY_MSG_170;Jaskrawosc - Krzywa HH diff --git a/rtdata/languages/Portugues (Brasil) b/rtdata/languages/Portugues (Brasil) index 03d7a1242..26060cd9b 100644 --- a/rtdata/languages/Portugues (Brasil) +++ b/rtdata/languages/Portugues (Brasil) @@ -679,7 +679,7 @@ TP_WBALANCE_TEMPERATURE;Temperatura !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian index 0e7fba860..d75ed6995 100644 --- a/rtdata/languages/Russian +++ b/rtdata/languages/Russian @@ -383,7 +383,7 @@ HISTORY_MSG_163;Кривая RGB: Красный HISTORY_MSG_164;Кривая RGB: Зелёный HISTORY_MSG_165;Кривая RGB: Синий HISTORY_MSG_166;Нейтральные уровни -HISTORY_MSG_167;--неиспользуемый-- +HISTORY_MSG_167;Демозаик HISTORY_MSG_168;Кривая 'ЦЦ' HISTORY_MSG_169;Кривая 'ЦО' HISTORY_MSG_170;Рез: кривая diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters) index 3d9932655..f2c537d7c 100644 --- a/rtdata/languages/Serbian (Cyrilic Characters) +++ b/rtdata/languages/Serbian (Cyrilic Characters) @@ -884,7 +884,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Serbian (Latin Characters) b/rtdata/languages/Serbian (Latin Characters) index 300d2f8be..049923837 100644 --- a/rtdata/languages/Serbian (Latin Characters) +++ b/rtdata/languages/Serbian (Latin Characters) @@ -884,7 +884,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike - !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Slovak b/rtdata/languages/Slovak index b314fbf25..4f1a92446 100644 --- a/rtdata/languages/Slovak +++ b/rtdata/languages/Slovak @@ -742,7 +742,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť - !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Suomi b/rtdata/languages/Suomi index df2f109f4..083c7931a 100644 --- a/rtdata/languages/Suomi +++ b/rtdata/languages/Suomi @@ -680,7 +680,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K] !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish index 2610f8631..9ccc5af02 100644 --- a/rtdata/languages/Swedish +++ b/rtdata/languages/Swedish @@ -393,7 +393,7 @@ HISTORY_MSG_163;RGB-kurvor - Röd HISTORY_MSG_164;RGB-kurvor - Grön HISTORY_MSG_165;RGB-kurvor - Blå HISTORY_MSG_166;Neutrala nivåer -HISTORY_MSG_167;--oanvänd-- +HISTORY_MSG_167;Metod för demozaicing HISTORY_MSG_168;'CC'-kurvan HISTORY_MSG_169;'CH'-kurvan HISTORY_MSG_170;Lyster-kurvan diff --git a/rtdata/languages/Turkish b/rtdata/languages/Turkish index 93a9c8db0..520caf65d 100644 --- a/rtdata/languages/Turkish +++ b/rtdata/languages/Turkish @@ -679,7 +679,7 @@ TP_WBALANCE_TEMPERATURE;Isı !HISTORY_MSG_164;RGB Curves - Green !HISTORY_MSG_165;RGB Curves - Blue !HISTORY_MSG_166;Exposure - Neutral -!HISTORY_MSG_167;--unused-- +!HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve !HISTORY_MSG_169;L*a*b* - CH curve !HISTORY_MSG_170;Vibrance - HH curve diff --git a/rtdata/languages/default b/rtdata/languages/default index ad2c8ae28..3b357dba5 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -397,7 +397,7 @@ HISTORY_MSG_163;RGB Curves - Red HISTORY_MSG_164;RGB Curves - Green HISTORY_MSG_165;RGB Curves - Blue HISTORY_MSG_166;Exposure - Neutral -HISTORY_MSG_167;--unused-- +HISTORY_MSG_167;Demosaicing method HISTORY_MSG_168;L*a*b* - CC curve HISTORY_MSG_169;L*a*b* - CH curve HISTORY_MSG_170;Vibrance - HH curve