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;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using Hardcodet.Wpf.TaskbarNotification;
|
using Hardcodet.Wpf.TaskbarNotification;
|
||||||
using KeyboardAudioVisualizer.AudioProcessing;
|
using KeyboardAudioVisualizer.AudioProcessing;
|
||||||
using KeyboardAudioVisualizer.Configuration;
|
|
||||||
using KeyboardAudioVisualizer.Helper;
|
using KeyboardAudioVisualizer.Helper;
|
||||||
|
using KeyboardAudioVisualizer.Legacy;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Settings = KeyboardAudioVisualizer.Configuration.Settings;
|
||||||
|
|
||||||
namespace KeyboardAudioVisualizer
|
namespace KeyboardAudioVisualizer
|
||||||
{
|
{
|
||||||
@ -43,6 +43,10 @@ namespace KeyboardAudioVisualizer
|
|||||||
Console.WriteLine(ex.Message);
|
Console.WriteLine(ex.Message);
|
||||||
/* File doesn't exist or is corrupt - just create a new one. */
|
/* File doesn't exist or is corrupt - just create a new one. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (settings == null)
|
||||||
|
settings = ConfigurationMigrator.MigrateOldConfig();
|
||||||
|
|
||||||
if (settings == null)
|
if (settings == null)
|
||||||
{
|
{
|
||||||
settings = new Settings();
|
settings = new Settings();
|
||||||
@ -68,6 +72,7 @@ namespace KeyboardAudioVisualizer
|
|||||||
base.OnExit(e);
|
base.OnExit(e);
|
||||||
|
|
||||||
File.WriteAllText(PATH_SETTINGS, JsonConvert.SerializeObject(ApplicationManager.Instance.Settings));
|
File.WriteAllText(PATH_SETTINGS, JsonConvert.SerializeObject(ApplicationManager.Instance.Settings));
|
||||||
|
ConfigurationMigrator.CleanupOldConfigs();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Xml.Serialization;
|
||||||
using RGB.NET.Core;
|
using RGB.NET.Core;
|
||||||
|
|
||||||
namespace KeyboardAudioVisualizer.Configuration
|
namespace KeyboardAudioVisualizer.Configuration
|
||||||
@ -10,6 +11,7 @@ namespace KeyboardAudioVisualizer.Configuration
|
|||||||
#region Properties & Fields
|
#region Properties & Fields
|
||||||
|
|
||||||
private IBrush _brush;
|
private IBrush _brush;
|
||||||
|
[XmlIgnore]
|
||||||
public IBrush Brush
|
public IBrush Brush
|
||||||
{
|
{
|
||||||
get => _brush;
|
get => _brush;
|
||||||
|
|||||||
@ -164,6 +164,7 @@
|
|||||||
<Compile Include="Helper\WPFHelper.cs" />
|
<Compile Include="Helper\WPFHelper.cs" />
|
||||||
<Compile Include="Configuration\Settings.cs" />
|
<Compile Include="Configuration\Settings.cs" />
|
||||||
<Compile Include="Controls\BlurredDecorationWindow.cs" />
|
<Compile Include="Controls\BlurredDecorationWindow.cs" />
|
||||||
|
<Compile Include="Legacy\ConfigurationMigrator.cs" />
|
||||||
<Compile Include="Legacy\Settings.cs" />
|
<Compile Include="Legacy\Settings.cs" />
|
||||||
<Compile Include="Styles\CachedResourceDictionary.cs" />
|
<Compile Include="Styles\CachedResourceDictionary.cs" />
|
||||||
<Compile Include="UI\ConfigurationWindow.xaml.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