mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
requests(sources): add GetSourceFilterInfo method
This commit is contained in:
parent
b8fcf0355c
commit
897f115363
@ -95,6 +95,7 @@ QHash<QString, HandlerResponse(*)(WSRequestHandler*)> WSRequestHandler::messageM
|
||||
{ "TakeSourceScreenshot", WSRequestHandler::HandleTakeSourceScreenshot },
|
||||
|
||||
{ "GetSourceFilters", WSRequestHandler::HandleGetSourceFilters },
|
||||
{ "GetSourceFilterInfo", WSRequestHandler::HandleGetSourceFilterInfo },
|
||||
{ "AddFilterToSource", WSRequestHandler::HandleAddFilterToSource },
|
||||
{ "RemoveFilterFromSource", WSRequestHandler::HandleRemoveFilterFromSource },
|
||||
{ "ReorderSourceFilter", WSRequestHandler::HandleReorderSourceFilter },
|
||||
|
@ -139,6 +139,7 @@ class WSRequestHandler : public QObject {
|
||||
static HandlerResponse HandleTakeSourceScreenshot(WSRequestHandler* req);
|
||||
|
||||
static HandlerResponse HandleGetSourceFilters(WSRequestHandler* req);
|
||||
static HandlerResponse HandleGetSourceFilterInfo(WSRequestHandler* req);
|
||||
static HandlerResponse HandleAddFilterToSource(WSRequestHandler* req);
|
||||
static HandlerResponse HandleRemoveFilterFromSource(WSRequestHandler* req);
|
||||
static HandlerResponse HandleReorderSourceFilter(WSRequestHandler* req);
|
||||
|
@ -1090,6 +1090,44 @@ HandlerResponse WSRequestHandler::HandleGetSourceFilters(WSRequestHandler* req)
|
||||
return req->SendOKResponse(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* List filters applied to a source
|
||||
*
|
||||
* @param {String} `sourceName` Source name
|
||||
* @param {String} `filterName` Source filter name
|
||||
*
|
||||
* @return {Boolean} `enabled` Filter status (enabled or not)
|
||||
* @return {String} `type` Filter type
|
||||
* @return {String} `name` Filter name
|
||||
* @return {Object} `settings` Filter settings
|
||||
*
|
||||
* @api requests
|
||||
* @name GetSourceFilterInfo
|
||||
* @category sources
|
||||
* @since 4.7.0
|
||||
*/
|
||||
HandlerResponse WSRequestHandler::HandleGetSourceFilterInfo(WSRequestHandler* req)
|
||||
{
|
||||
if (!req->hasField("sourceName") || !req->hasField("filterName")) {
|
||||
return req->SendErrorResponse("missing request parameters");
|
||||
}
|
||||
|
||||
const char* sourceName = obs_data_get_string(req->data, "sourceName");
|
||||
OBSSourceAutoRelease source = obs_get_source_by_name(sourceName);
|
||||
if (!source) {
|
||||
return req->SendErrorResponse("specified source doesn't exist");
|
||||
}
|
||||
|
||||
const char* filterName = obs_data_get_string(req->data, "filterName");
|
||||
OBSSourceAutoRelease filter = obs_source_get_filter_by_name(source, "filterName");
|
||||
if (!filter) {
|
||||
return req->SendErrorResponse("specified filter doesn't exist on specified source");
|
||||
}
|
||||
|
||||
OBSDataAutoRelease response = Utils::GetSourceFilterInfo(filter, true);
|
||||
return req->SendOKResponse(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new filter to a source. Available source types along with their settings properties are available from `GetSourceTypesList`.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user