mirror of
https://github.com/stagehacks/Cue-View.git
synced 2026-08-10 00:03:39 +00:00
pretty artnet plugin
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
<p><em>Art-Net</em> requires no configuration.</p>
|
||||
<p>Art-Net™ Designed by and Copyright Artistic Licence Holdings Ltd</p>
|
||||
<p>Art-Net™ Designed by and Copyright Artistic Licence Holdings Ltd</p>
|
||||
|
||||
+32
-34
@@ -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;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user