From 59f0ba0c8aeff1404514d7d30b86c99af5502ade Mon Sep 17 00:00:00 2001 From: jp9000 Date: Wed, 28 Oct 2015 12:38:47 -0700 Subject: [PATCH] libobs: Add load/save signals for sources These signals are meant to replace the add/remove signals. --- libobs/obs-source.c | 17 +++++++++++------ libobs/obs.c | 2 ++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/libobs/obs-source.c b/libobs/obs-source.c index 40f080744..5be90e427 100644 --- a/libobs/obs-source.c +++ b/libobs/obs-source.c @@ -74,6 +74,8 @@ static const char *source_signals[] = { "void destroy(ptr source)", "void add(ptr source)", "void remove(ptr source)", + "void save(ptr source)", + "void load(ptr source)", "void activate(ptr source)", "void deactivate(ptr source)", "void show(ptr source)", @@ -2711,20 +2713,23 @@ void obs_source_save(obs_source_t *source) { if (!data_valid(source, "obs_source_save")) return; - if (!source->info.save) - return; - source->info.save(source->context.data, source->context.settings); + obs_source_dosignal(source, "source_save", "save"); + + if (source->info.save) + source->info.save(source->context.data, + source->context.settings); } void obs_source_load(obs_source_t *source) { if (!data_valid(source, "obs_source_load")) return; - if (!source->info.load) - return; + if (source->info.load) + source->info.load(source->context.data, + source->context.settings); - source->info.load(source->context.data, source->context.settings); + obs_source_dosignal(source, "source_load", "load"); } bool obs_source_active(const obs_source_t *source) diff --git a/libobs/obs.c b/libobs/obs.c index 8753793e8..106e9ec05 100644 --- a/libobs/obs.c +++ b/libobs/obs.c @@ -574,6 +574,8 @@ static const char *obs_signals[] = { "void source_destroy(ptr source)", "void source_add(ptr source)", "void source_remove(ptr source)", + "void source_save(ptr source)", + "void source_load(ptr source)", "void source_activate(ptr source)", "void source_deactivate(ptr source)", "void source_show(ptr source)",