mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Added WindowsProfile migration to GeneralProfile
Added default profiles for OverlayProfile
This commit is contained in:
parent
f090246c2b
commit
e8467ddf58
@ -247,6 +247,10 @@
|
|||||||
<HintPath>..\packages\squirrel.windows.1.4.4\lib\Net45\NuGet.Squirrel.dll</HintPath>
|
<HintPath>..\packages\squirrel.windows.1.4.4\lib\Net45\NuGet.Squirrel.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Open.WinKeyboardHook, Version=1.0.11.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Open.WinKeyboardHook.1.0.11\lib\net45\Open.WinKeyboardHook.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Process.NET, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Process.NET, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Process.NET.1.0.5\lib\Process.NET.dll</HintPath>
|
<HintPath>..\packages\Process.NET.1.0.5\lib\Process.NET.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
@ -298,10 +302,6 @@
|
|||||||
<HintPath>..\packages\WpfExceptionViewer.1.0.0.0\lib\VioletTape.WpfExceptionViewer.dll</HintPath>
|
<HintPath>..\packages\WpfExceptionViewer.1.0.0.0\lib\VioletTape.WpfExceptionViewer.dll</HintPath>
|
||||||
<Private>True</Private>
|
<Private>True</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="VirtualInput, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\packages\VirtualInput.1.0.1\lib\net20\VirtualInput.dll</HintPath>
|
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="WindowsBase" />
|
<Reference Include="WindowsBase" />
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="PresentationFramework" />
|
<Reference Include="PresentationFramework" />
|
||||||
@ -354,6 +354,7 @@
|
|||||||
<Compile Include="DeviceProviders\Logitech\Utilities\OrionUtilities.cs" />
|
<Compile Include="DeviceProviders\Logitech\Utilities\OrionUtilities.cs" />
|
||||||
<Compile Include="DeviceProviders\Razer\BlackWidow.cs" />
|
<Compile Include="DeviceProviders\Razer\BlackWidow.cs" />
|
||||||
<Compile Include="DeviceProviders\Razer\Utilities\RazerUtilities.cs" />
|
<Compile Include="DeviceProviders\Razer\Utilities\RazerUtilities.cs" />
|
||||||
|
<Compile Include="Managers\MigrationManager.cs" />
|
||||||
<Compile Include="Managers\ModuleManager.cs" />
|
<Compile Include="Managers\ModuleManager.cs" />
|
||||||
<Compile Include="Managers\DeviceManager.cs" />
|
<Compile Include="Managers\DeviceManager.cs" />
|
||||||
<Compile Include="Managers\LoopManager.cs" />
|
<Compile Include="Managers\LoopManager.cs" />
|
||||||
|
|||||||
@ -21,7 +21,7 @@ namespace Artemis.DAL
|
|||||||
{
|
{
|
||||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
private static readonly string ProfileFolder =
|
public static readonly string ProfileFolder =
|
||||||
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Artemis\profiles";
|
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Artemis\profiles";
|
||||||
|
|
||||||
private static bool _installedDefaults;
|
private static bool _installedDefaults;
|
||||||
@ -177,7 +177,7 @@ namespace Artemis.DAL
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<ProfileModel> ReadProfiles(string subDirectory)
|
public static List<ProfileModel> ReadProfiles(string subDirectory)
|
||||||
{
|
{
|
||||||
var profiles = new List<ProfileModel>();
|
var profiles = new List<ProfileModel>();
|
||||||
var directory = ProfileFolder + "/" + subDirectory;
|
var directory = ProfileFolder + "/" + subDirectory;
|
||||||
|
|||||||
@ -14,6 +14,7 @@ namespace Artemis.InjectionModules
|
|||||||
Bind<PreviewManager>().ToSelf().InSingletonScope();
|
Bind<PreviewManager>().ToSelf().InSingletonScope();
|
||||||
Bind<LuaManager>().ToSelf().InSingletonScope();
|
Bind<LuaManager>().ToSelf().InSingletonScope();
|
||||||
Bind<AudioCaptureManager>().ToSelf().InSingletonScope();
|
Bind<AudioCaptureManager>().ToSelf().InSingletonScope();
|
||||||
|
Bind<MigrationManager>().ToSelf().InSingletonScope();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -19,12 +19,14 @@ namespace Artemis.Managers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class MainManager : IDisposable
|
public class MainManager : IDisposable
|
||||||
{
|
{
|
||||||
|
private readonly MigrationManager _migrationManager;
|
||||||
private readonly Timer _processTimer;
|
private readonly Timer _processTimer;
|
||||||
|
|
||||||
public MainManager(ILogger logger, LoopManager loopManager, DeviceManager deviceManager,
|
public MainManager(ILogger logger, LoopManager loopManager, DeviceManager deviceManager,
|
||||||
ModuleManager moduleManager, PreviewManager previewManager, PipeServer pipeServer,
|
ModuleManager moduleManager, PreviewManager previewManager, MigrationManager migrationManager,
|
||||||
GameStateWebServer gameStateWebServer)
|
PipeServer pipeServer, GameStateWebServer gameStateWebServer)
|
||||||
{
|
{
|
||||||
|
_migrationManager = migrationManager;
|
||||||
Logger = logger;
|
Logger = logger;
|
||||||
LoopManager = loopManager;
|
LoopManager = loopManager;
|
||||||
DeviceManager = deviceManager;
|
DeviceManager = deviceManager;
|
||||||
@ -111,6 +113,7 @@ namespace Artemis.Managers
|
|||||||
ProgramEnabled = true;
|
ProgramEnabled = true;
|
||||||
await LoopManager.StartAsync();
|
await LoopManager.StartAsync();
|
||||||
|
|
||||||
|
_migrationManager.MigrateProfiles();
|
||||||
RaiseEnabledChangedEvent(new EnabledChangedEventArgs(ProgramEnabled));
|
RaiseEnabledChangedEvent(new EnabledChangedEventArgs(ProgramEnabled));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -121,10 +124,8 @@ namespace Artemis.Managers
|
|||||||
{
|
{
|
||||||
Logger.Debug("Disabling program");
|
Logger.Debug("Disabling program");
|
||||||
foreach (var overlayModule in ModuleManager.OverlayModules)
|
foreach (var overlayModule in ModuleManager.OverlayModules)
|
||||||
{
|
|
||||||
if (overlayModule.Settings.IsEnabled)
|
if (overlayModule.Settings.IsEnabled)
|
||||||
overlayModule.Dispose();
|
overlayModule.Dispose();
|
||||||
}
|
|
||||||
LoopManager.Stop();
|
LoopManager.Stop();
|
||||||
ProgramEnabled = false;
|
ProgramEnabled = false;
|
||||||
RaiseEnabledChangedEvent(new EnabledChangedEventArgs(ProgramEnabled));
|
RaiseEnabledChangedEvent(new EnabledChangedEventArgs(ProgramEnabled));
|
||||||
|
|||||||
40
Artemis/Artemis/Managers/MigrationManager.cs
Normal file
40
Artemis/Artemis/Managers/MigrationManager.cs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
using System.IO;
|
||||||
|
using Artemis.DAL;
|
||||||
|
|
||||||
|
namespace Artemis.Managers
|
||||||
|
{
|
||||||
|
public class MigrationManager
|
||||||
|
{
|
||||||
|
private readonly DeviceManager _deviceManager;
|
||||||
|
|
||||||
|
public MigrationManager(DeviceManager deviceManager)
|
||||||
|
{
|
||||||
|
_deviceManager = deviceManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Migrates old versions of profiles to new versions
|
||||||
|
/// </summary>
|
||||||
|
public void MigrateProfiles()
|
||||||
|
{
|
||||||
|
// 1.8.0.0 - Rename WindowsProfile to GeneralProfile
|
||||||
|
foreach (var keyboardProvider in _deviceManager.KeyboardProviders)
|
||||||
|
{
|
||||||
|
var folder = ProfileProvider.ProfileFolder + "/" + keyboardProvider.Slug + "/WindowsProfile";
|
||||||
|
if (!Directory.Exists(folder))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// Get all the profiles
|
||||||
|
var profiles = ProfileProvider.ReadProfiles(keyboardProvider.Slug + "/WindowsProfile");
|
||||||
|
foreach (var profile in profiles)
|
||||||
|
{
|
||||||
|
// Change their GameName and save, effectively moving them to the new folder
|
||||||
|
profile.GameName = "GeneralProfile";
|
||||||
|
ProfileProvider.AddOrUpdate(profile);
|
||||||
|
}
|
||||||
|
// Delete the old profiles
|
||||||
|
Directory.Delete(folder, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -53,7 +53,7 @@ using System.Windows;
|
|||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.7.1.0")]
|
[assembly: AssemblyVersion("1.8.0.0")]
|
||||||
[assembly: AssemblyFileVersion("1.7.1.0")]
|
[assembly: AssemblyFileVersion("1.8.0.0")]
|
||||||
[assembly: InternalsVisibleTo("Artemis.Explorables")]
|
[assembly: InternalsVisibleTo("Artemis.Explorables")]
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VirtualInput;
|
using Open.WinKeyboardHook;
|
||||||
|
|
||||||
namespace Artemis.Utilities.Keyboard
|
namespace Artemis.Utilities.Keyboard
|
||||||
{
|
{
|
||||||
@ -10,13 +10,14 @@ namespace Artemis.Utilities.Keyboard
|
|||||||
|
|
||||||
static KeyboardHook()
|
static KeyboardHook()
|
||||||
{
|
{
|
||||||
VirtualKeyboard.StartInterceptor();
|
var interceptor = new KeyboardInterceptor();
|
||||||
VirtualKeyboard.KeyDown += VirtualKeyboardOnKeyDown;
|
interceptor.KeyDown += VirtualKeyboardOnKeyDown;
|
||||||
|
interceptor.StartCapturing();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void VirtualKeyboardOnKeyDown(object sender, KeyEventArgs keyEventArgs)
|
private static async void VirtualKeyboardOnKeyDown(object sender, KeyEventArgs keyEventArgs)
|
||||||
{
|
{
|
||||||
Task.Factory.StartNew(() => { KeyDownCallback?.Invoke(keyEventArgs); });
|
await Task.Factory.StartNew(() => { KeyDownCallback?.Invoke(keyEventArgs); });
|
||||||
}
|
}
|
||||||
|
|
||||||
public static event KeyDownCallbackHandler KeyDownCallback;
|
public static event KeyDownCallbackHandler KeyDownCallback;
|
||||||
|
|||||||
@ -23,12 +23,12 @@
|
|||||||
<package id="Ninject.Extensions.Logging.nlog4" version="3.2.3.0" targetFramework="net452" />
|
<package id="Ninject.Extensions.Logging.nlog4" version="3.2.3.0" targetFramework="net452" />
|
||||||
<package id="NLog" version="4.4.1" targetFramework="net461" />
|
<package id="NLog" version="4.4.1" targetFramework="net461" />
|
||||||
<package id="NLog.Schema" version="4.4.1" targetFramework="net461" />
|
<package id="NLog.Schema" version="4.4.1" targetFramework="net461" />
|
||||||
|
<package id="Open.WinKeyboardHook" version="1.0.11" targetFramework="net461" />
|
||||||
<package id="Process.NET" version="1.0.5" targetFramework="net461" />
|
<package id="Process.NET" version="1.0.5" targetFramework="net461" />
|
||||||
<package id="SharpDX" version="3.1.1" targetFramework="net461" />
|
<package id="SharpDX" version="3.1.1" targetFramework="net461" />
|
||||||
<package id="SharpDX.Direct3D9" version="3.1.1" targetFramework="net461" />
|
<package id="SharpDX.Direct3D9" version="3.1.1" targetFramework="net461" />
|
||||||
<package id="Splat" version="2.0.0" targetFramework="net461" />
|
<package id="Splat" version="2.0.0" targetFramework="net461" />
|
||||||
<package id="SpotifyAPI-NET" version="2.12.0" targetFramework="net461" />
|
<package id="SpotifyAPI-NET" version="2.12.0" targetFramework="net461" />
|
||||||
<package id="squirrel.windows" version="1.4.4" targetFramework="net461" />
|
<package id="squirrel.windows" version="1.4.4" targetFramework="net461" />
|
||||||
<package id="VirtualInput" version="1.0.1" targetFramework="net452" />
|
|
||||||
<package id="WpfExceptionViewer" version="1.0.0.0" targetFramework="net452" />
|
<package id="WpfExceptionViewer" version="1.0.0.0" targetFramework="net452" />
|
||||||
</packages>
|
</packages>
|
||||||
Loading…
x
Reference in New Issue
Block a user