Beep6581 / RawTherapee

A powerful cross-platform raw photo processing program
https://rawtherapee.com
GNU General Public License v3.0
2.74k stars 311 forks source link

New major release - RT5 #3300

Closed Beep6581 closed 7 years ago

Beep6581 commented 8 years ago

This is an umbrella issue for tracking issues which need to be solved so that we can release a new major version. A new release is so overdue that we should strive to get RawTherapee in shape as soon as possible, therefore these issues should not be things we would like solved but things we need solved.

Code will be astyled before tagging.

innir commented 7 years ago

@Hombre57 Please don't or at least not for Linux- this will make RT non-installable for almost all Linux users using recent distros. It works here on Debian with GTK+ 3.22 (and a version using GTK+ 3.22 is already in the official Debian repository).

Floessie commented 7 years ago

@Beep6581 @heckflosse I've updated the clang-tidy branch. Please have a look if my merge from master was okay.

Beep6581 commented 7 years ago

@Hombre57 I'm looking into it...

Hey @innir I was looking for the Debian RawTherapee package maintainer yesterday, and was surprised to find it was someone I know - you :) "it works" means it loads, but it looks very bad and unusable, right?

@Floessie compiling...

innir commented 7 years ago

@Beep6581 Yes, always try to make rawtherapee easy to use :) and no, it looks good, I don't see any obvious problems.

Beep6581 commented 7 years ago

@innir that's... not possible! Could you show a screenshot of a RT build which uses Gtk+ >=3.20 and looks good?

Hombre57 commented 7 years ago

@innir That's interesting. Could you answer the following points :

  1. Which precise version of Gtk are you using ? Could you post your AboutThisBuild file please ? And the log of the cmake process too, it'll give use some details on all the versions of the libraries.
  2. Don't you have warning message when starting RT ?
  3. Do you have the system them selected or one of the custom themes ?
innir commented 7 years ago

Here is a build log for i386: https://buildd.debian.org/status/fetch.php?pkg=rawtherapee&arch=i386&ver=4.2.1241-2&stamp=1475275785

Screenshot: http://i.imgur.com/fbRocGw.jpg

Here is my AboutThisBuild (sorry this is for amd64):

Branch: gtk3
Version: 4.2.1241
Changeset: 4a032e6fa958a1d1ff49ff4bfaf754f09d90dea2
Compiler: cc 6.2.0
Processor: x86_64
System: Linux
Bit depth: 64 bits
Gtkmm: V3.22.0
Build type: Release
Build flags: -g -O2 -fdebug-prefix-map=/build/rawtherapee-4.2.1241=. -fPIE -fstack-protector-strong -Wformat -Werror=format-security -std=c++11 -Wdate-time -D_FORTIFY_SOURCE=2  -std=gnu++11  -Werror=unused-label -fopenmp -Werror=unknown-pragmas -O3 -DNDEBUG
Link flags:  -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed
OpenMP support: ON
MMAP support: ON
innir commented 7 years ago

@Hombre57:

  1. See my last post ;)
  2. I get some warning but not many: http://pastebin.com/nWhFuHdC
  3. I use the system theme, never tried a cusom om
Beep6581 commented 7 years ago

@innir what you're seeing is the problem - hideously large widgets, RT CSS theme not used.

Hombre57 commented 7 years ago

...and we shouldn't have any warnings. RT doesn't work with Gtk 3.22 yet (nor 3.20).

innir commented 7 years ago

@Beep6581 @Hombre57 Well, it works - It might not look as pretty as it could. But if you think it should not be shipped, I'm OK with it - should I package the gtk2 version instead?

Debian/Ubuntu/..., Fedora, Arch and all other major Linux distributions have GTK+ >= 3.20 now so there must be some plan for Linux I fear...

Beep6581 commented 7 years ago

@innir we're working on it, with no promises... If we don't manage to fix it, then distros with Gtk+ 3.16-3.18 should have the gtk3 branch, while distros with any other Gtk3 version should have the master branch.

The number of people using Gtk+ 3.20 or higher is far smaller than the number of people using <=3.18

Floessie commented 7 years ago

@Beep6581

