#include "ChannelParam.h" #include #include "spdlog/spdlog.h" #include "GlobalInfo.h" /* -------------------------------------------------------------------------------- * 音量设置相关参数 * -------------------------------------------------------------------------------- */ StVolumeParam::StVolumeParam() { Init(); } void StVolumeParam::Init() { m_bSilentSwitch = false; m_iSilentThreshold = 0; m_iSilentDuration = 0; m_nSilentSensitivity = 80; m_bOverloadSwitch = false; m_iOverloadThreshold = 0; m_iOverloadDuration = 0; // 100% 全部过载才表示过载 m_nOverloadSensitivity = 40; m_bPhaseSwitch = false; m_iPhaseThreshold = 0.0; m_iPhaseDuration = 0; m_iPhaseSensitivity = 40; } StVolumeParam::StVolumeParam(const StVolumeParam& obj) { *this = obj; } StVolumeParam& StVolumeParam::operator=(const StVolumeParam& obj) { m_bSilentSwitch = obj.m_bSilentSwitch; m_iSilentThreshold = obj.m_iSilentThreshold; m_iSilentDuration = obj.m_iSilentDuration; m_nSilentSensitivity = obj.m_nSilentSensitivity; m_bOverloadSwitch = obj.m_bOverloadSwitch; m_iOverloadThreshold = obj.m_iOverloadThreshold; m_iOverloadDuration = obj.m_iOverloadDuration; m_nOverloadSensitivity = obj.m_nOverloadSensitivity; m_bPhaseSwitch = obj.m_bPhaseSwitch; m_iPhaseThreshold = obj.m_iPhaseThreshold; m_iPhaseDuration = obj.m_iPhaseDuration; m_iPhaseSensitivity = obj.m_iPhaseSensitivity; return *this; } int StVolumeParam::GetSilentNum() const { return m_iSilentDuration * GInfo.silentSensitivity(); } int StVolumeParam::GetOverloadNum() const { return m_iOverloadDuration * GInfo.overloadSensitivity(); } int StVolumeParam::GetPhaseNum() const { return m_iPhaseDuration * GInfo.iPhaseSensitivity(); } /* -------------------------------------------------------------------------------- * 一致性检测参数 StConsistencyParam * -------------------------------------------------------------------------------- */ StConsistencyParam::StConsistencyParam() { Init(); } StConsistencyParam::StConsistencyParam(const StConsistencyParam& obj) { *this = obj; } StConsistencyParam& StConsistencyParam::operator=(const StConsistencyParam& obj) { m_bConsistencySwitch = obj.m_bConsistencySwitch; m_iConsistencyThreshold = obj.m_iConsistencyThreshold; m_iConsistencyThresholdNum = obj.m_iConsistencyThresholdNum; m_iConsistencyThresholdNot = obj.m_iConsistencyThresholdNot; m_iConsistencyThresholdNotNum = obj.m_iConsistencyThresholdNotNum; m_nConsistencyThresholdWarningNum = obj.m_nConsistencyThresholdWarningNum; return *this; } void StConsistencyParam::Init() { m_bConsistencySwitch = false; m_iConsistencyThreshold = 0; m_iConsistencyThresholdNum = 0; m_iConsistencyThresholdNot = 0; m_iConsistencyThresholdNotNum = 0; m_nConsistencyThresholdWarningNum = 0; }