Paquete Swift para macOS, iOS y tvOS para enviar datos DMX de sACN (E1.31) a través de UDP utilizando Network.framework .
Sólo necesita iniciar una Connection para un universo y podrá comenzar a enviar datos DMX.
let connection = Connection ( universe : 1 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) )Si desea utilizar UDP Unicast en lugar de Multicast, simplemente puede especificar un punto final usted mismo:
let connection = Connection ( endpoint : . hostPort ( host : " 192.168.2.102 " , . sACN ) , universe : 2 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) ) Foundation y Network.framework Para Unicast, debe especificar un punto final IPv6. Para multidifusión, debe especificar la versión de IP que desea utilizar:
let connection = Connection ( universe : 1 , ipVersion : . v6 ) Después de crear una connection , puede establecer la prioridad por paquete utilizando el método Connection.sendDMXData(_:priority:isPreviewData:) . La prioridad predeterminada es 100 .
connection . sendDMXData ( data , priority : 200 ) Después de crear una connection , puede elegir por paquete si se trata de datos de vista previa o no utilizando el método Connection.sendDMXData(_:priority:isPreviewData:) . isPreviewData tiene el valor predeterminado false .
connection . sendDMXData ( data , isPreviewData : true ) Connection admite la personalización del puerto, el identificador de componente (CID), el nombre de origen, DispatchQueue y NWConneciton.Parameter . Consulte la documentación para obtener más información.
public convenience init (
universe : UInt16 ,
ipVersion : IPVersion = . v4 ,
port : NWEndpoint . Port = . sACN ,
cid : UUID = . init ( ) ,
sourceName : String = getDeviceName ( ) ,
queue : DispatchQueue ? = nil ,
parameters : NWParameters ? = nil
)