From ab32b6756412a922c25a42b60b6e6f4afe3fe9b1 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Mon, 12 Dec 2022 14:32:31 -0600 Subject: [PATCH] pretty artnet plugin --- plugins/artnet/info.html | 2 +- plugins/artnet/main.js | 66 +++++++++++++++++++--------------------- 2 files changed, 33 insertions(+), 35 deletions(-) diff --git a/plugins/artnet/info.html b/plugins/artnet/info.html index 4284f4e..0ccf028 100644 --- a/plugins/artnet/info.html +++ b/plugins/artnet/info.html @@ -1,2 +1,2 @@

Art-Net requires no configuration.

-

Art-Netâ„¢ Designed by and Copyright Artistic Licence Holdings Ltd

\ No newline at end of file +

Art-Netâ„¢ Designed by and Copyright Artistic Licence Holdings Ltd

diff --git a/plugins/artnet/main.js b/plugins/artnet/main.js index e897d7a..7306394 100644 --- a/plugins/artnet/main.js +++ b/plugins/artnet/main.js @@ -1,8 +1,8 @@ const _ = require('lodash'); exports.config = { - defaultName: "Art-Net", - connectionType: "UDPsocket", + defaultName: 'Art-Net', + connectionType: 'UDPsocket', heartbeatInterval: 10000, searchOptions: { type: 'UDPsocket', @@ -10,10 +10,10 @@ exports.config = { devicePort: 6454, listenPort: 6454, mayChangePort: false, - validateResponse (msg, info, devices) { - return msg.toString('utf8', 0, 7) === "Art-Net"; - } - } + validateResponse(msg, info, devices) { + return msg.toString('utf8', 0, 7) === 'Art-Net'; + }, + }, }; exports.defaultPort = 6454; @@ -25,14 +25,14 @@ exports.ready = function ready(_device) { }; exports.data = function data(_device, buf) { - if(buf.length < 18){ - return + if (buf.length < 18) { + return; } const universeIndex = buf.readUInt8(14); const device = _device; let universe = device.data.universes[universeIndex]; - if(!universe){ + if (!universe) { device.data.universes[universeIndex] = {}; universe = device.data.universes[universeIndex]; } @@ -41,10 +41,10 @@ exports.data = function data(_device, buf) { universe.subnet = buf.readUInt8(15); universe.opCode = buf.readUInt8(9); universe.version = buf.readUInt16BE(10); - universe.slots = buf.slice(18) + universe.slots = buf.slice(18); device.data.ip = device.addresses[0]; - if(!_.includes(device.data.orderedUniverses, universeIndex)){ + if (!_.includes(device.data.orderedUniverses, universeIndex)) { device.data.orderedUniverses.push(universeIndex); device.data.orderedUniverses.sort(); universe.slotElems = []; @@ -54,49 +54,47 @@ exports.data = function data(_device, buf) { device.update('elementCache'); } - device.update("universeData", { + device.update('universeData', { universeIndex, - universe + universe, }); }; -exports.heartbeat = function heartbeat(device) { - -}; +exports.heartbeat = function heartbeat(device) {}; let lastUpdate = Date.now(); -exports.update = function update(_device, _document, updateType, updateData){ - const device = _device +exports.update = function update(_device, _document, updateType, updateData) { + const device = _device; const data = updateData; const document = _document; - if(updateType === "universeData" && data.universe){ - - if(Date.now() - lastUpdate > 1000){ + if (updateType === 'universeData' && data.universe) { + if (Date.now() - lastUpdate > 1000) { lastUpdate = Date.now(); - device.update("elementCache"); + device.update('elementCache'); } const $elem = document.getElementById(`universe-${data.universeIndex}`); - if($elem && data.universe.slotElemsSet){ - for(let i = 0; i < 512; i++){ + if ($elem && data.universe.slotElemsSet) { + for (let i = 0; i < 512; i++) { data.universe.slotElems[i].innerText = data.universe.slots[i]; } - document.getElementById(`universe-${data.universeIndex}-sequence`).innerText = data.universe.sequence; - }else{ + document.getElementById( + `universe-${data.universeIndex}-sequence` + ).innerText = data.universe.sequence; + } else { device.draw(); - device.update("elementCache"); + device.update('elementCache'); } - - }else if(updateType === "elementCache"){ - device.data.orderedUniverses.forEach(universeIndex => { - for(let i = 0; i < 512; i++){ - device.data.universes[universeIndex].slotElems[i] = document.getElementById(`${universeIndex}-${i}`); + } else if (updateType === 'elementCache') { + device.data.orderedUniverses.forEach((universeIndex) => { + for (let i = 0; i < 512; i++) { + device.data.universes[universeIndex].slotElems[i] = + document.getElementById(`${universeIndex}-${i}`); } device.data.universes[universeIndex].slotElemsSet = true; }); } -} - +};