EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
DownsampleTask.cpp
Go to the documentation of this file.
1
9
10#include "DownsampleTask.hpp"
11
13#include "../../objects/Project.hpp"
16
17namespace echomap
18{
19
22 const float factor
23) :
24 ITask(std::format("DownsampleTask: {}", signal->get_name())),
25 signal(std::move(signal)),
26 factor(factor)
27{
28 assert(this->signal != nullptr);
29}
30
31DownsampleTask::~DownsampleTask() noexcept = default;
32
34{
35 return DownsampleResult(signal->get_id(), SignalFactory::downsample(*signal, factor));
36}
37
38} // namespace echomap
DownsampleResult specification.
DownsampleTask specification.
FrequencySpectrum specification.
Wave file specification.
Denotes a completed for a downsampled Signal produced by a DownsampleTask job.
WorkerResult execute_work() override
Execute the work and produce a WorkerResult.
DownsampleTask(std::shared_ptr< Signal > signal, float factor=downsampling_factor)
Creates a new downsampling job for the given Signal.
static std::unique_ptr< Signal > downsample(const Signal &source, float downsample_factor, std::string_view name={})
Downsamples an existing Signal instance across all channels to the given number of samples.
The main EchoMap outermost namespace for all non-exported symbols.
std::variant< ErrorResult, DFTResult, DownsampleResult, LoadProjectResult, LoadSignalFileResult > WorkerResult
Issued once an ITask has completed its Worker cycle.
STL namespace.