| 289 | } |
| 290 | |
| 291 | void ClientGateApplet::tickMeter() |
| 292 | { |
| 293 | if (!m_audio || !m_grBar) return; |
| 294 | ClientGate* g = gate(); |
| 295 | if (!g) return; |
| 296 | const float gr = g->gainReductionDb(); |
| 297 | m_grBar->setGrDb(gr); |
| 298 | m_grDb = gr; |
| 299 | |
| 300 | // Sync knobs back from engine so changes made in the floating |
| 301 | // editor show up live here (and vice versa). QSignalBlocker |
| 302 | // prevents the setValue from re-driving the engine. |
| 303 | if (m_thresh) { QSignalBlocker b(m_thresh); m_thresh->setValue(g->thresholdDb()); } |
| 304 | if (m_ratio) { QSignalBlocker b(m_ratio); m_ratio->setValue(g->ratio()); } |
| 305 | if (m_return) { QSignalBlocker b(m_return); m_return->setValue(g->returnDb()); } |
| 306 | if (m_release) { QSignalBlocker b(m_release); m_release->setValue(g->releaseMs()); } |
| 307 | if (m_floor) { QSignalBlocker b(m_floor); m_floor->setValue(g->floorDb()); } |
| 308 | } |
| 309 | |
| 310 | } // namespace AetherSDR |
nothing calls this directly
no test coverage detected