diff --git a/engine/app.py b/engine/app.py index 75681cd..3509463 100644 --- a/engine/app.py +++ b/engine/app.py @@ -110,9 +110,17 @@ def run_pipeline_mode(preset_name: str = "demo"): print(f" \033[38;5;82mLoaded {len(items)} items\033[0m") - display = DisplayRegistry.create(preset.display) + # CLI --display flag takes priority over preset + # Check if --display was explicitly provided + display_name = preset.display + if "--display" in sys.argv: + idx = sys.argv.index("--display") + if idx + 1 < len(sys.argv): + display_name = sys.argv[idx + 1] + + display = DisplayRegistry.create(display_name) if not display: - print(f" \033[38;5;196mFailed to create display: {preset.display}\033[0m") + print(f" \033[38;5;196mFailed to create display: {display_name}\033[0m") sys.exit(1) display.init(80, 24) @@ -166,7 +174,7 @@ def run_pipeline_mode(preset_name: str = "demo"): f"effect_{effect_name}", create_stage_from_effect(effect, effect_name) ) - pipeline.add_stage("display", create_stage_from_display(display, preset.display)) + pipeline.add_stage("display", create_stage_from_display(display, display_name)) pipeline.build()