Commit Graph

113 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks ead355beea transition-shader: Add initial version of Shader transitions
With this, the first proper shader effect is now possible. By using the four new automated shader parameters 'InputA', 'InputB', 'TransitionTime' and 'TransitionSize' you can write your own transition in HLSL.

Fixes #96
2020-03-28 18:38:45 +01:00
Michael Fabian 'Xaymar' Dirks 10fee7f048 util-profiler: Easy to use profiling helper 2020-03-27 20:10:09 +01:00
Michael Fabian 'Xaymar' Dirks 6776f2111c cmake: Disable some frequent unhelpful warnings
These warnings usually come from the standard code in MSVC or system headers, over which we have absolutely no control. Keeping them enabled does not improve our code at all.
2020-03-27 20:10:09 +01:00
Michael Fabian 'Xaymar' Dirks 67016ccd95 plugin: Version 0.8.0a3
* Updated libOBS to v25.0.1
* Fixed a freeze exclusive to v25.x with Source Mirror.
* Fixed audio mirroring only working on every 2nd configuration update with Source Mirror.
* Fixed audio being mirrored out of order on highly parallel systems (>4 Threads).
* Fixed discoloration of sources in 3D Transform.
* Fixed ffmpeg encoder not falling back to software if scaling is detected.
2020-03-21 09:23:54 +01:00
Michael Fabian 'Xaymar' Dirks 8f4313d8e8 cmake: Actually support delay loading on Windows 2020-03-20 23:39:21 +01:00
Michael Fabian 'Xaymar' Dirks 6d3c540349 cmake: Upgrade to OBS v25.0.1 2020-03-20 23:24:25 +01:00
Michael Fabian 'Xaymar' Dirks 6f2b50b0ad cmake: Redesign for future features 2020-03-20 23:09:46 +01:00
Brandon Edens 2dbed865bd
cmake: Fix file name for case-sensitive filesystem (#112)
Fixes #107 

Co-authored-by: Brandon Edens <bedens@fitbit.com>
2020-03-17 18:45:38 +01:00
Michael Fabian 'Xaymar' Dirks f79846aa3b plugin: Version 0.8.0a2 2020-03-07 02:03:25 +01:00
Michael Fabian 'Xaymar' Dirks 08024049c2 util-threadpool: Implement global thread pool
This thread pool can take large or small tasks and as such alleviates the burden of having a thread per source. Particularly for large setups, this drastically reduces the number of threads running in the background waiting for work.
2020-03-03 01:52:54 +01:00
Michael Fabian 'Xaymar' Dirks 326fa68d9f obs-signal-handler: Helper classes for signals and audio 2020-02-14 07:30:46 +01:00
Michael Fabian 'Xaymar' Dirks 03930b6b42 cmake: Don't add custom target for in-obs builds 2020-02-13 10:33:46 +01:00
Michael Fabian 'Xaymar' Dirks 20d5eef32e cmake: Replace modified RelWithDebInfo with Speed 2020-02-13 10:11:33 +01:00
Michael Fabian 'Xaymar' Dirks 13316c4810 ci, cmake: Fix build failure and optimize for speed 2020-02-13 09:34:34 +01:00
Michael Fabian 'Xaymar' Dirks 7821bc1ab3 cmake: Don't enforce Clang submodule requirement 2020-02-13 05:21:06 +01:00
Michael Fabian 'Xaymar' Dirks 45a117c1d0 cmake: Fix clang integration 2020-02-13 05:13:45 +01:00
Michael Fabian 'Xaymar' Dirks c6a1edf46f util-event: Fix and cleanup 2020-02-13 05:09:14 +01:00
Michael Fabian 'Xaymar' Dirks cbb6c4f785 cmake: Use shared submodule for Clang integration 2020-01-22 11:12:34 +01:00
Michael Fabian 'Xaymar' Dirks a627054e2f cmake: Fix windows support 2020-01-14 09:13:27 +01:00
Michael Fabian 'Xaymar' Dirks 844379f761 cmake: Additional optimization options 2020-01-14 01:39:04 +01:00
Michael Fabian 'Xaymar' Dirks ebc50dcefe utility: Merge util-math and util-memory 2020-01-14 01:11:08 +01:00
Michael Fabian 'Xaymar' Dirks 52f789436d cmake: Fix native obs-studio builds 2020-01-14 00:41:09 +01:00
Michael Fabian 'Xaymar' Dirks 0a16ce07dc project: Merged FFmpeg Encoders Step 2 2020-01-13 22:40:15 +01:00
Michael Fabian 'Xaymar' Dirks 3eea289679 project: Merged FFmpeg Encoders Step 1 2020-01-13 01:52:30 +01:00
Michael Fabian 'Xaymar' Dirks 3018c9b9ea project: Version 0.8.0a1 2019-12-22 08:31:00 +01:00
Michael Fabian 'Xaymar' Dirks 8c3979a3c2 cmake: Add support for version suffixes 2019-12-22 08:28:32 +01:00
Michael Fabian 'Xaymar' Dirks a99030f5c0 ci: Build Installers and rename to StreamFX 2019-12-22 07:55:13 +01:00
Michael Fabian 'Xaymar' Dirks 1482cb1d11 cmake: Add clang-format support
This does not rely on the "integrated" clang-format, but instead uses a custom target to achieve the goal. Supports file filtering (to ensure that clang-format only affects supported files), automatic dependency by the project (always run before build), multiple targets and a global target.

Options are:
- TARGETS <target> ...: Targets to add clang-format support to.
- DEPENDENCY: Add a dependency to the given targets so that clang-format runs before building.
- REGEX: Filter out files of the given targets, defaults to '\.(h|hpp|c|cpp)'.
- GLOBAL: Add a global CLANG_FORMAT target.
2019-12-21 17:05:53 +01:00
Michael Fabian 'Xaymar' Dirks e6220b18f6 project: Temporarily disable Custom Shader filters 2019-12-18 06:39:07 +01:00
Michael Fabian 'Xaymar' Dirks 50ac6893bf gs-effect-parameter: Refactor effect_parameter onto std::shared_ptr
Prevents problems further down the line and supports multiple types of parents to ensure that lifetime is guaranteed.
2019-12-15 10:35:29 +01:00
Michael Fabian 'Xaymar' Dirks 0ad896e905 gfx-shader: Rename from gfx-effect-source 2019-12-15 09:09:11 +01:00
Michael Fabian 'Xaymar' Dirks 738b08de36 gs-effect-pass/technique: Implement wrapper code based on std::shared_ptr
These two wrap the underlying gs_epass and gs_effect_technique objects, to allow direct and improved access to them without relying on the libobs API to provide this access for us. Additionally these make it safe for us to use them instead of relying on C-like code to deal with it.
2019-12-15 09:05:23 +01:00
Michael Fabian 'Xaymar' Dirks 0b14b65ba8 cmake: Add deprecation warning to 32-bit builds 2019-12-03 17:45:37 +01:00
Michael Fabian 'Xaymar' Dirks aa170c7c54 data: Move example data into examples/ 2019-11-18 03:03:11 +01:00
Michael Fabian 'Xaymar' Dirks d47ab0570f obs-source-factory: Barebone Source Factory and Instance
This class and template should be used to reduce the code clutter from repeatedly doing the same thing. It requires OBS v24.0 or newer since the get_properties2 and get_defaults2 API were fully implemented with it.
2019-10-18 22:31:52 +02:00
Michael Fabian 'Xaymar' Dirks 5e50d64b8f cmake: Disable Spectre warnings 2019-10-13 06:16:46 +02:00
Michael Fabian 'Xaymar' Dirks 2ba8e9a994 cmake: Reformat 2019-10-13 05:42:54 +02:00
Michael Fabian 'Xaymar' Dirks 66cc3c9926 cmake: Don't warn about not explicitly handled cases in MSVC 2019-09-05 18:10:22 +02:00
Michael Fabian 'Xaymar' Dirks 4ab609015c cmake: Ignore more noise warnings in MSVC 2019-09-04 20:31:18 +02:00
Michael Fabian 'Xaymar' Dirks 5b5a2cd409 cmake: Don't override diagnostics mode in MSVC
This breaks MSVC somehow.
2019-09-04 04:02:58 +02:00
Michael Fabian 'Xaymar' Dirks c6f75930af cmake: Disable even more MSVC warnings 2019-09-04 03:55:15 +02:00
Michael Fabian 'Xaymar' Dirks 56ee81e2a4 cmake: Disable additional MSVC warnings 2019-09-04 03:47:53 +02:00
Michael Fabian 'Xaymar' Dirks b3eaa6c43e cmake: Disable warning 4201 and 4514 in MSVC 2019-09-04 03:43:43 +02:00
Michael Fabian 'Xaymar' Dirks b63796d3ae cmake: Revert previous commit 2019-09-04 03:32:18 +02:00
Michael Fabian 'Xaymar' Dirks d9e2fbe5c1 cmake: Set Warnings and standard before project call 2019-09-04 03:23:00 +02:00
Michael Fabian 'Xaymar' Dirks 2b35328fcb project: Support for OBS v24.0.0-rc2 2019-09-03 21:26:10 +02:00
Michael Fabian 'Xaymar' Dirks 8beaf49d10 cmake: Update libobs to 24.0.0-rc1 2019-08-24 06:47:03 +02:00
Michael Fabian 'Xaymar' Dirks 8cb2ddaa82 source-shader, cmake: 'Shader' source 2019-08-07 18:06:48 +02:00
Michael Fabian 'Xaymar' Dirks 6bf99ed52b cmake: Enable extended aligned storage to fix SSE/AVX compatibility 2019-08-07 12:42:01 +02:00
Michael Fabian 'Xaymar' Dirks d0b39186ea cmake: Fix upgraded URL 2019-08-02 23:58:00 +02:00