Michael Fabian 'Xaymar' Dirks
ac307a4912
cmake: Add common include directories and fix Windows
...
Microsoft has some very annoying #define's which break most if not all of C++ at random spots. Best disable them globally so we don't have to ever deal with them. Also the MSVC CRT warnings are completely pointless, they are just whining that we use the standard instead of their non-portable functionality.
2023-09-07 03:43:24 +02:00
Michael Fabian 'Xaymar' Dirks
54cd3eef5b
cmake: Actually add sources to the Core component
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
d8a673a578
cmake: Always provide at least one file to a target
...
While this would normally work no questions asked in something like 'make', 'nmake' or similar, it is an impossible task in CMake without an empty file. So we'll just provide it with an empty file.
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
efb6e9f0cb
cmake: Only enable Qt on components, not on the module
...
The module only holds the resources file, so Qt is not needed here.
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
0ce977b9dd
cmake: Uncomment still working code
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
98403126ad
cmake: Fix missing public info, and remove PROJECT_NAME usage
...
Using PROJECT_NAME makes it incompatible with add_subdirectory, and it's really not necessary anyway. There are no plans to rename the project again.
Also needed to expose some information to be public, so that components could actually use it. Seems to be working as intended finally.
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
8fb37b8d21
cmake: Fix up missing sub-components due to add_subdirectory
...
add_subdirectory creates a new "stack" of variables, so PARENT_SCOPE points nowhere. Well it points to the outside of the function, which is not outside of the subproject.
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
d82d3901e4
cmake: Remove remnants of AOM AV1
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
f26565cf1e
cmake: Remove clang integration, as it breaks on the new system
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
9021274297
cmake: Fix up missing linked objects in component system
...
We should always link the whole object, even if nothing is needed by the module itself.
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
25ba51df12
code: Throw an error on nullptr for util::library::load
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
50c85608c3
cmake: Initial work towards component-ification
...
The old fake component system is starting to be very annoying to work with, as it doesn't properly split things apart. The new system should aid with this significantly, and make errors easier to spot.
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
e82823d49c
cmake: Explicitly disable treating warnings as errors
...
As libOBS and OBS Studio unfortunately enforce treating warnings as errors, it is necessary to do the opposite. This may remove the need of having a patch for this exist at all, but I'll leave it be for now and just add this single line fix.
2023-07-31 15:28:39 +02:00
Michael Fabian 'Xaymar' Dirks
8b97c2b23d
templates: Fix the remaining uncommitted changes
2023-05-20 20:52:40 +02:00
Michael Fabian 'Xaymar' Dirks
9df2f01963
templates: Pascal uses <> instead of !=
2023-05-20 20:34:25 +02:00
Michael Fabian 'Xaymar' Dirks
ffb7a6c5d7
code: Add GoPro CineForm to FFmpeg Encoders
2023-05-20 19:54:46 +02:00
Michael Fabian 'Xaymar' Dirks
f66fabc5d4
templates: Move to 'usercf' instead of 'userpf'
...
Local (per-user) add-ons to software should reside in "C:\Users\Username\AppData\Local\Programs\Common\", similar to System (all-users) add-ons which reside in "C:\Program Files\Common Files\".
Fixes #1049
2023-05-20 19:54:15 +02:00
Michael Fabian 'Xaymar' Dirks
38d87f6fcf
code: Don't crash if there is no encoder instance
2023-05-20 19:54:05 +02:00
Michael Fabian 'Xaymar' Dirks
3e13126f89
code: Remove audio encoder registration from FFmpeg Encoders
2023-05-20 19:25:46 +02:00
Michael Fabian 'Xaymar' Dirks
9d0233a740
code: Create mutexes to prevent Windows (un)installer from continuing
...
Might fix the problem where people uninstall StreamFX while they still have OBS Studio open with StreamFX loaded. InnoSetup appears to ignore this in /VERYSILENT, so this is an additional guard against that.
2023-05-20 19:24:06 +02:00
Michael Fabian 'Xaymar' Dirks
07182d2f89
templates: Exit-early if the user aborts the removal of an older version
2023-05-20 19:24:06 +02:00
Michael Fabian 'Xaymar' Dirks
5bdcefd618
code: Fix support for multiple FFmpeg version
...
This should make it compile just fine with older FFmpeg versions again, such as on Ubuntu 20.04.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
0402c8ef60
code: Adjust copyright headers
...
Doesn't appear to follow renames, so i guess this is the new copyright!
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
1c76169821
code: Migrate encoder::ffmpeg::nvenc to new loader
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
51282b7b85
code: Migrate encoder::ffmpeg::amf to new loader
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
d8235bf504
code: Migrate encoder::ffmpeg::dnxhd to new loader
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
0fb670eba4
code: Migrate encoder::ffmpeg::prores_aw to new loader
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
376a3d6233
code: Overriding color format doesn't work without a pointer or reference
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
fc8ebc7bf3
code: Rename encoder::ffmpeg::prores_aw
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
78310f9c63
code: Migrate encoder::ffmpeg::debug to new loader
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
85c8cdf8bd
code: Wrong return type for get_avcodeccontext
...
The context should be modifiable, we don't really care about it anyway. If it's broken, then it's broken and the encoder errors out.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
c4461e70b9
code: Migrate encoder::ffmpeg to modern handler loader
...
A different version of the dynamic loader allows us to simply register handlers at load time, instead of requiring custom code. Could also make it so that it loads them when needed, but since they're mostly static code, this won't matter much.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
a1968b970b
code: Migrate encoder::ffmpeg handlers into proper directory
...
Shouldn't have an effect on functionality, only affects location.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
21f8a66c7f
cmake: Mark encoder::ffmpeg::nvenc as Stable
2023-05-16 06:04:59 +02:00
Michael Fabian 'Xaymar' Dirks
a802b0007f
code: Fix encoder::ffmpeg causing recursive mutex lock on Singleton
...
Not sure why I did it any other way before - there's no benefit to the previous design, only downsides.
2023-05-14 20:22:40 +02:00
Michael Fabian 'Xaymar' Dirks
8817248dfd
code: Fix incorrect behavior for encoder::ffmpeg
...
As we previously relied on an additional function call, we should now merge this call into the constructor.
2023-05-14 16:54:45 +02:00
Michael Fabian 'Xaymar' Dirks
a8704e6028
cmake: Set some additional feature defaults
2023-05-14 16:54:45 +02:00
Michael Fabian 'Xaymar' Dirks
7d1dc4792a
code: Reorder and fix static initializers
...
These most likely require dependencies to be migrated to the new system.
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
d51847152c
code, cmake: Remove legacy code
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
0227cfd7b5
code: Migrate filter::autoframing to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
debf976121
code: Migrate filter::denoising to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
a4a18ebc3f
code: Migrate filter::upscaling to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
0556db97df
code: Migrate filter::virtual_greenscreen to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
e630ddc8a7
code: Migrate source::mirror to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
5ca01dc589
code: Migrate filter::sdf_effects to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
17d25f1ef0
code: Migrate filter::blur to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
1059e5c027
code: Migrate filter::dynamic_mask to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
4d913c34f5
code: Migrate filter::transform to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
8bec18600f
code: Migrate filter::shader to new dynamic loader
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
cfa2806e89
code: Migrate source::shader to new dynamic loader
2023-05-14 09:14:29 +02:00