merge with dev

This commit is contained in:
Desmis 2017-10-01 09:38:18 +02:00
commit c7891e8e32
10 changed files with 417 additions and 512 deletions

View File

@ -1,8 +1,8 @@
RAWTHERAPEE 5.2 RELEASE NOTES
RAWTHERAPEE 5.3-dev RELEASE NOTES
-----------------------------
This is a development version of RawTherapee. We update the code almost daily. Every few months, once enough changes have accumulated and the code is stabilized, we make a new official release. Every code change between these releases is known as a "development" version, and this is one of them.
RawTherapee provides you with a selection of powerful tools with which you can practice the art of developing raw photos. Be sure to read RawPedia to understand how each tool works so that you may make the most of it.
RawTherapee provides you with a selection of powerful tools with which you can practise the art of developing raw photos. Be sure to read RawPedia to understand how each tool works so that you may make the most of it.
http://rawpedia.rawtherapee.com/
A great place to start is the "Getting Started" article. Click on "Main page" in the top-left corner when you have finished reading that article to see all other articles.
@ -15,7 +15,8 @@ While we only commit tested and relatively stable code and so the development ve
News Relevant to Photographers
------------------------------
RawTherapee supports most raw formats, including some unusual ones like those from cameras using Foveon and X-Trans sensors. If you're wondering whether it supports your camera's raw format, first download RawTherapee and try for yourself. If a raw format is not supported it will either not open, or the preview in the Editor tab will appear black, white, or have a strong color cast - usually magenta. In that case, read the "Adding Support for New Raw Formats" RawPedia article.
RawTherapee supports most raw formats, including Pentax Pixel Shift, Canon Dual-Pixel, and those from Foveon and X-Trans sensors.
If you're wondering whether it supports your camera's raw format, first download RawTherapee and try for yourself. If a raw format is not supported it will either not open, or the preview in the Editor tab will appear black, white, or have a strong color cast - usually magenta. In that case, read the "Adding Support for New Raw Formats" RawPedia article.
In order to use RawTherapee efficiently you should know that:
- You can scroll all panels using the mouse scroll-wheel.
@ -24,8 +25,8 @@ In order to use RawTherapee efficiently you should know that:
- All curves support the Shift and Ctrl keys while dragging a point. Shift+drag makes the point snap to meaningful axes (top, bottom, diagonal, other), while Ctrl+drag makes your mouse movement super-fine for precise point positioning.
- There are many keyboard shortcuts which make working with RawTherapee much faster and give you greater control. Make sure you familiarize yourself with them on RawPedia's "Keyboard Shortcuts" page!
New features since 5.2:
- To be filled in once 5.3 is released.
New features since 5.3:
- To be filled in when 5.4 is released.
News Relevant to Package Maintainers
------------------------------------
@ -38,14 +39,13 @@ In general:
- For development builds and release-candidates use -DCACHE_NAME_SUFFIX="5-dev"
Changes since 5.2:
- To be filled in once 5.3 is released.
- To be filled in when 5.4 is released.
News Relevant to Developers
---------------------------
- Announce and discuss your plans in GitHub before starting work.
- Keep branches small so that completed and working features can be merged into the "dev" branch often, and so that they can be abandoned if they head in the wrong direction.
- Use C++11.
- Code must be run through astyle.
DOCUMENTATION
-------------

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -171,6 +171,7 @@ eventbox.frame {
border-color: #565656;
}
/*** Scrollbar ***************************************/
scrollbar {
background-color: #303030;
}
@ -181,6 +182,42 @@ scrollbar slider:hover {
background-color: #999999;
}
scrollbar:not(.overlay-indicator).horizontal slider,
scrollbar.horizontal.hovering slider {
min-height: 6px;
min-width: 24px;
}
scrollbar:not(.overlay-indicator).horizontal.fine-tune slider,
scrollbar.horizontal.hovering.fine-tune slider {
min-height: 4px;
border-width: 4px;
margin: 0 -1px;
}
scrollbar.horizontal.overlay-indicator:not(.hovering) slider {
min-width: 24px;
min-height: 3px;
margin: 0 2px;
}
scrollbar:not(.overlay-indicator).vertical slider,
scrollbar.vertical.hovering slider {
min-height: 24px;
min-width: 6px;
}
scrollbar:not(.overlay-indicator).vertical.fine-tune slider,
scrollbar.vertical.hovering.fine-tune slider {
min-width: 4px;
border-width: 4px;
margin: -1px 0;
}
scrollbar.vertical.overlay-indicator:not(.hovering) slider {
min-width: 3px;
min-height: 24px;
margin: 2px 0;
}
/**************************************************/
button {
padding: 0;
min-height: 5px;

View File

@ -1814,10 +1814,10 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
hist16Qthr.clear();
}
// #pragma omp for reduction(+:sum,sumQ)
// #pragma omp for reduction(+:sum,sumQ)
#pragma omp for reduction(+:sum)
for (int i = 0; i < height; i++)
for (int j = 0; j < width; j++) { //rough correspondence between L and J
float currL = lab->L[i][j] / 327.68f;
@ -1862,25 +1862,25 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int
}
//estimation of wh only with La
/*
float whestim = 500.f;
/*
float whestim = 500.f;
if (la < 200.f) {
whestim = 200.f;
} else if (la < 2500.f) {
whestim = 350.f;
} else {
whestim = 500.f;
}
*/
if (la < 200.f) {
whestim = 200.f;
} else if (la < 2500.f) {
whestim = 350.f;
} else {
whestim = 500.f;
}
*/
if (needQ) {
hist16Qthr[CLIP ((int) (32768.f * sqrt ((koef * (lab->L[i][j])) / 32768.f)))]++; //for brightness Q : approximation for Q=wh*sqrt(J/100) J not equal L
//perhaps needs to introduce whestim ??
// hist16Qthr[ (int) (sqrtf ((koef * (lab->L[i][j])) * 32768.f))]++; //for brightness Q : approximation for Q=wh*sqrt(J/100) J not equal L
//hist16Qthr[ (int) (sqrtf ((koef * (lab->L[i][j])) * 32768.f))]++; //for brightness Q : approximation for Q=wh*sqrt(J/100) J not equal L
}
sum += koef * lab->L[i][j]; //evaluate mean J to calculate Yb
// sumQ += whestim * sqrt ((koef * (lab->L[i][j])) / 32768.f);
//sumQ += whestim * sqrt ((koef * (lab->L[i][j])) / 32768.f);
//can be used in case of...
}

