feat(http-frontend): BW bookmark on spectrum, dB floor control, remove FIR taps
Replace the BW slider + FIR taps filter panel with a visual bandwidth bookmark drawn directly on the spectrum canvas: - Semi-transparent amber gradient strip spanning dialFreq ± BW/2 - Rounded-top bookmark tab at the top of the strip showing the current BW - Draggable left/right edge handles (cursor: ew-resize) that adjust bandwidth live and send set_bandwidth on mouse-up; range clamped per-mode defaults - Y-axis now labeled with dB values (floor to ceiling) drawn on canvas - Configurable floor level via number input below spectrum (default -100 dB) - Auto button fits floor/range to current noise floor and peak level - Remove FIR taps selector (internal DSP implementation detail) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
@@ -64,7 +64,14 @@
|
||||
<div id="spectrum-tooltip"></div>
|
||||
<div id="spectrum-freq-axis"></div>
|
||||
</div>
|
||||
<div id="spectrum-hint">Scroll to zoom · Drag to pan · Double-click to reset</div>
|
||||
<div id="spectrum-controls">
|
||||
<span id="spectrum-bw-label">BW: --</span>
|
||||
<div id="spectrum-level-row">
|
||||
<label id="spectrum-floor-label">Floor <input type="number" id="spectrum-floor-input" value="-100" step="5" /> dB</label>
|
||||
<button id="spectrum-auto-btn" type="button">Auto</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="spectrum-hint">Scroll to zoom · Drag to pan · Double-click to reset · Drag BW edges to resize</div>
|
||||
</div>
|
||||
<div class="status">
|
||||
<div class="full-row freq-row">
|
||||
@@ -146,26 +153,6 @@
|
||||
<button id="tx-limit-btn" type="button">Set</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="filters-panel" style="display:none;">
|
||||
<div class="label"><span>Filters</span></div>
|
||||
<div class="inline" style="gap: 0.8rem; flex-wrap: wrap; align-items: center;">
|
||||
<label style="display:flex; align-items:center; gap:0.4rem;">
|
||||
<span style="color:var(--text-muted); font-size:0.85rem; white-space:nowrap;">BW</span>
|
||||
<input type="range" id="bw-slider" min="1000" max="500000" step="1000" value="3000" style="width:120px;" />
|
||||
<span id="bw-value" style="min-width:4rem; font-size:0.9rem;">3.0 kHz</span>
|
||||
</label>
|
||||
<label style="display:flex; align-items:center; gap:0.4rem;">
|
||||
<span style="color:var(--text-muted); font-size:0.85rem; white-space:nowrap;">FIR taps</span>
|
||||
<select id="fir-taps-select" class="status-input" style="width:auto; height:var(--control-height);">
|
||||
<option value="16">16</option>
|
||||
<option value="32">32</option>
|
||||
<option value="64" selected>64</option>
|
||||
<option value="128">128</option>
|
||||
<option value="256">256</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="full-row label-below-row" id="audio-row">
|
||||
<div class="label"><span>Audio</span></div>
|
||||
|
||||
Reference in New Issue
Block a user