3 #ifndef XJMUSIC_ENGINE_H
4 #define XJMUSIC_ENGINE_H
14 std::unique_ptr<SegmentEntityStore> store;
15 std::unique_ptr<ContentEntityStore> projectContent;
16 std::unique_ptr<ContentEntityStore> templateContent;
17 std::unique_ptr<WorkManager> work;
18 std::filesystem::path buildPathPrefix;
31 const std::optional<std::string>& pathToProjectFile,
32 std::optional<Fabricator::ControlMode> controlMode,
33 std::optional<int> craftAheadSeconds,
34 std::optional<int> dubAheadSeconds,
35 std::optional<int> deadlineSeconds,
36 std::optional<int> persistenceWindowSeconds);
46 void start(
const std::optional<std::string> &templateIdentifier);
51 void finish(
bool cancelled)
const;
58 [[nodiscard]] std::vector<AudioScheduleEvent>
RunCycle(
unsigned long long atChainMicros)
const;
136 void loadProjectContent(
const std::basic_string<char>& pathToProjectFile);
Definition: ContentEntityStore.h:41
void start(const std::optional< std::string > &templateIdentifier)
Definition: Engine.cpp:37
void doOverrideMemes(const std::set< std::string > &memes) const
Definition: Engine.cpp:111
ContentEntityStore * getTemplateContent() const
Definition: Engine.cpp:80
void finish(bool cancelled) const
Definition: Engine.cpp:56
SegmentEntityStore * getSegmentStore() const
Definition: Engine.cpp:70
std::filesystem::path getBuildPath()
Definition: Engine.cpp:125
std::vector< const Program * > getAllMacroPrograms() const
Definition: Engine.cpp:97
WorkSettings getSettings() const
Definition: Engine.cpp:130
void doOverrideMacro(const Program *macroProgram) const
Definition: Engine.cpp:104
std::optional< MemeTaxonomy > getMemeTaxonomy() const
Definition: Engine.cpp:92
void setIntensityOverride(std::optional< float > intensity) const
Definition: Engine.cpp:118
Engine(const std::optional< std::string > &pathToProjectFile, std::optional< Fabricator::ControlMode > controlMode, std::optional< int > craftAheadSeconds, std::optional< int > dubAheadSeconds, std::optional< int > deadlineSeconds, std::optional< int > persistenceWindowSeconds)
Definition: Engine.cpp:10
std::vector< AudioScheduleEvent > RunCycle(unsigned long long atChainMicros) const
Definition: Engine.cpp:63
ContentEntityStore * getProjectContent() const
Definition: Engine.cpp:75
WorkState getWorkState() const
Definition: Engine.cpp:85
Definition: SegmentEntityStore.h:43
Definition: WorkSettings.h:14
Definition: ActiveAudio.h:11
WorkState
Definition: WorkState.h:10