Art-Net DMX over IP-Bibliothek für Java und Processing. Diese Bibliothek fügt dem bestehenden artnet4j-Projekt viele Funktionen hinzu. Einschließlich Unterstützung zum Lesen von DMX-Daten.
OpDmx
Pakete zu empfangen8
und 11
(Oracle und OpenJDK) Ich empfehle, es von Maven Central aus zu installieren. Ansonsten ist es auch möglich, Github-Pakete, jitpack.io oder nur den Binär-Download zu verwenden.
< dependency >
< groupId >ch.bildspur</ groupId >
< artifactId >artnet4j</ artifactId >
< version >0.6.2</ version >
</ dependency >
repositories {
mavenCentral()
}
dependencies {
compile ' ch.bildspur:artnet4j:0.6.2 '
}
Die Bibliothek fügt eine neue Klasse namens ArtNetClient
hinzu, die einfachen Zugriff auf die zugrunde liegende Art-Net-Implementierung bietet.
Um DMX-Daten zu senden, müssen Sie einen neuen Client erstellen. Es ist möglich, die Puffererstellung zu überspringen, indem Sie null
an den Konstruktor übergeben.
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 ();
Basierend auf SendDmxData
Es ist auch möglich, die Daten per Broadcast zu versenden.
// to broad cast data
artnet . broadcastDmx ( 0 , 0 , dmxData );
Um Daten zu lesen, müssen Sie einen neuen Client erstellen und die Bytes aus dem Puffer lesen. Bitte beachten Sie, dass Sie die Bytes mit 0xFF
maskieren müssen (da sie signiert sind).
ArtNetClient artnet = new ArtNetClient ();
artnet . start ();
byte [] data = artnet . readDmxData ( 0 , 0 );
System . out . println ( "First Byte: " + data [ 0 ] & 0xFF );
artnet . start . stop ();
Basierend auf ReceiveDmxData
Beim Erstellen des ArtNetClient
ist es möglich, die spezifischen Ports für den Server (eingehend) und den Client (ausgehend) auszuwählen.
ArtNetClient artnet = new ArtNetClient ( new ArtNetBuffer (), 8000 , 8000 );
Basierend auf SendOnSpecificPort
Es ist auch möglich, eine benutzerdefinierte Netzwerkschnittstelle festzulegen. Hier sehen Sie, wie Sie eine benutzerdefinierte Netzwerkschnittstelle en5
an den ArtNet-Server binden:
NetworkInterface ni = NetworkInterface . getByName ( "en5" );
InetAddress address = ni . getInetAddresses (). nextElement ();
artnet . start ( address );
Manchmal ist es notwendig, Ereignisse zu empfangen, wenn ein neues Paket empfangen wurde. Zu diesem Zweck können Sie den zugrunde liegenden ArtNetServer abrufen und ihm einen neuen Listener hinzufügen.
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 ();
Die Bibliothek basiert auf dem damaligen artnet4j-Projekt.
Art-Net von Artistic License ermöglicht die Übertragung von DMX-Daten über IP/UDP. Diese Bibliothek implementiert das Basisprotokoll für Java-Anwendungen.
Derzeit unterstützte Kernfunktionen sind:
Dieses Projekt befindet sich derzeit noch im Pre-Alpha-Stadium, daher ist der Quellzugriff derzeit nur über hg möglich. Beachten Sie auch, dass große Teile der Codebasis noch großen Änderungen unterliegen.
Neue Features werden von Florian entwickelt.