mirror of
https://github.com/DarthAffe/KeyboardAudioVisualizer.git
synced 2025-12-12 15:18:30 +00:00
Added migration for old configs
This commit is contained in:
parent
9d4aa2728c
commit
07e4221877
@ -1,12 +1,12 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Windows;
|
||||
using Hardcodet.Wpf.TaskbarNotification;
|
||||
using KeyboardAudioVisualizer.AudioProcessing;
|
||||
using KeyboardAudioVisualizer.Configuration;
|
||||
using KeyboardAudioVisualizer.Helper;
|
||||
using KeyboardAudioVisualizer.Legacy;
|
||||
using Newtonsoft.Json;
|
||||
using Settings = KeyboardAudioVisualizer.Configuration.Settings;
|
||||
|
||||
namespace KeyboardAudioVisualizer
|
||||
{
|
||||
@ -43,6 +43,10 @@ namespace KeyboardAudioVisualizer
|
||||
Console.WriteLine(ex.Message);
|
||||
/* File doesn't exist or is corrupt - just create a new one. */
|
||||
}
|
||||
|
||||
if (settings == null)
|
||||
settings = ConfigurationMigrator.MigrateOldConfig();
|
||||
|
||||
if (settings == null)
|
||||
{
|
||||
settings = new Settings();
|
||||
@ -68,6 +72,7 @@ namespace KeyboardAudioVisualizer
|
||||
base.OnExit(e);
|
||||
|
||||
File.WriteAllText(PATH_SETTINGS, JsonConvert.SerializeObject(ApplicationManager.Instance.Settings));
|
||||
ConfigurationMigrator.CleanupOldConfigs();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Xml.Serialization;
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace KeyboardAudioVisualizer.Configuration
|
||||
@ -10,6 +11,7 @@ namespace KeyboardAudioVisualizer.Configuration
|
||||
#region Properties & Fields
|
||||
|
||||
private IBrush _brush;
|
||||
[XmlIgnore]
|
||||
public IBrush Brush
|
||||
{
|
||||
get => _brush;
|
||||
|
||||
@ -164,6 +164,7 @@
|
||||
<Compile Include="Helper\WPFHelper.cs" />
|
||||
<Compile Include="Configuration\Settings.cs" />
|
||||
<Compile Include="Controls\BlurredDecorationWindow.cs" />
|
||||
<Compile Include="Legacy\ConfigurationMigrator.cs" />
|
||||
<Compile Include="Legacy\Settings.cs" />
|
||||
<Compile Include="Styles\CachedResourceDictionary.cs" />
|
||||
<Compile Include="UI\ConfigurationWindow.xaml.cs">
|
||||
|
||||
56
KeyboardAudioVisualizer/Legacy/ConfigurationMigrator.cs
Normal file
56
KeyboardAudioVisualizer/Legacy/ConfigurationMigrator.cs
Normal file
@ -0,0 +1,56 @@
|
||||
using System.IO;
|
||||
using KeyboardAudioVisualizer.AudioProcessing.VisualizationProvider;
|
||||
using KeyboardAudioVisualizer.Helper;
|
||||
|
||||
namespace KeyboardAudioVisualizer.Legacy
|
||||
{
|
||||
public static class ConfigurationMigrator
|
||||
{
|
||||
#region Constants
|
||||
|
||||
private const string PATH_V1_SETTINGS = "Settings.xml";
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
public static Configuration.Settings MigrateOldConfig()
|
||||
{
|
||||
if (!File.Exists(PATH_V1_SETTINGS)) return null;
|
||||
|
||||
try
|
||||
{
|
||||
Settings oldSettings = SerializationHelper.LoadObjectFromFile<Settings>(PATH_V1_SETTINGS);
|
||||
Configuration.Settings settings = new Configuration.Settings { UpdateRate = oldSettings.UpdateRate };
|
||||
|
||||
settings[VisualizationIndex.Primary].SelectedVisualization = VisualizationType.FrequencyBars;
|
||||
settings[VisualizationIndex.Primary].FrequencyBarsConfiguration = oldSettings.FrequencyBarsVisualizationProviderConfiguration;
|
||||
settings[VisualizationIndex.Primary].EqualizerConfiguration = oldSettings.EqualizerConfiguration;
|
||||
|
||||
settings[VisualizationIndex.Secondary].SelectedVisualization = VisualizationType.Beat;
|
||||
settings[VisualizationIndex.Secondary].BeatConfiguration = oldSettings.BeatVisualizationProviderConfiguration;
|
||||
|
||||
settings[VisualizationIndex.Tertiary].SelectedVisualization = VisualizationType.Level;
|
||||
settings[VisualizationIndex.Tertiary].LevelConfiguration = oldSettings.LevelVisualizationProviderConfiguration;
|
||||
|
||||
return settings;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void CleanupOldConfigs()
|
||||
{
|
||||
if (File.Exists(PATH_V1_SETTINGS))
|
||||
File.Delete(PATH_V1_SETTINGS);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user