#include "MainApplication.h" #include "FileLogger.h" #include "MidiReader.h" MainApplication::MainApplication() : mDatabaseManager() { } MainApplication::~MainApplication() { } void MainApplication::Initialize(const std::filesystem::path& workDir) { FileLogger::GetInstance().SetWorkDirectory(workDir.string()); FileLogger::GetInstance().Open(); MLOG_INFO("Launched"); mDatabaseManager = DatabaseManager::Create(); mDatabaseManager->CreateDatabase(workDir.string() + "/database.db"); mNetworkManager = NetworkManager::Create(); mAudioManager = AudioManager::Create(); } void MainApplication::RunServer() { mNetworkManager->RunHttpServer(); } void MainApplication::PlayAudio() { MidiReader reader; reader.Read("/home/james/sample.mid"); // auto device = AudioDevice::Create(); // mAudioManager->GetAudioInterface()->OpenDevice(device); // mAudioManager->GetAudioInterface()->Play(device); } void MainApplication::ShutDown() { mDatabaseManager->OnShutDown(); mNetworkManager->ShutDown(); MLOG_INFO("Shut down"); FileLogger::GetInstance().Close(); } std::shared_ptr MainApplication::Create() { return std::make_shared(); }