UI: Add source icons

This commit is contained in:
Clayton Groeneveld
2019-07-27 23:59:16 -05:00
committed by jp9000
parent 226f704e90
commit 82ffcdc827
66 changed files with 551 additions and 9 deletions

View File

@@ -4734,3 +4734,9 @@ uint32_t obs_source_get_last_obs_version(const obs_source_t *source)
? source->last_obs_ver
: 0;
}
enum obs_icon_type obs_source_get_icon_type(const char *id)
{
const struct obs_source_info *info = get_source_info(id);
return (info) ? info->icon_type : OBS_ICON_TYPE_UNKNOWN;
}

View File

@@ -43,6 +43,23 @@ enum obs_balance_type {
OBS_BALANCE_TYPE_LINEAR,
};
enum obs_icon_type {
OBS_ICON_TYPE_UNKNOWN,
OBS_ICON_TYPE_IMAGE,
OBS_ICON_TYPE_COLOR,
OBS_ICON_TYPE_SLIDESHOW,
OBS_ICON_TYPE_AUDIO_INPUT,
OBS_ICON_TYPE_AUDIO_OUTPUT,
OBS_ICON_TYPE_DESKTOP_CAPTURE,
OBS_ICON_TYPE_WINDOW_CAPTURE,
OBS_ICON_TYPE_GAME_CAPTURE,
OBS_ICON_TYPE_CAMERA,
OBS_ICON_TYPE_TEXT,
OBS_ICON_TYPE_MEDIA,
OBS_ICON_TYPE_BROWSER,
OBS_ICON_TYPE_CUSTOM,
};
/**
* @name Source output flags
*
@@ -471,6 +488,9 @@ struct obs_source_info {
bool (*audio_mix)(void *data, uint64_t *ts_out,
struct audio_output_data *audio_output,
size_t channels, size_t sample_rate);
/** Icon type for the source */
enum obs_icon_type icon_type;
};
EXPORT void obs_register_source_s(const struct obs_source_info *info,

View File

@@ -2170,6 +2170,10 @@ static inline void obs_source_frame_destroy(struct obs_source_frame *frame)
EXPORT void obs_source_frame_copy(struct obs_source_frame *dst,
const struct obs_source_frame *src);
/* ------------------------------------------------------------------------- */
/* Get source icon type */
EXPORT enum obs_icon_type obs_source_get_icon_type(const char *id);
#ifdef __cplusplus
}
#endif