diff --git a/server/src/wled_controller/static/app.js b/server/src/wled_controller/static/app.js index a073e70..f8f595e 100644 --- a/server/src/wled_controller/static/app.js +++ b/server/src/wled_controller/static/app.js @@ -3815,6 +3815,8 @@ async function showTargetEditor(targetId = null) { document.getElementById('target-editor-name').value = target.name; deviceSelect.value = target.device_id || ''; sourceSelect.value = target.picture_source_id || ''; + document.getElementById('target-editor-fps').value = target.settings?.fps ?? 30; + document.getElementById('target-editor-fps-value').textContent = target.settings?.fps ?? 30; document.getElementById('target-editor-border-width').value = target.settings?.border_width ?? 10; document.getElementById('target-editor-interpolation').value = target.settings?.interpolation_mode ?? 'average'; document.getElementById('target-editor-smoothing').value = target.settings?.smoothing ?? 0.3; @@ -3826,6 +3828,8 @@ async function showTargetEditor(targetId = null) { document.getElementById('target-editor-name').value = ''; deviceSelect.value = ''; sourceSelect.value = ''; + document.getElementById('target-editor-fps').value = 30; + document.getElementById('target-editor-fps-value').textContent = '30'; document.getElementById('target-editor-border-width').value = 10; document.getElementById('target-editor-interpolation').value = 'average'; document.getElementById('target-editor-smoothing').value = 0.3; @@ -3837,6 +3841,7 @@ async function showTargetEditor(targetId = null) { name: document.getElementById('target-editor-name').value, device: deviceSelect.value, source: sourceSelect.value, + fps: document.getElementById('target-editor-fps').value, border_width: document.getElementById('target-editor-border-width').value, interpolation: document.getElementById('target-editor-interpolation').value, smoothing: document.getElementById('target-editor-smoothing').value, @@ -3860,6 +3865,7 @@ function isTargetEditorDirty() { document.getElementById('target-editor-name').value !== targetEditorInitialValues.name || document.getElementById('target-editor-device').value !== targetEditorInitialValues.device || document.getElementById('target-editor-source').value !== targetEditorInitialValues.source || + document.getElementById('target-editor-fps').value !== targetEditorInitialValues.fps || document.getElementById('target-editor-border-width').value !== targetEditorInitialValues.border_width || document.getElementById('target-editor-interpolation').value !== targetEditorInitialValues.interpolation || document.getElementById('target-editor-smoothing').value !== targetEditorInitialValues.smoothing @@ -3886,6 +3892,7 @@ async function saveTargetEditor() { const name = document.getElementById('target-editor-name').value.trim(); const deviceId = document.getElementById('target-editor-device').value; const sourceId = document.getElementById('target-editor-source').value; + const fps = parseInt(document.getElementById('target-editor-fps').value) || 30; const borderWidth = parseInt(document.getElementById('target-editor-border-width').value) || 10; const interpolation = document.getElementById('target-editor-interpolation').value; const smoothing = parseFloat(document.getElementById('target-editor-smoothing').value); @@ -3902,6 +3909,7 @@ async function saveTargetEditor() { device_id: deviceId, picture_source_id: sourceId, settings: { + fps: fps, border_width: borderWidth, interpolation_mode: interpolation, smoothing: smoothing, diff --git a/server/src/wled_controller/static/index.html b/server/src/wled_controller/static/index.html index e15b8bf..251373a 100644 --- a/server/src/wled_controller/static/index.html +++ b/server/src/wled_controller/static/index.html @@ -271,6 +271,18 @@ +