From a723b029b4a0fb6a2d71437d897ba5dc81d42a89 Mon Sep 17 00:00:00 2001 From: glax Date: Tue, 16 Apr 2024 20:55:18 +0200 Subject: [PATCH] Add config file --- OBSBlur/Config.cs | 21 +++++++++++++++++++++ OBSBlur/Program.cs | 12 +++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 OBSBlur/Config.cs diff --git a/OBSBlur/Config.cs b/OBSBlur/Config.cs new file mode 100644 index 0000000..bc0b0d4 --- /dev/null +++ b/OBSBlur/Config.cs @@ -0,0 +1,21 @@ +using System.Text.Json.Serialization; +// ReSharper disable FieldCanBeMadeReadOnly.Global +// ReSharper disable ConvertToConstant.Global + +namespace OBSBlur; + +public struct Config +{ + [JsonRequired] + public string ObsWebsocketUrl = "ws://localhost:4444"; + [JsonRequired] + public string ObsWebsocketPassword = ""; + [JsonRequired] + public string[] EnabledScenes = { "Desktop" }; + [JsonRequired] + public string[] BlurPrograms = { "Discord", "thunderbird", "Signal" }; + + public Config() + { + } +} \ No newline at end of file diff --git a/OBSBlur/Program.cs b/OBSBlur/Program.cs index 1ba2525..8155460 100644 --- a/OBSBlur/Program.cs +++ b/OBSBlur/Program.cs @@ -1,9 +1,19 @@ using GlaxLogger; using Microsoft.Extensions.Logging; +using Newtonsoft.Json; +using OBSBlur; using OBSBlur.OBS; +string configFilePath = "config.json"; + Logger logger = new (filteredLevel: LogLevel.Trace, consoleOut: Console.Out); -Blur _ = new ("ws://localhost:4444", "", new []{"Desktop"}, new []{ "Discord", "VRCX", "thunderbird", "Signal" }, logger); +Config config = File.Exists(configFilePath) switch +{ + true => JsonConvert.DeserializeObject(File.ReadAllText(configFilePath)), + _ => new Config() +}; +File.WriteAllText(configFilePath, JsonConvert.SerializeObject(config)); +Blur _ = new (config.ObsWebsocketUrl, config.ObsWebsocketPassword, config.EnabledScenes, config.BlurPrograms, logger); while (true) Thread.Sleep(100); \ No newline at end of file