UI: Add pause support

Adds support for pausing recordings.  When settings are eligible for
recordings, a pause button will appear next to the recording button.  If
the settings are not eligible, it will warn the user in the output
settings that they cannot pause recordings if those settings are used.
This commit is contained in:
jp9000
2019-07-07 15:47:29 -07:00
parent 942ca6f709
commit eab10d48b2
22 changed files with 385 additions and 42 deletions

View File

@@ -227,6 +227,17 @@ bool obs_frontend_recording_active(void)
return !!callbacks_valid() ? c->obs_frontend_recording_active() : false;
}
void obs_frontend_recording_pause(bool pause)
{
if (!!callbacks_valid())
c->obs_frontend_recording_pause(pause);
}
bool obs_frontend_recording_paused(void)
{
return !!callbacks_valid() ? c->obs_frontend_recording_paused() : false;
}
void obs_frontend_replay_buffer_start(void)
{
if (callbacks_valid())

View File

@@ -44,6 +44,9 @@ enum obs_frontend_event {
OBS_FRONTEND_EVENT_SCENE_COLLECTION_CLEANUP,
OBS_FRONTEND_EVENT_FINISHED_LOADING,
OBS_FRONTEND_EVENT_RECORDING_PAUSED,
OBS_FRONTEND_EVENT_RECORDING_UNPAUSED,
};
/* ------------------------------------------------------------------------- */
@@ -152,6 +155,8 @@ EXPORT bool obs_frontend_streaming_active(void);
EXPORT void obs_frontend_recording_start(void);
EXPORT void obs_frontend_recording_stop(void);
EXPORT bool obs_frontend_recording_active(void);
EXPORT void obs_frontend_recording_pause(bool pause);
EXPORT bool obs_frontend_recording_paused(void);
EXPORT void obs_frontend_replay_buffer_start(void);
EXPORT void obs_frontend_replay_buffer_save(void);

View File

@@ -43,6 +43,8 @@ struct obs_frontend_callbacks {
virtual void obs_frontend_recording_start(void) = 0;
virtual void obs_frontend_recording_stop(void) = 0;
virtual bool obs_frontend_recording_active(void) = 0;
virtual void obs_frontend_recording_pause(bool pause) = 0;
virtual bool obs_frontend_recording_paused(void) = 0;
virtual void obs_frontend_replay_buffer_start(void) = 0;
virtual void obs_frontend_replay_buffer_save(void) = 0;