From e166d093263c018263640f5467604fafec57dd7e Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Sat, 31 Dec 2022 10:37:42 -0600 Subject: [PATCH] check qlab reply status before processing it --- plugins/qlab/main.js | 66 ++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/plugins/qlab/main.js b/plugins/qlab/main.js index 67d61f3..e99e054 100644 --- a/plugins/qlab/main.js +++ b/plugins/qlab/main.js @@ -229,48 +229,54 @@ exports.data = function data(_device, oscData) { } else if ( match(oscAddressParts, ['reply', 'cue_id', '*', 'preWaitElapsed']) ) { - const json = JSON.parse(oscData.args[0]); - const workspace = device.data.workspaces[json.workspace_id]; - const cue = workspace.cues[json.address.substring(55, 91)]; + const oscArgs = JSON.parse(oscData.args[0]); + if (oscArgs.status !== 'error') { + const workspace = device.data.workspaces[oscArgs.workspace_id]; + const cue = workspace.cues[oscArgs.address.substring(55, 91)]; - cue.preWaitElapsed = json.data; - lastElapsedUpdate = Date.now(); + cue.preWaitElapsed = oscArgs.data; + lastElapsedUpdate = Date.now(); - device.update('updateCueData', { - cue, - allCues: workspace.cues, - workspace, - }); + device.update('updateCueData', { + cue, + allCues: workspace.cues, + workspace, + }); + } } else if ( match(oscAddressParts, ['reply', 'cue_id', '*', 'actionElapsed']) ) { - const json = JSON.parse(oscData.args[0]); - const workspace = device.data.workspaces[json.workspace_id]; - const cue = workspace.cues[json.address.substring(55, 91)]; + const oscArgs = JSON.parse(oscData.args[0]); + if (oscArgs.status !== 'error') { + const workspace = device.data.workspaces[oscArgs.workspace_id]; + const cue = workspace.cues[oscArgs.address.substring(55, 91)]; - cue.actionElapsed = json.data; - lastElapsedUpdate = Date.now(); + cue.actionElapsed = oscArgs.data; + lastElapsedUpdate = Date.now(); - device.update('updateCueData', { - cue, - allCues: workspace.cues, - workspace, - }); + device.update('updateCueData', { + cue, + allCues: workspace.cues, + workspace, + }); + } } else if ( match(oscAddressParts, ['reply', 'cue_id', '*', 'postWaitElapsed']) ) { - const json = JSON.parse(oscData.args[0]); - const workspace = device.data.workspaces[json.workspace_id]; - const cue = workspace.cues[json.address.substring(55, 91)]; + const oscArgs = JSON.parse(oscData.args[0]); + if (oscArgs.status !== 'error') { + const workspace = device.data.workspaces[oscArgs.workspace_id]; + const cue = workspace.cues[oscArgs.address.substring(55, 91)]; - cue.postWaitElapsed = json.data; - lastElapsedUpdate = Date.now(); + cue.postWaitElapsed = oscArgs.data; + lastElapsedUpdate = Date.now(); - device.update('updateCueData', { - cue, - allCues: workspace.cues, - workspace, - }); + device.update('updateCueData', { + cue, + allCues: workspace.cues, + workspace, + }); + } } else if ( match(oscAddressParts, ['update', 'workspace', '*', 'cue_id', '*']) ) {