Changeset - 54f4f5158ddf
[Not reviewed]
default
0 2 1
drewp@bigasterisk.com - 20 months ago 2023-05-22 08:02:42
drewp@bigasterisk.com
minor
3 files changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
light9/collector/collector.py
Show inline comments
 
@@ -205,20 +205,20 @@ class Collector:
 

	
 
    def _flattenDmxOutput(self, outputAttrs: Dict[DeviceUri, Dict[OutputAttr, OutputValue]]) -> Dict[OutputUri, bytearray]:
 
        pendingOut = cast(Dict[OutputUri, bytearray], {})
 
        for outUri in self._outputByUri.keys():
 
            pendingOut[outUri] = bytearray(512)
 

	
 
        for device, attrs in outputAttrs.items():
 
            for outputAttr, value in attrs.items():
 
                outputUri, _index = self._outputMap[(device, outputAttr)]
 
                index = DmxMessageIndex(_index)
 
                outArray = pendingOut[outputUri]
 
                if outArray[index] != 0:
 
                    log.warn(f'conflict: {outputUri} output array was already nonzero at 0-based index {index}')
 
                    log.warning(f'conflict: {outputUri} output array was already nonzero at 0-based index {index}')
 
                    raise ValueError(f"someone already wrote to index {index}")
 
                outArray[index] = value
 
        return pendingOut
 

	
 
    def _updateOutputs(self, pendingOut: Dict[OutputUri, bytearray]):
 
        for uri, buf in pendingOut.items():
 
            self._outputByUri[uri].update(bytes(buf))
light9/effect/settings.py
Show inline comments
 
@@ -279,23 +279,23 @@ class DeviceSettings(_Settings):
 
                v = vector[i]
 
                i += 1
 
            compiled.setdefault(d, {})[a] = v
 
        return cls._fromCompiled(graph, compiled)
 

	
 
    @classmethod
 
    def merge(cls, graph: SyncedGraph, others: List[DeviceSettings]) -> DeviceSettings:
 
        return cls.fromList(graph, cast(List[_Settings], others))
 

	
 

	
 
@dataclass
 
class BareEffectSettings:
 
    # settings not specific to any effect
 
    # settings for an already-selected EffectClass
 
    s: Dict[EffectAttr, VTUnion]
 

	
 
    def withStrength(self, strength: float) -> BareEffectSettings:
 
        out = self.s.copy()
 
        out[EffectAttr(L9['strength'])] = strength
 
        return BareEffectSettings(s=out)
 

	
 

	
 
class EffectSettings(_Settings):
 
    pass
light9/effect/simple_outputs_test.py
Show inline comments
 
new file 100644
0 comments (0 inline, 0 general)