merge with dev
This commit is contained in:
commit
ce3351d50f
@ -99,6 +99,11 @@ if(APPLE)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /usr/lib/libstdc++.6.dylib")
|
||||
message(STATUS "CMAKE_CXX_COMPILER is MacPorts GCC.\n CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
endif()
|
||||
|
||||
# Set minimum system version
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.9")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.9")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -headerpad_max_install_names")
|
||||
endif()
|
||||
|
||||
option(USE_EXPERIMENTAL_LANG_VERSIONS "Build with -std=c++0x" OFF)
|
||||
|
@ -12,7 +12,7 @@
|
||||
# Copyright 2010 henrik andersson
|
||||
#=============================================================================
|
||||
|
||||
SET(MACINTEGRATION_FIND_REQUIRED ${MacIntegration_FIND_REQUIRED})
|
||||
set(MACINTEGRATION_FIND_REQUIRED ${MacIntegration_FIND_REQUIRED})
|
||||
|
||||
find_path(MACINTEGRATION_INCLUDE_DIR gtkosxapplication.h PATH_SUFFIXES gtkmacintegration gtkmacintegration-gtk3)
|
||||
mark_as_advanced(MACINTEGRATION_INCLUDE_DIR)
|
||||
@ -26,7 +26,7 @@ mark_as_advanced(MACINTEGRATION_LIBRARY)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(MACINTEGRATION DEFAULT_MSG MACINTEGRATION_LIBRARY MACINTEGRATION_INCLUDE_DIR)
|
||||
|
||||
IF(MACINTEGRATION_FOUND)
|
||||
SET(MacIntegration_LIBRARIES ${MACINTEGRATION_LIBRARY})
|
||||
SET(MacIntegration_INCLUDE_DIRS ${MACINTEGRATION_INCLUDE_DIR})
|
||||
ENDIF(MACINTEGRATION_FOUND)
|
||||
if(MACINTEGRATION_FOUND)
|
||||
set(MacIntegration_LIBRARIES ${MACINTEGRATION_LIBRARY})
|
||||
set(MacIntegration_INCLUDE_DIRS ${MACINTEGRATION_INCLUDE_DIR})
|
||||
endif()
|
||||
|
@ -1,69 +1,72 @@
|
||||
|
||||
file (GLOB LANGUAGEFILES "languages/*")
|
||||
file (GLOB SOUNDFILES "sounds/*")
|
||||
file (GLOB INPUTICCFILES "iccprofiles/input/*")
|
||||
file (GLOB OUTPUTICCFILES "iccprofiles/output/*")
|
||||
file (GLOB DCPFILES "dcpprofiles/*")
|
||||
file (GLOB FONTS "fonts/*")
|
||||
set (PROFILESDIR "profiles")
|
||||
file(GLOB LANGUAGEFILES "languages/*")
|
||||
file(GLOB SOUNDFILES "sounds/*")
|
||||
file(GLOB INPUTICCFILES "iccprofiles/input/*")
|
||||
file(GLOB OUTPUTICCFILES "iccprofiles/output/*")
|
||||
file(GLOB DCPFILES "dcpprofiles/*")
|
||||
file(GLOB FONTS "fonts/*")
|
||||
|
||||
set(PROFILESDIR "profiles")
|
||||
set(IMAGESDIR "images")
|
||||
|
||||
# THEMEDIR includes subfolders for image resources for some themes; doing the normal glob won't work.
|
||||
set (THEMEDIR "themes")
|
||||
set (IMAGESDIR "images")
|
||||
set(THEMEDIR "themes")
|
||||
|
||||
if (WIN32)
|
||||
if(WIN32)
|
||||
set(OPTIONSFILE "options/options.win")
|
||||
elseif (APPLE)
|
||||
elseif(APPLE)
|
||||
set(OPTIONSFILE "options/options.osx")
|
||||
else (WIN32)
|
||||
else()
|
||||
set(OPTIONSFILE "options/options.lin")
|
||||
endif (WIN32)
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/WindowsInnoSetup.iss" DESTINATION ${BINDIR})
|
||||
endif (WIN32)
|
||||
if(WIN32)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/WindowsInnoSetup.iss" DESTINATION ${BINDIR})
|
||||
endif()
|
||||
|
||||
if (UNIX)
|
||||
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/icons/rawtherapee.desktop.in" "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop")
|
||||
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop" DESTINATION ${DESKTOPDIR})
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi16-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/16x16/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi24-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/24x24/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi32-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/32x32/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi48-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/48x48/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi128-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/128x128/apps" RENAME rawtherapee.png)
|
||||
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi256-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/256x256/apps" RENAME rawtherapee.png)
|
||||
endif (UNIX)
|
||||
if(UNIX)
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/icons/rawtherapee.desktop.in" "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop" DESTINATION ${DESKTOPDIR})
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi16-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/16x16/apps" RENAME rawtherapee.png)
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi24-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/24x24/apps" RENAME rawtherapee.png)
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi32-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/32x32/apps" RENAME rawtherapee.png)
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi48-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/48x48/apps" RENAME rawtherapee.png)
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi128-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/128x128/apps" RENAME rawtherapee.png)
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi256-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/256x256/apps" RENAME rawtherapee.png)
|
||||
endif()
|
||||
|
||||
install (FILES ${IMAGEFILES} DESTINATION "${DATADIR}/images")
|
||||
install (FILES ${LANGUAGEFILES} DESTINATION "${DATADIR}/languages")
|
||||
install (FILES ${SOUNDFILES} DESTINATION "${DATADIR}/sounds")
|
||||
install (FILES ${INPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/input")
|
||||
install (FILES ${OUTPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/output")
|
||||
install (FILES ${DCPFILES} DESTINATION "${DATADIR}/dcpprofiles")
|
||||
if (WIN32)
|
||||
install (FILES ${FONTS} DESTINATION "${DATADIR}/fonts")
|
||||
endif (WIN32)
|
||||
install (DIRECTORY ${PROFILESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.pp3")
|
||||
install (DIRECTORY ${THEMEDIR} DESTINATION "${DATADIR}")
|
||||
install (DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "index.theme")
|
||||
install (DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.png")
|
||||
install (FILES ${OPTIONSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ RENAME options)
|
||||
install(FILES ${IMAGEFILES} DESTINATION "${DATADIR}/images")
|
||||
install(FILES ${LANGUAGEFILES} DESTINATION "${DATADIR}/languages")
|
||||
install(FILES ${SOUNDFILES} DESTINATION "${DATADIR}/sounds")
|
||||
install(FILES ${INPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/input")
|
||||
install(FILES ${OUTPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/output")
|
||||
install(FILES ${DCPFILES} DESTINATION "${DATADIR}/dcpprofiles")
|
||||
install(FILES ${OPTIONSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ RENAME options)
|
||||
if(WIN32)
|
||||
install(FILES ${FONTS} DESTINATION "${DATADIR}/fonts")
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
# CMake escapes first item quote character. Do not remove 'DUMMY_VARIABLE='.
|
||||
set (MACOSX_BUNDLE_COMMAND DUMMY_VARIABLE=
|
||||
install(DIRECTORY ${PROFILESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.pp3")
|
||||
install(DIRECTORY ${THEMEDIR} DESTINATION "${DATADIR}")
|
||||
install(DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "index.theme")
|
||||
install(DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.png")
|
||||
|
||||
if(APPLE)
|
||||
# CMake escapes first item quote character. Do not remove 'DUMMY_VARIABLE='
|
||||
set(MACOSX_BUNDLE_COMMAND DUMMY_VARIABLE=
|
||||
PROJECT_NAME="${PROJECT_NAME}"
|
||||
PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}"
|
||||
CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"
|
||||
GTK_PREFIX="${GTK_PREFIX}")
|
||||
if (PROC_BIT_DEPTH MATCHES 32)
|
||||
list (APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=32)
|
||||
elseif (PROC_BIT_DEPTH MATCHES 64)
|
||||
list (APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=64)
|
||||
endif (PROC_BIT_DEPTH MATCHES 32)
|
||||
list (APPEND MACOSX_BUNDLE_COMMAND sh "${PROJECT_SOURCE_DIR}/tools/osx/macosx_bundle.sh")
|
||||
if(PROC_BIT_DEPTH MATCHES 32)
|
||||
list(APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=32)
|
||||
else()
|
||||
list(APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=64)
|
||||
endif()
|
||||
list(APPEND MACOSX_BUNDLE_COMMAND sh "${PROJECT_SOURCE_DIR}/tools/osx/macosx_bundle.sh")
|
||||
|
||||
add_custom_target(macosx_bundle
|
||||
COMMAND ${MACOSX_BUNDLE_COMMAND}
|
||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||
COMMENT "Creating Mac OS X bundle")
|
||||
endif (APPLE)
|
||||
COMMENT "Creating macOS bundle")
|
||||
endif()
|
||||
|
@ -1,46 +1,141 @@
|
||||
include_directories (${EXTRA_INCDIR} ${GTHREAD_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS}
|
||||
${GLIBMM_INCLUDE_DIRS} ${IPTCDATA_INCLUDE_DIRS} ${LCMS_INCLUDE_DIRS} ${EXPAT_INCLUDE_DIRS} ${FFTW3F_INCLUDE_DIRS}
|
||||
${GTKMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS})
|
||||
link_directories ("${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GTHREAD_LIBRARY_DIRS}
|
||||
${GOBJECT_LIBRARY_DIRS} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS}
|
||||
${IPTCDATA_LIBRARY_DIRS} ${LCMS_LIBRARY_DIRS} ${EXPAT_LIBRARY_DIRS} ${FFTW3F_LIBRARY_DIRS})
|
||||
|
||||
set (CAMCONSTSFILE "camconst.json")
|
||||
|
||||
set (RTENGINESOURCEFILES colortemp.cc curves.cc flatcurves.cc diagonalcurves.cc dcraw.cc iccstore.cc color.cc
|
||||
dfmanager.cc ffmanager.cc gauss.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 improccoordinator.cc pipettebuffer.cc coord.cc
|
||||
processingjob.cc rtthumbnail.cc utils.cc labimage.cc slicer.cc cieimage.cc iplocallab.cc
|
||||
iplab2rgb.cc ipsharpen.cc iptransform.cc ipresize.cc ipvibrance.cc icons.cc
|
||||
imagedimensions.cc jpeg_ijg/jpeg_memsrc.cc jdatasrc.cc iimage.cc
|
||||
EdgePreservingDecomposition.cc cplx_wavelet_dec.cc FTblockDN.cc
|
||||
PF_correct_RT.cc previewimage.cc ipwavelet.cc
|
||||
dirpyr_equalizer.cc
|
||||
calc_distort.cc lcp.cc dcp.cc ipretinex.cc
|
||||
cJSON.c camconst.cc
|
||||
klt/convolve.cc klt/error.cc klt/klt.cc klt/klt_util.cc klt/pnmio.cc klt/pyramid.cc klt/selectGoodFeatures.cc
|
||||
klt/storeFeatures.cc klt/trackFeatures.cc klt/writeFeatures.cc
|
||||
clutstore.cc
|
||||
ciecam02.cc
|
||||
pixelshift.cc
|
||||
include_directories(${EXTRA_INCDIR}
|
||||
${EXPAT_INCLUDE_DIRS}
|
||||
${FFTW3F_INCLUDE_DIRS}
|
||||
${GLIB2_INCLUDE_DIRS}
|
||||
${GLIBMM_INCLUDE_DIRS}
|
||||
${GOBJECT_INCLUDE_DIRS}
|
||||
${GTHREAD_INCLUDE_DIRS}
|
||||
${GTKMM_INCLUDE_DIRS}
|
||||
${GTK_INCLUDE_DIRS}
|
||||
${IPTCDATA_INCLUDE_DIRS}
|
||||
${LCMS_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
include_directories (BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
link_directories("${PROJECT_SOURCE_DIR}/rtexif"
|
||||
${EXPAT_LIBRARY_DIRS}
|
||||
${EXTRA_LIBDIR}
|
||||
${FFTW3F_LIBRARY_DIRS}
|
||||
${GLIB2_LIBRARY_DIRS}
|
||||
${GLIBMM_LIBRARY_DIRS}
|
||||
${GOBJECT_LIBRARY_DIRS}
|
||||
${GTHREAD_LIBRARY_DIRS}
|
||||
${IPTCDATA_LIBRARY_DIRS}
|
||||
${LCMS_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
add_library (rtengine ${RTENGINESOURCEFILES})
|
||||
add_dependencies (rtengine UpdateInfo)
|
||||
set(CAMCONSTSFILE "camconst.json")
|
||||
|
||||
#It may be nice to store library version too
|
||||
IF (BUILD_SHARED_LIBS)
|
||||
set(RTENGINESOURCEFILES
|
||||
CA_correct_RT.cc
|
||||
EdgePreservingDecomposition.cc
|
||||
FTblockDN.cc
|
||||
PF_correct_RT.cc
|
||||
amaze_demosaic_RT.cc
|
||||
cJSON.c
|
||||
calc_distort.cc
|
||||
camconst.cc
|
||||
cfa_linedn_RT.cc
|
||||
ciecam02.cc
|
||||
cieimage.cc
|
||||
clutstore.cc
|
||||
color.cc
|
||||
colortemp.cc
|
||||
coord.cc
|
||||
cplx_wavelet_dec.cc
|
||||
curves.cc
|
||||
dcp.cc
|
||||
dcraw.cc
|
||||
dcrop.cc
|
||||
demosaic_algos.cc
|
||||
dfmanager.cc
|
||||
diagonalcurves.cc
|
||||
dirpyr_equalizer.cc
|
||||
expo_before_b.cc
|
||||
fast_demo.cc
|
||||
ffmanager.cc
|
||||
flatcurves.cc
|
||||
gauss.cc
|
||||
green_equil_RT.cc
|
||||
hilite_recon.cc
|
||||
iccjpeg.cc
|
||||
iccstore.cc
|
||||
icons.cc
|
||||
iimage.cc
|
||||
image16.cc
|
||||
image8.cc
|
||||
imagedata.cc
|
||||
imagedimensions.cc
|
||||
imagefloat.cc
|
||||
imageio.cc
|
||||
improccoordinator.cc
|
||||
improcfun.cc
|
||||
init.cc
|
||||
iplab2rgb.cc
|
||||
iplocallab.cc
|
||||
ipresize.cc
|
||||
ipretinex.cc
|
||||
ipsharpen.cc
|
||||
iptransform.cc
|
||||
ipvibrance.cc
|
||||
ipwavelet.cc
|
||||
jdatasrc.cc
|
||||
jpeg_ijg/jpeg_memsrc.cc
|
||||
klt/convolve.cc
|
||||
klt/error.cc
|
||||
klt/klt.cc
|
||||
klt/klt_util.cc
|
||||
klt/pnmio.cc
|
||||
klt/pyramid.cc
|
||||
klt/selectGoodFeatures.cc
|
||||
klt/storeFeatures.cc
|
||||
klt/trackFeatures.cc
|
||||
klt/writeFeatures.cc
|
||||
labimage.cc
|
||||
lcp.cc
|
||||
loadinitial.cc
|
||||
myfile.cc
|
||||
pipettebuffer.cc
|
||||
pixelshift.cc
|
||||
previewimage.cc
|
||||
processingjob.cc
|
||||
procparams.cc
|
||||
rawimage.cc
|
||||
rawimagesource.cc
|
||||
refreshmap.cc
|
||||
rtthumbnail.cc
|
||||
shmap.cc
|
||||
simpleprocess.cc
|
||||
slicer.cc
|
||||
stdimagesource.cc
|
||||
utils.cc
|
||||
)
|
||||
|
||||
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
|
||||
add_library(rtengine ${RTENGINESOURCEFILES})
|
||||
add_dependencies(rtengine UpdateInfo)
|
||||
|
||||
# It may be nice to store library version too
|
||||
if(BUILD_SHARED_LIBS)
|
||||
install (TARGETS rtengine DESTINATION ${LIBDIR})
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
endif()
|
||||
|
||||
set_target_properties (rtengine PROPERTIES COMPILE_FLAGS "${RTENGINE_CXX_FLAGS}")
|
||||
set_target_properties(rtengine PROPERTIES COMPILE_FLAGS "${RTENGINE_CXX_FLAGS}")
|
||||
|
||||
target_link_libraries (rtengine rtexif ${EXTRA_LIB} ${GOBJECT_LIBRARIES} ${GTHREAD_LIBRARIES}
|
||||
${GLIB2_LIBRARIES} ${GLIBMM_LIBRARIES} ${LCMS_LIBRARIES} ${EXPAT_LIBRARIES} ${FFTW3F_LIBRARIES} ${IPTCDATA_LIBRARIES}
|
||||
${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${TIFF_LIBRARIES} ${ZLIB_LIBRARIES})
|
||||
target_link_libraries(rtengine rtexif
|
||||
${EXPAT_LIBRARIES}
|
||||
${EXTRA_LIB}
|
||||
${FFTW3F_LIBRARIES}
|
||||
${GLIB2_LIBRARIES}
|
||||
${GLIBMM_LIBRARIES}
|
||||
${GOBJECT_LIBRARIES}
|
||||
${GTHREAD_LIBRARIES}
|
||||
${IPTCDATA_LIBRARIES}
|
||||
${JPEG_LIBRARIES}
|
||||
${LCMS_LIBRARIES}
|
||||
${PNG_LIBRARIES}
|
||||
${TIFF_LIBRARIES}
|
||||
${ZLIB_LIBRARIES}
|
||||
)
|
||||
|
||||
install (FILES ${CAMCONSTSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
install(FILES ${CAMCONSTSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
|
@ -302,6 +302,8 @@ public:
|
||||
if (loadAll) {
|
||||
loadProfiles(stdProfilesDir, nullptr, nullptr, &fileStdProfilesFileNames, true);
|
||||
}
|
||||
|
||||
defaultMonitorProfile = settings->monitorProfile;
|
||||
}
|
||||
|
||||
cmsHPROFILE workingSpace(const Glib::ustring& name) const
|
||||
@ -534,6 +536,16 @@ public:
|
||||
return getProofIntents(getProfile(name));
|
||||
}
|
||||
|
||||
Glib::ustring getDefaultMonitorProfileName() const
|
||||
{
|
||||
return defaultMonitorProfile;
|
||||
}
|
||||
|
||||
void setDefaultMonitorProfileName(const Glib::ustring &name)
|
||||
{
|
||||
defaultMonitorProfile = name;
|
||||
}
|
||||
|
||||
private:
|
||||
using ProfileMap = std::map<Glib::ustring, cmsHPROFILE>;
|
||||
using MatrixMap = std::map<Glib::ustring, TMatrix>;
|
||||
@ -617,6 +629,18 @@ rtengine::ProfileContent rtengine::ICCStore::getContent(const Glib::ustring& nam
|
||||
return implementation->getContent(name);
|
||||
}
|
||||
|
||||
|
||||
Glib::ustring rtengine::ICCStore::getDefaultMonitorProfileName() const
|
||||
{
|
||||
return implementation->getDefaultMonitorProfileName();
|
||||
}
|
||||
|
||||
|
||||
void rtengine::ICCStore::setDefaultMonitorProfileName(const Glib::ustring &name)
|
||||
{
|
||||
implementation->setDefaultMonitorProfileName(name);
|
||||
}
|
||||
|
||||
cmsHPROFILE rtengine::ICCStore::getXYZProfile() const
|
||||
{
|
||||
return implementation->getXYZProfile();
|
||||
|
@ -78,6 +78,9 @@ public:
|
||||
cmsHPROFILE getStdProfile(const Glib::ustring& name) const;
|
||||
ProfileContent getContent(const Glib::ustring& name) const;
|
||||
|
||||
Glib::ustring getDefaultMonitorProfileName() const;
|
||||
void setDefaultMonitorProfileName(const Glib::ustring &name);
|
||||
|
||||
cmsHPROFILE getXYZProfile() const;
|
||||
cmsHPROFILE getsRGBProfile() const;
|
||||
|
||||
|
@ -28,11 +28,18 @@
|
||||
#include <shlobj.h>
|
||||
#endif
|
||||
|
||||
#include "settings.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace rtengine;
|
||||
|
||||
|
||||
namespace rtengine {
|
||||
|
||||
extern const Settings* settings;
|
||||
|
||||
}
|
||||
|
||||
LCPModelCommon::LCPModelCommon() :
|
||||
foc_len_x(-1.0f),
|
||||
foc_len_y(-1.0f),
|
||||
@ -603,8 +610,10 @@ void LCPProfile::calcParams(int mode, float focalLength, float focusDist, float
|
||||
|
||||
//printf("LCP mode=%i, dist: %g found frames: Fno %g-%g; FocLen %g-%g; Dist %g-%g with weight %g\n", mode, focusDist, pLow->aperture, pHigh->aperture, pLow->focLen, pHigh->focLen, pLow->focDist, pHigh->focDist, facLow);
|
||||
} else {
|
||||
if (settings->verbose) {
|
||||
printf("Error: LCP file contained no %s parameters\n", mode == 0 ? "vignette" : mode == 1 ? "distortion" : "CA" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LCPProfile::print() const
|
||||
|
@ -1040,7 +1040,7 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, int rhei
|
||||
|
||||
ImProcFunctions ipf (¶ms, false);
|
||||
ipf.setScale (sqrt(double(fw * fw + fh * fh)) / sqrt(double(thumbImg->getWidth() * thumbImg->getWidth() + thumbImg->getHeight() * thumbImg->getHeight()))*scale);
|
||||
ipf.updateColorProfiles (options.rtSettings.monitorProfile, options.rtSettings.monitorIntent, false, false);
|
||||
ipf.updateColorProfiles (ICCStore::getInstance()->getDefaultMonitorProfileName(), options.rtSettings.monitorIntent, false, false);
|
||||
|
||||
LUTu hist16 (65536);
|
||||
|
||||
|
@ -1,23 +1,19 @@
|
||||
add_library (rtexif rtexif.cc stdattribs.cc nikonattribs.cc canonattribs.cc pentaxattribs.cc fujiattribs.cc sonyminoltaattribs.cc olympusattribs.cc kodakattribs.cc)
|
||||
add_dependencies (rtexif UpdateInfo)
|
||||
add_library(rtexif rtexif.cc stdattribs.cc nikonattribs.cc canonattribs.cc pentaxattribs.cc fujiattribs.cc sonyminoltaattribs.cc olympusattribs.cc kodakattribs.cc)
|
||||
add_dependencies(rtexif UpdateInfo)
|
||||
|
||||
IF (WIN32)
|
||||
set_target_properties (rtexif PROPERTIES COMPILE_FLAGS " -ffast-math -fexpensive-optimizations")
|
||||
include_directories (${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS}
|
||||
${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS})
|
||||
link_directories (. "${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS}
|
||||
${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS})
|
||||
if(WIN32)
|
||||
set_target_properties(rtexif PROPERTIES COMPILE_FLAGS " -ffast-math -fexpensive-optimizations")
|
||||
include_directories(${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS})
|
||||
link_directories(. "${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS})
|
||||
#set_target_properties (rth PROPERTIES LINK_FLAGS "-mwindows")
|
||||
ELSE (WIN32)
|
||||
set_target_properties (rtexif PROPERTIES COMPILE_FLAGS " -ffast-math -fexpensive-optimizations -fPIC")
|
||||
include_directories (${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS}
|
||||
${GLIBMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS})
|
||||
link_directories (${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS}
|
||||
${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS})
|
||||
ENDIF (WIN32)
|
||||
else()
|
||||
set_target_properties(rtexif PROPERTIES COMPILE_FLAGS " -ffast-math -fexpensive-optimizations -fPIC")
|
||||
include_directories(${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS})
|
||||
link_directories(${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS})
|
||||
endif()
|
||||
|
||||
include_directories (BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
|
||||
IF (BUILD_SHARED_LIBS)
|
||||
INSTALL(TARGETS rtexif DESTINATION ${LIBDIR})
|
||||
ENDIF (BUILD_SHARED_LIBS)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
install(TARGETS rtexif DESTINATION ${LIBDIR})
|
||||
endif()
|
||||
|
@ -1,93 +1,276 @@
|
||||
# common source files for both CLI and non-CLI execautables
|
||||
set (CLISOURCEFILES
|
||||
paramsedited.cc options.cc multilangmgr.cc pathutils.cc edit.cc threadutils.cc
|
||||
main-cli.cc)
|
||||
# Common source files for both CLI and non-CLI execautables
|
||||
set(CLISOURCEFILES
|
||||
edit.cc
|
||||
main-cli.cc
|
||||
multilangmgr.cc
|
||||
options.cc
|
||||
paramsedited.cc
|
||||
pathutils.cc
|
||||
threadutils.cc
|
||||
)
|
||||
|
||||
set (NONCLISOURCEFILES
|
||||
editwindow.cc batchtoolpanelcoord.cc paramsedited.cc cropwindow.cc previewhandler.cc previewwindow.cc navigator.cc indclippedpanel.cc previewmodepanel.cc filterpanel.cc
|
||||
exportpanel.cc cursormanager.cc rtwindow.cc renamedlg.cc recentbrowser.cc placesbrowser.cc filepanel.cc editorpanel.cc batchqueuepanel.cc checkbox.cc
|
||||
ilabel.cc thumbbrowserbase.cc adjuster.cc filebrowserentry.cc filebrowser.cc filethumbnailbuttonset.cc
|
||||
cachemanager.cc cacheimagedata.cc shcselector.cc perspective.cc thresholdselector.cc thresholdadjuster.cc
|
||||
clipboard.cc thumbimageupdater.cc bqentryupdater.cc lensgeom.cc coloredbar.cc edit.cc coordinateadjuster.cc
|
||||
coarsepanel.cc cacorrection.cc chmixer.cc blackwhite.cc
|
||||
resize.cc icmpanel.cc crop.cc shadowshighlights.cc
|
||||
impulsedenoise.cc dirpyrdenoise.cc epd.cc
|
||||
exifpanel.cc toolpanel.cc lensprofile.cc lockablecolorpicker.cc
|
||||
sharpening.cc vibrance.cc rgbcurves.cc colortoning.cc
|
||||
whitebalance.cc vignetting.cc gradient.cc pcvignette.cc rotate.cc distortion.cc
|
||||
crophandler.cc dirbrowser.cc
|
||||
curveeditor.cc curveeditorgroup.cc diagonalcurveeditorsubgroup.cc flatcurveeditorsubgroup.cc
|
||||
filecatalog.cc extprog.cc
|
||||
previewloader.cc rtimage.cc inspector.cc
|
||||
histogrampanel.cc history.cc imagearea.cc
|
||||
imageareapanel.cc iptcpanel.cc labcurve.cc main.cc
|
||||
multilangmgr.cc mycurve.cc myflatcurve.cc mydiagonalcurve.cc options.cc retinex.cc
|
||||
preferences.cc profilepanel.cc saveasdlg.cc
|
||||
saveformatpanel.cc soundman.cc splash.cc
|
||||
thumbnail.cc tonecurve.cc toolbar.cc
|
||||
pathutils.cc guiutils.cc threadutils.cc zoompanel.cc toolpanelcoord.cc
|
||||
thumbbrowserentrybase.cc batchqueueentry.cc
|
||||
batchqueue.cc lwbutton.cc lwbuttonset.cc
|
||||
batchqueuebuttonset.cc browserfilter.cc exiffiltersettings.cc
|
||||
profilestore.cc partialpastedlg.cc
|
||||
sensorbayer.cc sensorxtrans.cc preprocess.cc bayerpreprocess.cc bayerprocess.cc bayerrawexposure.cc xtransprocess.cc xtransrawexposure.cc
|
||||
darkframe.cc flatfield.cc rawcacorrection.cc rawexposure.cc wavelet.cc
|
||||
dirpyrequalizer.cc hsvequalizer.cc defringe.cc
|
||||
popupcommon.cc popupbutton.cc popuptogglebutton.cc sharpenedge.cc sharpenmicro.cc colorappearance.cc locallab.cc
|
||||
filmsimulation.cc prsharpening.cc
|
||||
dynamicprofile.cc dynamicprofilepanel.cc)
|
||||
set(NONCLISOURCEFILES
|
||||
adjuster.cc
|
||||
batchqueue.cc
|
||||
batchqueuebuttonset.cc
|
||||
batchqueueentry.cc
|
||||
batchqueuepanel.cc
|
||||
batchtoolpanelcoord.cc
|
||||
bayerpreprocess.cc
|
||||
bayerprocess.cc
|
||||
bayerrawexposure.cc
|
||||
blackwhite.cc
|
||||
bqentryupdater.cc
|
||||
browserfilter.cc
|
||||
cacheimagedata.cc
|
||||
cachemanager.cc
|
||||
cacorrection.cc
|
||||
checkbox.cc
|
||||
chmixer.cc
|
||||
clipboard.cc
|
||||
coarsepanel.cc
|
||||
colorappearance.cc
|
||||
coloredbar.cc
|
||||
colortoning.cc
|
||||
coordinateadjuster.cc
|
||||
crop.cc
|
||||
crophandler.cc
|
||||
cropwindow.cc
|
||||
cursormanager.cc
|
||||
curveeditor.cc
|
||||
curveeditorgroup.cc
|
||||
darkframe.cc
|
||||
defringe.cc
|
||||
diagonalcurveeditorsubgroup.cc
|
||||
dirbrowser.cc
|
||||
dirpyrdenoise.cc
|
||||
dirpyrequalizer.cc
|
||||
distortion.cc
|
||||
dynamicprofile.cc
|
||||
dynamicprofilepanel.cc
|
||||
edit.cc
|
||||
editorpanel.cc
|
||||
editwindow.cc
|
||||
epd.cc
|
||||
exiffiltersettings.cc
|
||||
exifpanel.cc
|
||||
exportpanel.cc
|
||||
extprog.cc
|
||||
filebrowser.cc
|
||||
filebrowserentry.cc
|
||||
filecatalog.cc
|
||||
filepanel.cc
|
||||
filethumbnailbuttonset.cc
|
||||
filmsimulation.cc
|
||||
filterpanel.cc
|
||||
flatcurveeditorsubgroup.cc
|
||||
flatfield.cc
|
||||
gradient.cc
|
||||
guiutils.cc
|
||||
histogrampanel.cc
|
||||
history.cc
|
||||
hsvequalizer.cc
|
||||
icmpanel.cc
|
||||
ilabel.cc
|
||||
imagearea.cc
|
||||
imageareapanel.cc
|
||||
impulsedenoise.cc
|
||||
indclippedpanel.cc
|
||||
inspector.cc
|
||||
iptcpanel.cc
|
||||
labcurve.cc
|
||||
lensgeom.cc
|
||||
lensprofile.cc
|
||||
locallab.cc
|
||||
lockablecolorpicker.cc
|
||||
lwbutton.cc
|
||||
lwbuttonset.cc
|
||||
main.cc
|
||||
multilangmgr.cc
|
||||
mycurve.cc
|
||||
mydiagonalcurve.cc
|
||||
myflatcurve.cc
|
||||
navigator.cc
|
||||
options.cc
|
||||
paramsedited.cc
|
||||
partialpastedlg.cc
|
||||
pathutils.cc
|
||||
pcvignette.cc
|
||||
perspective.cc
|
||||
placesbrowser.cc
|
||||
popupbutton.cc
|
||||
popupcommon.cc
|
||||
popuptogglebutton.cc
|
||||
preferences.cc
|
||||
preprocess.cc
|
||||
previewhandler.cc
|
||||
previewloader.cc
|
||||
previewmodepanel.cc
|
||||
previewwindow.cc
|
||||
profilepanel.cc
|
||||
profilestore.cc
|
||||
prsharpening.cc
|
||||
rawcacorrection.cc
|
||||
rawexposure.cc
|
||||
recentbrowser.cc
|
||||
renamedlg.cc
|
||||
resize.cc
|
||||
retinex.cc
|
||||
rgbcurves.cc
|
||||
rotate.cc
|
||||
rtimage.cc
|
||||
rtwindow.cc
|
||||
saveasdlg.cc
|
||||
saveformatpanel.cc
|
||||
sensorbayer.cc
|
||||
sensorxtrans.cc
|
||||
shadowshighlights.cc
|
||||
sharpenedge.cc
|
||||
sharpening.cc
|
||||
sharpenmicro.cc
|
||||
shcselector.cc
|
||||
soundman.cc
|
||||
splash.cc
|
||||
threadutils.cc
|
||||
thresholdadjuster.cc
|
||||
thresholdselector.cc
|
||||
thumbbrowserbase.cc
|
||||
thumbbrowserentrybase.cc
|
||||
thumbimageupdater.cc
|
||||
thumbnail.cc
|
||||
tonecurve.cc
|
||||
toolbar.cc
|
||||
toolpanel.cc
|
||||
toolpanelcoord.cc
|
||||
vibrance.cc
|
||||
vignetting.cc
|
||||
wavelet.cc
|
||||
whitebalance.cc
|
||||
xtransprocess.cc
|
||||
xtransrawexposure.cc
|
||||
zoompanel.cc
|
||||
)
|
||||
|
||||
include_directories (BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
|
||||
if (APPLE)
|
||||
find_package (MacIntegration REQUIRED)
|
||||
# At the time of writing Cmake has no module finder for gtkmacintegration so here we have it hard-coded, if installed via macports it should be in /opt/local/...
|
||||
set (EXTRA_LIB_RTGUI ${MacIntegration_LIBRARIES})
|
||||
set (EXTRA_INCDIR ${EXTRA_INCDIR} ${MacIntegration_INCLUDE_DIRS})
|
||||
endif (APPLE)
|
||||
if (WIN32)
|
||||
set (EXTRA_SRC_CLI myicon.rc)
|
||||
set (EXTRA_SRC_NONCLI myicon.rc windirmonitor.cc)
|
||||
set (EXTRA_LIB_RTGUI winmm)
|
||||
include_directories (${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS}
|
||||
${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS} ${GIO_INCLUDE_DIRS} ${GIOMM_INCLUDE_DIRS})
|
||||
link_directories (. "${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS}
|
||||
${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS} ${GIO_LIBRARY_DIRS} ${GIOMM_LIBRARY_DIRS})
|
||||
#set_target_properties (rth PROPERTIES LINK_FLAGS "-mwindows")
|
||||
else (WIN32)
|
||||
include_directories (${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS}
|
||||
${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS} ${GIO_INCLUDE_DIRS} ${GIOMM_INCLUDE_DIRS} ${IPTCDATA_INCLUDE_DIRS}
|
||||
${LCMS_INCLUDE_DIRS} ${EXPAT_INCLUDE_DIRS} ${FFTW3F_LIBRARY_DIRS} ${GTHREAD_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS}
|
||||
${CANBERRA-GTK_INCLUDE_DIRS})
|
||||
link_directories (${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS}
|
||||
${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS} ${GIO_LIBRARY_DIRS} ${GIOMM_LIBRARY_DIRS} ${IPTCDATA_LIBRARY_DIRS}
|
||||
${LCMS_LIBRARY_DIRS} ${EXPAT_LIBRARY_DIRS} ${FFTW3F_LIBRARY_DIRS} ${GTHREAD_LIBRARY_DIRS} ${GOBJECT_LIBRARY_DIRS}
|
||||
${CANBERRA-GTK_LIBRARY_DIRS})
|
||||
endif (WIN32)
|
||||
# create config.h which defines where data are stored
|
||||
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
|
||||
if(APPLE)
|
||||
find_package(MacIntegration REQUIRED)
|
||||
# At the time of writing CMake has no module finder for gtkmacintegration so here we have it hard-coded, if installed via macports it should be in /opt/local/...
|
||||
set(EXTRA_LIB_RTGUI ${MacIntegration_LIBRARIES})
|
||||
set(EXTRA_INCDIR ${EXTRA_INCDIR} ${MacIntegration_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
# create new executables targets
|
||||
add_executable (rth ${EXTRA_SRC_NONCLI} ${NONCLISOURCEFILES})
|
||||
#add_executable (rth-cli ${EXTRA_SRC_CLI} ${CLISOURCEFILES})
|
||||
if(WIN32)
|
||||
set(EXTRA_SRC_CLI myicon.rc)
|
||||
set(EXTRA_SRC_NONCLI myicon.rc windirmonitor.cc)
|
||||
set(EXTRA_LIB_RTGUI winmm)
|
||||
include_directories(${EXTRA_INCDIR}
|
||||
${GIOMM_INCLUDE_DIRS}
|
||||
${GIO_INCLUDE_DIRS}
|
||||
${GLIB2_INCLUDE_DIRS}
|
||||
${GLIBMM_INCLUDE_DIRS}
|
||||
${GTKMM_INCLUDE_DIRS}
|
||||
${GTK_INCLUDE_DIRS}
|
||||
)
|
||||
link_directories(. "${PROJECT_SOURCE_DIR}/rtexif"
|
||||
${EXTRA_LIBDIR}
|
||||
${GIOMM_LIBRARY_DIRS}
|
||||
${GIO_LIBRARY_DIRS}
|
||||
${GLIB2_LIBRARY_DIRS}
|
||||
${GLIBMM_LIBRARY_DIRS}
|
||||
${GTKMM_LIBRARY_DIRS}
|
||||
${GTK_LIBRARY_DIRS}
|
||||
)
|
||||
#set_target_properties(rth PROPERTIES LINK_FLAGS "-mwindows")
|
||||
else()
|
||||
include_directories(${EXTRA_INCDIR}
|
||||
${CANBERRA-GTK_INCLUDE_DIRS}
|
||||
${EXPAT_INCLUDE_DIRS}
|
||||
${FFTW3F_LIBRARY_DIRS}
|
||||
${GIOMM_INCLUDE_DIRS}
|
||||
${GIO_INCLUDE_DIRS}
|
||||
${GLIB2_INCLUDE_DIRS}
|
||||
${GLIBMM_INCLUDE_DIRS}
|
||||
${GOBJECT_INCLUDE_DIRS}
|
||||
${GTHREAD_INCLUDE_DIRS}
|
||||
${GTKMM_INCLUDE_DIRS}
|
||||
${GTK_INCLUDE_DIRS}
|
||||
${IPTCDATA_INCLUDE_DIRS}
|
||||
${LCMS_INCLUDE_DIRS}
|
||||
)
|
||||
link_directories(${EXTRA_LIBDIR}
|
||||
${CANBERRA-GTK_LIBRARY_DIRS}
|
||||
${EXPAT_LIBRARY_DIRS}
|
||||
${FFTW3F_LIBRARY_DIRS}
|
||||
${GIOMM_LIBRARY_DIRS}
|
||||
${GIO_LIBRARY_DIRS}
|
||||
${GLIB2_LIBRARY_DIRS}
|
||||
${GLIBMM_LIBRARY_DIRS}
|
||||
${GOBJECT_LIBRARY_DIRS}
|
||||
${GTHREAD_LIBRARY_DIRS}
|
||||
${GTKMM_LIBRARY_DIRS}
|
||||
${GTK_LIBRARY_DIRS}
|
||||
${IPTCDATA_LIBRARY_DIRS}
|
||||
${LCMS_LIBRARY_DIRS}
|
||||
)
|
||||
endif()
|
||||
|
||||
# add dependencies to executables targets
|
||||
add_dependencies (rth UpdateInfo)
|
||||
#add_dependencies (rth-cli UpdateInfo)
|
||||
# Create config.h which defines where data are stored
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
|
||||
|
||||
# set executables targets properties, i.e. output filename and compile flags
|
||||
set_target_properties (rth PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS}" OUTPUT_NAME rawtherapee)
|
||||
#set_target_properties (rth-cli PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS}" OUTPUT_NAME rawtherapee-cli)
|
||||
# Create new executables targets
|
||||
add_executable(rth ${EXTRA_SRC_NONCLI} ${NONCLISOURCEFILES})
|
||||
#add_executable(rth-cli ${EXTRA_SRC_CLI} ${CLISOURCEFILES})
|
||||
|
||||
# add linked libraries dependencies to executables targets
|
||||
target_link_libraries (rth rtengine ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${TIFF_LIBRARIES} ${GOBJECT_LIBRARIES} ${GTHREAD_LIBRARIES}
|
||||
${GLIB2_LIBRARIES} ${GLIBMM_LIBRARIES} ${GTK_LIBRARIES} ${GTKMM_LIBRARIES} ${GIO_LIBRARIES} ${GIOMM_LIBRARIES} ${LCMS_LIBRARIES} ${EXPAT_LIBRARIES}
|
||||
${FFTW3F_LIBRARIES} ${IPTCDATA_LIBRARIES} ${CANBERRA-GTK_LIBRARIES} ${EXTRA_LIB_RTGUI})
|
||||
# Add dependencies to executables targets
|
||||
add_dependencies(rth UpdateInfo)
|
||||
#add_dependencies(rth-cli UpdateInfo)
|
||||
|
||||
#target_link_libraries (rth-cli rtengine ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${TIFF_LIBRARIES} ${GOBJECT_LIBRARIES} ${GTHREAD_LIBRARIES}
|
||||
# ${GLIB2_LIBRARIES} ${GLIBMM_LIBRARIES} ${CAIROMM_LIBRARIES} ${GIO_LIBRARIES} ${GIOMM_LIBRARIES} ${LCMS_LIBRARIES} ${EXPAT_LIBRARIES}
|
||||
# ${FFTW3F_LIBRARIES} ${IPTCDATA_LIBRARIES} ${EXTRA_LIB_RTGUI})
|
||||
# Set executables targets properties, i.e. output filename and compile flags
|
||||
set_target_properties(rth PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS}" OUTPUT_NAME rawtherapee)
|
||||
#set_target_properties(rth-cli PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS}" OUTPUT_NAME rawtherapee-cli)
|
||||
|
||||
# install executables
|
||||
install (TARGETS rth DESTINATION ${BINDIR})
|
||||
#install (TARGETS rth-cli DESTINATION ${BINDIR})
|
||||
# Add linked libraries dependencies to executables targets
|
||||
target_link_libraries(rth rtengine
|
||||
${CANBERRA-GTK_LIBRARIES}
|
||||
${EXPAT_LIBRARIES}
|
||||
${EXTRA_LIB_RTGUI}
|
||||
${FFTW3F_LIBRARIES}
|
||||
${GIOMM_LIBRARIES}
|
||||
${GIO_LIBRARIES}
|
||||
${GLIB2_LIBRARIES}
|
||||
${GLIBMM_LIBRARIES}
|
||||
${GOBJECT_LIBRARIES}
|
||||
${GTHREAD_LIBRARIES}
|
||||
${GTKMM_LIBRARIES}
|
||||
${GTK_LIBRARIES}
|
||||
${IPTCDATA_LIBRARIES}
|
||||
${JPEG_LIBRARIES}
|
||||
${LCMS_LIBRARIES}
|
||||
${PNG_LIBRARIES}
|
||||
${TIFF_LIBRARIES}
|
||||
${ZLIB_LIBRARIES}
|
||||
)
|
||||
|
||||
#target_link_libraries(rth-cli rtengine
|
||||
# ${CAIROMM_LIBRARIES}
|
||||
# ${EXPAT_LIBRARIES}
|
||||
# ${EXTRA_LIB_RTGUI}
|
||||
# ${FFTW3F_LIBRARIES}
|
||||
# ${GIOMM_LIBRARIES}
|
||||
# ${GIO_LIBRARIES}
|
||||
# ${GLIB2_LIBRARIES}
|
||||
# ${GLIBMM_LIBRARIES}
|
||||
# ${GOBJECT_LIBRARIES}
|
||||
# ${GTHREAD_LIBRARIES}
|
||||
# ${IPTCDATA_LIBRARIES}
|
||||
# ${JPEG_LIBRARIES}
|
||||
# ${LCMS_LIBRARIES}
|
||||
# ${PNG_LIBRARIES}
|
||||
# ${TIFF_LIBRARIES}
|
||||
# ${ZLIB_LIBRARIES}
|
||||
# )
|
||||
|
||||
# Install executables
|
||||
install(TARGETS rth DESTINATION ${BINDIR})
|
||||
#install(TARGETS rth-cli DESTINATION ${BINDIR})
|
||||
|
@ -160,7 +160,12 @@ private:
|
||||
Glib::ustring defprofname;
|
||||
if (find_default_monitor_profile(profileBox.get_root_window()->gobj(), defprof, defprofname)) {
|
||||
profileBox.append (M ("MONITOR_PROFILE_SYSTEM") + " (" + defprofname + ")");
|
||||
profileBox.set_active (options.rtSettings.autoMonitorProfile ? 1 : 0);
|
||||
if (options.rtSettings.autoMonitorProfile) {
|
||||
rtengine::ICCStore::getInstance()->setDefaultMonitorProfileName(defprof);
|
||||
profileBox.set_active(1);
|
||||
} else {
|
||||
profileBox.set_active(0);
|
||||
}
|
||||
} else {
|
||||
profileBox.set_active (0);
|
||||
}
|
||||
@ -402,7 +407,7 @@ public:
|
||||
ConnectionBlocker profileBlocker (profileConn);
|
||||
|
||||
if (!defprof.empty() && options.rtSettings.autoMonitorProfile) {
|
||||
setActiveTextOrIndex (profileBox, options.rtSettings.monitorProfile, 1);
|
||||
profileBox.set_active(1);
|
||||
} else {
|
||||
setActiveTextOrIndex (profileBox, options.rtSettings.monitorProfile, 0);
|
||||
}
|
||||
@ -426,6 +431,23 @@ public:
|
||||
updateParameters ();
|
||||
}
|
||||
|
||||
void defaultMonitorProfileChanged(const Glib::ustring &profile_name, bool auto_monitor_profile)
|
||||
{
|
||||
ConnectionBlocker profileBlocker (profileConn);
|
||||
|
||||
if (auto_monitor_profile && !defprof.empty()) {
|
||||
rtengine::ICCStore::getInstance()->setDefaultMonitorProfileName(defprof);
|
||||
#ifndef __APPLE__
|
||||
profileBox.set_active(1);
|
||||
#endif
|
||||
} else {
|
||||
rtengine::ICCStore::getInstance()->setDefaultMonitorProfileName(profile_name);
|
||||
#ifndef __APPLE__
|
||||
setActiveTextOrIndex(profileBox, profile_name, 0);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
EditorPanel::EditorPanel (FilePanel* filePanel)
|
||||
@ -2214,3 +2236,10 @@ void EditorPanel::updateHistogramPosition (int oldPosition, int newPosition)
|
||||
|
||||
iareapanel->imageArea->setPointerMotionHListener (histogramPanel);
|
||||
}
|
||||
|
||||
|
||||
void EditorPanel::defaultMonitorProfileChanged(const Glib::ustring &profile_name, bool auto_monitor_profile)
|
||||
{
|
||||
colorMgmtToolBar->defaultMonitorProfileChanged(profile_name, auto_monitor_profile);
|
||||
}
|
||||
|
||||
|
@ -129,6 +129,8 @@ public:
|
||||
void updateTabsUsesIcons (bool useIcons);
|
||||
void updateHistogramPosition (int oldPosition, int newPosition);
|
||||
|
||||
void defaultMonitorProfileChanged(const Glib::ustring &profile_name, bool auto_monitor_profile);
|
||||
|
||||
Gtk::Paned* catalogPane;
|
||||
|
||||
private:
|
||||
|
@ -119,28 +119,3 @@ void LensGeometry::setBatchMode (bool batchMode)
|
||||
removeIfThere (this, autoCrop);
|
||||
}
|
||||
|
||||
void LensGeometry::disableAutoFillIfActive ()
|
||||
{
|
||||
const auto func = [](gpointer data) -> gboolean {
|
||||
GThreadLock lock; // Is this really needed?
|
||||
|
||||
LensGeometry* const instance = static_cast<LensGeometry*>(data);
|
||||
|
||||
if (!instance->batchMode) {
|
||||
if (instance->fill->get_active()) {
|
||||
instance->fillConn.block(true);
|
||||
instance->fill->set_active(false);
|
||||
|
||||
if (instance->listener) {
|
||||
instance->listener->panelChanged (EvTransAutoFill, M("GENERAL_DISABLED"));
|
||||
}
|
||||
|
||||
instance->fillConn.block(false);
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
};
|
||||
|
||||
idle_register.add(func, this);
|
||||
}
|
||||
|
@ -54,7 +54,6 @@ public:
|
||||
{
|
||||
rlistener = l;
|
||||
}
|
||||
void disableAutoFillIfActive ();
|
||||
|
||||
private:
|
||||
IdleRegister idle_register;
|
||||
|
@ -48,7 +48,10 @@ LensProfilePanel::LensProfilePanel () : FoldableToolPanel(this, "lensprof", M("T
|
||||
fcbLCPFile->set_show_hidden(true); // ProgramData is hidden on Windows
|
||||
#endif
|
||||
fcbLCPFile->set_current_folder(defDir);
|
||||
} else if (!options.lastLensProfileDir.empty()) {
|
||||
fcbLCPFile->set_current_folder(options.lastLensProfileDir);
|
||||
}
|
||||
bindCurrentFolder(*fcbLCPFile, options.lastLensProfileDir);
|
||||
|
||||
hbLCPFile->pack_start(*fcbLCPFile);
|
||||
|
||||
@ -89,8 +92,9 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa
|
||||
fcbLCPFile->unselect_filename(fname);
|
||||
} else {
|
||||
Glib::ustring lastFolder = fcbLCPFile->get_current_folder();
|
||||
fcbLCPFile->set_filename("");
|
||||
fcbLCPFile->set_current_folder(lastFolder);
|
||||
fcbLCPFile->set_filename(lastFolder + "/.");
|
||||
bindCurrentFolder(*fcbLCPFile, options.lastLensProfileDir);
|
||||
}
|
||||
|
||||
updateDisabled(false);
|
||||
@ -144,10 +148,6 @@ void LensProfilePanel::write( rtengine::procparams::ProcParams* pp, ParamsEdited
|
||||
|
||||
void LensProfilePanel::onLCPFileChanged()
|
||||
{
|
||||
|
||||
// Disable Auto-Fill when enabling LCP Distortion Correction, #1791
|
||||
lensgeomLcpFill->disableAutoFillIfActive();
|
||||
|
||||
lcpFileChanged = true;
|
||||
updateDisabled(lcpStore->isValidLCPFileName(fcbLCPFile->get_filename()));
|
||||
|
||||
@ -170,12 +170,6 @@ void LensProfilePanel::onLCPFileReset()
|
||||
|
||||
void LensProfilePanel::onUseDistChanged()
|
||||
{
|
||||
|
||||
// Disable Auto-Fill when enabling LCP Distortion Correction, #1791
|
||||
if (ckbUseDist->get_active()) {
|
||||
lensgeomLcpFill->disableAutoFillIfActive();
|
||||
}
|
||||
|
||||
useDistChanged = true;
|
||||
|
||||
if (listener) {
|
||||
|
@ -727,6 +727,7 @@ void Options::setDefaults ()
|
||||
lastVibranceCurvesDir = "";
|
||||
lastProfilingReferenceDir = "";
|
||||
lastBWCurvesDir = "";
|
||||
lastLensProfileDir = "";
|
||||
maxRecentFolders = 15;
|
||||
}
|
||||
|
||||
@ -1853,6 +1854,7 @@ int Options::readFromFile (Glib::ustring fname)
|
||||
safeDirGet (keyFile, "Dialogs", "LastToneCurvesDir", lastToneCurvesDir);
|
||||
safeDirGet (keyFile, "Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir);
|
||||
safeDirGet (keyFile, "Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir);
|
||||
safeDirGet (keyFile, "Dialogs", "LastLensProfileDir", lastLensProfileDir);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------
|
||||
@ -2218,6 +2220,7 @@ int Options::saveToFile (Glib::ustring fname)
|
||||
keyFile.set_string ("Dialogs", "LastToneCurvesDir", lastToneCurvesDir);
|
||||
keyFile.set_string ("Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir);
|
||||
keyFile.set_string ("Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir);
|
||||
keyFile.set_string ("Dialogs", "LastLensProfileDir", lastLensProfileDir);
|
||||
|
||||
keyData = keyFile.to_data ();
|
||||
|
||||
|
@ -309,6 +309,7 @@ public:
|
||||
Glib::ustring lastVibranceCurvesDir;
|
||||
Glib::ustring lastProfilingReferenceDir;
|
||||
Glib::ustring lastBWCurvesDir;
|
||||
Glib::ustring lastLensProfileDir;
|
||||
|
||||
size_t maxRecentFolders; // max. number of recent folders stored in options file
|
||||
std::vector<Glib::ustring> recentFolders; // List containing all recent folders
|
||||
|
@ -780,8 +780,10 @@ Gtk::Widget* Preferences::getColorManagementPanel ()
|
||||
const std::vector<Glib::ustring> profiles = rtengine::ICCStore::getInstance ()->getProfiles (rtengine::ICCStore::ProfileType::MONITOR);
|
||||
|
||||
for (const auto profile : profiles) {
|
||||
if (profile.find("file:") != 0) {
|
||||
monProfile->append (profile);
|
||||
}
|
||||
}
|
||||
|
||||
// same order as the enum
|
||||
monIntent->append (M ("PREFERENCES_INTENT_PERCEPTUAL"));
|
||||
|
@ -657,6 +657,12 @@ void RTWindow::showPreferences ()
|
||||
delete pref;
|
||||
|
||||
fpanel->optionsChanged ();
|
||||
if (epanel) {
|
||||
epanel->defaultMonitorProfileChanged(options.rtSettings.monitorProfile, options.rtSettings.autoMonitorProfile);
|
||||
}
|
||||
for (const auto &p : epanels) {
|
||||
p.second->defaultMonitorProfileChanged(options.rtSettings.monitorProfile, options.rtSettings.autoMonitorProfile);
|
||||
}
|
||||
}
|
||||
|
||||
void RTWindow::setProgress (double p)
|
||||
|
Loading…
x
Reference in New Issue
Block a user