Commit Graph

1523 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks badca28a08 updater: Don't pass unused variables into lambda captures 2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks 4fa26dd2d6 code: Always initialize or cast to correct type 2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks de703867e6 encoder/ffmpeg: Drop support for broken FFmpeg versions
This removes the Matroska fix for ProRes content, and upgrades from av_init_packet to av_packet_alloc.
2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks 0fe5c7e654 code: Don't use try-catch as function definition
This breaks MSVC and results in leaked exceptions.
2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks 678399ce81 cmake: Ignore not-so-useful warnings
These warnings are mostly hints or complete nonsense based on broken parsing. It is easier to disable them than to find a common solution that works on all compilers.
2023-04-05 18:58:36 +02:00
Michael Fabian 'Xaymar' Dirks bb79b574b5 cmake: Enable all warnings 2023-04-05 18:58:36 +02:00
Michael Fabian 'Xaymar' Dirks 398a58ec64 project: Updating contributing guidelines 2023-04-05 18:58:36 +02:00
Xaymar 5d76a3865a locale: New Crowdin updates (#890)
* New translations en-US.ini (Russian)

* New translations en-US.ini (Czech)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Spanish)

* New translations en-US.ini (Polish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (French)
2023-04-05 18:58:36 +02:00
Michael Fabian 'Xaymar' Dirks ed88c4a4d2 project: Updating contributing guidelines 2023-04-05 18:58:36 +02:00
Michael Fabian 'Xaymar' Dirks c1b832c03a cmake: Fix bad version strings
PROJECT_VERSION is defined by CMake, and can't be relied on.
2023-04-05 18:58:35 +02:00
Xaymar 584ee995be locale: New Crowdin updates (#867)
* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (Spanish)

* New translations en-US.ini (Russian)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Czech)
2023-04-05 18:58:35 +02:00
Michael Fabian 'Xaymar' Dirks b5195c580c filter/displacement: Add missing deprecation notice 2023-04-05 18:58:35 +02:00
Michael Fabian 'Xaymar' Dirks 5ea8aa2acc encoders/handlers/amf: Add missing deprecation notice 2023-04-05 18:58:35 +02:00
Michael Fabian 'Xaymar' Dirks c150a1b0d7 encoders/aom-av1: Deprecate encoder 2023-04-05 18:58:35 +02:00
Michael Fabian 'Xaymar' Dirks 3883c4759c encoders/handlers/amf: Deprecate encoder 2023-04-05 18:58:34 +02:00
Michael Fabian 'Xaymar' Dirks fb09e98a5f gfx/shader/param-texture: Use obs::weak_source instead of obs::source 2023-04-05 18:58:33 +02:00
Michael Fabian 'Xaymar' Dirks 8f8b8839e5 obs/weak-source: Further optimization and modernization 2023-04-05 18:58:33 +02:00
Michael Fabian 'Xaymar' Dirks 9fbed3a319 cmake: Workaround for missing INTERFACE_INCLUDE_DIRECTORIES (MacOS)
This work-around adds the necessary include directories, as the 'libobs' target does not export any include directories visible without BUILD_INTERFACE evaluating to TRUE. Hopefully the true cause for this problem can be identified and fixed later.
2023-04-05 18:58:33 +02:00
Michael Fabian 'Xaymar' Dirks 1d066caed3 cmake: Set correct path for Qt6 binaries (MacOS) 2023-04-05 18:58:33 +02:00
Michael Fabian 'Xaymar' Dirks e97f1c2a3f ci: Fix definition of CMAKE_OSX_ARCHITECTURES (MacOS) 2023-04-05 18:58:33 +02:00
Michael Fabian 'Xaymar' Dirks c92be933d9 third-party/obs-studio: 28.0.0-rc1 2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks 808f5c63fb obs/gs/effect: Revert #836
The use of const references breaks '#include' for relative paths.
2023-04-05 18:58:32 +02:00
lainon 6e1566386e project: Apply more C++ paradigms to the code
- Use auto in places where code clarity is improved or identical.
- Replace trivial constructors and destructors with default.
- Use true random for random generation.
- Use std::string_view where it is valid to do so.
- Apply const where it is valid to do so.
- Use references where it is valid to do so.
- Manually optimize memory usage with std::move and std::copy.
- Opt for memory efficient containers where the size is known ahead of time.

Signed-off-by: lainon <GermanAizek@yandex.ru>
2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks cbddee5b90 nvidia: Assign to std::string_view& instead of swapping
For unknown reasons this results in an error only when the project is built within git-bash and with cmake. It does not occur with cmake-gui or VS itself.
2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks 16a52ca126 ui/updater: Include QActionGroup for Qt6 support
In some cases, this include is provided automatically when it shouldn't exist at all. The exact cause is unknown.
2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks 5d177ffaf0 ci: Update cache version 2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks ceb21cc386 ci: Always specify all important build variables 2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks f8ecf61a7b ci: Cache and install dependencies and libraries
Note: We define CMAKE_PREFIX_PATH for OBS Studio here, which should normally (https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html#variable:CMAKE_PREFIX_PATH) be filled by the project itself. This is technically non-standard behavior, and may be remedied in the future by OBS Studio.
2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks 730987ba77 cmake: Define SHOWWINDOW constants (Windows) 2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks 7937ff4a44 cmake: Remove Auto-Dependency system
While the system helped users get started quickly, it also presented a unique problem by itself. As CMake grew, the code that supported this system became more and more fragile to the point of failing at random, with no indication of why it would fail. Additionally as OBS Studio 28.0 adopted a much nicer system, it is no longer necessary to have this system at all.

As an addition to this change, all systems that could rely on FindModules now do so. This drastically reduces the complexity of the CMake system, while allowing significantly more flexibility with what binaries are really being used. In the best case this should allow a prepared user to build StreamFX by itself within seconds.
2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks f2e5bdf78a third-party: Add obs-studio submodule 2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks 19de4c5334 ci: Always set up path for clang binaries 2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks 008a3f2a31 ci: Ignore clang-tidy for now 2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks eb047c8882 ci: Remove pointless platform additions
The runners "windows-2022" and "windows-2019" both come with almost identical software, and we can still target Windows 10 21H2. The same goes for "macos-12", "macos-11" and "macos-10.15", where we can simply target 10.15 and get the same result. Only Ubuntu does not make it easy, as it doesn't easily allow targeting a certain OS version.
2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks 69b5ff8ad5 ci: Merge Debug and Release builds into one
There is no point in completely separating these, as CMake can build out-of-tree just fine. Thus we can reduce the overall complexity significantly, and also detect far more problems ahead of time. As a side bonus, we get both debug and release packages in one go.
2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks 30134bd284 gfx/source-texture: Fix bad ref with Debug compiles 2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks c4de205d52 ci: Remove Code Signing with self-signed certificate 2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks b4026f2203 ci: Fix clang version 2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks 6e510f17f6 ci: Merge validation into main script
This reduces the necessary variations for CI, and makes status checks easier to enforce.
2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks 5f27998c01 ci: Compress & optimize main script 2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks bba97ada1b project: Fix editorconfig for YAML 2023-04-05 18:58:29 +02:00
Xaymar 5b8a0bbcb5 locale: New Crowdin updates (#832)
* New translations en-US.ini (French)

* New translations en-US.ini (Sinhala)

* New translations en-US.ini (Arabic)

* New translations en-US.ini (Turkish)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (Thai)

* New translations en-US.ini (Thai)

* New translations en-US.ini (Arabic)

* New translations en-US.ini (Arabic)

* New translations en-US.ini (Romanian)
2023-04-05 18:58:28 +02:00
Michael Fabian 'Xaymar' Dirks 2acaf7c280 cmake: Support building with Qt5 and Qt6
This allows developers to pick their flavor of Qt, potentially enabling more advanced integrations with Qt in the future. Eventually Qt5 support may be dropped in favor of Qt6.

Fixes #811
2023-04-05 18:58:28 +02:00
Michael Fabian 'Xaymar' Dirks f10096da98 cmake: Unify project metadata across platforms 2023-04-05 18:58:28 +02:00
Michael Fabian 'Xaymar' Dirks a149531fb8 cmake: Upgrade version code to shared cmake-version module
This module handles parsing, generating, modifying and comparing of versions with pure CMake.
2023-04-05 18:58:28 +02:00
Michael Fabian 'Xaymar' Dirks 64bae2b897 project: Fix incorrect tabs in YAML 2023-04-05 18:58:28 +02:00
Michael Fabian 'Xaymar' Dirks ee6cd9fb50 project: Improve Issue and PR templates 2023-04-05 18:58:27 +02:00
Michael Fabian 'Xaymar' Dirks f66891f956 ci: Don't run pointless builds
The support for Clang on Windows is almost non-existent compared to MSVC and GCC cross-compiling.
2023-04-05 18:58:27 +02:00
Xaymar 553dc3db70 locale: New Crowdin updates (#817)
* New translations en-US.ini (Arabic)

* New translations en-US.ini (Norwegian)

* New translations en-US.ini (Norwegian)

* New translations en-US.ini (Arabic)

* New translations en-US.ini (Thai)

* New translations en-US.ini (Ukrainian)

* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Chinese Traditional)

* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (English, United Kingdom)

* New translations en-US.ini (Sinhala)

* New translations en-US.ini (Turkish)

* New translations en-US.ini (Russian)

* New translations en-US.ini (Norwegian)

* New translations en-US.ini (Finnish)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (French)

* New translations en-US.ini (Spanish)

* New translations en-US.ini (Czech)

* New translations en-US.ini (German)

* New translations en-US.ini (Portuguese)

* New translations en-US.ini (Hungarian)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Japanese)

* New translations en-US.ini (Korean)

* New translations en-US.ini (Dutch)

* New translations en-US.ini (Polish)

* New translations en-US.ini (Norwegian)

* New translations en-US.ini (Hungarian)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Swedish)

* New translations en-US.ini (Polish)

* New translations en-US.ini (Polish)

* New translations en-US.ini (Russian)

* New translations en-US.ini (Korean)

* New translations en-US.ini (Thai)
2023-04-05 18:58:27 +02:00
Michael Fabian 'Xaymar' Dirks e9283aec37 project: Add support for multi stage release cycles
To ensure better stability of future releases, we need to adopt multiple stages in the release cycle. As we already label Alpha, Beta, Candidate and Stable differently, simply adopting this classification system already does everything for us. This also allows us to maintain compatibility with the existing system, while offering something new entirely.
2023-04-05 18:58:27 +02:00