mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Utils: Add scene item list helper
This commit is contained in:
parent
1d4d77cc93
commit
10afbdfca0
@ -170,6 +170,46 @@ std::vector<json> Utils::Obs::ListHelper::GetSceneList()
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<json> Utils::Obs::ListHelper::GetSceneItemList(obs_scene_t *scene, bool basic)
|
||||||
|
{
|
||||||
|
std::vector<json> ret;
|
||||||
|
|
||||||
|
if (basic) {
|
||||||
|
obs_scene_enum_items(scene, [](obs_scene_t* scene, obs_sceneitem_t* sceneItem, void* param) {
|
||||||
|
auto ret = reinterpret_cast<std::vector<json>*>(param);
|
||||||
|
|
||||||
|
json item;
|
||||||
|
item["sceneItemId"] = obs_sceneitem_get_id(sceneItem);
|
||||||
|
// Should be slightly faster than calling obs_sceneitem_get_order_position()
|
||||||
|
item["sceneItemIndex"] = ret->size();
|
||||||
|
|
||||||
|
ret->push_back(item);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}, &ret);
|
||||||
|
} else {
|
||||||
|
obs_scene_enum_items(scene, [](obs_scene_t* scene, obs_sceneitem_t* sceneItem, void* param) {
|
||||||
|
auto ret = reinterpret_cast<std::vector<json>*>(param);
|
||||||
|
|
||||||
|
OBSSource itemSource = obs_sceneitem_get_source(sceneItem);
|
||||||
|
|
||||||
|
json item;
|
||||||
|
item["sceneItemId"] = obs_sceneitem_get_id(sceneItem);
|
||||||
|
item["sceneItemIndex"] = ret->size();
|
||||||
|
item["sourceName"] = obs_source_get_name(itemSource);
|
||||||
|
item["sourceType"] = StringHelper::GetSourceTypeString(itemSource);
|
||||||
|
if (obs_source_get_type(itemSource) == OBS_SOURCE_TYPE_INPUT)
|
||||||
|
item["inputKind"] = obs_source_get_id(itemSource);
|
||||||
|
|
||||||
|
ret->push_back(item);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}, &ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<json> Utils::Obs::ListHelper::GetTransitionList()
|
std::vector<json> Utils::Obs::ListHelper::GetTransitionList()
|
||||||
{
|
{
|
||||||
obs_frontend_source_list transitionList = {};
|
obs_frontend_source_list transitionList = {};
|
||||||
|
@ -44,6 +44,7 @@ namespace Utils {
|
|||||||
std::vector<obs_hotkey_t *> GetHotkeyList();
|
std::vector<obs_hotkey_t *> GetHotkeyList();
|
||||||
std::vector<std::string> GetHotkeyNameList();
|
std::vector<std::string> GetHotkeyNameList();
|
||||||
std::vector<json> GetSceneList();
|
std::vector<json> GetSceneList();
|
||||||
|
std::vector<json> GetSceneItemList(obs_scene_t *scene, bool basic = false);
|
||||||
std::vector<json> GetTransitionList();
|
std::vector<json> GetTransitionList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user