diff --git a/src/eventhandler/EventHandler.cpp b/src/eventhandler/EventHandler.cpp index 211fd750..07638dc0 100644 --- a/src/eventhandler/EventHandler.cpp +++ b/src/eventhandler/EventHandler.cpp @@ -135,12 +135,12 @@ void EventHandler::ConnectSourceSignals(obs_source_t *source) // Applies to inpu signal_handler_connect(sh, "mute", HandleInputMuteStateChanged, this); signal_handler_connect(sh, "volume", HandleInputVolumeChanged, this); signal_handler_connect(sh, "audio_balance", HandleInputAudioBalanceChanged, this); - signal_handler_connect(sh, "audio_sync", HandleInputAudioSyncOffsetChanged, this); - signal_handler_connect(sh, "audio_mixers", HandleInputAudioTracksChanged, this); - signal_handler_connect(sh, "audio_monitoring", HandleInputAudioMonitorTypeChanged, this); - signal_handler_connect(sh, "filter_add", HandleSourceFilterCreated, this); - signal_handler_connect(sh, "filter_remove", HandleSourceFilterRemoved, this); - signal_handler_connect(sh, "reorder_filters", HandleSourceFilterListReindexed, this); + signal_handler_connect(sh, "audio_sync", HandleInputAudioSyncOffsetChanged, this); + signal_handler_connect(sh, "audio_mixers", HandleInputAudioTracksChanged, this); + signal_handler_connect(sh, "audio_monitoring", HandleInputAudioMonitorTypeChanged, this); + signal_handler_connect(sh, "filter_add", HandleSourceFilterCreated, this); + signal_handler_connect(sh, "filter_remove", HandleSourceFilterRemoved, this); + signal_handler_connect(sh, "reorder_filters", HandleSourceFilterListReindexed, this); if (sourceType == OBS_SOURCE_TYPE_INPUT) { signal_handler_connect(sh, "media_started", HandleMediaInputPlaybackStarted, this); @@ -191,9 +191,9 @@ void EventHandler::DisconnectSourceSignals(obs_source_t *source) signal_handler_disconnect(sh, "media_stopped", SourceMediaStopMultiHandler, this); signal_handler_disconnect(sh, "media_next", SourceMediaNextMultiHandler, this); signal_handler_disconnect(sh, "media_previous", SourceMediaPreviousMultiHandler, this); - signal_handler_disconnect(sh, "filter_add", HandleSourceFilterCreated, this); - signal_handler_disconnect(sh, "filter_remove", HandleSourceFilterRemoved, this); - signal_handler_disconnect(sh, "reorder_filters", HandleSourceFilterListReindexed, this); + signal_handler_disconnect(sh, "filter_add", HandleSourceFilterCreated, this); + signal_handler_disconnect(sh, "filter_remove", HandleSourceFilterRemoved, this); + signal_handler_disconnect(sh, "reorder_filters", HandleSourceFilterListReindexed, this); // Scenes signal_handler_disconnect(sh, "item_add", HandleSceneItemCreated, this); @@ -207,26 +207,26 @@ void EventHandler::DisconnectSourceSignals(obs_source_t *source) void EventHandler::ConnectFilterSignals(obs_source_t *filter) { - if (!filter || obs_source_removed(filter)) - return; + if (!filter || obs_source_removed(filter)) + return; - DisconnectFilterSignals(filter); + DisconnectFilterSignals(filter); - signal_handler_t* sh = obs_source_get_signal_handler(filter); + signal_handler_t* sh = obs_source_get_signal_handler(filter); - signal_handler_connect(sh, "enable", HandleSourceFilterEnableStateChanged, this); - signal_handler_connect(sh, "rename", HandleSourceFilterNameChanged, this); + signal_handler_connect(sh, "enable", HandleSourceFilterEnableStateChanged, this); + signal_handler_connect(sh, "rename", HandleSourceFilterNameChanged, this); } void EventHandler::DisconnectFilterSignals(obs_source_t *filter) { - if (!filter) - return; + if (!filter) + return; - signal_handler_t* sh = obs_source_get_signal_handler(filter); + signal_handler_t* sh = obs_source_get_signal_handler(filter); - signal_handler_disconnect(sh, "enable", HandleSourceFilterEnableStateChanged, this); - signal_handler_disconnect(sh, "rename", HandleSourceFilterNameChanged, this); + signal_handler_disconnect(sh, "enable", HandleSourceFilterEnableStateChanged, this); + signal_handler_disconnect(sh, "rename", HandleSourceFilterNameChanged, this); } void EventHandler::OnFrontendEvent(enum obs_frontend_event event, void *private_data) diff --git a/src/eventhandler/EventHandler.h b/src/eventhandler/EventHandler.h index 3f71caff..00ac4410 100644 --- a/src/eventhandler/EventHandler.h +++ b/src/eventhandler/EventHandler.h @@ -141,9 +141,9 @@ class EventHandler void HandleMediaInputActionTriggered(obs_source_t *source, ObsMediaInputAction action); // Filters - static void HandleSourceFilterNameChanged(void *param, calldata_t *data); // Direct callback - static void HandleSourceFilterCreated(void *param, calldata_t *data); // Direct callback - static void HandleSourceFilterRemoved(void *param, calldata_t *data); // Direct callback - static void HandleSourceFilterListReindexed(void *param, calldata_t *data); // Direct callback - static void HandleSourceFilterEnableStateChanged(void *param, calldata_t *data); // Direct callback + static void HandleSourceFilterNameChanged(void *param, calldata_t *data); // Direct callback + static void HandleSourceFilterCreated(void *param, calldata_t *data); // Direct callback + static void HandleSourceFilterRemoved(void *param, calldata_t *data); // Direct callback + static void HandleSourceFilterListReindexed(void *param, calldata_t *data); // Direct callback + static void HandleSourceFilterEnableStateChanged(void *param, calldata_t *data); // Direct callback }; diff --git a/src/eventhandler/EventHandler_Filters.cpp b/src/eventhandler/EventHandler_Filters.cpp index 308b81b8..a66d5035 100644 --- a/src/eventhandler/EventHandler_Filters.cpp +++ b/src/eventhandler/EventHandler_Filters.cpp @@ -39,28 +39,28 @@ with this program. If not, see */ void EventHandler::HandleSourceFilterCreated(void *param, calldata_t *data) { - auto eventHandler = static_cast(param); + auto eventHandler = static_cast(param); - obs_source_t *source = GetCalldataPointer(data, "source"); - obs_source_t *filter = GetCalldataPointer(data, "filter"); + obs_source_t *source = GetCalldataPointer(data, "source"); + obs_source_t *filter = GetCalldataPointer(data, "filter"); - if (!(source && filter)) - return; + if (!(source && filter)) + return; - eventHandler->ConnectFilterSignals(filter); + eventHandler->ConnectFilterSignals(filter); - std::string filterKind = obs_source_get_id(filter); - OBSDataAutoRelease filterSettings = obs_source_get_settings(filter); - OBSDataAutoRelease defaultFilterSettings = obs_get_source_defaults(filterKind.c_str()); + std::string filterKind = obs_source_get_id(filter); + OBSDataAutoRelease filterSettings = obs_source_get_settings(filter); + OBSDataAutoRelease defaultFilterSettings = obs_get_source_defaults(filterKind.c_str()); - json eventData; - eventData["sourceName"] = obs_source_get_name(source); - eventData["filterName"] = obs_source_get_name(filter); - eventData["filterKind"] = filterKind; - eventData["filterIndex"] = Utils::Obs::NumberHelper::GetSourceFilterIndex(source, filter); - eventData["filterSettings"] = Utils::Json::ObsDataToJson(filterSettings); - eventData["defaultFilterSettings"] = Utils::Json::ObsDataToJson(defaultFilterSettings, true); - eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterCreated", eventData); + json eventData; + eventData["sourceName"] = obs_source_get_name(source); + eventData["filterName"] = obs_source_get_name(filter); + eventData["filterKind"] = filterKind; + eventData["filterIndex"] = Utils::Obs::NumberHelper::GetSourceFilterIndex(source, filter); + eventData["filterSettings"] = Utils::Json::ObsDataToJson(filterSettings); + eventData["defaultFilterSettings"] = Utils::Json::ObsDataToJson(defaultFilterSettings, true); + eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterCreated", eventData); } /** @@ -79,27 +79,27 @@ void EventHandler::HandleSourceFilterCreated(void *param, calldata_t *data) */ void EventHandler::HandleSourceFilterRemoved(void *param, calldata_t *data) { - auto eventHandler = static_cast(param); + auto eventHandler = static_cast(param); - obs_source_t *source = GetCalldataPointer(data, "source"); - obs_source_t *filter = GetCalldataPointer(data, "filter"); + obs_source_t *source = GetCalldataPointer(data, "source"); + obs_source_t *filter = GetCalldataPointer(data, "filter"); - if (!(source && filter)) - return; + if (!(source && filter)) + return; - eventHandler->DisconnectFilterSignals(filter); + eventHandler->DisconnectFilterSignals(filter); - json eventData; - eventData["sourceName"] = obs_source_get_name(source); - eventData["filterName"] = obs_source_get_name(filter); - eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterRemoved", eventData); + json eventData; + eventData["sourceName"] = obs_source_get_name(source); + eventData["filterName"] = obs_source_get_name(filter); + eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterRemoved", eventData); } /** * A source's filter list has been reindexed. * - * @dataField sourceName | String | Name of the source - * @dataField filters | Array | Array of filter objects + * @dataField sourceName | String | Name of the source + * @dataField filters | Array | Array of filter objects * * @eventType SourceFilterListReindexed * @eventSubscription Filters @@ -111,16 +111,16 @@ void EventHandler::HandleSourceFilterRemoved(void *param, calldata_t *data) */ void EventHandler::HandleSourceFilterListReindexed(void *param, calldata_t *data) { - auto eventHandler = static_cast(param); + auto eventHandler = static_cast(param); - obs_source_t *source = GetCalldataPointer(data, "source"); - if (!source) - return; + obs_source_t *source = GetCalldataPointer(data, "source"); + if (!source) + return; - json eventData; - eventData["sourceName"] = obs_source_get_name(source); - eventData["filters"] = Utils::Obs::ArrayHelper::GetSourceFilterList(source); - eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterListReindexed", eventData); + json eventData; + eventData["sourceName"] = obs_source_get_name(source); + eventData["filters"] = Utils::Obs::ArrayHelper::GetSourceFilterList(source); + eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterListReindexed", eventData); } /** @@ -140,24 +140,24 @@ void EventHandler::HandleSourceFilterListReindexed(void *param, calldata_t *data */ void EventHandler::HandleSourceFilterEnableStateChanged(void *param, calldata_t *data) { - auto eventHandler = static_cast(param); + auto eventHandler = static_cast(param); - obs_source_t *filter = GetCalldataPointer(data, "source"); - if (!filter) - return; + obs_source_t *filter = GetCalldataPointer(data, "source"); + if (!filter) + return; - // Not OBSSourceAutoRelease as get_parent doesn't increment refcount - obs_source_t *source = obs_filter_get_parent(filter); - if (!source) - return; + // Not OBSSourceAutoRelease as get_parent doesn't increment refcount + obs_source_t *source = obs_filter_get_parent(filter); + if (!source) + return; - bool filterEnabled = calldata_bool(data, "enabled"); + bool filterEnabled = calldata_bool(data, "enabled"); - json eventData; - eventData["sourceName"] = obs_source_get_name(source); - eventData["filterName"] = obs_source_get_name(filter); - eventData["filterEnabled"] = filterEnabled; - eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterEnableStateChanged", eventData); + json eventData; + eventData["sourceName"] = obs_source_get_name(source); + eventData["filterName"] = obs_source_get_name(filter); + eventData["filterEnabled"] = filterEnabled; + eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterEnableStateChanged", eventData); } /** @@ -177,15 +177,15 @@ void EventHandler::HandleSourceFilterEnableStateChanged(void *param, calldata_t */ void EventHandler::HandleSourceFilterNameChanged(void *param, calldata_t *data) { - auto eventHandler = static_cast(param); + auto eventHandler = static_cast(param); - obs_source_t *filter = GetCalldataPointer(data, "source"); - if (!filter) - return; + obs_source_t *filter = GetCalldataPointer(data, "source"); + if (!filter) + return; - json eventData; - eventData["sourceName"] = obs_source_get_name(obs_filter_get_parent(filter)); - eventData["oldFilterName"] = calldata_string(data, "prev_name"); - eventData["filterName"] = calldata_string(data, "new_name"); - eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterNameChanged", eventData); + json eventData; + eventData["sourceName"] = obs_source_get_name(obs_filter_get_parent(filter)); + eventData["oldFilterName"] = calldata_string(data, "prev_name"); + eventData["filterName"] = calldata_string(data, "new_name"); + eventHandler->BroadcastEvent(EventSubscription::Filters, "SourceFilterNameChanged", eventData); } diff --git a/src/requesthandler/RequestHandler.cpp b/src/requesthandler/RequestHandler.cpp index 2ca7c096..000b894d 100644 --- a/src/requesthandler/RequestHandler.cpp +++ b/src/requesthandler/RequestHandler.cpp @@ -111,14 +111,14 @@ const std::unordered_map RequestHandler::_han {"SetTBarPosition", &RequestHandler::SetTBarPosition}, // Filters - {"GetSourceFilterList", &RequestHandler::GetSourceFilterList}, + {"GetSourceFilterList", &RequestHandler::GetSourceFilterList}, {"GetSourceFilterDefaultSettings", &RequestHandler::GetSourceFilterDefaultSettings}, - {"CreateSourceFilter", &RequestHandler::CreateSourceFilter}, - {"RemoveSourceFilter", &RequestHandler::RemoveSourceFilter}, + {"CreateSourceFilter", &RequestHandler::CreateSourceFilter}, + {"RemoveSourceFilter", &RequestHandler::RemoveSourceFilter}, {"GetSourceFilter", &RequestHandler::GetSourceFilter}, - {"SetSourceFilterIndex", &RequestHandler::SetSourceFilterIndex}, - {"SetSourceFilterSettings", &RequestHandler::SetSourceFilterSettings}, - {"SetSourceFilterEnabled", &RequestHandler::SetSourceFilterEnabled}, + {"SetSourceFilterIndex", &RequestHandler::SetSourceFilterIndex}, + {"SetSourceFilterSettings", &RequestHandler::SetSourceFilterSettings}, + {"SetSourceFilterEnabled", &RequestHandler::SetSourceFilterEnabled}, // Scene Items {"GetSceneItemList", &RequestHandler::GetSceneItemList}, diff --git a/src/requesthandler/RequestHandler.h b/src/requesthandler/RequestHandler.h index ac59afad..2823127a 100644 --- a/src/requesthandler/RequestHandler.h +++ b/src/requesthandler/RequestHandler.h @@ -129,14 +129,14 @@ class RequestHandler { RequestResult SetTBarPosition(const Request&); // Filters - RequestResult GetSourceFilterList(const Request&); + RequestResult GetSourceFilterList(const Request&); RequestResult GetSourceFilterDefaultSettings(const Request&); - RequestResult CreateSourceFilter(const Request&); - RequestResult RemoveSourceFilter(const Request&); + RequestResult CreateSourceFilter(const Request&); + RequestResult RemoveSourceFilter(const Request&); RequestResult GetSourceFilter(const Request&); - RequestResult SetSourceFilterIndex(const Request&); - RequestResult SetSourceFilterSettings(const Request&); - RequestResult SetSourceFilterEnabled(const Request&); + RequestResult SetSourceFilterIndex(const Request&); + RequestResult SetSourceFilterSettings(const Request&); + RequestResult SetSourceFilterEnabled(const Request&); // Scene Items RequestResult GetSceneItemList(const Request&); diff --git a/src/requesthandler/RequestHandler_Filters.cpp b/src/requesthandler/RequestHandler_Filters.cpp index 25bf1ec1..34078008 100644 --- a/src/requesthandler/RequestHandler_Filters.cpp +++ b/src/requesthandler/RequestHandler_Filters.cpp @@ -35,16 +35,16 @@ with this program. If not, see */ RequestResult RequestHandler::GetSourceFilterList(const Request& request) { - RequestStatus::RequestStatus statusCode; - std::string comment; - OBSSourceAutoRelease source = request.ValidateSource("sourceName", statusCode, comment); - if(!source) - return RequestResult::Error(statusCode, comment); + RequestStatus::RequestStatus statusCode; + std::string comment; + OBSSourceAutoRelease source = request.ValidateSource("sourceName", statusCode, comment); + if(!source) + return RequestResult::Error(statusCode, comment); - json responseData; - responseData["filters"] = Utils::Obs::ArrayHelper::GetSourceFilterList(source); + json responseData; + responseData["filters"] = Utils::Obs::ArrayHelper::GetSourceFilterList(source); - return RequestResult::Success(responseData); + return RequestResult::Success(responseData); } /** @@ -63,23 +63,23 @@ RequestResult RequestHandler::GetSourceFilterList(const Request& request) */ RequestResult RequestHandler::GetSourceFilterDefaultSettings(const Request& request) { - RequestStatus::RequestStatus statusCode; - std::string comment; - if (!request.ValidateString("filterKind", statusCode, comment)) - return RequestResult::Error(statusCode, comment); + RequestStatus::RequestStatus statusCode; + std::string comment; + if (!request.ValidateString("filterKind", statusCode, comment)) + return RequestResult::Error(statusCode, comment); - std::string filterKind = request.RequestData["filterKind"]; - auto kinds = Utils::Obs::ArrayHelper::GetFilterKindList(); - if (std::find(kinds.begin(), kinds.end(), filterKind) == kinds.end()) - return RequestResult::Error(RequestStatus::InvalidFilterKind); + std::string filterKind = request.RequestData["filterKind"]; + auto kinds = Utils::Obs::ArrayHelper::GetFilterKindList(); + if (std::find(kinds.begin(), kinds.end(), filterKind) == kinds.end()) + return RequestResult::Error(RequestStatus::InvalidFilterKind); - OBSDataAutoRelease defaultSettings = obs_get_source_defaults(filterKind.c_str()); - if (!defaultSettings) - return RequestResult::Error(RequestStatus::InvalidFilterKind); + OBSDataAutoRelease defaultSettings = obs_get_source_defaults(filterKind.c_str()); + if (!defaultSettings) + return RequestResult::Error(RequestStatus::InvalidFilterKind); - json responseData; - responseData["defaultFilterSettings"] = Utils::Json::ObsDataToJson(defaultSettings, true); - return RequestResult::Success(responseData); + json responseData; + responseData["defaultFilterSettings"] = Utils::Json::ObsDataToJson(defaultSettings, true); + return RequestResult::Success(responseData); } /** @@ -88,7 +88,7 @@ RequestResult RequestHandler::GetSourceFilterDefaultSettings(const Request& requ * @requestField sourceName | String | Name of the source to add the filter to * @requestField filterName | String | Name of the new filter to be created * @requestField filterKind | String | The kind of filter to be created - * @requestField ?filterSettings | Object | Settings object to initialize the filter with | Default settings used + * @requestField ?filterSettings | Object | Settings object to initialize the filter with | Default settings used * * @requestType CreateSourceFilter * @complexity 3 @@ -99,37 +99,37 @@ RequestResult RequestHandler::GetSourceFilterDefaultSettings(const Request& requ */ RequestResult RequestHandler::CreateSourceFilter(const Request& request) { - RequestStatus::RequestStatus statusCode; - std::string comment; + RequestStatus::RequestStatus statusCode; + std::string comment; - OBSSourceAutoRelease source = request.ValidateSource("sourceName", statusCode, comment); - if (!(source && request.ValidateString("filterName", statusCode, comment) && request.ValidateString("filterKind", statusCode, comment))) - return RequestResult::Error(statusCode, comment); + OBSSourceAutoRelease source = request.ValidateSource("sourceName", statusCode, comment); + if (!(source && request.ValidateString("filterName", statusCode, comment) && request.ValidateString("filterKind", statusCode, comment))) + return RequestResult::Error(statusCode, comment); - std::string filterName = request.RequestData["filterName"]; - OBSSourceAutoRelease existingFilter = obs_source_get_filter_by_name(source, filterName.c_str()); - if (existingFilter) - return RequestResult::Error(RequestStatus::ResourceAlreadyExists, "A filter already exists by that name."); + std::string filterName = request.RequestData["filterName"]; + OBSSourceAutoRelease existingFilter = obs_source_get_filter_by_name(source, filterName.c_str()); + if (existingFilter) + return RequestResult::Error(RequestStatus::ResourceAlreadyExists, "A filter already exists by that name."); - std::string filterKind = request.RequestData["filterKind"]; - auto kinds = Utils::Obs::ArrayHelper::GetFilterKindList(); - if (std::find(kinds.begin(), kinds.end(), filterKind) == kinds.end()) - return RequestResult::Error(RequestStatus::InvalidFilterKind, "Your specified filter kind is not supported by OBS. Check that any necessary plugins are loaded."); + std::string filterKind = request.RequestData["filterKind"]; + auto kinds = Utils::Obs::ArrayHelper::GetFilterKindList(); + if (std::find(kinds.begin(), kinds.end(), filterKind) == kinds.end()) + return RequestResult::Error(RequestStatus::InvalidFilterKind, "Your specified filter kind is not supported by OBS. Check that any necessary plugins are loaded."); - OBSDataAutoRelease filterSettings = nullptr; - if (request.Contains("filterSettings")) { - if (!request.ValidateOptionalObject("filterSettings", statusCode, comment, true)) - return RequestResult::Error(statusCode, comment); + OBSDataAutoRelease filterSettings = nullptr; + if (request.Contains("filterSettings")) { + if (!request.ValidateOptionalObject("filterSettings", statusCode, comment, true)) + return RequestResult::Error(statusCode, comment); - filterSettings = Utils::Json::JsonToObsData(request.RequestData["filterSettings"]); - } + filterSettings = Utils::Json::JsonToObsData(request.RequestData["filterSettings"]); + } - OBSSourceAutoRelease filter = Utils::Obs::ActionHelper::CreateSourceFilter(source, filterName, filterKind, filterSettings); + OBSSourceAutoRelease filter = Utils::Obs::ActionHelper::CreateSourceFilter(source, filterName, filterKind, filterSettings); - if(!filter) - return RequestResult::Error(RequestStatus::ResourceCreationFailed, "Creation of the filter failed."); + if(!filter) + return RequestResult::Error(RequestStatus::ResourceCreationFailed, "Creation of the filter failed."); - return RequestResult::Success(); + return RequestResult::Success(); } /** @@ -147,15 +147,15 @@ RequestResult RequestHandler::CreateSourceFilter(const Request& request) */ RequestResult RequestHandler::RemoveSourceFilter(const Request& request) { - RequestStatus::RequestStatus statusCode; - std::string comment; - FilterPair pair = request.ValidateFilter("sourceName", "filterName", statusCode, comment); - if (!pair.filter) - return RequestResult::Error(statusCode, comment); + RequestStatus::RequestStatus statusCode; + std::string comment; + FilterPair pair = request.ValidateFilter("sourceName", "filterName", statusCode, comment); + if (!pair.filter) + return RequestResult::Error(statusCode, comment); - obs_source_filter_remove(pair.source, pair.filter); + obs_source_filter_remove(pair.source, pair.filter); - return RequestResult::Success(); + return RequestResult::Success(); } /** @@ -211,17 +211,17 @@ RequestResult RequestHandler::GetSourceFilter(const Request& request) */ RequestResult RequestHandler::SetSourceFilterIndex(const Request& request) { - RequestStatus::RequestStatus statusCode; - std::string comment; - FilterPair pair = request.ValidateFilter("sourceName", "filterName", statusCode, comment); - if (!(pair.filter && request.ValidateNumber("filterIndex", statusCode, comment, 0, 8192))) - return RequestResult::Error(statusCode, comment); + RequestStatus::RequestStatus statusCode; + std::string comment; + FilterPair pair = request.ValidateFilter("sourceName", "filterName", statusCode, comment); + if (!(pair.filter && request.ValidateNumber("filterIndex", statusCode, comment, 0, 8192))) + return RequestResult::Error(statusCode, comment); - int filterIndex = request.RequestData["filterIndex"]; + int filterIndex = request.RequestData["filterIndex"]; - Utils::Obs::ActionHelper::SetSourceFilterIndex(pair.source, pair.filter, filterIndex); + Utils::Obs::ActionHelper::SetSourceFilterIndex(pair.source, pair.filter, filterIndex); - return RequestResult::Success(); + return RequestResult::Success(); } /** @@ -241,34 +241,34 @@ RequestResult RequestHandler::SetSourceFilterIndex(const Request& request) */ RequestResult RequestHandler::SetSourceFilterSettings(const Request& request) { - RequestStatus::RequestStatus statusCode; - std::string comment; - FilterPair pair = request.ValidateFilter("sourceName", "filterName", statusCode, comment); - if (!(pair.filter && request.ValidateObject("filterSettings", statusCode, comment, true))) - return RequestResult::Error(statusCode, comment); + RequestStatus::RequestStatus statusCode; + std::string comment; + FilterPair pair = request.ValidateFilter("sourceName", "filterName", statusCode, comment); + if (!(pair.filter && request.ValidateObject("filterSettings", statusCode, comment, true))) + return RequestResult::Error(statusCode, comment); - // Almost identical to SetInputSettings + // Almost identical to SetInputSettings - bool overlay = true; - if (request.Contains("overlay")) { - if (!request.ValidateOptionalBoolean("overlay", statusCode, comment)) - return RequestResult::Error(statusCode, comment); + bool overlay = true; + if (request.Contains("overlay")) { + if (!request.ValidateOptionalBoolean("overlay", statusCode, comment)) + return RequestResult::Error(statusCode, comment); - overlay = request.RequestData["overlay"]; - } + overlay = request.RequestData["overlay"]; + } - OBSDataAutoRelease newSettings = Utils::Json::JsonToObsData(request.RequestData["filterSettings"]); - if (!newSettings) - return RequestResult::Error(RequestStatus::RequestProcessingFailed, "An internal data conversion operation failed. Please report this!"); + OBSDataAutoRelease newSettings = Utils::Json::JsonToObsData(request.RequestData["filterSettings"]); + if (!newSettings) + return RequestResult::Error(RequestStatus::RequestProcessingFailed, "An internal data conversion operation failed. Please report this!"); - if (overlay) - obs_source_update(pair.filter, newSettings); - else - obs_source_reset_settings(pair.filter, newSettings); + if (overlay) + obs_source_update(pair.filter, newSettings); + else + obs_source_reset_settings(pair.filter, newSettings); - obs_source_update_properties(pair.filter); + obs_source_update_properties(pair.filter); - return RequestResult::Success(); + return RequestResult::Success(); } /** @@ -287,15 +287,15 @@ RequestResult RequestHandler::SetSourceFilterSettings(const Request& request) */ RequestResult RequestHandler::SetSourceFilterEnabled(const Request& request) { - RequestStatus::RequestStatus statusCode; - std::string comment; - FilterPair pair = request.ValidateFilter("sourceName", "filterName", statusCode, comment); - if (!(pair.filter && request.ValidateBoolean("filterEnabled", statusCode, comment))) - return RequestResult::Error(statusCode, comment); + RequestStatus::RequestStatus statusCode; + std::string comment; + FilterPair pair = request.ValidateFilter("sourceName", "filterName", statusCode, comment); + if (!(pair.filter && request.ValidateBoolean("filterEnabled", statusCode, comment))) + return RequestResult::Error(statusCode, comment); - bool filterEnabled = request.RequestData["filterEnabled"]; + bool filterEnabled = request.RequestData["filterEnabled"]; - obs_source_set_enabled(pair.filter, filterEnabled); + obs_source_set_enabled(pair.filter, filterEnabled); - return RequestResult::Success(); + return RequestResult::Success(); } diff --git a/src/utils/Obs.h b/src/utils/Obs.h index 40f7c93c..4eda079a 100644 --- a/src/utils/Obs.h +++ b/src/utils/Obs.h @@ -193,8 +193,8 @@ namespace Utils { std::vector GetListPropertyItems(obs_property_t *property); std::vector GetTransitionKindList(); std::vector GetSceneTransitionList(); - std::vector GetSourceFilterList(obs_source_t *source); - std::vector GetFilterKindList(); + std::vector GetSourceFilterList(obs_source_t *source); + std::vector GetFilterKindList(); } namespace ObjectHelper { @@ -211,8 +211,8 @@ namespace Utils { namespace ActionHelper { obs_sceneitem_t *CreateSceneItem(obs_source_t *source, obs_scene_t *scene, bool sceneItemEnabled = true, obs_transform_info *sceneItemTransform = nullptr, obs_sceneitem_crop *sceneItemCrop = nullptr); // Increments ref. Use OBSSceneItemAutoRelease obs_sceneitem_t *CreateInput(std::string inputName, std::string inputKind, obs_data_t *inputSettings, obs_scene_t *scene, bool sceneItemEnabled = true); // Increments ref. Use OBSSceneItemAutoRelease - obs_source_t *CreateSourceFilter(obs_source_t *source, std::string filterName, std::string filterKind, obs_data_t *filterSettings); // Increments source ref. Use OBSSourceAutoRelease - void SetSourceFilterIndex(obs_source_t *source, obs_source_t *filter, size_t index); + obs_source_t *CreateSourceFilter(obs_source_t *source, std::string filterName, std::string filterKind, obs_data_t *filterSettings); // Increments source ref. Use OBSSourceAutoRelease + void SetSourceFilterIndex(obs_source_t *source, obs_source_t *filter, size_t index); } } } diff --git a/src/utils/Obs_ActionHelper.cpp b/src/utils/Obs_ActionHelper.cpp index c68e4f77..8e981125 100644 --- a/src/utils/Obs_ActionHelper.cpp +++ b/src/utils/Obs_ActionHelper.cpp @@ -90,27 +90,27 @@ obs_sceneitem_t *Utils::Obs::ActionHelper::CreateInput(std::string inputName, st obs_source_t *Utils::Obs::ActionHelper::CreateSourceFilter(obs_source_t *source, std::string filterName, std::string filterKind, obs_data_t *filterSettings) { - obs_source_t *filter = obs_source_create_private(filterKind.c_str(), filterName.c_str(), filterSettings); + obs_source_t *filter = obs_source_create_private(filterKind.c_str(), filterName.c_str(), filterSettings); - if (!filter) - return nullptr; + if (!filter) + return nullptr; - obs_source_filter_add(source, filter); + obs_source_filter_add(source, filter); - return filter; + return filter; } void Utils::Obs::ActionHelper::SetSourceFilterIndex(obs_source_t *source, obs_source_t *filter, size_t index) { - size_t currentIndex = Utils::Obs::NumberHelper::GetSourceFilterIndex(source, filter); - obs_order_movement direction = index > currentIndex ? OBS_ORDER_MOVE_DOWN : OBS_ORDER_MOVE_UP; + size_t currentIndex = Utils::Obs::NumberHelper::GetSourceFilterIndex(source, filter); + obs_order_movement direction = index > currentIndex ? OBS_ORDER_MOVE_DOWN : OBS_ORDER_MOVE_UP; - while(currentIndex != index) { - obs_source_filter_set_order(source, filter, direction); + while(currentIndex != index) { + obs_source_filter_set_order(source, filter, direction); - if (direction == OBS_ORDER_MOVE_DOWN) - currentIndex++; - else + if (direction == OBS_ORDER_MOVE_DOWN) + currentIndex++; + else currentIndex--; - } + } } diff --git a/src/utils/Obs_ArrayHelper.cpp b/src/utils/Obs_ArrayHelper.cpp index ec6ed9b4..ecf26c16 100644 --- a/src/utils/Obs_ArrayHelper.cpp +++ b/src/utils/Obs_ArrayHelper.cpp @@ -279,35 +279,35 @@ std::vector Utils::Obs::ArrayHelper::GetSceneTransitionList() std::vector Utils::Obs::ArrayHelper::GetFilterKindList() { - std::vector ret; + std::vector ret; - size_t idx = 0; - const char *kind; - while(obs_enum_filter_types(idx++, &kind)) - ret.push_back(kind); + size_t idx = 0; + const char *kind; + while(obs_enum_filter_types(idx++, &kind)) + ret.push_back(kind); - return ret; + return ret; } std::vector Utils::Obs::ArrayHelper::GetSourceFilterList(obs_source_t *source) { - std::vector filters; + std::vector filters; - auto enumFilters = [](obs_source_t *, obs_source_t *filter, void *param) { - auto filters = reinterpret_cast*>(param); + auto enumFilters = [](obs_source_t *, obs_source_t *filter, void *param) { + auto filters = reinterpret_cast*>(param); - json filterJson; - filterJson["filterEnabled"] = obs_source_enabled(filter); - filterJson["filterIndex"] = filters->size(); - filterJson["filterKind"] = obs_source_get_id(filter); - filterJson["filterName"] = obs_source_get_name(filter); + json filterJson; + filterJson["filterEnabled"] = obs_source_enabled(filter); + filterJson["filterIndex"] = filters->size(); + filterJson["filterKind"] = obs_source_get_id(filter); + filterJson["filterName"] = obs_source_get_name(filter); - OBSDataAutoRelease filterSettings = obs_source_get_settings(filter); - filterJson["filterSettings"] = Utils::Json::ObsDataToJson(filterSettings); + OBSDataAutoRelease filterSettings = obs_source_get_settings(filter); + filterJson["filterSettings"] = Utils::Json::ObsDataToJson(filterSettings); - filters->push_back(filterJson); - }; - obs_source_enum_filters(source, enumFilters, &filters); + filters->push_back(filterJson); + }; + obs_source_enum_filters(source, enumFilters, &filters); - return filters; + return filters; }