mirror of
https://github.com/SatDump/SatDump
synced 2026-08-13 17:47:30 -04:00
48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include "module.h"
|
|
#include <mutex>
|
|
#include <vector>
|
|
#include "dll_export.h"
|
|
|
|
struct PipelineModule
|
|
{
|
|
std::string module_name;
|
|
std::map<std::string, std::string> parameters;
|
|
std::string input_override;
|
|
};
|
|
|
|
struct PipelineStep
|
|
{
|
|
std::string level_name;
|
|
std::vector<PipelineModule> modules;
|
|
};
|
|
|
|
struct Pipeline
|
|
{
|
|
std::string name;
|
|
std::string readable_name;
|
|
std::string category;
|
|
bool live;
|
|
std::vector<float> frequencies;
|
|
long default_samplerate;
|
|
std::string default_baseband_type;
|
|
std::vector<std::pair<int, int>> live_cfg;
|
|
|
|
std::vector<PipelineStep> steps;
|
|
void run(std::string input_file,
|
|
std::string output_directory,
|
|
std::map<std::string, std::string> parameters,
|
|
std::string input_level,
|
|
bool ui = false,
|
|
std::shared_ptr<std::vector<std::shared_ptr<ProcessingModule>>> uiCallList = nullptr,
|
|
std::shared_ptr<std::mutex> uiCallListMutex = nullptr);
|
|
};
|
|
|
|
SATDUMP_DLL extern std::vector<Pipeline> pipelines;
|
|
SATDUMP_DLL extern std::vector<std::string> pipeline_categories;
|
|
|
|
void loadPipelines(std::string filepath);
|
|
std::vector<Pipeline> getPipelinesInCategory(std::string category);
|
|
Pipeline getPipelineInCategoryFromId(std::string category, int id);
|