Recover analyzer DSP and realtime pipeline corrections
This commit is contained in:
+46
-6
@@ -290,7 +290,7 @@ function syncUI() {
|
||||
['opt_rtaIntegration', CONFIG.RTA_INTEGRATION || 'fast'],
|
||||
['opt_rtaBallistics', CONFIG.RTA_BALLISTICS_MODE || 'average'],
|
||||
['opt_rtaHoldMode', CONFIG.RTA_PEAK_HOLD_MODE || 'auto'],
|
||||
['opt_rtaHoldTime', CONFIG.RTA_PEAK_HOLD_SEC ?? 2],
|
||||
['opt_rtaHoldTime', CONFIG.RTA_PEAK_HOLD_SEC ?? 2.5],
|
||||
['opt_rtaDecay', CONFIG.RTA_PEAK_DECAY_DB_PER_S ?? 20],
|
||||
['opt_rtaDisplayHold', CONFIG.RTA_DISPLAY_HOLD_SEC ?? 0],
|
||||
['opt_spectroGamma', CONFIG.SPECTRO_GAMMA ?? 0.9, 'val_spectroGamma', (v)=>Number(v).toFixed(2)],
|
||||
@@ -1054,13 +1054,23 @@ function wireHandlers(env) {
|
||||
}, null, null, true);
|
||||
|
||||
// Hold-/Decay-Parameter
|
||||
h('opt_rtaEngine', v => { CONFIG.RTA_ENGINE = (v === 'iir') ? 'iir' : 'fft'; });
|
||||
h('opt_rtaEngine', v => {
|
||||
CONFIG.RTA_ENGINE = CONFIG.RTA_BAR_LAYOUT === 'rtw' ? 'iir' : ((v === 'iir') ? 'iir' : 'fft');
|
||||
return CONFIG.RTA_ENGINE;
|
||||
});
|
||||
h('opt_rtaBpo', v => {
|
||||
const allowed = new Set(['1_3', '1_6', '1_12']);
|
||||
CONFIG.RTA_BPO_MODE = allowed.has(v) ? v : '1_6';
|
||||
CONFIG.RTA_BPO_MODE = CONFIG.RTA_BAR_LAYOUT === 'rtw'
|
||||
? '1_3'
|
||||
: (allowed.has(v) ? v : '1_6');
|
||||
notifyPhoenixGlobalConfig();
|
||||
return CONFIG.RTA_BPO_MODE;
|
||||
});
|
||||
h('opt_rtaOrder', v => {
|
||||
if (CONFIG.RTA_BAR_LAYOUT === 'rtw') {
|
||||
CONFIG.RTA_IIR_ORDER = 6;
|
||||
return 6;
|
||||
}
|
||||
let val = Math.round(+v);
|
||||
if (!Number.isFinite(val)) val = 4;
|
||||
val = Math.max(2, Math.min(8, val));
|
||||
@@ -1068,12 +1078,33 @@ function wireHandlers(env) {
|
||||
CONFIG.RTA_IIR_ORDER = val;
|
||||
return val;
|
||||
});
|
||||
h('opt_rtaFreq', v => { CONFIG.RTA_FREQ_RANGE = (v === 'lf') ? 'lf' : 'norm'; });
|
||||
h('opt_rtaFreq', v => {
|
||||
CONFIG.RTA_FREQ_RANGE = CONFIG.RTA_BAR_LAYOUT === 'rtw' ? 'norm' : ((v === 'lf') ? 'lf' : 'norm');
|
||||
return CONFIG.RTA_FREQ_RANGE;
|
||||
});
|
||||
h('opt_rtaDisplayGainFft', v => { CONFIG.RTA_DISPLAY_GAIN_FFT_DB = clamp(+v, -25, 25); }, 'val_rtaDisplayGainFft', v=>`${v} dB`);
|
||||
h('opt_rtaDisplayGainIir', v => { CONFIG.RTA_DISPLAY_GAIN_IIR_DB = clamp(+v, -25, 25); }, 'val_rtaDisplayGainIir', v=>`${v} dB`);
|
||||
h('opt_rtaLayout', v => {
|
||||
const val = (v === 'rtw') ? 'rtw' : 'iec';
|
||||
CONFIG.RTA_BAR_LAYOUT = val;
|
||||
if (val === 'rtw') {
|
||||
CONFIG.RTA_ENGINE = 'iir';
|
||||
CONFIG.RTA_BPO_MODE = '1_3';
|
||||
CONFIG.RTA_IIR_ORDER = 6;
|
||||
CONFIG.RTA_FREQ_RANGE = 'norm';
|
||||
const forced = {
|
||||
opt_rtaEngine: 'iir',
|
||||
opt_rtaBpo: '1_3',
|
||||
opt_rtaOrder: '6',
|
||||
opt_rtaFreq: 'norm',
|
||||
};
|
||||
for (const [id, value] of Object.entries(forced)) {
|
||||
const control = document.getElementById(id);
|
||||
if (control) control.value = value;
|
||||
}
|
||||
notifyPhoenixGlobalConfig();
|
||||
}
|
||||
return val;
|
||||
});
|
||||
h('opt_rtaBarBaseColor', v => {
|
||||
CONFIG.RTA_BAR_BASE_COLOR = v || '#ffe066';
|
||||
@@ -1085,8 +1116,9 @@ function wireHandlers(env) {
|
||||
CONFIG.RTA_WEIGHTING = allowed.has(v) ? v : 'z';
|
||||
});
|
||||
h('opt_rtaIntegration', v => {
|
||||
const allowed = new Set(['impulse','fast','slow','peak']);
|
||||
const allowed = new Set(['impulse','fast','medium','slow','average','peak']);
|
||||
CONFIG.RTA_INTEGRATION = allowed.has(v) ? v : 'fast';
|
||||
return CONFIG.RTA_INTEGRATION;
|
||||
});
|
||||
h('opt_rtaBallistics', v => {
|
||||
const val = (v === 'peak' || v === 'both' || v === 'average') ? v : 'average';
|
||||
@@ -1097,12 +1129,19 @@ function wireHandlers(env) {
|
||||
const allowed = new Set(['off','auto','manual']);
|
||||
CONFIG.RTA_PEAK_HOLD_MODE = allowed.has(v) ? v : 'auto';
|
||||
});
|
||||
h('opt_rtaHoldTime', v => { CONFIG.RTA_PEAK_HOLD_SEC = clamp(+v, 0, 30); });
|
||||
h('opt_rtaHoldTime', v => {
|
||||
const requested = clamp(+v, 0, 30);
|
||||
CONFIG.RTA_PEAK_HOLD_SEC = CONFIG.RTA_BAR_LAYOUT === 'rtw'
|
||||
? (requested < 3.25 ? 2.5 : 4.0)
|
||||
: requested;
|
||||
return CONFIG.RTA_PEAK_HOLD_SEC;
|
||||
});
|
||||
h('opt_rtaDecay', v => { CONFIG.RTA_PEAK_DECAY_DB_PER_S = clamp(+v, 1, 60); });
|
||||
h('opt_rtaDisplayHold', v => { CONFIG.RTA_DISPLAY_HOLD_SEC = clamp(+v, 0, 5); });
|
||||
h('opt_spectroGamma', v => {
|
||||
const num = clamp(parseFloat(v), 0.3, 1.2);
|
||||
CONFIG.SPECTRO_GAMMA = num;
|
||||
notifyPhoenixGlobalConfig();
|
||||
return num;
|
||||
}, 'val_spectroGamma', (v)=>Number(v).toFixed(2));
|
||||
h('opt_spectroScroll', v => {
|
||||
@@ -1110,6 +1149,7 @@ function wireHandlers(env) {
|
||||
const num = Number(v);
|
||||
const val = allowed.has(num) ? num : 1;
|
||||
CONFIG.SPECTRO_SCROLL_MODE = val;
|
||||
notifyPhoenixGlobalConfig();
|
||||
return val;
|
||||
});
|
||||
h('opt_peakHistScroll', v => {
|
||||
|
||||
Reference in New Issue
Block a user