@@ -334,7 +334,7 @@ void OBSBasic::TransitionToScene(OBSSource source, bool force, bool quickTransit
334334 obs_transition_set (transition, source);
335335 OnEvent (OBS_FRONTEND_EVENT_SCENE_CHANGED);
336336 } else {
337- int duration = ui-> transitionDuration -> value ();
337+ int duration = GetTransitionDuration ();
338338
339339 /* check for scene override */
340340 OBSSource trOverride = GetOverrideTransition (source);
@@ -601,11 +601,6 @@ void OBSBasic::on_transitionProps_clicked()
601601 menu.exec (QCursor::pos ());
602602}
603603
604- void OBSBasic::on_transitionDuration_valueChanged ()
605- {
606- OnEvent (OBS_FRONTEND_EVENT_TRANSITION_DURATION_CHANGED);
607- }
608-
609604QuickTransition *OBSBasic::GetQuickTransition (int id)
610605{
611606 for (QuickTransition &qt : quickTransitions) {
@@ -1417,7 +1412,7 @@ int OBSBasic::GetOverrideTransitionDuration(OBSSource source)
14171412
14181413int OBSBasic::GetTransitionDuration ()
14191414{
1420- return ui-> transitionDuration -> value () ;
1415+ return transitionDuration;
14211416}
14221417
14231418void OBSBasic::SetCurrentTransition (const std::string &uuid)
@@ -1437,3 +1432,18 @@ void OBSBasic::SetCurrentTransition(const QString &uuid)
14371432 currentTransitionUuid = uuid.toStdString ();
14381433 emit CurrentTranstionChanged (uuid);
14391434}
1435+
1436+ void OBSBasic::SetTransitionDuration (int duration)
1437+ {
1438+ duration = std::max (duration, 50 );
1439+ duration = std::min (duration, 20000 );
1440+
1441+ if (duration == transitionDuration)
1442+ return ;
1443+
1444+ transitionDuration = duration;
1445+
1446+ emit TransitionDurationChanged (transitionDuration);
1447+
1448+ OnEvent (OBS_FRONTEND_EVENT_TRANSITION_DURATION_CHANGED);
1449+ }
0 commit comments