mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
refactor bits
This commit is contained in:
@ -180,34 +180,6 @@ obs_data_t* Utils::GetSceneItemData(obs_sceneitem_t* item) {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
obs_sceneitem_t* Utils::GetSceneItemFromItem(obs_scene_t* scene, obs_data_t* itemInfo) {
|
|
||||||
if (!scene) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
OBSDataItemAutoRelease idInfoItem = obs_data_item_byname(itemInfo, "id");
|
|
||||||
int id = obs_data_item_get_int(idInfoItem);
|
|
||||||
|
|
||||||
OBSDataItemAutoRelease nameInfoItem = obs_data_item_byname(itemInfo, "name");
|
|
||||||
const char* name = obs_data_item_get_string(nameInfoItem);
|
|
||||||
|
|
||||||
if (idInfoItem) {
|
|
||||||
obs_sceneitem_t* sceneItem = GetSceneItemFromId(scene, id);
|
|
||||||
obs_source_t* sceneItemSource = obs_sceneitem_get_source(sceneItem);
|
|
||||||
|
|
||||||
QString sceneItemName = obs_source_get_name(sceneItemSource);
|
|
||||||
if (nameInfoItem && (QString(name) != sceneItemName)) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
return sceneItem;
|
|
||||||
} else if (nameInfoItem) {
|
|
||||||
return GetSceneItemFromName(scene, name);
|
|
||||||
}
|
|
||||||
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
obs_sceneitem_t* Utils::GetSceneItemFromName(obs_scene_t* scene, QString name) {
|
obs_sceneitem_t* Utils::GetSceneItemFromName(obs_scene_t* scene, QString name) {
|
||||||
if (!scene) {
|
if (!scene) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@ -297,6 +269,34 @@ obs_sceneitem_t* Utils::GetSceneItemFromId(obs_scene_t* scene, int64_t id) {
|
|||||||
return search.result;
|
return search.result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
obs_sceneitem_t* Utils::GetSceneItemFromItem(obs_scene_t* scene, obs_data_t* itemInfo) {
|
||||||
|
if (!scene) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
OBSDataItemAutoRelease idInfoItem = obs_data_item_byname(itemInfo, "id");
|
||||||
|
int id = obs_data_item_get_int(idInfoItem);
|
||||||
|
|
||||||
|
OBSDataItemAutoRelease nameInfoItem = obs_data_item_byname(itemInfo, "name");
|
||||||
|
const char* name = obs_data_item_get_string(nameInfoItem);
|
||||||
|
|
||||||
|
if (idInfoItem) {
|
||||||
|
obs_sceneitem_t* sceneItem = GetSceneItemFromId(scene, id);
|
||||||
|
obs_source_t* sceneItemSource = obs_sceneitem_get_source(sceneItem);
|
||||||
|
|
||||||
|
QString sceneItemName = obs_source_get_name(sceneItemSource);
|
||||||
|
if (nameInfoItem && (QString(name) != sceneItemName)) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return sceneItem;
|
||||||
|
} else if (nameInfoItem) {
|
||||||
|
return GetSceneItemFromName(scene, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
bool Utils::IsValidAlignment(const uint32_t alignment) {
|
bool Utils::IsValidAlignment(const uint32_t alignment) {
|
||||||
switch (alignment) {
|
switch (alignment) {
|
||||||
case OBS_ALIGN_CENTER:
|
case OBS_ALIGN_CENTER:
|
||||||
|
@ -39,11 +39,11 @@ namespace Utils {
|
|||||||
obs_data_array_t* GetSceneItems(obs_source_t* source);
|
obs_data_array_t* GetSceneItems(obs_source_t* source);
|
||||||
obs_data_t* GetSceneItemData(obs_sceneitem_t* item);
|
obs_data_t* GetSceneItemData(obs_sceneitem_t* item);
|
||||||
|
|
||||||
// These two functions support nested lookup into groups
|
// These functions support nested lookup into groups
|
||||||
obs_sceneitem_t* GetSceneItemFromName(obs_scene_t* scene, QString name);
|
obs_sceneitem_t* GetSceneItemFromName(obs_scene_t* scene, QString name);
|
||||||
obs_sceneitem_t* GetSceneItemFromId(obs_scene_t* scene, int64_t id);
|
obs_sceneitem_t* GetSceneItemFromId(obs_scene_t* scene, int64_t id);
|
||||||
|
|
||||||
obs_sceneitem_t* GetSceneItemFromItem(obs_scene_t* scene, obs_data_t* item);
|
obs_sceneitem_t* GetSceneItemFromItem(obs_scene_t* scene, obs_data_t* item);
|
||||||
|
|
||||||
obs_scene_t* GetSceneFromNameOrCurrent(QString sceneName);
|
obs_scene_t* GetSceneFromNameOrCurrent(QString sceneName);
|
||||||
obs_data_t* GetSceneItemPropertiesData(obs_sceneitem_t* item);
|
obs_data_t* GetSceneItemPropertiesData(obs_sceneitem_t* item);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user