Merge pull request #7390 from RawTherapee/release-5.12

Release 5.12
This commit is contained in:
Lawrence37 2025-05-27 18:02:22 -07:00 committed by GitHub
commit a8a3d1bc7b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 39 additions and 38 deletions

View File

@ -1,6 +1,6 @@
RAWTHERAPEE 5.12-rc2 RELEASE NOTES RAWTHERAPEE 5.12 RELEASE NOTES
This is Release Candidate 2 of RawTherapee 5.12, released on 2025-05-04. This is not the final release yet. This is RawTherapee 5.12, released on 2025-05-28.

View File

@ -22,8 +22,7 @@
<url type="translate">https://rawpedia.rawtherapee.com/Main_Page#Localization</url> <url type="translate">https://rawpedia.rawtherapee.com/Main_Page#Localization</url>
<launchable type="desktop-id">rawtherapee.desktop</launchable> <launchable type="desktop-id">rawtherapee.desktop</launchable>
<releases> <releases>
<release version="5.12-rc2" date="2025-05-04" type="development"></release> <release version="5.12" date="2025-05-28" type="stable"></release>
<release version="5.12-rc1" date="2025-04-23" type="development"></release>
<release version="5.11" date="2024-08-25" type="stable"></release> <release version="5.11" date="2024-08-25" type="stable"></release>
<release version="5.10" date="2024-02-16" type="stable"></release> <release version="5.10" date="2024-02-16" type="stable"></release>
<release version="5.9" date="2022-11-27" type="stable"></release> <release version="5.9" date="2022-11-27" type="stable"></release>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -3562,7 +3562,7 @@ TP_LOCALLAB_MEDNONE;Geen
TP_LOCALLAB_MERCOL;Kleur TP_LOCALLAB_MERCOL;Kleur
TP_LOCALLAB_MERDCOL;Voeg samen met achtergrond (ΔE) TP_LOCALLAB_MERDCOL;Voeg samen met achtergrond (ΔE)
TP_LOCALLAB_MERELE;Alleen ophelderen TP_LOCALLAB_MERELE;Alleen ophelderen
TP_LOCALLAB_MERFIV;Optellinh TP_LOCALLAB_MERFIV;Optelling
TP_LOCALLAB_MERFOR;Kleur tegenhouden TP_LOCALLAB_MERFOR;Kleur tegenhouden
TP_LOCALLAB_MERFOU;Vermenigvuldig TP_LOCALLAB_MERFOU;Vermenigvuldig
TP_LOCALLAB_MERGE1COLFRA;Voeg samen met Origineel/Vorige/Achtergrond TP_LOCALLAB_MERGE1COLFRA;Voeg samen met Origineel/Vorige/Achtergrond
@ -4527,8 +4527,8 @@ TP_WAVELET_SUPE;Extra
TP_WAVELET_THR;Drempel schaduwen TP_WAVELET_THR;Drempel schaduwen
TP_WAVELET_THRDEN_TOOLTIP;Genereert een getrapte curve die wordt gebruikt om de ruisonderdrukking aan te sturen als functie van lokaal contrast. De ruisonderdrukking zal worden toegepast op uniforme gebieden met laag lokaal contrast. Gebieden met details (hoger lokaal contrast) worden behouden. TP_WAVELET_THRDEN_TOOLTIP;Genereert een getrapte curve die wordt gebruikt om de ruisonderdrukking aan te sturen als functie van lokaal contrast. De ruisonderdrukking zal worden toegepast op uniforme gebieden met laag lokaal contrast. Gebieden met details (hoger lokaal contrast) worden behouden.
TP_WAVELET_THREND;Drempel lokaal contrast TP_WAVELET_THREND;Drempel lokaal contrast
TP_WAVELET_THRESHOLD;Hoge lichten: Aantal te gebruiken niveaus (fijn naar grof - leidend) TP_WAVELET_THRESHOLD;Fijnere niveaus
TP_WAVELET_THRESHOLD2;Schaduwen: Aantal te gebruiken niveaus (grof naar fijn) TP_WAVELET_THRESHOLD2;Grovere niveaus
TP_WAVELET_THRESHOLD2_TOOLTIP;Alleen niveaus van de gekozen waarde tot het gekozen aantal Wavelet-niveaus zullen worden beïnvloed door het Schaduwluminantiebereik. TP_WAVELET_THRESHOLD2_TOOLTIP;Alleen niveaus van de gekozen waarde tot het gekozen aantal Wavelet-niveaus zullen worden beïnvloed door het Schaduwluminantiebereik.
TP_WAVELET_THRESHOLD_TOOLTIP;Alleen niveaus beneden en inclusief de gekozen waarde zullen worden beïnvloed door het luminantiebereik van de hoge lichten. TP_WAVELET_THRESHOLD_TOOLTIP;Alleen niveaus beneden en inclusief de gekozen waarde zullen worden beïnvloed door het luminantiebereik van de hoge lichten.
TP_WAVELET_THRH;Drempel hoge lichten TP_WAVELET_THRH;Drempel hoge lichten

