Files
video-shader-toys/apps/RenderCadenceCompositor/app/AppConfigProvider.h
Aiden b44504500a
All checks were successful
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Successful in 2m55s
CI / Windows Release Package (push) Successful in 3m21s
Ui serving
2026-05-12 13:25:34 +10:00

34 lines
999 B
C++

#pragma once
#include "AppConfig.h"
#include <filesystem>
#include <string>
namespace RenderCadenceCompositor
{
class AppConfigProvider
{
public:
AppConfigProvider();
bool Load(const std::filesystem::path& path, std::string& error);
bool LoadDefault(std::string& error);
void ApplyCommandLine(int argc, char** argv);
const AppConfig& Config() const { return mConfig; }
const std::filesystem::path& SourcePath() const { return mSourcePath; }
bool LoadedFromFile() const { return mLoadedFromFile; }
private:
AppConfig mConfig;
std::filesystem::path mSourcePath;
bool mLoadedFromFile = false;
};
double FrameDurationMillisecondsFromRateString(const std::string& rateText, double fallbackRate = 59.94);
void VideoFormatDimensions(const std::string& formatName, unsigned& width, unsigned& height);
std::filesystem::path FindConfigFile(const std::filesystem::path& relativePath = "config/runtime-host.json");
std::filesystem::path FindRepoPath(const std::filesystem::path& relativePath);
}