| 4514 | } |
| 4515 | |
| 4516 | void AudioEngine::loadClientGateRxSettings() |
| 4517 | { |
| 4518 | if (!m_clientGateRx) return; |
| 4519 | auto& s = AppSettings::instance(); |
| 4520 | m_clientGateRx->setEnabled( |
| 4521 | s.value("ClientGateRxEnabled", "False").toString() == "True"); |
| 4522 | const int modeInt = s.value("ClientGateRxMode", "0").toInt(); |
| 4523 | m_clientGateRx->setMode(modeInt == 1 |
| 4524 | ? ClientGate::Mode::Gate |
| 4525 | : ClientGate::Mode::Expander); |
| 4526 | m_clientGateRx->setThresholdDb( |
| 4527 | s.value("ClientGateRxThresholdDb", "-40.0").toFloat()); |
| 4528 | m_clientGateRx->setReturnDb( |
| 4529 | s.value("ClientGateRxReturnDb", "2.0").toFloat()); |
| 4530 | m_clientGateRx->setRatio( |
| 4531 | s.value("ClientGateRxRatio", "2.0").toFloat()); |
| 4532 | m_clientGateRx->setAttackMs( |
| 4533 | s.value("ClientGateRxAttackMs", "0.5").toFloat()); |
| 4534 | m_clientGateRx->setHoldMs( |
| 4535 | s.value("ClientGateRxHoldMs", "20.0").toFloat()); |
| 4536 | m_clientGateRx->setReleaseMs( |
| 4537 | s.value("ClientGateRxReleaseMs", "100.0").toFloat()); |
| 4538 | m_clientGateRx->setFloorDb( |
| 4539 | s.value("ClientGateRxFloorDb", "-15.0").toFloat()); |
| 4540 | m_clientGateRx->setLookaheadMs( |
| 4541 | s.value("ClientGateRxLookaheadMs", "0.0").toFloat()); |
| 4542 | } |
| 4543 | |
| 4544 | void AudioEngine::saveClientGateRxSettings() const |
| 4545 | { |
nothing calls this directly
no test coverage detected