View File

@ -32,7 +32,7 @@
#include "opthelper.h" #include "opthelper.h"
#include "rawimagesource.h" #include "rawimagesource.h"
#include "rt_math.h" #include "rt_math.h"
#define BENCHMARK //#define BENCHMARK
#include "StopWatch.h" #include "StopWatch.h"
#include "guidedfilter.h" #include "guidedfilter.h"
#include "settings.h" #include "settings.h"

View File

@ -47,7 +47,7 @@
#include "cplx_wavelet_dec.h" #include "cplx_wavelet_dec.h"
#include "ciecam02.h" #include "ciecam02.h"
#define BENCHMARK //#define BENCHMARK
#include "StopWatch.h" #include "StopWatch.h"
#include "guidedfilter.h" #include "guidedfilter.h"
#include "boxblur.h" #include "boxblur.h"

View File

@ -52,7 +52,7 @@
#include "rawimagesource.h" #include "rawimagesource.h"
#include "rtengine.h" #include "rtengine.h"
#include "shmap.h" #include "shmap.h"
#define BENCHMARK //#define BENCHMARK
#include "StopWatch.h" #include "StopWatch.h"
#include "guidedfilter.h" #include "guidedfilter.h"
#include "boxblur.h" #include "boxblur.h"

View File

@ -50,7 +50,7 @@
#endif #endif
#include "cplx_wavelet_dec.h" #include "cplx_wavelet_dec.h"
#define BENCHMARK //#define BENCHMARK
#include "StopWatch.h" #include "StopWatch.h"
namespace rtengine namespace rtengine

View File

@ -47,7 +47,7 @@
#include "lensmetadata.h" #include "lensmetadata.h"
#include "rtgui/options.h" #include "rtgui/options.h"
#define BENCHMARK //#define BENCHMARK
#include "StopWatch.h" #include "StopWatch.h"
#ifdef _OPENMP #ifdef _OPENMP

View File

