Biblioteca Art-Net DMX sobre IP para Java y procesamiento. Esta biblioteca agrega muchas características al proyecto artnet4j existente. Incluye soporte para leer datos dmx.
OpDmx
8
y 11
(oracle y openjdk) Recomiendo instalarlo desde maven central. De lo contrario, también es posible utilizar paquetes de github, jitpack.io o simplemente la descarga binaria.
< 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 biblioteca agrega una nueva clase llamada ArtNetClient
, que contiene un fácil acceso a la implementación subyacente de Art-Net.
Para enviar datos dmx tienes que crear un nuevo cliente. Es posible omitir la creación del búfer pasando null
al constructor.
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 ();
Basado en SendDmxData
También es posible enviar los datos mediante transmisión.
// to broad cast data
artnet . broadcastDmx ( 0 , 0 , dmxData );
Para leer datos, debe crear un nuevo cliente y leer los bytes del búfer. Tenga en cuenta que debe enmascarar los bytes con 0xFF
(porque están firmados).
ArtNetClient artnet = new ArtNetClient ();
artnet . start ();
byte [] data = artnet . readDmxData ( 0 , 0 );
System . out . println ( "First Byte: " + data [ 0 ] & 0xFF );
artnet . start . stop ();
Basado en RecibirDmxData
Al crear ArtNetClient
, es posible seleccionar los puertos específicos para el servidor (entrante) y el cliente (saliente).
ArtNetClient artnet = new ArtNetClient ( new ArtNetBuffer (), 8000 , 8000 );
Basado en SendOnSpecificPort
También es posible configurar una interfaz de red personalizada. Aquí verá cómo vincular una interfaz de red personalizada en5
al servidor ArtNet:
NetworkInterface ni = NetworkInterface . getByName ( "en5" );
InetAddress address = ni . getInetAddresses (). nextElement ();
artnet . start ( address );
A veces es necesario recibir eventos cuando se recibió un nuevo paquete. Para este propósito, puede obtener el ArtNetServer subyacente y agregarle un nuevo oyente.
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 biblioteca se basa en el proyecto artnet4j.
Art-Net by Artistic License permite transmitir datos DMX vía IP/UDP. Esta biblioteca implementa el protocolo básico para aplicaciones Java.
Las características principales actualmente admitidas son:
Este proyecto todavía se encuentra en etapa pre-alfa, por lo que actualmente solo se puede acceder a la fuente a través de hg. Tenga en cuenta también que gran parte del código base todavía está experimentando cambios importantes.
Florian desarrolla nuevas funciones.