Pacote Swift para macOS, iOS e tvOS para enviar dados DMX sACN (E1.31) por UDP usando Network.framework .
Você só precisa iniciar uma Connection para um universo e começar a enviar dados DMX.
let connection = Connection ( universe : 1 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) )Se quiser usar UDP Unicast em vez de Multicast, você pode simplesmente especificar um endpoint:
let connection = Connection ( endpoint : . hostPort ( host : " 192.168.2.102 " , . sACN ) , universe : 2 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) ) Foundation e Network.framework Para Unicast, você precisa especificar um endpoint IPv6. Para Multicast, você precisa especificar a versão do IP que deseja usar:
let connection = Connection ( universe : 1 , ipVersion : . v6 ) Depois de criar uma connection , você pode definir a prioridade por pacote usando o método Connection.sendDMXData(_:priority:isPreviewData:) . A prioridade padrão é 100 .
connection . sendDMXData ( data , priority : 200 ) Depois de criar uma connection , você pode escolher por pacote se são dados de visualização ou não usando o método Connection.sendDMXData(_:priority:isPreviewData:) . O padrão de isPreviewData é false .
connection . sendDMXData ( data , isPreviewData : true ) Connection oferece suporte à personalização da porta, do identificador de componente (CID), do nome da origem, DispatchQueue e NWConneciton.Parameter . Consulte a documentação para obter mais informações.
public convenience init (
universe : UInt16 ,
ipVersion : IPVersion = . v4 ,
port : NWEndpoint . Port = . sACN ,
cid : UUID = . init ( ) ,
sourceName : String = getDeviceName ( ) ,
queue : DispatchQueue ? = nil ,
parameters : NWParameters ? = nil
)