UI: Fix main transition being set to the quick one
This fixes an issue where using a quick transition, it would change the main transition as well.
This commit is contained in:
parent
f41d0d9d77
commit
0676c385ba
2 changed files with 14 additions and 7 deletions
|
|
@ -126,11 +126,13 @@ void OBSBasic::TriggerQuickTransition(int id)
|
|||
OBSScene scene = GetCurrentScene();
|
||||
obs_source_t *source = obs_scene_get_source(scene);
|
||||
|
||||
ui->transitionDuration->setValue(qt->duration);
|
||||
if (GetCurrentTransition() != qt->source)
|
||||
SetTransition(qt->source);
|
||||
if (GetCurrentTransition() != qt->source) {
|
||||
OverrideTransition(qt->source);
|
||||
overridingTransition = true;
|
||||
}
|
||||
|
||||
TransitionToScene(source, false, false, true, qt->fadeToBlack);
|
||||
TransitionToScene(source, false, false, true, qt->duration,
|
||||
qt->fadeToBlack);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -281,7 +283,7 @@ void OBSBasic::TransitionStopped()
|
|||
swapScene = nullptr;
|
||||
}
|
||||
|
||||
static void OverrideTransition(OBSSource transition)
|
||||
void OBSBasic::OverrideTransition(OBSSource transition)
|
||||
{
|
||||
obs_source_t *oldTransition = obs_get_output_source(0);
|
||||
|
||||
|
|
@ -303,7 +305,8 @@ void OBSBasic::TransitionFullyStopped()
|
|||
}
|
||||
|
||||
void OBSBasic::TransitionToScene(OBSSource source, bool force, bool direct,
|
||||
bool quickTransition, bool black)
|
||||
bool quickTransition, int quickDuration,
|
||||
bool black)
|
||||
{
|
||||
obs_scene_t *scene = obs_scene_from_source(source);
|
||||
bool usingPreviewProgram = IsPreviewProgramMode();
|
||||
|
|
@ -384,6 +387,9 @@ void OBSBasic::TransitionToScene(OBSSource source, bool force, bool direct,
|
|||
prevFTBSource = nullptr;
|
||||
}
|
||||
|
||||
if (quickTransition)
|
||||
duration = quickDuration;
|
||||
|
||||
bool success = obs_transition_start(
|
||||
transition, OBS_TRANSITION_MODE_AUTO, duration, source);
|
||||
if (!success)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue