mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
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
@ -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)
|
||||
|
@ -476,12 +476,13 @@ public slots:
|
||||
void SaveProject();
|
||||
|
||||
void SetTransition(OBSSource transition);
|
||||
void OverrideTransition(OBSSource transition);
|
||||
void TransitionToScene(OBSScene scene, bool force = false,
|
||||
bool direct = false);
|
||||
void TransitionToScene(OBSSource scene, bool force = false,
|
||||
bool direct = false,
|
||||
bool quickTransition = false,
|
||||
bool black = false);
|
||||
int quickDuration = 0, bool black = false);
|
||||
void SetCurrentScene(OBSSource scene, bool force = false,
|
||||
bool direct = false);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user