I have custom node.js tally dispatcher based on atem protocol.
My idea is connect to the atem, read state data from protocol, parse it cleanup and send it futher...
In this case i parse tally data from atem like function bellow.
Funtion is very simple, get STATE from atem, get ME id and pack it into one message for websocket server.
In this way i can send only one message at the time with all needed data (program input, preview input, inTransition (means preview input HAVE TO BE RED) and so on).
I try achieve this behavior with companion triggers and feedback but for 40 inputs ATEM is toooooooo much trigers (80) because all inputs have to be triggeret separatelly and have to be doubled by preview and program state...
So maybe new type of feedback "Atem state" can be passtrough to the "Action" when i can send this data to websocket clients (tally lights).
async function changeTally(state, me = 0) {
//do tally
var programInput = state.video.mixEffects[me].programInput;
var previewInput = state.video.mixEffects[me].previewInput;
var inputs = state.inputs;
//
var inTransition = state.video.mixEffects[me].transitionPosition.inTransition;
//
var tally = {
'programInput': { 'id': programInput, 'name': inputs[programInput].longName },
'previewInput': { 'id': previewInput, 'name': inputs[previewInput].longName },
'inTransition': inTransition
};
//console.clear();
if (JSON.stringify(tally_old) != JSON.stringify(tally)) {
io.volatile.to("tally_room").emit("atem-tally", tally);
tally_old = tally;
console.log("Changing tally");
console.log(tally_old);
}
}
I have custom node.js tally dispatcher based on atem protocol.
My idea is connect to the atem, read state data from protocol, parse it cleanup and send it futher...
In this case i parse tally data from atem like function bellow.
Funtion is very simple, get STATE from atem, get ME id and pack it into one message for websocket server.
In this way i can send only one message at the time with all needed data (program input, preview input, inTransition (means preview input HAVE TO BE RED) and so on).
I try achieve this behavior with companion triggers and feedback but for 40 inputs ATEM is toooooooo much trigers (80) because all inputs have to be triggeret separatelly and have to be doubled by preview and program state...
So maybe new type of feedback "Atem state" can be passtrough to the "Action" when i can send this data to websocket clients (tally lights).