abffff3711
- Master32Engine: 32-Kanal-Dekodierung: 16-Bit Intensitaet/BPM/Dauer, Blackout (hoechste Prioritaet), Freeze, Preset Bank/Index, Flanken-Trigger Preset Recall/Tap Tempo/Release, Audio/AI-Freigabe, Testpattern, Global Hue/Sat, Fallback; reservierte Kanaele neutral - Layer64Engine: 64-Kanal-Dekodierung: Enable, 16-Bit Opacity, Source-Type Media/Generator/Solid/Live, modusabhaengiger Source-Block (Kanal 13-20: Media=Speed/Position/In/Out, Generator=G1-G8), Transport-Enum, Blend, 16-Bit signed Position, Scale, Rotation, Crop, Color, FX1/FX2 mit P1-P8, Load/Commit-Semantik mit pending selection (§16.5: Fader bewegt nichts ohne Flanke), Retrigger - map_speed (§16.6): Mittelpunkt=Pause, untere Haelfte -4x..0, obere 0..+4x, definierter Wert 40960 = exakt 1x; monoton, dokumentiert und getestet (Fehler im ersten Entwurf korrigiert: 32768 war faelschlich 1x statt Pause) - UniversePlan: kollisionsfreie Bereiche je Node, Ueberschneidung = Blocker-Fehler (§16.2), Preflight-Check - 26 Unit-Tests: Speed-Referenzwerte/-Monotonie, Master32-Kanaele, Trigger-Flanken, reservierte Kanaele, Layer64-Modi, Load/Commit, Retrigger, FX-Bloecke, Universe-Kollisionen; 8x64=512-Verifikation - Gesamtsuite 532 gruen, Ruff gruen
68 lines
1.5 KiB
Python
68 lines
1.5 KiB
Python
"""hms_artnet – Art-Net 4 Steuerung (PLAN.md §16).
|
||
|
||
ArtDMX-Empfang, ArtPoll/ArtPollReply (Discovery als Media Server, Style 0x02),
|
||
Fixture-Engine (Master32/Layer64, §16.3–§16.6), Universe-Plan (§16.2),
|
||
konfigurierbare Universen/Adressen, Sequenzprüfung, Signalverlust-Verhalten.
|
||
Layouts gegen die offizielle Art-Net-4-Spezifikation verifiziert.
|
||
"""
|
||
|
||
from hms_artnet.fixtures import (
|
||
Layer64Engine,
|
||
LayerControl,
|
||
LayerEvent,
|
||
Master32Engine,
|
||
MasterControl,
|
||
MasterEvent,
|
||
SourceType,
|
||
TransportCommand,
|
||
UniverseCollisionError,
|
||
UniversePlan,
|
||
UniverseRange,
|
||
map_speed,
|
||
)
|
||
from hms_artnet.mapping import DmxLayerMapper, LayerDmxMapping, RisingEdge
|
||
from hms_artnet.packets import (
|
||
OPDMX,
|
||
OPPOLL,
|
||
OPPOLLREPLY,
|
||
UDP_PORT,
|
||
build_artpoll_reply,
|
||
build_dmx,
|
||
build_poll,
|
||
parse_dmx,
|
||
parse_poll,
|
||
parse_poll_reply,
|
||
)
|
||
from hms_artnet.receiver import ArtNetReceiver, DmxUpdate, LossBehavior
|
||
|
||
__all__ = [
|
||
"OPDMX",
|
||
"OPPOLL",
|
||
"OPPOLLREPLY",
|
||
"UDP_PORT",
|
||
"build_dmx",
|
||
"parse_dmx",
|
||
"build_poll",
|
||
"parse_poll",
|
||
"build_artpoll_reply",
|
||
"parse_poll_reply",
|
||
"ArtNetReceiver",
|
||
"DmxUpdate",
|
||
"LossBehavior",
|
||
"DmxLayerMapper",
|
||
"LayerDmxMapping",
|
||
"RisingEdge",
|
||
"Master32Engine",
|
||
"MasterControl",
|
||
"MasterEvent",
|
||
"Layer64Engine",
|
||
"LayerControl",
|
||
"LayerEvent",
|
||
"SourceType",
|
||
"TransportCommand",
|
||
"map_speed",
|
||
"UniversePlan",
|
||
"UniverseRange",
|
||
"UniverseCollisionError",
|
||
]
|