Swift Package pour macOS, iOS et tvOS pour envoyer des données DMX sACN (E1.31) via UDP à l'aide de Network.framework
.
Il vous suffit d'initier une Connection
pour un univers et vous pouvez commencer à envoyer des données DMX.
let connection = Connection ( universe : 1 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) )
Si vous souhaitez utiliser UDP Unicast au lieu de Multicast, vous pouvez simplement spécifier vous-même un point de terminaison :
let connection = Connection ( endpoint : . hostPort ( host : " 192.168.2.102 " , . sACN ) , universe : 2 )
connection . sendDMXData ( Data ( [ 0 , 10 , 255 , 0 , 0 , 0 , 255 ] ) )
Foundation
et Network.framework
Pour Unicast, vous devez spécifier un point de terminaison IPv6. Pour le Multicast, vous devez spécifier la version IP que vous souhaitez utiliser :
let connection = Connection ( universe : 1 , ipVersion : . v6 )
Après avoir créé une connection
, vous pouvez définir la priorité par paquet à l'aide de la méthode Connection.sendDMXData(_:priority:isPreviewData:)
. La priorité par défaut est 100
.
connection . sendDMXData ( data , priority : 200 )
Après avoir créé une connection
, vous pouvez choisir par paquet s'il s'agit de données d'aperçu ou non en utilisant la méthode Connection.sendDMXData(_:priority:isPreviewData:)
. isPreviewData
est par défaut false
.
connection . sendDMXData ( data , isPreviewData : true )
Connection
prend en charge la personnalisation du port, de l'identifiant du composant (CID), du nom de la source, DispatchQueue
et NWConneciton.Parameter
. Consultez la documentation pour plus d'informations.
public convenience init (
universe : UInt16 ,
ipVersion : IPVersion = . v4 ,
port : NWEndpoint . Port = . sACN ,
cid : UUID = . init ( ) ,
sourceName : String = getDeviceName ( ) ,
queue : DispatchQueue ? = nil ,
parameters : NWParameters ? = nil
)