ChannelParam.cpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #include "ChannelParam.h"
  2. #include <string>
  3. #include "spdlog/spdlog.h"
  4. #include "GlobalInfo.h"
  5. /* --------------------------------------------------------------------------------
  6. * 音量设置相关参数
  7. * -------------------------------------------------------------------------------- */
  8. StVolumeParam::StVolumeParam()
  9. {
  10. Init();
  11. }
  12. void StVolumeParam::Init()
  13. {
  14. m_bSilentSwitch = false;
  15. m_iSilentThreshold = 0;
  16. m_iSilentDuration = 0;
  17. m_nSilentSensitivity = 80;
  18. m_bOverloadSwitch = false;
  19. m_iOverloadThreshold = 0;
  20. m_iOverloadDuration = 0;
  21. // 100% 全部过载才表示过载
  22. m_nOverloadSensitivity = 40;
  23. m_bPhaseSwitch = false;
  24. m_iPhaseThreshold = 0.0;
  25. m_iPhaseDuration = 0;
  26. m_iPhaseSensitivity = 40;
  27. }
  28. StVolumeParam::StVolumeParam(const StVolumeParam& obj)
  29. {
  30. *this = obj;
  31. }
  32. StVolumeParam& StVolumeParam::operator=(const StVolumeParam& obj)
  33. {
  34. m_bSilentSwitch = obj.m_bSilentSwitch;
  35. m_iSilentThreshold = obj.m_iSilentThreshold;
  36. m_iSilentDuration = obj.m_iSilentDuration;
  37. m_nSilentSensitivity = obj.m_nSilentSensitivity;
  38. m_bOverloadSwitch = obj.m_bOverloadSwitch;
  39. m_iOverloadThreshold = obj.m_iOverloadThreshold;
  40. m_iOverloadDuration = obj.m_iOverloadDuration;
  41. m_nOverloadSensitivity = obj.m_nOverloadSensitivity;
  42. m_bPhaseSwitch = obj.m_bPhaseSwitch;
  43. m_iPhaseThreshold = obj.m_iPhaseThreshold;
  44. m_iPhaseDuration = obj.m_iPhaseDuration;
  45. m_iPhaseSensitivity = obj.m_iPhaseSensitivity;
  46. return *this;
  47. }
  48. int StVolumeParam::GetSilentNum() const
  49. {
  50. return m_iSilentDuration * GInfo.silentSensitivity();
  51. }
  52. int StVolumeParam::GetOverloadNum() const
  53. {
  54. return m_iOverloadDuration * GInfo.overloadSensitivity();
  55. }
  56. int StVolumeParam::GetPhaseNum() const
  57. {
  58. return m_iPhaseDuration * GInfo.iPhaseSensitivity();
  59. }
  60. /* --------------------------------------------------------------------------------
  61. * 一致性检测参数 StConsistencyParam
  62. * -------------------------------------------------------------------------------- */
  63. StConsistencyParam::StConsistencyParam()
  64. {
  65. Init();
  66. }
  67. StConsistencyParam::StConsistencyParam(const StConsistencyParam& obj)
  68. {
  69. *this = obj;
  70. }
  71. StConsistencyParam& StConsistencyParam::operator=(const StConsistencyParam& obj)
  72. {
  73. m_bConsistencySwitch = obj.m_bConsistencySwitch;
  74. m_iConsistencyThreshold = obj.m_iConsistencyThreshold;
  75. m_iConsistencyThresholdNum = obj.m_iConsistencyThresholdNum;
  76. m_iConsistencyThresholdNot = obj.m_iConsistencyThresholdNot;
  77. m_iConsistencyThresholdNotNum = obj.m_iConsistencyThresholdNotNum;
  78. m_nConsistencyThresholdWarningNum = obj.m_nConsistencyThresholdWarningNum;
  79. return *this;
  80. }
  81. void StConsistencyParam::Init()
  82. {
  83. m_bConsistencySwitch = false;
  84. m_iConsistencyThreshold = 0;
  85. m_iConsistencyThresholdNum = 0;
  86. m_iConsistencyThresholdNot = 0;
  87. m_iConsistencyThresholdNotNum = 0;
  88. m_nConsistencyThresholdWarningNum = 0;
  89. }