mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
requests(GetSourceFilters): add "enabled" status field
This commit is contained in:
@ -735,6 +735,18 @@ obs_data_t* Utils::GetSceneItemPropertiesData(obs_sceneitem_t* sceneItem) {
|
||||
return data;
|
||||
}
|
||||
|
||||
obs_data_t* Utils::GetSourceFilterInfo(obs_source_t* filter, bool includeSettings)
|
||||
{
|
||||
obs_data_t* data = obs_data_create();
|
||||
obs_data_set_bool(data, "enabled", obs_source_enabled(filter));
|
||||
obs_data_set_string(data, "type", obs_source_get_id(filter));
|
||||
obs_data_set_string(data, "name", obs_source_get_name(filter));
|
||||
if (includeSettings) {
|
||||
obs_data_set_obj(data, "settings", obs_source_get_settings(filter));
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
obs_data_array_t* Utils::GetSourceFiltersList(obs_source_t* source, bool includeSettings)
|
||||
{
|
||||
struct enum_params {
|
||||
@ -755,13 +767,8 @@ obs_data_array_t* Utils::GetSourceFiltersList(obs_source_t* source, bool include
|
||||
{
|
||||
auto enumParams = reinterpret_cast<struct enum_params*>(param);
|
||||
|
||||
OBSDataAutoRelease filter = obs_data_create();
|
||||
obs_data_set_string(filter, "type", obs_source_get_id(child));
|
||||
obs_data_set_string(filter, "name", obs_source_get_name(child));
|
||||
if (enumParams->includeSettings) {
|
||||
obs_data_set_obj(filter, "settings", obs_source_get_settings(child));
|
||||
}
|
||||
obs_data_array_push_back(enumParams->filters, filter);
|
||||
OBSDataAutoRelease filterData = Utils::GetSourceFilterInfo(child, enumParams->includeSettings);
|
||||
obs_data_array_push_back(enumParams->filters, filterData);
|
||||
}, &enumParams);
|
||||
|
||||
return enumParams.filters;
|
||||
|
@ -48,6 +48,7 @@ class Utils {
|
||||
static obs_scene_t* GetSceneFromNameOrCurrent(QString sceneName);
|
||||
static obs_data_t* GetSceneItemPropertiesData(obs_sceneitem_t* item);
|
||||
|
||||
static obs_data_t* GetSourceFilterInfo(obs_source_t* filter, bool includeSettings);
|
||||
static obs_data_array_t* GetSourceFiltersList(obs_source_t* source, bool includeSettings);
|
||||
|
||||
static bool IsValidAlignment(const uint32_t alignment);
|
||||
|
@ -1061,6 +1061,7 @@ HandlerResponse WSRequestHandler::HandleGetSpecialSources(WSRequestHandler* req)
|
||||
* @param {String} `sourceName` Source name
|
||||
*
|
||||
* @return {Array<Object>} `filters` List of filters for the specified source
|
||||
* @return {Boolean} `filters.*.enabled` Filter status (enabled or not)
|
||||
* @return {String} `filters.*.type` Filter type
|
||||
* @return {String} `filters.*.name` Filter name
|
||||
* @return {Object} `filters.*.settings` Filter settings
|
||||
|
Reference in New Issue
Block a user