obs-frontend-api: Add methods to get/set transition duration

This commit is contained in:
Stéphane L 2019-05-09 08:17:04 +02:00 committed by jp9000
parent 4991113abc
commit d3910149d2
5 changed files with 40 additions and 0 deletions

View File

@ -139,6 +139,17 @@ struct OBSStudioAPI : obs_frontend_callbacks {
Q_ARG(OBSSource, OBSSource(transition)));
}
int obs_frontend_get_transition_duration(void) override
{
return main->ui->transitionDuration->value();
}
void obs_frontend_set_transition_duration(int duration) override
{
QMetaObject::invokeMethod(main->ui->transitionDuration, "setValue",
Q_ARG(int, duration));
}
void obs_frontend_get_scene_collections(
std::vector<std::string> &strings) override
{

View File

@ -132,6 +132,19 @@ void obs_frontend_set_current_transition(obs_source_t *transition)
c->obs_frontend_set_current_transition(transition);
}
int obs_frontend_get_transition_duration(void)
{
return !!callbacks_valid()
? c->obs_frontend_get_transition_duration()
: 0;
}
void obs_frontend_set_transition_duration(int duration)
{
if (callbacks_valid())
c->obs_frontend_set_transition_duration(duration);
}
char **obs_frontend_get_scene_collections(void)
{
if (!callbacks_valid())

View File

@ -93,6 +93,8 @@ EXPORT void obs_frontend_get_transitions(
struct obs_frontend_source_list *sources);
EXPORT obs_source_t *obs_frontend_get_current_transition(void);
EXPORT void obs_frontend_set_current_transition(obs_source_t *transition);
EXPORT int obs_frontend_get_transition_duration(void);
EXPORT void obs_frontend_set_transition_duration(int duration);
EXPORT char **obs_frontend_get_scene_collections(void);
EXPORT char *obs_frontend_get_current_scene_collection(void);

View File

@ -21,6 +21,8 @@ struct obs_frontend_callbacks {
virtual obs_source_t *obs_frontend_get_current_transition(void)=0;
virtual void obs_frontend_set_current_transition(
obs_source_t *transition)=0;
virtual int obs_frontend_get_transition_duration(void)=0;
virtual void obs_frontend_set_transition_duration(int duration)=0;
virtual void obs_frontend_get_scene_collections(
std::vector<std::string> &strings)=0;

View File

@ -235,6 +235,18 @@ Functions
---------------------------------------
.. function:: int obs_frontend_get_transition_duration(void)
:return: The transition duration (in milliseconds) currently set in the UI.
---------------------------------------
.. function:: void obs_frontend_set_transition_duration(int duration)
:param duration: Desired transition duration (in milliseconds)
---------------------------------------
.. function:: char **obs_frontend_get_scene_collections(void)
:return: The list of profile names, ending with NULL. The list is