Files
harmonica/src/plugins/raw_data/raw_data.cpp
2026-03-16 14:48:10 +03:00

49 lines
1.3 KiB
C++

#include "raw_data.hpp"
namespace hr::plugins
{
// Этот плагин ни чего не делает и предназначен при сохранении единственности интерфейса просто
// передавать сырые необработанные данные. Например для отрисовки базового сигнала.
// Он не работает в частотной области
raw_data::raw_data(const setup& st) : plugin{ st }
{
if (st.m_domain != DOMAIN_PLUGIN::TIME)
hack::error()("Этот плагин работает только во временной области!");
}
void raw_data::process(fvec_t& base, real_time timestamp)
{
result::bit b;
b.m_value = base;
b.m_duration = timestamp;
m_tmp.set_bit(b);
m_size += base.size();
}
void raw_data::process(cvec_t& fft, fvec_t& base, real_time timestamp)
{
}
result raw_data::get_result()
{
if (m_tmp.m_data.empty())
return m_result;
m_result.m_data.reserve(m_size);
std::size_t index = 0;
for (auto& t : m_tmp.m_data)
{
for (auto s : t.m_value)
{
result::bit b;
b.m_value.push_back(s);
b.m_duration = t.m_duration;
m_result.set_bit(b);
}
}
return m_result;
}
}