MCPcopy Create free account
hub / github.com/awawa-dev/HyperHDR / AddEffectConfig

Method AddEffectConfig

sources/base/Smoothing.cpp:405–428  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

403}
404
405unsigned Smoothing::AddEffectConfig(unsigned cfgID, int settlingTime_ms, double ledUpdateFrequency_hz, bool pause)
406{
407 int64_t interval = (ledUpdateFrequency_hz > std::numeric_limits<double>::epsilon()) ? static_cast<int64_t>(1000.0 / ledUpdateFrequency_hz) : 10;
408
409 if (cfgID < static_cast<unsigned>(_configurations.size()))
410 {
411 _configurations[cfgID] = std::unique_ptr<SmoothingConfig>(new SmoothingConfig(pause, settlingTime_ms, interval));
412 return cfgID;
413 }
414 else
415 {
416 for (unsigned int currentCfgID = SMOOTHING_EFFECT_CONFIGS_START; currentCfgID < _configurations.size(); currentCfgID++)
417 {
418 auto& element = _configurations[currentCfgID];
419 if ((element->settlingTime == settlingTime_ms &&
420 element->updateInterval == interval) ||
421 (pause && element->pause == pause))
422 {
423 return currentCfgID;
424 }
425 }
426 return addConfig(settlingTime_ms, ledUpdateFrequency_hz, pause);
427 }
428}
429
430void Smoothing::UpdateCurrentConfig(int settlingTime_ms)
431{

Callers 1

addEffectConfigMethod · 0.80

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected