Biblioteca Art-Net DMX sobre IP para Java e Processamento. Esta biblioteca adiciona muitos recursos ao projeto artnet4j existente. Incluindo suporte para leitura de dados DMX.
OpDmx
8
e 11
(oracle e openjdk) Eu recomendo instalá-lo no maven central. Caso contrário também é possível usar pacotes do github, jitpack.io ou apenas o download binário.
< dependency >
< groupId >ch.bildspur</ groupId >
< artifactId >artnet4j</ artifactId >
< version >0.6.2</ version >
</ dependency >
repositories {
mavenCentral()
}
dependencies {
compile ' ch.bildspur:artnet4j:0.6.2 '
}
A biblioteca adiciona uma nova classe chamada ArtNetClient
, que contém acesso fácil à implementação subjacente do Art-Net.
Para enviar dados DMX você precisa criar um novo cliente. É possível pular a criação do buffer passando null
para o construtor.
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 ();
Baseado em SendDmxData
Também é possível enviar os dados via broadcast.
// to broad cast data
artnet . broadcastDmx ( 0 , 0 , dmxData );
Para ler dados você deve criar um novo cliente e ler os bytes do buffer. Esteja ciente de que você deve mascarar os bytes com 0xFF
(porque eles estão assinados).
ArtNetClient artnet = new ArtNetClient ();
artnet . start ();
byte [] data = artnet . readDmxData ( 0 , 0 );
System . out . println ( "First Byte: " + data [ 0 ] & 0xFF );
artnet . start . stop ();
Baseado em ReceiveDmxData
Ao criar o ArtNetClient
, é possível selecionar as portas específicas para o servidor (entrada) e o cliente (saída).
ArtNetClient artnet = new ArtNetClient ( new ArtNetBuffer (), 8000 , 8000 );
Baseado em SendOnSpecificPort
Também é possível definir uma interface de rede personalizada. Aqui você vê como vincular uma interface de rede personalizada en5
ao servidor ArtNet:
NetworkInterface ni = NetworkInterface . getByName ( "en5" );
InetAddress address = ni . getInetAddresses (). nextElement ();
artnet . start ( address );
Às vezes é necessário receber eventos quando um novo pacote foi recebido. Para este propósito, você pode obter o ArtNetServer subjacente e adicionar um novo ouvinte a ele.
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 ();
A biblioteca é baseada no projeto artnet4j.
Art-Net da Artistic License permite a transmissão de dados DMX via IP/UDP. Esta biblioteca implementa o protocolo básico para aplicativos Java.
Os principais recursos atualmente suportados são:
Este projeto ainda está em fase pré-alfa, portanto atualmente apenas acesso à fonte via hg. Esteja ciente também de que grandes partes da base de código ainda estão passando por grandes mudanças.
Novos recursos são desenvolvidos por Florian.