#pragma once #include #include "module.h" #include #include #include "dll_export.h" struct PipelineModule { std::string module_name; std::map parameters; std::string input_override; }; struct PipelineStep { std::string level_name; std::vector modules; }; struct Pipeline { std::string name; std::string readable_name; std::string category; bool live; std::vector frequencies; long default_samplerate; std::string default_baseband_type; std::vector> live_cfg; std::vector steps; void run(std::string input_file, std::string output_directory, std::map parameters, std::string input_level, bool ui = false, std::shared_ptr>> uiCallList = nullptr, std::shared_ptr uiCallListMutex = nullptr); }; SATDUMP_DLL extern std::vector pipelines; SATDUMP_DLL extern std::vector pipeline_categories; void loadPipelines(std::string filepath); std::vector getPipelinesInCategory(std::string category); Pipeline getPipelineInCategoryFromId(std::string category, int id);