implement scene adding callbacks, make a few API tweaks

This commit is contained in:
jp9000
2013-12-28 05:33:16 -07:00
parent fe8559a74b
commit cec94b042e
12 changed files with 83 additions and 24 deletions

View File

@@ -97,7 +97,7 @@ static const struct source_info scene_info =
.getheight = scene_getsize,
};
obs_scene_t obs_scene_create(void)
obs_scene_t obs_scene_create(const char *name)
{
struct obs_source *source = bmalloc(sizeof(struct obs_source));
struct obs_scene *scene = scene_create(NULL, source);
@@ -110,6 +110,9 @@ obs_scene_t obs_scene_create(void)
return NULL;
}
source->name = bstrdup(name);
source->type = SOURCE_SCENE;
scene->source = source;
obs_source_init(source, NULL, &scene_info);
memcpy(&source->callbacks, &scene_info, sizeof(struct source_info));
@@ -127,6 +130,14 @@ obs_source_t obs_scene_getsource(obs_scene_t scene)
return scene->source;
}
obs_scene_t obs_scene_fromsource(obs_source_t source)
{
if (source->type != SOURCE_SCENE)
return NULL;
return source->data;
}
obs_sceneitem_t obs_scene_add(obs_scene_t scene, obs_source_t source)
{
struct obs_scene_item *item = bmalloc(sizeof(struct obs_scene_item));