Michael Fabian 'Xaymar' Dirks
1ff6c0cf41
obs-tools: Add work around for property memory corruption
...
The current implementation of obs_properties_remove_by_name corrupts the obs_properties_t object whenever it is called on the first or last property in the list. This leads to rapid unscheduled disassembly, and therefore must be fixed in order for this function to be used.
Fixed by upstream PR https://github.com/obsproject/obs-studio/pull/2257 .
2019-12-22 06:07:07 +01:00
Michael Fabian 'Xaymar' Dirks
0bf4a3ff01
examples: Improve plasma effect settings
2019-12-21 19:09:42 +01:00
Michael Fabian 'Xaymar' Dirks
9ef60cc2f9
gfx-shader: Add support for validating file differences
...
Removes the stutter when re-opening the properties dialog which was caused by recompiling the same exact shader every time this happened. Also paves the way for simple file watching.
2019-12-21 18:23:26 +01:00
Michael Fabian 'Xaymar' Dirks
2faa68f9be
gs-effect: Pass unmodified parameters as const reference
2019-12-21 18:20:36 +01:00
Michael Fabian 'Xaymar' Dirks
1d9a4ddbf5
gs-helper: Fix nonstandard usage of va_start
2019-12-21 18:07:08 +01:00
Michael Fabian 'Xaymar' Dirks
624bdda6a3
gs-texture: Reduce context lock time and improve code
2019-12-21 18:06:17 +01:00
Michael Fabian 'Xaymar' Dirks
aa59806322
gs-effect: Fix warning
2019-12-21 18:05:54 +01:00
Michael Fabian 'Xaymar' Dirks
e5fb68d2c1
utility: Add any and exact matching for enum class bitmasks
2019-12-21 18:05:32 +01:00
Michael Fabian 'Xaymar' Dirks
cbada3e438
obs-source: Deprecate obs::source due to stability issues
...
This should be replaced with a class inheriting from std::shared_ptr.
2019-12-21 17:43:12 +01:00
Michael Fabian 'Xaymar' Dirks
6ce6ffe5bd
cmake: Only warn if clang-format can't be found
2019-12-21 17:35:53 +01:00
Michael Fabian 'Xaymar' Dirks
7e5cbe18cf
project: Apply clang-format
2019-12-21 17:05:53 +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
1f0c595a0a
obs-source-factory: Add missing include
2019-12-21 17:05:49 +01:00
Michael Fabian Dirks
68d3146cb8
locale: New Crowdin translations ( #93 )
2019-12-21 05:02:46 +01:00
Michael Fabian 'Xaymar' Dirks
3f5adab815
examples: New example source shaders
2019-12-18 07:50:49 +01:00
Michael Fabian 'Xaymar' Dirks
d13778b017
gfx-shader: Fix some crash/problematic locations
2019-12-18 07:49:56 +01:00
Michael Fabian 'Xaymar' Dirks
24edee795a
gfx-shader-param: FIXME Don't create parameters for invisible
2019-12-18 07:49:43 +01:00
Michael Fabian 'Xaymar' Dirks
de473f0c2e
gfx-shader-param-basic: Fix incorrect float properties
2019-12-18 07:49:19 +01:00
Michael Fabian Dirks
43f0aad930
locale: New Crowdin translations ( #91 )
2019-12-18 06:49:13 +01:00
Michael Fabian 'Xaymar' Dirks
4a38fc4ffb
ci: Remove AppVeyor and add support for full packaging
2019-12-18 06:46:36 +01:00
Michael Fabian 'Xaymar' Dirks
b7f76f5e01
locale: New translatable strings
2019-12-18 06:39:08 +01:00
Michael Fabian 'Xaymar' Dirks
47dba25052
source-shader: Update to new gfx::shader::shader
2019-12-18 06:39:08 +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
f1b9a1a712
gfx-shader: Initial code
2019-12-18 06:39:07 +01:00
Michael Fabian 'Xaymar' Dirks
0a761b97a2
gfx-shader-param*: Initial code
2019-12-18 06:39:07 +01:00
Michael Fabian 'Xaymar' Dirks
f49f3a30b6
filter-displacement: Fix typo
2019-12-18 06:39:07 +01:00
Michael Fabian 'Xaymar' Dirks
3b66860a8f
gfx-blur-gaussian*: Update to new API
2019-12-18 06:39:07 +01:00
Michael Fabian 'Xaymar' Dirks
c0f131642b
gs-effect-parameter: Improve API and fix incorrect functions
2019-12-18 06:39:06 +01:00
Michael Fabian 'Xaymar' Dirks
cd82e2cac7
gs-effect-pass: Implement parameter getter and fix possible crash
2019-12-18 06:39:06 +01:00
Michael Fabian 'Xaymar' Dirks
570b70479f
gs-effect-technique: Fix possible crash
2019-12-18 06:39:06 +01:00
Michael Fabian Dirks
c420cee951
locale: New Crowdin translations ( #89 )
2019-12-18 03:46:33 +01:00
Michael Fabian 'Xaymar' Dirks
47dc948861
gfx-blur-gaussian: Remove left over obs_enter_graphics ( #83 )
...
This single line causes OBS to freeze in place, and is not needed as the Graphics Context is already locked by gs::context().
Fixes #83
2019-12-17 23:53:21 +01:00
Michael Fabian 'Xaymar' Dirks
16347beb87
filter-*, source-*: Fix rendering of filters and duplication of sources
2019-12-17 23:52:10 +01:00
Michael Fabian 'Xaymar' Dirks
1c7fd1495c
source-mirror: Fix potential lockup and rescaling with original size
...
Getting the resolution of a source is very expensive in libOBS, as libOBS does not cache it and instead always calls into the filters and sources to determine the actual source. This also leads to potential lockups due to the filter list mutex being locked for the target source.
Therefore instead of calling it multiple times, cache the result of the call, if that result is even necessary. This reduces the need to synchronize lightly parallelized work (UI and libOBS code) and helps against the potential race condition in libOBS.
2019-12-16 23:53:20 +01:00
Michael Fabian 'Xaymar' Dirks
01f23e17fe
gs-effect: Also override finalizer for the stored ptr
2019-12-16 23:07:49 +01:00
Michael Fabian 'Xaymar' Dirks
e7b46063aa
gs-effect: Fix typo from refactor
2019-12-16 22:53:25 +01:00
Michael Fabian 'Xaymar' Dirks
b54e95527a
gs-effect*: Finish up refactoring onto std::shared_ptr
...
This is most likely not the last refactor, the entire obs/gs stuff is very very basic right now and likely needs a complete rewrite.
2019-12-15 12:55:19 +01:00
Michael Fabian 'Xaymar' Dirks
11a2329519
gs-effect: Refactor onto std::shared_ptr
2019-12-15 11:13:47 +01:00
Michael Fabian 'Xaymar' Dirks
1f25b56579
gs-effect-technique: Return nullptr instead of throwing exception
2019-12-15 10:37:57 +01:00
Michael Fabian 'Xaymar' Dirks
ef76e353d3
gs-effect-pass/technique: Change to protected inheritance
...
Prevents the use of get() and reset() where not actually needed and forces us to actually implement all of the methods needed to interface with the object, leading to cleaner and safer code.
2019-12-15 10:37:41 +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
d53e9eeadf
filter-sdf-effects: Restore compatibility with 24.0.3 and earlier
2019-12-14 21:33:32 +01:00
Michael Fabian 'Xaymar' Dirks
01895c1ccc
filter-dynamic-mask: Restore compatibility with 24.0.3 and earlier
2019-12-14 21:33:25 +01:00
Michael Fabian 'Xaymar' Dirks
af78c177ad
filter-displacement: Restore compatibility with 24.0.3 and earlier
2019-12-14 21:33:16 +01:00
Michael Fabian 'Xaymar' Dirks
a24e0d2c10
filter-blur: Restore compatibility with 24.0.3 and earlier
2019-12-14 21:33:06 +01:00
Michael Fabian 'Xaymar' Dirks
d8e1c7c779
filter-transform: Restore compatibility with 24.0.3 and earlier
2019-12-14 21:32:48 +01:00
Michael Fabian 'Xaymar' Dirks
b311d79e50
source-mirror: Remove OBS_SOURCE_CUSTOM_DRAW
2019-12-14 02:37:04 +01:00
Michael Fabian 'Xaymar' Dirks
66abaac67b
filter-color-grade: Refactor onto obs::source_factory
...
Related: #90
2019-12-14 02:34:48 +01:00