NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.65k stars 338 forks source link

Replace many usages of Boost with std counterparts #844

Closed YakoYakoYokuYoku closed 1 year ago

YakoYakoYokuYoku commented 1 year ago

Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. Additionally, make sure you've done all of these things:

PR Description

What type of PR is this? (Check one of the boxes below)

What does this pull request do?

Prior to this PR Natron made usage of many features from the Boost libraries that were not present in the standard C++ library, things like smart pointers or bound functions for example. And now many of them were added to the standard library.

This PR replaces many of the used features of the Boost libraries with modern standard library and bundled utilities. Namely

Although Boost still remains in use due to the lack of an equivalent in the stdlib for bidirectional maps and the serialization library is still required because projects use its XML serialization, though both of these things might change in the future.

Show a few screenshots (if this is a visual change)

N/A.

Have you tested your changes (if applicable)? If so, how?

By building and running both Natron and NatronRenderer.

Futher details of this pull request

This PR was split in commits to ease the review process and can be separated into different PRs if requested.

devernay commented 1 year ago

Can you please make the PR on RB-2.4 to avoid code divergence (there may be another 2.4 release)

devernay commented 1 year ago

The reason is that we don't have a working RB-2.5 windows build yet

rodlie commented 1 year ago

The reason is that we don't have a working RB-2.5 windows build yet

I was very close last time I worked on it, but due to various reasons I was not able to finish it. I got very limited time this weekend, but I might have time to finish it on Sunday (no guarantee of course).

YakoYakoYokuYoku commented 1 year ago

Can you please make the PR on RB-2.4 to avoid code divergence (there may be another 2.4 release)

If it's going to be one last release of RB-2.4 then I don't think it would be worth to backport.

devernay commented 1 year ago

I should be a no-brainer to backport. The codes haven't diverged that much so far

YakoYakoYokuYoku commented 1 year ago

Merging in one day if no further objections, if another 2.4 patch release is really needed then I can open another PR, but in the case we have a 2.5 build for Windows then I'll not.