diff --git a/engine/app/pipeline_runner.py b/engine/app/pipeline_runner.py index 95bf161..dc7e0f9 100644 --- a/engine/app/pipeline_runner.py +++ b/engine/app/pipeline_runner.py @@ -12,6 +12,7 @@ from engine.fetch import fetch_all, fetch_all_fast, fetch_poetry, load_cache, sa from engine.pipeline import Pipeline, PipelineConfig, PipelineContext, get_preset from engine.pipeline.adapters import ( EffectPluginStage, + MessageOverlayStage, SourceItemsToBufferStage, create_stage_from_display, create_stage_from_effect, @@ -311,6 +312,21 @@ def run_pipeline_mode(preset_name: str = "demo"): f"effect_{effect_name}", create_stage_from_effect(effect, effect_name) ) + # Add message overlay stage if enabled + if getattr(preset, "enable_message_overlay", False): + from engine.pipeline.adapters import MessageOverlayConfig + + overlay_config = MessageOverlayConfig( + enabled=True, + display_secs=config.MESSAGE_DISPLAY_SECS + if hasattr(config, "MESSAGE_DISPLAY_SECS") + else 30, + topic_url=config.NTFY_TOPIC if hasattr(config, "NTFY_TOPIC") else None, + ) + pipeline.add_stage( + "message_overlay", MessageOverlayStage(config=overlay_config) + ) + pipeline.add_stage("display", create_stage_from_display(display, display_name)) pipeline.build() @@ -625,6 +641,23 @@ def run_pipeline_mode(preset_name: str = "demo"): create_stage_from_effect(effect, effect_name), ) + # Add message overlay stage if enabled + if getattr(new_preset, "enable_message_overlay", False): + from engine.pipeline.adapters import MessageOverlayConfig + + overlay_config = MessageOverlayConfig( + enabled=True, + display_secs=config.MESSAGE_DISPLAY_SECS + if hasattr(config, "MESSAGE_DISPLAY_SECS") + else 30, + topic_url=config.NTFY_TOPIC + if hasattr(config, "NTFY_TOPIC") + else None, + ) + pipeline.add_stage( + "message_overlay", MessageOverlayStage(config=overlay_config) + ) + # Add display (respect CLI override) display_name = new_preset.display if "--display" in sys.argv: