mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-21 17:34:57 -05:00
Adapt to support canvas API
This commit is contained in:
parent
8f54e71e61
commit
0b77ef5081
|
|
@ -4,6 +4,10 @@
|
|||
#include "source-helpers.hpp"
|
||||
#include "scene-group.hpp"
|
||||
|
||||
#if LIBOBS_API_VER < MAKE_SEMANTIC_VERSION(31, 1, 0)
|
||||
#include "canvas-helpers.hpp"
|
||||
#endif
|
||||
|
||||
#include <obs-frontend-api.h>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
|
|
@ -38,7 +42,8 @@ static void hasFilterEnum(obs_source_t *, obs_source_t *filter, void *ptr)
|
|||
|
||||
QStringList GetSourcesWithFilterNames()
|
||||
{
|
||||
auto enumSourcesWithFilters = [](void *param, obs_source_t *source) {
|
||||
static auto enumSourcesWithFilters = [](void *param,
|
||||
obs_source_t *source) {
|
||||
if (!source) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -53,7 +58,17 @@ QStringList GetSourcesWithFilterNames()
|
|||
|
||||
QStringList list;
|
||||
obs_enum_sources(enumSourcesWithFilters, &list);
|
||||
|
||||
#if LIBOBS_API_VER < MAKE_SEMANTIC_VERSION(31, 1, 0)
|
||||
obs_enum_scenes(enumSourcesWithFilters, &list);
|
||||
#else
|
||||
static const auto enumCanvases = [](void *listPtr,
|
||||
obs_canvas_t *canvas) -> bool {
|
||||
obs_canvas_enum_scenes(canvas, enumSourcesWithFilters, listPtr);
|
||||
return true;
|
||||
};
|
||||
obs_enum_canvases(enumCanvases, &list);
|
||||
#endif
|
||||
return list;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -115,7 +115,8 @@ static int getCountOfSceneItemOccurance(const SceneSelection &s,
|
|||
obs_scene_enum_items(scene, countSceneItemName, data);
|
||||
return true;
|
||||
};
|
||||
obs_enum_scenes(enumScenes, &data);
|
||||
OBSCanvasAutoRelease canvas = OBSGetStrongRef(s.GetCanvas());
|
||||
obs_canvas_enum_scenes(canvas, enumScenes, &data);
|
||||
} else {
|
||||
auto source = obs_weak_source_get_source(s.GetScene(false));
|
||||
auto scene = obs_scene_from_source(source);
|
||||
|
|
@ -589,7 +590,8 @@ static QStringList getSceneItemsList(SceneSelection &s)
|
|||
return true;
|
||||
};
|
||||
|
||||
obs_enum_scenes(enumScenes, &names);
|
||||
OBSCanvasAutoRelease canvas = OBSGetStrongRef(s.GetCanvas());
|
||||
obs_canvas_enum_scenes(canvas, enumScenes, &names);
|
||||
} else {
|
||||
auto source = obs_weak_source_get_source(s.GetScene(false));
|
||||
auto scene = obs_scene_from_source(source);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user