@@ -659,6 +659,14 @@ def target_active_label(self):
659659# ---------------------------------------------------------------------------
660660
661661
662+ def _cue_coalesce_bool (value , default ):
663+ # type: (object, bool) -> bool
664+ """None means *default*, else bool(value). A dict key holding None (e.g. a
665+ partially-nulled persistent._cue) must not silently flip these scalars to
666+ falsy -- remove_audio=None would keep audio on every encode."""
667+ return default if value is None else bool (value )
668+
669+
662670def _cue_load_scalars_from_persistent ():
663671 # type: () -> None
664672 """Fan out per-game scalars from persistent/shared config into the
@@ -687,22 +695,16 @@ def _cue_load_scalars_from_persistent():
687695 _cue_dict .pop ("disabled_files" , None )
688696
689697 _cue .sfx .library .disabled_files = set (shared .get ("disabled_files" , []))
690- # Coalesce None to the default: a dict whose keys hold None (e.g. a
691- # partially-nulled persistent._cue) must not silently flip these to
692- # falsy -- remove_audio=None would keep audio on every encode.
693- _triggers = _cue_dict .get ("triggers_active" )
694- _cue .trigger .active = True if _triggers is None else bool (_triggers )
698+
699+ # Coalesce None to the default: see _cue_coalesce_bool.
700+ _cue .trigger .active = _cue_coalesce_bool (_cue_dict .get ("triggers_active" ), True )
695701 _mode = _cue_dict .get ("encode_mode" )
696- if _mode is None :
697- _mode = _cue .video_editor .MODE_INTERPOLATE
698- _cue .video_editor .encode_mode = _mode
699- _ra = _cue_dict .get ("remove_audio" )
700- _cue .video_editor .remove_audio = True if _ra is None else bool (_ra )
701- _st = _cue_dict .get ("seamless_transition" )
702- _cue .speed_resolver .seamless_transition = False if _st is None else bool (_st )
703- _sfm = _cue_dict .get (CUE_PERSIST_SIDEBAR_MODE )
704- _cue .sfx .library .is_sidebar_mode = False if _sfm is None else bool (_sfm )
702+ _cue .video_editor .encode_mode = _mode if _mode is not None else _cue .video_editor .MODE_INTERPOLATE
703+ _cue .video_editor .remove_audio = _cue_coalesce_bool (_cue_dict .get ("remove_audio" ), True )
704+ _cue .speed_resolver .seamless_transition = _cue_coalesce_bool (_cue_dict .get ("seamless_transition" ), False )
705+ _cue .sfx .library .is_sidebar_mode = _cue_coalesce_bool (_cue_dict .get (CUE_PERSIST_SIDEBAR_MODE ), False )
705706 _sw = _cue_dict .get (CUE_PERSIST_SIDEBAR_WIDTH )
707+
706708 if isinstance (_sw , int ):
707709 _cue .sfx .library .set_sidebar_width (_sw )
708710 else :
0 commit comments