From d5c6fa02d9c945576a09f36fc4cd440c55043749 Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 10 Mar 2026 21:45:37 +0100 Subject: fix(seq_compiler): map NtscYiq to ntsc_effect.h Add CLASS_TO_HEADER override map for classes that share a header file. NtscYiq lives in ntsc_effect.h alongside Ntsc. handoff(Gemini): seq_compiler.py fix for shared-header effect classes. --- tools/seq_compiler.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tools/seq_compiler.py b/tools/seq_compiler.py index 2e51574..e3f93af 100755 --- a/tools/seq_compiler.py +++ b/tools/seq_compiler.py @@ -391,12 +391,19 @@ def generate_cpp(seq: SequenceDecl, sorted_effects: List[EffectDecl], class_name += f'_{seq_index}_Sequence' # Generate includes + # Map class names that share a header file + CLASS_TO_HEADER = { + 'NtscYiq': 'ntsc', + } includes = set() for effect in seq.effects: - # Convert ClassName to snake_case header - header = re.sub('([A-Z])', r'_\1', effect.class_name).lower().lstrip('_') - if header.endswith('_effect'): - header = header[:-7] # Remove _effect suffix + if effect.class_name in CLASS_TO_HEADER: + header = CLASS_TO_HEADER[effect.class_name] + else: + # Convert ClassName to snake_case header + header = re.sub('([A-Z])', r'_\1', effect.class_name).lower().lstrip('_') + if header.endswith('_effect'): + header = header[:-7] # Remove _effect suffix includes.add(f'#include "effects/{header}_effect.h"') cpp = f'''// Generated by seq_compiler.py -- cgit v1.2.3