UI: Add frontend API funcs for enabling/disable preview

Closes jp9000/obs-studio#1106
This commit is contained in:
Matt Morrissette 2017-12-06 18:12:19 -08:00 committed by jp9000
parent 619618ac8d
commit 5e741b8a5b
4 changed files with 29 additions and 0 deletions

View File

@ -405,6 +405,17 @@ struct OBSStudioAPI : obs_frontend_callbacks {
main->SetPreviewProgramMode(enable);
}
bool obs_frontend_preview_enabled(void) override
{
return main->previewEnabled;
}
void obs_frontend_set_preview_enabled(bool enable) override
{
if (main->previewEnabled != enable)
main->EnablePreviewDisplay(enable);
}
obs_source_t *obs_frontend_get_current_preview_scene(void) override
{
OBSSource source = nullptr;

View File

@ -369,6 +369,19 @@ void obs_frontend_set_preview_program_mode(bool enable)
c->obs_frontend_set_preview_program_mode(enable);
}
void obs_frontend_set_preview_enabled(bool enable)
{
if (callbacks_valid())
c->obs_frontend_set_preview_enabled(enable);
}
bool obs_frontend_preview_enabled(void)
{
return !!callbacks_valid()
? c->obs_frontend_preview_enabled()
: false;
}
obs_source_t *obs_frontend_get_current_preview_scene(void)
{
return !!callbacks_valid()

View File

@ -165,6 +165,9 @@ EXPORT void obs_frontend_save_streaming_service(void);
EXPORT bool obs_frontend_preview_program_mode_active(void);
EXPORT void obs_frontend_set_preview_program_mode(bool enable);
EXPORT void obs_frontend_set_preview_enabled(bool enable);
EXPORT bool obs_frontend_preview_enabled(void);
EXPORT obs_source_t *obs_frontend_get_current_preview_scene(void);
EXPORT void obs_frontend_set_current_preview_scene(obs_source_t *scene);

View File

@ -83,6 +83,8 @@ struct obs_frontend_callbacks {
virtual bool obs_frontend_preview_program_mode_active(void)=0;
virtual void obs_frontend_set_preview_program_mode(bool enable)=0;
virtual bool obs_frontend_preview_enabled(void)=0;
virtual void obs_frontend_set_preview_enabled(bool enable)=0;
virtual obs_source_t *obs_frontend_get_current_preview_scene(void)=0;
virtual void obs_frontend_set_current_preview_scene(obs_source_t *scene)=0;