Bibliothèque Art-Net DMX sur IP pour Java et traitement. Cette bibliothèque ajoute de nombreuses fonctionnalités au projet artnet4j existant. Y compris la prise en charge de la lecture des données DMX.
OpDmx
8
et 11
(oracle et openjdk) Je recommande de l'installer depuis Maven Central. Sinon il est également possible d'utiliser les packages github, jitpack.io ou simplement le téléchargement binaire.
< dependency >
< groupId >ch.bildspur</ groupId >
< artifactId >artnet4j</ artifactId >
< version >0.6.2</ version >
</ dependency >
repositories {
mavenCentral()
}
dependencies {
compile ' ch.bildspur:artnet4j:0.6.2 '
}
La bibliothèque ajoute une nouvelle classe appelée ArtNetClient
, qui contient un accès facile à l'implémentation Art-Net sous-jacente.
Pour envoyer des données DMX, vous devez créer un nouveau client. Il est possible de sauter la création du tampon en passant null
au constructeur.
byte [] dmxData = new byte [ 512 ];
ArtNetClient artnet = new ArtNetClient ();
artnet . start ();
// set data
dmxData [ 0 ] = 128 ;
// send data to localhost on subnet 0 and universe 0
artnet . unicastDmx ( "127.0.0.1" , 0 , 0 , dmxData );
artnet . stop ();
Basé sur SendDmxData
Il est également possible d'envoyer les données par diffusion.
// to broad cast data
artnet . broadcastDmx ( 0 , 0 , dmxData );
Pour lire des données, vous devez créer un nouveau client et lire les octets du tampon. Attention, vous devez masquer les octets avec 0xFF
(car ils sont signés).
ArtNetClient artnet = new ArtNetClient ();
artnet . start ();
byte [] data = artnet . readDmxData ( 0 , 0 );
System . out . println ( "First Byte: " + data [ 0 ] & 0xFF );
artnet . start . stop ();
Basé sur RecevoirDmxData
Lors de la création du ArtNetClient
, il est possible de sélectionner les ports spécifiques pour le serveur (entrant) et le client (sortant).
ArtNetClient artnet = new ArtNetClient ( new ArtNetBuffer (), 8000 , 8000 );
Basé sur SendOnSpecificPort
Il est également possible de définir une interface réseau personnalisée. Ici vous voyez comment lier une interface réseau personnalisée en5
au serveur ArtNet :
NetworkInterface ni = NetworkInterface . getByName ( "en5" );
InetAddress address = ni . getInetAddresses (). nextElement ();
artnet . start ( address );
Parfois, il est nécessaire de recevoir des événements lorsqu'un nouveau colis est reçu. À cette fin, vous pouvez obtenir le ArtNetServer sous-jacent et y ajouter un nouvel écouteur.
artnet = new ArtNetClient ();
// add packet listener to server
artnet . getArtNetServer (). addListener (
new ArtNetServerEventAdapter () {
@ Override public void artNetPacketReceived ( ArtNetPacket packet ) {
println ( "new packet received!" );
}
});
artnet . start ();
La bibliothèque est basée sur le projet artnet4j.
Art-Net by Artistic License permet la diffusion de données DMX via IP/UDP. Cette bibliothèque implémente le protocole de base pour les applications Java.
Les fonctionnalités principales actuellement prises en charge sont :
Ce projet est actuellement encore en phase pré-alpha, donc actuellement uniquement l'accès aux sources via hg. Sachez également que de grandes parties de la base de code subissent encore des changements majeurs.
De nouvelles fonctionnalités sont développées par Florian.