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
)