From a7b53afe132c5fb6d0c142491fd6ee7c3858a1be Mon Sep 17 00:00:00 2001 From: haslinghuis Date: Mon, 5 Dec 2022 04:23:58 +0100 Subject: [PATCH] Fix HD selection in UI (#3106) --- src/js/msp/MSPHelper.js | 3 +++ src/js/tabs/osd.js | 48 +++++++++++++---------------------------- 2 files changed, 18 insertions(+), 33 deletions(-) diff --git a/src/js/msp/MSPHelper.js b/src/js/msp/MSPHelper.js index 2036b083..791ff2d3 100644 --- a/src/js/msp/MSPHelper.js +++ b/src/js/msp/MSPHelper.js @@ -1729,6 +1729,9 @@ MspHelper.prototype.process_data = function(dataHandler) { OSD.data.VIDEO_BUFFER_CHARS['HD'] = OSD.data.VIDEO_COLS['HD'] * OSD.data.VIDEO_ROWS['HD']; console.log(`Canvas ${OSD.data.VIDEO_COLS['HD']} x ${OSD.data.VIDEO_ROWS['HD']}`); break; + case MSPCodes.MSP_SET_OSD_CANVAS: + console.log('OSD Canvas config set'); + break; case MSPCodes.MSP_OSD_CONFIG: break; case MSPCodes.MSP_SET_OSD_CONFIG: diff --git a/src/js/tabs/osd.js b/src/js/tabs/osd.js index 3da08033..8550b1b9 100644 --- a/src/js/tabs/osd.js +++ b/src/js/tabs/osd.js @@ -2694,12 +2694,6 @@ OSD.GUI.preview = { }, }; -async function getCanvas() { - if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_45)) { - return MSP.promise(MSPCodes.MSP_OSD_CANVAS); - } -} - const osd = { analyticsChanges: {}, }; @@ -2797,12 +2791,16 @@ osd.initialize = function(callback) { // 2 way binding... sorta function updateOsdView() { + // ask for the OSD canvas data - getCanvas(); + let p; + if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_45)) { + p = MSP.promise(MSPCodes.MSP_OSD_CANVAS); + } // ask for the OSD config data - MSP.promise(MSPCodes.MSP_OSD_CONFIG) - .then(function(info) { + p.then(() => MSP.promise(MSPCodes.MSP_OSD_CONFIG)) + .then(info => { OSD.chooseFields(); @@ -2838,9 +2836,7 @@ osd.initialize = function(callback) { $videoTypes.find(':radio').click(function() { OSD.data.video_system = $(this).data('type'); MSP.promise(MSPCodes.MSP_SET_OSD_CONFIG, OSD.msp.encodeOther()) - .then(function() { - updateOsdView(); - }); + .then(updateOsdView); }); if (semver.gte(FC.CONFIG.apiVersion, "1.21.0")) { @@ -2861,9 +2857,7 @@ osd.initialize = function(callback) { $unitMode.find(':radio').click(function() { OSD.data.unit_mode = $(this).data('type'); MSP.promise(MSPCodes.MSP_SET_OSD_CONFIG, OSD.msp.encodeOther()) - .then(function() { - updateOsdView(); - }); + .then(updateOsdView); }); // alarms $('.alarms-container').show(); @@ -2875,9 +2869,7 @@ osd.initialize = function(callback) { alarmInput.focusout(function() { OSD.data.alarms[$(this)[0].id].value = $(this)[0].value; MSP.promise(MSPCodes.MSP_SET_OSD_CONFIG, OSD.msp.encodeOther()) - .then(function() { - updateOsdView(); - }); + .then(updateOsdView); }); const $input = $('