From ac8844b305a9f5db2e647c4991d5caaf7dbf706c Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Tue, 31 Mar 2020 22:34:22 +0200 Subject: [PATCH] gfx-shader: Add defaults --- source/filters/filter-shader.cpp | 4 +++- source/gfx/shader/gfx-shader.cpp | 8 ++++++++ source/gfx/shader/gfx-shader.hpp | 2 ++ source/sources/source-shader.cpp | 5 ++++- source/transitions/transition-shader.cpp | 5 ++++- 5 files changed, 21 insertions(+), 3 deletions(-) diff --git a/source/filters/filter-shader.cpp b/source/filters/filter-shader.cpp index 92ee31a..f743092 100644 --- a/source/filters/filter-shader.cpp +++ b/source/filters/filter-shader.cpp @@ -139,7 +139,9 @@ const char* filter::shader::shader_factory::get_name() return D_TRANSLATE(ST); } -void filter::shader::shader_factory::get_defaults2(obs_data_t* data) {} +void filter::shader::shader_factory::get_defaults2(obs_data_t* data) { + gfx::shader::shader::defaults(data); +} obs_properties_t* filter::shader::shader_factory::get_properties2(shader::shader_instance* data) { diff --git a/source/gfx/shader/gfx-shader.cpp b/source/gfx/shader/gfx-shader.cpp index 08716e2..a8f6a39 100644 --- a/source/gfx/shader/gfx-shader.cpp +++ b/source/gfx/shader/gfx-shader.cpp @@ -171,6 +171,14 @@ try { return false; } +void gfx::shader::shader::defaults(obs_data_t* data) +{ + obs_data_set_default_string(data, ST_SHADER_FILE, ""); + obs_data_set_default_string(data, ST_SHADER_TECHNIQUE, ""); + obs_data_set_default_string(data, ST_SHADER_SIZE_WIDTH, "100.0 %"); + obs_data_set_default_string(data, ST_SHADER_SIZE_HEIGHT, "100.0 %"); +} + void gfx::shader::shader::properties(obs_properties_t* pr) { _have_current_params = false; diff --git a/source/gfx/shader/gfx-shader.hpp b/source/gfx/shader/gfx-shader.hpp index 7b714a4..117cedf 100644 --- a/source/gfx/shader/gfx-shader.hpp +++ b/source/gfx/shader/gfx-shader.hpp @@ -93,6 +93,8 @@ namespace gfx { bool load_shader(const std::filesystem::path& file, const std::string& tech, bool& shader_dirty, bool& param_dirty); + static void defaults(obs_data_t* data); + void properties(obs_properties_t* props); bool on_properties_modified(obs_properties_t* props, obs_property_t* prop, obs_data_t* data); diff --git a/source/sources/source-shader.cpp b/source/sources/source-shader.cpp index 8f81c34..2c50c15 100644 --- a/source/sources/source-shader.cpp +++ b/source/sources/source-shader.cpp @@ -106,7 +106,10 @@ const char* shader::shader_factory::get_name() return D_TRANSLATE(ST); } -void shader::shader_factory::get_defaults2(obs_data_t* data) {} +void shader::shader_factory::get_defaults2(obs_data_t* data) +{ + gfx::shader::shader::defaults(data); +} obs_properties_t* shader::shader_factory::get_properties2(shader::shader_instance* data) { diff --git a/source/transitions/transition-shader.cpp b/source/transitions/transition-shader.cpp index c3d896e..eb6f10f 100644 --- a/source/transitions/transition-shader.cpp +++ b/source/transitions/transition-shader.cpp @@ -126,7 +126,10 @@ const char* transition::shader::shader_factory::get_name() return D_TRANSLATE(ST); } -void transition::shader::shader_factory::get_defaults2(obs_data_t* data) {} +void transition::shader::shader_factory::get_defaults2(obs_data_t* data) +{ + gfx::shader::shader::defaults(data); +} obs_properties_t* transition::shader::shader_factory::get_properties2(shader::shader_instance* data) {