diff --git a/light9/effect/effecteval.py b/light9/effect/effecteval.py --- a/light9/effect/effecteval.py +++ b/light9/effect/effecteval.py @@ -77,6 +77,7 @@ class EffectEval2: uri: EffectUri effectFunction: Optional[URIRef] = None + isEffect = False def __post_init__(self): self.graph.addHandler(self._compile) @@ -84,7 +85,9 @@ class EffectEval2: def _compile(self): if not self.graph.contains((self.uri, RDF.type, L9['Effect'])): - raise ValueError(f'{self.uri} not an :Effect') + self.isEffect = False + return + self.isEffect = True self.function = effect_scale devs = [] @@ -96,6 +99,8 @@ class EffectEval2: self.devs = DeviceSettings(self.graph, devs) def compute(self, inputs: EffectSettings) -> DeviceSettings: + if not self.isEffect: + return DeviceSettings(self.graph, []) s = 0 for e, ea, v in inputs.asList():