The number of people using Gtk+ 3.20 or higher is far smaller than the number of people using <=3.18

Normally, you are the one asking for proof of such statements. :flushed:

Debian/Ubuntu/..., Fedora, Arch and all other major Linux distributions have GTK+ >= 3.20 now so there must be some plan for Linux I fear...

IMHO, this is much more the truth. But fortunately, there is still the master branch.

Beep6581 commented 7 years ago

@Floessie I expected that ;) http://distrowatch.com/table.php?distribution=xxx But good news - Hombre and I have been working on this and we already have a good-looking RT on >=3.20

heckflosse commented 7 years ago

I added #3469

heckflosse commented 7 years ago

I added #3473 and #3474

Floessie commented 7 years ago

@Beep6581 @heckflosse Is it wise to keep adding "feature bugs" (like #3469) to the list? How can we reach a milestone, if that stone is rocking? :wink:

Having RT5 finished by the end of month would be really nice. Well, that's a bit self-serving, as I'm on Debian, and although @innir mentioned there was time until the end of year, I'm sure RT5 integration to Stretch will be easier when done before the transition freeze on 2016-11-05.

@Beep6581 I was looking for the RT 4.2 logo SVG, but cannot find it (rt_logo.svg only has the base logo). Have you already prepared an inkscape SVG for RT5, that could be used for promotions immediately after the release?

heckflosse commented 7 years ago

@Floessie No problem to remove #3469. I just put it there because #3446 is still open and maybe we can solve it too meanwhile.

heckflosse commented 7 years ago

I removed #3469 from blocking

Beep6581 commented 7 years ago

I'd like to squeeze #3488 in, as it's small and benign.

heckflosse commented 7 years ago

:+1: for #3488

Beep6581 commented 7 years ago

I added:

Those are the last things needed for RT5 to be usable with GTK+ >=3.20, after that I'm happy to release.

Beep6581 commented 7 years ago

RawTherapee 5 release notes/announcement draft: https://gist.github.com/Beep6581/731709bf78885b2afea92388ee6ede2a

You can make changes the usual git way - commit and PR. You can also commit on individual lines.

Note: some lines and words will contain links, e.g. "Complete revision history on GitHub" will link to https://github.com/Beep6581/RawTherapee/commits/master

Beep6581 commented 7 years ago

Hello @Hombre57 Issue #3483 (combobox can make toolpanel min width far too wide because text is not ellipsized) and #3446 (pre-select correct CSS file, and find out how to change font size) are the only things blocking RT5. I don't want to stress anyone, but myself feel stressed about this, and I'm leaving for Zambia this Sunday for a week. Could you give an indication on how things are looking?

If #3483 looks not-solvable for now, then it would be better to revert the behavior so that the text overflows as it did before, allowing the toolpanel to be shrunk, so that users of not-high resolution screens can at least use RT. What do you think?

Hombre57 commented 7 years ago

No particular problem for #3446, can be done rapidly. However #3483 is really complicated, at least for someone that is not used to CellLayout or CellRenderer... I'm okay to revert to the previous state, but will still try to solve it upon time, given the deadline of this Saturday.

Hombre57 commented 7 years ago

@Beep6581

Thinking of it again, I remember that RT's GUI is fine for the Gtk3.22 CSS file, but not for 3.18 as @heckflosse said. I don't have that version installed, how can we do ? I can update the 3.18 CSS file, but it's shooting in the dark.

Beep6581 commented 7 years ago

@Hombre57 as I undertood it, we agreed to have the RawTherapee.css from gtk3 renamed to RawTherapee_GTK3_316-318.css (using whatever separator you like) and the one from gtk3-bugfix renamed to RawTherapee_GTK3_3.20-3.22.css, and having RawTherapee load the right one dynamically. The original idea was to have package maintainers pick the right one for their build.

What do you mean by updating the 3.18 file? There is no need to touch it, and that would add more delay to the release.

Hombre57 commented 7 years ago

@Beep6581 As you know, the look of the GUI can be controlled by the CSS file and from within the code itself, through functions like set_col_spacing, set_row_spacing, etc... I've removed some of them from the code as they are now set in the CSS file as recommended. Furthermore I had to change the object hierarchy in some rare places, and update the way that backgrounds are drawn. All of this require a little checkup of the V3.18 CSS file, but nothing that would take even one week. Unfortunately it doesn't match your agenda.

Hombre57 commented 7 years ago

As explained in issue #3545, the very last bug(s) that prevent making an RT5 Release version is due to Gtk3.22 itself. This time I don't think we'll be able to create a workaround, so what's do we do about RT5 now ? Should we wait till it is solved in Gtk or will we release it and force usage of Gtk3.18 ? The problem is that MSYS2, AFAIK, doesn't provide Gtk3.18 anymore, only the broken 3.22 :(, so Windows will only have the Gtk2 version available. Might be better than nothing due to the situation.

heckflosse commented 7 years ago

I'm still using MSYS2 with gtk 3.18

Hombre57 commented 7 years ago

Because you didn't updated MSYS2 ? Then it's great, we could provide a Gtk3 build, for Windows at least.

heckflosse commented 7 years ago

Yes, but I would need some help, because in past I only build for my system, no setup etc...

gaaned92 commented 7 years ago

builds of @sguyader are done with gtk3.18. So perhaps he could make the RT5 builds with gtk3.18 waiting for a repaired gtk3.22.

iliasg commented 7 years ago

I would like some easy issues fixed in RT5.0

Beep6581 commented 7 years ago

Should we wait till it is solved in Gtk or will we release it and force usage of Gtk3.18 ?

As discussed previously, this is not a good option. If it is a GTK3 bug then it could take a year before it is fixed, a new version of GTK+ is released and some distros pick that version up. Even then, it would only cover some distros. And preventing many people (myself included) from using RawTherapee entirely just because of some UI bug is not something I'd be happy with :) RawTherapee is completely usable even with this bug. All we should do is to recommend that GTK+ 3.18 is used if possible - package maintainers will be notified.

Hombre57 commented 7 years ago

@Beep6581

RawTherapee is completely usable even with this bug.

Well, that's a point of view. Yes it's functional, but lots of curves have this problem (RGB, HSV and probably others).

The gtk3 team knows that it's a very well hidden bug, because they had to create a workaround in scrollbars to circumvent it. I'm adding an issue in their tracker.

Beep6581 commented 7 years ago

TODO: Mention #3545 and #3525 in release notes or somewhere.

Hombre57 commented 7 years ago

Last blocking bugfix committed. ( @Beep6581 @heckflosse ) Please be careful with astyle : if it's very invasive, it may be hard/complex to merge into other branch.

Hombre57 commented 7 years ago

@Beep6581 I'm on the verge of finishing the French translation strings, due tomorrow evening. Could you wait my commit before tagging RT5 please ? It would be better to include the finished translation in the initial release IMHO.

Beep6581 commented 7 years ago

@Hombre57 sure.

RawTherapee 5 release date is set for Sunday.

iliasg commented 7 years ago

@Hombre57 what about https://github.com/Beep6581/RawTherapee/issues/3506 ?

Hombre57 commented 7 years ago

Yes, I'll have a look tonight.

Beep6581 commented 7 years ago

Are your whiskies ready?

Hombre57 commented 7 years ago

Sorry, Champagne for me ;)

heckflosse commented 7 years ago

Of course :+1:

Desmis commented 7 years ago

No problem for me.  But with Rhum :)

Hombre57 commented 7 years ago

RT5 is out, thanks to everyone involved !

Beep6581 commented 7 years ago

Thank you everyone! A great pleasure and honor :)

Floessie commented 7 years ago

:tada: :fireworks: I really had lost my faith in the "this sunday" announcements, but this time you really made it! Thanks @Beep6581 for managing this awesome release and all of you who put time and heart into this wonderful piece of software. :+1:

gaaned92 commented 7 years ago

Thanks @Beep6581 and all developpers for this awesome software

W64 Master and gtk3 5.0 stable builds are uploaded here https://drive.google.com/open?id=0B2q9OrgyDEfPS2FpdDAtMVI1RG8 default installation in "program files/rawtherapee" beware that only one stable version can be installed. W32 builds to follow André