Several branches of RT, is a consolidation possible

I am a user of RT. I have download versions that have advanced Wavelets, LensFun and local LAB controls.

A version containing all these features would be wonderful, I was wondering why are these branches not integrated and a version containing all these hasn’t been compiled? Is there a technical reason?

2 Likes

DISCLAIMER: I’m not the one who decides what gets merged, these are just my impressions.

That said, lensfun is already in dev and will be included in the next release. I have no idea what the “advanced Wavelets” branch does, so I can’t comment on that.

Regarding local L*A*B*, I started playing with it recently. I must say I quite like it; it is definitely not a replacement for GIMP if you need advanced layers and masks, but it seems very handy for many tasks. However:

  1. the UI is not ready yet, IMHO, and it would need some polishing before it can be merged; and

  2. More imporantly, there is still some ongoing discussion about whether this is the “right” way of doing local adjustments in RT, or whether a different approach might be preferred.

I think @Hombre and @jdc can provide more info about this.

3 Likes

There is one technical reason I just discovered when trying to merge branches on my fork.
There is overlapping, conflicting code for waveletnew and newlocallab. For instance the code which has the History messages are overlapped: https://github.com/Benitoite/RawTherapee/pull/6/conflicts

1 Like

I opened this issue some time ago (more than two years). Maybe we should reopen it as it is still valid…

1 Like

These conflicts are normal. They are due to “events” (in part).

The “events” manage new features (sliders, checkbox, curves, …) and are declared in 2 files (procevents.h, refreshmap). They also appear to the user in the “history” messages.

The current number of events in the “dev” branch is 486.
The “events” added by “newlocallab” are 88 in number.
There are 53 “events” added by “waveletnew”.
In each branch these “events” come after those of “dev”.

This brings conflicts if one wishes to “merge” these branches.
To “merge” the branches, you have to manually resume the files “procevents”, “refreshmap”, the messages “history”.
However, other conflicts may appear linked to the new code, for example at the level of “wavelet” and “retinex” (as in other places) which are used by the two branches in different ways and also different from " dev ".

This amounts to saying that the management of these two branches is problematic for me and requires a lot of time. The faster I would have an answer on the future of these 2 branches (each was initiated almost two years ago), the more I would be satisfied.

When asking my point of view on these 2 branches, it is like asking a blind man if he wants to see. :slight_smile:

5 Likes

They are great tools @jdc :beers: