Swift-Paket für macOS, iOS und tvOS zum Senden von sACN (E1.31) DMX-Daten über UDP mit Network.framework .
Sie müssen nur eine Connection für ein Universum herstellen und können mit dem Senden von DMX-Daten beginnen.
let connection = Connection ( universe : 1 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) )Wenn Sie UDP Unicast statt Multicast nutzen möchten, können Sie einfach selbst einen Endpunkt angeben:
let connection = Connection ( endpoint : . hostPort ( host : " 192.168.2.102 " , . sACN ) , universe : 2 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) ) Foundation und Network.framework ab Für Unicast müssen Sie einen IPv6-Endpunkt angeben. Für Multicast müssen Sie die IP-Version angeben, die Sie verwenden möchten:
let connection = Connection ( universe : 1 , ipVersion : . v6 ) Nachdem Sie eine connection erstellt haben, können Sie die Priorität pro Paket mithilfe der Methode Connection.sendDMXData(_:priority:isPreviewData:) festlegen. Die Standardpriorität ist 100 .
connection . sendDMXData ( data , priority : 200 ) Nachdem Sie eine connection erstellt haben, können Sie mithilfe der Methode Connection.sendDMXData(_:priority:isPreviewData:) pro Paket auswählen, ob es sich um Vorschaudaten handelt oder nicht. isPreviewData ist standardmäßig auf false gesetzt.
connection . sendDMXData ( data , isPreviewData : true ) Connection unterstützt das Anpassen des Ports, der Komponentenkennung (CID), des Quellnamens, DispatchQueue und NWConneciton.Parameter . Weitere Informationen finden Sie in der Dokumentation.
public convenience init (
universe : UInt16 ,
ipVersion : IPVersion = . v4 ,
port : NWEndpoint . Port = . sACN ,
cid : UUID = . init ( ) ,
sourceName : String = getDeviceName ( ) ,
queue : DispatchQueue ? = nil ,
parameters : NWParameters ? = nil
)