Add property list callbacks

- Add property list callbacks to sources/outputs/encoders so that if
  necessary user interface can be automatically generated or perhaps a
  property list widget can be used for them.

- Change some of the property API names.  obs_property_list_t felt a bit
  awkward when actually using it, so I just renamed it to
  obs_properties_t.

- Removed the getdata/setdata nad getparam/setparam functions from
  sources/services, they will be superseded by the dynamic procedure
  call API.
This commit is contained in:
jp9000
2014-02-01 22:46:13 -07:00
parent 0d17d13116
commit 458325fc6f
11 changed files with 85 additions and 72 deletions

View File

@@ -17,7 +17,7 @@
#pragma once
#include "obs.h"
#include "util/c99defs.h"
#ifdef __cplusplus
extern "C" {
@@ -40,22 +40,22 @@ enum obs_dropdown_type {
OBS_DROPDOWN_LIST,
};
struct obs_property_list;
struct obs_properties;
struct obs_category;
struct obs_property;
typedef struct obs_property_list *obs_property_list_t;
typedef struct obs_category *obs_category_t;
typedef struct obs_property *obs_property_t;
typedef struct obs_properties *obs_properties_t;
typedef struct obs_category *obs_category_t;
typedef struct obs_property *obs_property_t;
/* ------------------------------------------------------------------------- */
EXPORT obs_property_list_t obs_property_list_create();
EXPORT void obs_property_list_destroy(obs_property_list_t props);
EXPORT obs_properties_t obs_properties_create();
EXPORT void obs_properties_destroy(obs_properties_t props);
EXPORT obs_category_t obs_property_list_add_category(obs_property_list_t props,
EXPORT obs_category_t obs_properties_add_category(obs_properties_t props,
const char *name);
EXPORT obs_category_t obs_property_list_categories(obs_property_list_t props);
EXPORT obs_category_t obs_properties_first_category(obs_properties_t props);
/* ------------------------------------------------------------------------- */
@@ -77,7 +77,7 @@ EXPORT void obs_category_add_color(obs_category_t cat, const char *name,
const char *description);
EXPORT bool obs_category_next(obs_category_t *cat);
EXPORT obs_property_t obs_category_properties(obs_category_t cat);
EXPORT obs_property_t obs_category_first_property(obs_category_t cat);
/* ------------------------------------------------------------------------- */