Fixes and Minor rework (#132)

* Fix warning in scene trigger log functions.
* Use GetWeakSourceName() when saving scene trigger sources.
* Fix prioFuncsValid().
This commit is contained in:
WarmUpTill 2021-02-26 19:21:02 +01:00 committed by GitHub
parent 33667a1f23
commit ee74d39424
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 15 deletions

View File

@ -187,7 +187,7 @@ void frontEndActionThread(sceneTriggerAction action, double delay)
break;
default:
blog(LOG_WARNING, "ignoring unexpected frontend action '%d'",
action);
static_cast<int>(action));
break;
}
}
@ -255,7 +255,8 @@ void SceneTrigger::performAction()
bool stop = triggerAction == sceneTriggerAction::STOP_SWITCHER;
t = std::thread(statusThread, duration, stop);
} else {
blog(LOG_WARNING, "ignoring unkown action '%d'", triggerAction);
blog(LOG_WARNING, "ignoring unkown action '%d'",
static_cast<int>(triggerAction));
}
t.detach();
@ -439,19 +440,12 @@ void AdvSceneSwitcher::setupTriggerTab()
void SceneTrigger::save(obs_data_t *obj)
{
obs_source_t *sceneSource = obs_weak_source_get_source(scene);
const char *sceneName = obs_source_get_name(sceneSource);
obs_data_set_string(obj, "scene", sceneName);
obs_source_release(sceneSource);
obs_data_set_string(obj, "scene", GetWeakSourceName(scene).c_str());
obs_data_set_int(obj, "triggerType", static_cast<int>(triggerType));
obs_data_set_int(obj, "triggerAction", static_cast<int>(triggerAction));
obs_data_set_double(obj, "duration", duration);
obs_source_t *source = obs_weak_source_get_source(audioSource);
const char *audioSourceName = obs_source_get_name(source);
obs_data_set_string(obj, "audioSource", audioSourceName);
obs_source_release(source);
obs_data_set_string(obj, "audioSource",
GetWeakSourceName(audioSource).c_str());
}
void SceneTrigger::load(obs_data_t *obj)

View File

@ -55,9 +55,12 @@ void AdvSceneSwitcher::on_priorityDown_clicked()
bool SwitcherData::prioFuncsValid()
{
auto it = std::unique(functionNamesByPriority.begin(),
functionNamesByPriority.end());
bool wasUnique = (it == functionNamesByPriority.end());
auto fNBPCopy = functionNamesByPriority;
std::sort(fNBPCopy.begin(), fNBPCopy.end());
auto it = std::unique(fNBPCopy.begin(), fNBPCopy.end());
bool wasUnique = (it == fNBPCopy.end());
if (!wasUnique) {
return false;
}