@ -30,16 +30,6 @@
namespace namespace
{ {
bool isCStringIn(const char *str, const char *const *list)
{
for (auto element_ptr = list; *element_ptr; element_ptr++) {
if (!strcmp(str, *element_ptr)) {
return true;
}
}
return false;
}
bool isNextLensCropFactorBetter(const lfLens *current_lens, const lfCamera *camera, float next_lens_crop_factor) bool isNextLensCropFactorBetter(const lfLens *current_lens, const lfCamera *camera, float next_lens_crop_factor)
{ {
if (!current_lens) { if (!current_lens) {
@ -75,8 +65,7 @@ bool isNextLensCropFactorBetter(const lfLens *current_lens, const lfCamera *came
bool isNextLensBetter(const lfCamera *camera, const lfLens *current_lens, const lfLens &next_lens, const Glib::ustring &lens_name, const Glib::ustring &next_lens_name) bool isNextLensBetter(const lfCamera *camera, const lfLens *current_lens, const lfLens &next_lens, const Glib::ustring &lens_name, const Glib::ustring &next_lens_name)
{ {
return isNextLensCropFactorBetter(current_lens, camera, next_lens.CropFactor) && return isNextLensCropFactorBetter(current_lens, camera, next_lens.CropFactor) &&
lens_name == next_lens_name && lens_name == next_lens_name;
(!camera || isCStringIn(camera->Mount, next_lens.Mounts));
} }
/** /**

View File

@ -2117,7 +2117,7 @@ LocallabSharp::LocallabSharp():
sharcontrast(Gtk::manage(new Adjuster(M("TP_SHARPENING_CONTRAST"), 0, 200, 1, 20))), sharcontrast(Gtk::manage(new Adjuster(M("TP_SHARPENING_CONTRAST"), 0, 200, 1, 20))),
sharblur(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARBLUR"), 0.2, 2.0, 0.05, 0.2))), sharblur(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARBLUR"), 0.2, 2.0, 0.05, 0.2))),
shargam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMC"), 0.5, 3.0, 0.05, 1.))), shargam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMC"), 0.5, 3.0, 0.05, 1.))),
sharamount(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARAMOUNT"), 0, 100, 1, 100))), sharamount(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARAMOUNT"), 1, 100, 1, 100))),
shardamping(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARDAMPING"), 0, 100, 1, 0))), shardamping(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARDAMPING"), 0, 100, 1, 0))),
shariter(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARITER"), 5, 100, 1, 30))), shariter(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARITER"), 5, 100, 1, 30))),
sharradius(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARRADIUS"), 0.4, 2.5, 0.01, 0.75))), sharradius(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARRADIUS"), 0.4, 2.5, 0.01, 0.75))),
@ -2413,7 +2413,7 @@ void LocallabSharp::convertParamToNormal()
// Set hidden GUI widgets in Normal mode to default spot values // Set hidden GUI widgets in Normal mode to default spot values
sharcontrast->setValue((double)defSpot.sharcontrast); sharcontrast->setValue((double)defSpot.sharcontrast);
sharblur->setValue(defSpot.sharblur); sharblur->setValue(defSpot.sharblur);
sharamount->setValue(defSpot.sharamount); // sharamount->setValue(defSpot.sharamount);
shardamping->setValue((double)defSpot.shardamping); shardamping->setValue((double)defSpot.shardamping);
shariter->setValue((double)defSpot.shariter); shariter->setValue((double)defSpot.shariter);
shargam->setValue(defSpot.shargam); shargam->setValue(defSpot.shargam);
@ -2440,12 +2440,14 @@ void LocallabSharp::convertParamToSimple()
void LocallabSharp::updateGUIToMode(const modeType new_type) void LocallabSharp::updateGUIToMode(const modeType new_type)
{ {
const LocallabParams::LocallabSpot defSpot;
switch (new_type) { switch (new_type) {
case Simple: case Simple:
// Expert and Normal mode widgets are hidden in Simple mode // Expert and Normal mode widgets are hidden in Simple mode
sharcontrast->hide(); sharcontrast->hide();
sharblur->hide(); sharblur->hide();
sharamount->hide(); sharamount->show();
shardamping->hide(); shardamping->hide();
shariter->hide(); shariter->hide();
sharFrame->hide(); sharFrame->hide();
@ -2458,7 +2460,7 @@ void LocallabSharp::updateGUIToMode(const modeType new_type)
sharcontrast->hide(); sharcontrast->hide();
sharblur->hide(); sharblur->hide();
shargam->hide(); shargam->hide();
sharamount->hide(); sharamount->show();
shardamping->hide(); shardamping->hide();
shariter->hide(); shariter->hide();
// Specific Simple mode widgets are shown in Normal mode // Specific Simple mode widgets are shown in Normal mode
@ -2475,11 +2477,25 @@ void LocallabSharp::updateGUIToMode(const modeType new_type)
shardamping->show(); shardamping->show();
shariter->show(); shariter->show();
sharFrame->show(); sharFrame->show();
if (inverssha->get_active()) {
shargam->hide();
shargam->setValue(defSpot.shargam);
}
} }
} }
void LocallabSharp::inversshaChanged() void LocallabSharp::inversshaChanged()
{ {
const LocallabParams::LocallabSpot defSpot;
const int mode = complexity->get_active_row_number();
if (inverssha->get_active()) {
shargam->hide();
shargam->setValue(defSpot.shargam);
} else {
if(mode == Expert) {
shargam->show();
}
}
if (isLocActivated && exp->getEnabled()) { if (isLocActivated && exp->getEnabled()) {
if (listener) { if (listener) {
if (inverssha->get_active()) { if (inverssha->get_active()) {

View File

@ -221,7 +221,7 @@ ModifyInstallNames 2>&1
cp ${LOCAL_PREFIX}/lib/libpng16.16.dylib "${CONTENTS}/Frameworks/libpng16.16.dylib" cp ${LOCAL_PREFIX}/lib/libpng16.16.dylib "${CONTENTS}/Frameworks/libpng16.16.dylib"
# Copy libjxl_cms to the app bundle # Copy libjxl_cms to the app bundle
cp ${LOCAL_PREFIX}/lib/libjxl_cms.0.10.dylib "${CONTENTS}/Frameworks/libjxl_cms.0.10.dylib" cp ${LOCAL_PREFIX}/lib/libjxl_cms.*.dylib "${CONTENTS}/Frameworks"
# Copy graphite to Frameworks # Copy graphite to Frameworks
cp ${LOCAL_PREFIX}/lib/libgraphite2.3.dylib "${CONTENTS}/Frameworks" cp ${LOCAL_PREFIX}/lib/libgraphite2.3.dylib "${CONTENTS}/Frameworks"
@ -269,13 +269,16 @@ done
msg "Build GTK3 databases:" msg "Build GTK3 databases:"
mkdir -p "${RESOURCES}"/share/gtk-3.0 mkdir -p "${RESOURCES}"/share/gtk-3.0
mkdir -p "${ETC}"/gtk-3.0 mkdir -p "${ETC}"/gtk-3.0
"${LOCAL_PREFIX}"/bin/gdk-pixbuf-query-loaders "${LIB}"/libpixbufloader-*.so > "${ETC}"/gtk-3.0/gdk-pixbuf.loaders "${LOCAL_PREFIX}"/bin/gdk-pixbuf-query-loaders "${LIB}"/libpixbufloader*.so > "${ETC}"/gtk-3.0/gdk-pixbuf.loaders
"${LOCAL_PREFIX}"/bin/gtk-query-immodules-3.0 "${LIB}"/im-* > "${ETC}"/gtk-3.0/gtk.immodules || "${LOCAL_PREFIX}"/bin/gtk-query-immodules "${LIB}"/im-* > "${ETC}"/gtk-3.0/gtk.immodules "${LOCAL_PREFIX}"/bin/gtk-query-immodules-3.0 "${LIB}"/im-* > "${ETC}"/gtk-3.0/gtk.immodules || "${LOCAL_PREFIX}"/bin/gtk-query-immodules "${LIB}"/im-* > "${ETC}"/gtk-3.0/gtk.immodules
sed -i.bak -e "s|${PWD}/RawTherapee.app/Contents/|/Applications/RawTherapee.app/Contents/|" "${ETC}"/gtk-3.0/gdk-pixbuf.loaders "${ETC}/gtk-3.0/gtk.immodules" sed -i.bak -e "s|${PWD}/RawTherapee.app/Contents/|/Applications/RawTherapee.app/Contents/|" "${ETC}"/gtk-3.0/gdk-pixbuf.loaders "${ETC}/gtk-3.0/gtk.immodules"
sed -i.bak -e "s|${LOCAL_PREFIX}/share/|/Applications/RawTherapee.app/Contents/Resources/share/|" "${ETC}"/gtk-3.0/gtk.immodules sed -i.bak -e "s|${LOCAL_PREFIX}/share/|/Applications/RawTherapee.app/Contents/Resources/share/|" "${ETC}"/gtk-3.0/gtk.immodules
sed -i.bak -e "s|${LOCAL_PREFIX}/|/Applications/RawTherapee.app/Contents/Frameworks/|" "${ETC}"/gtk-3.0/gtk.immodules sed -i.bak -e "s|${LOCAL_PREFIX}/|/Applications/RawTherapee.app/Contents/Frameworks/|" "${ETC}"/gtk-3.0/gtk.immodules
rm "${ETC}"/*/*.bak rm "${ETC}"/*/*.bak
# Change a relative path for the SVG pixbufloader
sudo install_name_tool -change @rpath/librsvg-2.2.dylib /Applications/RawTherapee.app/Contents/Frameworks/librsvg-2.2.dylib RawTherapee.app/Contents/Frameworks/libpixbufloader_svg.so
# Install names # Install names
ModifyInstallNames 2>/dev/null ModifyInstallNames 2>/dev/null