Merge pull request #2927 from tt2468/add-tbar-control

UI: Add TBar controls to obs-frontend-api
This commit is contained in:
Jim 2020-07-06 18:24:44 -07:00 committed by GitHub
commit 79fff2e13b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 29 additions and 0 deletions

View File

@ -151,6 +151,17 @@ struct OBSStudioAPI : obs_frontend_callbacks {
"setValue", Q_ARG(int, duration));
}
void obs_frontend_release_tbar(void) override
{
QMetaObject::invokeMethod(main, "TBarReleased");
}
void obs_frontend_set_tbar_position(int position) override
{
QMetaObject::invokeMethod(main, "TBarChanged",
Q_ARG(int, position));
}
void obs_frontend_get_scene_collections(
std::vector<std::string> &strings) override
{

View File

@ -142,6 +142,18 @@ void obs_frontend_set_transition_duration(int duration)
c->obs_frontend_set_transition_duration(duration);
}
void obs_frontend_release_tbar(void)
{
if (callbacks_valid())
c->obs_frontend_release_tbar();
}
void obs_frontend_set_tbar_position(int position)
{
if (callbacks_valid())
c->obs_frontend_set_tbar_position(position);
}
char **obs_frontend_get_scene_collections(void)
{
if (!callbacks_valid())

View File

@ -100,6 +100,8 @@ 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 void obs_frontend_release_tbar(void);
EXPORT void obs_frontend_set_tbar_position(int position);
EXPORT char **obs_frontend_get_scene_collections(void);
EXPORT char *obs_frontend_get_current_scene_collection(void);

View File

@ -23,6 +23,8 @@ struct obs_frontend_callbacks {
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_release_tbar(void) = 0;
virtual void obs_frontend_set_tbar_position(int position) = 0;
virtual void obs_frontend_get_scene_collections(
std::vector<std::string> &strings) = 0;

View File

@ -915,6 +915,8 @@ void OBSBasic::TBarChanged(int value)
OBSSource transition = obs_get_output_source(0);
obs_source_release(transition);
tBar->setValue(value);
if (!tBarActive) {
OBSSource sceneSource = GetCurrentSceneSource();
OBSSource tBarTr = GetOverrideTransition(sceneSource);