voice_audio_multi/include/engine/models/ace_step/task_route.h
Fabio c36510c21e
Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

49 lines
1.8 KiB
C++

#pragma once
#include "engine/models/ace_step/types.h"
#include <string>
#include <string_view>
namespace engine::models::ace_step {
enum class AceStepSourceAudioPolicy {
Ignored,
Optional,
Required,
};
struct AceStepTaskRoute {
AceStepTaskType task = AceStepTaskType::TextToMusic;
std::string_view name;
bool uses_planner = true;
AceStepSourceAudioPolicy source_audio_policy = AceStepSourceAudioPolicy::Ignored;
bool locks_duration_to_source = false;
bool uses_repaint_window = false;
bool preserve_repaint_source = false;
bool uses_cover_conditioning = false;
std::string_view dit_instruction;
std::string_view missing_component;
};
AceStepTaskType ace_step_parse_task_type(std::string_view task_type);
std::string_view ace_step_task_type_name(AceStepTaskType task);
const AceStepTaskRoute & ace_step_task_route(AceStepTaskType task);
const AceStepTaskRoute & ace_step_task_route(const AceStepRequest & request);
std::string ace_step_task_instruction(const AceStepTaskRoute & route, const AceStepRequest & request);
bool ace_step_route_uses_repaint_window(const AceStepTaskRoute & route);
bool ace_step_route_accepts_source_audio(const AceStepTaskRoute & route);
bool ace_step_route_requires_source_audio(const AceStepTaskRoute & route);
bool ace_step_route_uses_request_source_audio(
const AceStepTaskRoute & route,
const AceStepRequest & request,
const AceStepPlan & plan);
bool ace_step_route_has_required_source_audio_input(
const AceStepTaskRoute & route,
const AceStepRequest & request,
const AceStepPlan & plan);
bool ace_step_route_has_missing_component(const AceStepTaskRoute & route);
bool ace_step_request_uses_flow_edit_morph(const AceStepRequest & request);
} // namespace engine::models::ace_step