View File

@ -26,7 +26,7 @@ using namespace rtengine::procparams;
Glib::ustring eventDescrArray[NUMOFEVENTS];
History::History (bool bookmarkSupport) : historyVPaned(nullptr), blistener(nullptr), tpc (nullptr), bmnum (1)
History::History (bool bookmarkSupport) : historyVPaned (nullptr), blistener (nullptr), tpc (nullptr), bmnum (1)
{
blistenerLock = false; // sets default that the Before preview will not be locked
@ -51,9 +51,9 @@ History::History (bool bookmarkSupport) : historyVPaned(nullptr), blistener(null
historyModel = Gtk::ListStore::create (historyColumns);
hTreeView->set_model (historyModel);
hTreeView->set_headers_visible (false);
hTreeView->set_hscroll_policy(Gtk::SCROLL_MINIMUM);
hTreeView->set_vscroll_policy(Gtk::SCROLL_NATURAL);
hTreeView->set_size_request(80, -1);
hTreeView->set_hscroll_policy (Gtk::SCROLL_MINIMUM);
hTreeView->set_vscroll_policy (Gtk::SCROLL_NATURAL);
hTreeView->set_size_request (80, -1);
Gtk::CellRendererText *changecrt = Gtk::manage (new Gtk::CellRendererText());
changecrt->property_ellipsize() = Pango::ELLIPSIZE_END;
@ -261,38 +261,36 @@ void History::procParamsChanged (ProcParams* params, ProcEvent ev, Glib::ustring
}
// if there is no last item or its chev!=ev, create a new one
if (descr != "") {
if (size == 0 || !row || row[historyColumns.chev] != ev || ev == EvProfileChanged) {
Gtk::TreeModel::Row newrow = * (historyModel->append());
newrow[historyColumns.realText] = eventDescrArray[ev];
newrow[historyColumns.text] = text;
newrow[historyColumns.value] = descr;
newrow[historyColumns.chev] = ev;
newrow[historyColumns.params] = *params;
newrow[historyColumns.paramsEdited] = paramsEdited ? *paramsEdited : defParamsEdited;
if (size == 0 || !row || row[historyColumns.chev] != ev || ev == EvProfileChanged) {
Gtk::TreeModel::Row newrow = * (historyModel->append());
newrow[historyColumns.realText] = eventDescrArray[ev];
newrow[historyColumns.text] = text;
newrow[historyColumns.value] = g_markup_escape_text (descr.c_str(), -1);
newrow[historyColumns.chev] = ev;
newrow[historyColumns.params] = *params;
newrow[historyColumns.paramsEdited] = paramsEdited ? *paramsEdited : defParamsEdited;
if (ev != EvBookmarkSelected) {
selection->select (newrow);
}
if (blistener && row && !blistenerLock) {
blistener->historyBeforeLineChanged (row[historyColumns.params]);
} else if (blistener && size == 0 && !blistenerLock) {
blistener->historyBeforeLineChanged (newrow[historyColumns.params]);
}
if (ev != EvBookmarkSelected) {
selection->select (newrow);
}
// else just update it
else {
row[historyColumns.realText] = eventDescrArray[ev];
row[historyColumns.text] = text;
row[historyColumns.value] = descr;
row[historyColumns.chev] = ev;
row[historyColumns.params] = *params;
row[historyColumns.paramsEdited] = paramsEdited ? *paramsEdited : defParamsEdited;
if (ev != EvBookmarkSelected) {
selection->select (row);
}
if (blistener && row && !blistenerLock) {
blistener->historyBeforeLineChanged (row[historyColumns.params]);
} else if (blistener && size == 0 && !blistenerLock) {
blistener->historyBeforeLineChanged (newrow[historyColumns.params]);
}
}
// else just update it
else {
row[historyColumns.realText] = eventDescrArray[ev];
row[historyColumns.text] = text;
row[historyColumns.value] = g_markup_escape_text (descr.c_str(), -1);
row[historyColumns.chev] = ev;
row[historyColumns.params] = *params;
row[historyColumns.paramsEdited] = paramsEdited ? *paramsEdited : defParamsEdited;
if (ev != EvBookmarkSelected) {
selection->select (row);
}
}

View File

@ -601,7 +601,7 @@ void LensProfilePanel::LFDbHelper::fillLensfunCameras()
camnames[c.getMake()].insert(c.getModel());
if (options.rtSettings.verbose) {
std::cout << " found: " << c.getDisplayString() << std::endl;
std::cout << " found: " << c.getDisplayString().c_str() << std::endl;
}
}
for (auto &p : camnames) {
@ -630,7 +630,7 @@ void LensProfilePanel::LFDbHelper::fillLensfunLenses()
lenses[make].insert(name);
if (options.rtSettings.verbose) {
std::cout << " found: " << l.getDisplayString() << std::endl;
std::cout << " found: " << l.getDisplayString().c_str() << std::endl;
}
}
for (auto &p : lenses) {