@@ -333,7 +333,7 @@ void OBSBasic::TransitionToScene(OBSSource source, bool force, bool quickTransit
333333 obs_transition_set (transition, source);
334334 OnEvent (OBS_FRONTEND_EVENT_SCENE_CHANGED);
335335 } else {
336- int duration = ui-> transitionDuration -> value ();
336+ int duration = GetTransitionDuration ();
337337
338338 /* check for scene override */
339339 OBSSource trOverride = GetOverrideTransition (source);
@@ -596,11 +596,6 @@ void OBSBasic::on_transitionProps_clicked()
596596 menu.exec (QCursor::pos ());
597597}
598598
599- void OBSBasic::on_transitionDuration_valueChanged ()
600- {
601- OnEvent (OBS_FRONTEND_EVENT_TRANSITION_DURATION_CHANGED);
602- }
603-
604599QuickTransition *OBSBasic::GetQuickTransition (int id)
605600{
606601 for (QuickTransition &qt : quickTransitions) {
@@ -1412,7 +1407,7 @@ int OBSBasic::GetOverrideTransitionDuration(OBSSource source)
14121407
14131408int OBSBasic::GetTransitionDuration ()
14141409{
1415- return ui-> transitionDuration -> value () ;
1410+ return transitionDuration;
14161411}
14171412
14181413void OBSBasic::SetCurrentTransition (const std::string &uuid)
@@ -1432,3 +1427,18 @@ void OBSBasic::SetCurrentTransition(const QString &uuid)
14321427 currentTransitionUuid = uuid.toStdString ();
14331428 emit CurrentTranstionChanged (uuid);
14341429}
1430+
1431+ void OBSBasic::SetTransitionDuration (int duration)
1432+ {
1433+ duration = std::max (duration, 50 );
1434+ duration = std::min (duration, 20000 );
1435+
1436+ if (duration == transitionDuration)
1437+ return ;
1438+
1439+ transitionDuration = duration;
1440+
1441+ emit TransitionDurationChanged (transitionDuration);
1442+
1443+ OnEvent (OBS_FRONTEND_EVENT_TRANSITION_DURATION_CHANGED);
1444+ }
0 commit comments