feat: make LegacyParityApp playout live-only

This commit is contained in:
2026-07-28 14:52:59 +09:00
parent 11d3849933
commit ea96a08ad5
23 changed files with 456 additions and 270 deletions

View File

@@ -32,21 +32,33 @@ public sealed partial class MainWindow
{
try
{
if (_developmentLiveStartupBlocked)
{
_playoutInitializationError =
App.DevelopmentLiveStartupFailureMessage ??
"Live playout startup validation failed.";
return;
}
var explicitLocalConfigurationExists = File.Exists(
PlayoutOptionsLoader.DefaultPath);
_playoutOptions =
_isDevelopmentLiveLaunch &&
!_developmentLiveStartupBlocked
_isDevelopmentLiveLaunch
? PlayoutOptionsLoader.LoadDevelopmentLive(
baseDirectory: AppContext.BaseDirectory,
operatorSceneDirectory:
_appliedOperatorSettings.SceneDirectory)
: PlayoutOptionsLoader.Load(
operatorSceneDirectory: _appliedOperatorSettings.SceneDirectory,
operatorBackgroundDirectory: _appliedOperatorSettings.BackgroundDirectory,
forceSafeDryRun: IsSourceOnlyBuild ||
_isDevelopmentLiveLaunchRequested ||
_developmentLiveStartupBlocked);
operatorBackgroundDirectory:
_appliedOperatorSettings.BackgroundDirectory);
if (_playoutOptions.Mode != PlayoutMode.Live)
{
throw new PlayoutConfigurationException(
"The application requires a validated Live playout configuration. " +
"DryRun fallback is disabled.");
}
ResetRefreshState();
var startupComposition = LegacyParityStartupCompositionResolver.Resolve(
_playoutOptions,
@@ -75,6 +87,7 @@ public sealed partial class MainWindow
}
catch (Exception exception)
{
_developmentLiveStartupBlocked = true;
_playoutInitializationWarning = null;
_playoutInitializationError = exception is PlayoutConfigurationException
? exception.Message