1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00

Removed seperate plugins project since you're always referencing both..

Added more loading logic
This commit is contained in:
SpoinkyNL 2018-04-06 19:54:25 +02:00
parent b80e1ea528
commit 9a2ea0c2b3
57 changed files with 959 additions and 650 deletions

View File

@ -9,10 +9,11 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Artemis.Core</RootNamespace>
<AssemblyName>Artemis.Core</AssemblyName>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -35,6 +36,9 @@
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
<HintPath>..\packages\Castle.Core.4.2.1\lib\net45\Castle.Core.dll</HintPath>
</Reference>
<Reference Include="CSScriptLibrary, Version=3.28.2.0, Culture=neutral, PublicKeyToken=70fcc3d18c749033, processorArchitecture=MSIL">
<HintPath>..\packages\CS-Script.bin.3.28.2.0\lib\net46\CSScriptLibrary.dll</HintPath>
</Reference>
<Reference Include="HidSharp, Version=1.5.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\HidSharp.1.5\lib\net35\HidSharp.dll</HintPath>
</Reference>
@ -44,6 +48,42 @@
<Reference Include="Microsoft.CodeAnalysis.CSharp, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.2.6.1\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.CSharp.Scripting, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Scripting.2.6.1\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.Scripting.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeAnalysis.Scripting, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeAnalysis.Scripting.Common.2.6.1\lib\netstandard1.3\Microsoft.CodeAnalysis.Scripting.dll</HintPath>
</Reference>
<Reference Include="Microsoft.EntityFrameworkCore, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.EntityFrameworkCore.2.0.2\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Caching.Abstractions, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Caching.Abstractions.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Caching.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Caching.Memory, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Caching.Memory.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Caching.Memory.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Options, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Options.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Options.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Primitives, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Primitives.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll</HintPath>
</Reference>
<Reference Include="Mono.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
<HintPath>..\packages\CS-Script.bin.3.28.2.0\lib\net46\Mono.CSharp.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
@ -56,47 +96,50 @@
<Reference Include="Ninject.Extensions.Factory, Version=3.3.2.0, Culture=neutral, PublicKeyToken=c7192dc5380945e7, processorArchitecture=MSIL">
<HintPath>..\packages\Ninject.Extensions.Factory.3.3.2\lib\net45\Ninject.Extensions.Factory.dll</HintPath>
</Reference>
<Reference Include="Remotion.Linq, Version=2.1.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b, processorArchitecture=MSIL">
<HintPath>..\packages\Remotion.Linq.2.1.1\lib\net45\Remotion.Linq.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Brushes, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Brushes.0.0.1.38\lib\net45\RGB.NET.Brushes.dll</HintPath>
<HintPath>..\packages\RGB.NET.Brushes.0.0.1.48\lib\net45\RGB.NET.Brushes.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Core, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Core.0.0.1.38\lib\net45\RGB.NET.Core.dll</HintPath>
<HintPath>..\packages\RGB.NET.Core.0.0.1.48\lib\net45\RGB.NET.Core.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Decorators, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Decorators.0.0.1.38\lib\net45\RGB.NET.Decorators.dll</HintPath>
<HintPath>..\packages\RGB.NET.Decorators.0.0.1.48\lib\net45\RGB.NET.Decorators.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Asus, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Asus.0.0.1.38\lib\net45\RGB.NET.Devices.Asus.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Asus.0.0.1.48\lib\net45\RGB.NET.Devices.Asus.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.CoolerMaster, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\lib\net45\RGB.NET.Devices.CoolerMaster.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.48\lib\net45\RGB.NET.Devices.CoolerMaster.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Corsair, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Corsair.0.0.1.38\lib\net45\RGB.NET.Devices.Corsair.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Corsair.0.0.1.48\lib\net45\RGB.NET.Devices.Corsair.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.DMX, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.DMX.0.0.1.38\lib\net45\RGB.NET.Devices.DMX.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.DMX.0.0.1.48\lib\net45\RGB.NET.Devices.DMX.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Logitech, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Logitech.0.0.1.38\lib\net45\RGB.NET.Devices.Logitech.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Logitech.0.0.1.48\lib\net45\RGB.NET.Devices.Logitech.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Msi, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Msi.0.0.1.38\lib\net45\RGB.NET.Devices.Msi.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Novation, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Novation.0.0.1.38\lib\net45\RGB.NET.Devices.Novation.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Novation.0.0.1.48\lib\net45\RGB.NET.Devices.Novation.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Razer, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Razer.0.0.1.38\lib\net45\RGB.NET.Devices.Razer.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Razer.0.0.1.48\lib\net45\RGB.NET.Devices.Razer.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Groups, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Groups.0.0.1.38\lib\net45\RGB.NET.Groups.dll</HintPath>
<HintPath>..\packages\RGB.NET.Groups.0.0.1.48\lib\net45\RGB.NET.Groups.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Input, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Input.0.0.1.38\lib\net45\RGB.NET.Input.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Input.Corsair, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Input.Corsair.0.0.1.38\lib\net45\RGB.NET.Input.Corsair.dll</HintPath>
<HintPath>..\packages\RGB.NET.Input.Corsair.0.0.1.42\lib\net45\RGB.NET.Input.Corsair.dll</HintPath>
</Reference>
<Reference Include="Sanford.Multimedia.Midi, Version=6.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Sanford.Multimedia.Midi.6.6.0\lib\net20\Sanford.Multimedia.Midi.dll</HintPath>
@ -110,19 +153,32 @@
<Private>True</Private>
</Reference>
<Reference Include="System.Collections.Immutable, Version=1.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.1.4.0\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath>
<HintPath>..\packages\System.Collections.Immutable.1.4.0\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.Annotations, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.ComponentModel.Annotations.4.4.0\lib\net461\System.ComponentModel.Annotations.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.4.1\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.Diagnostics.FileVersionInfo, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.FileVersionInfo.4.3.0\lib\net46\System.Diagnostics.FileVersionInfo.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Diagnostics.StackTrace, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.StackTrace.4.3.0\lib\net46\System.Diagnostics.StackTrace.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Interactive.Async, Version=3.0.3000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
<HintPath>..\packages\System.Interactive.Async.3.1.1\lib\net46\System.Interactive.Async.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
@ -130,36 +186,45 @@
</Reference>
<Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Reflection.Metadata, Version=1.4.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Reflection.Metadata.1.5.0\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
<HintPath>..\packages\System.Reflection.Metadata.1.5.0\lib\netstandard2.0\System.Reflection.Metadata.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net46\System.Security.Cryptography.Algorithms.dll</HintPath>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.4.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net46\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Text.Encoding.CodePages, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.4.4.0\lib\net46\System.Text.Encoding.CodePages.dll</HintPath>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Text.Encoding.CodePages, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.4.4.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Thread, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Thread.4.3.0\lib\net46\System.Threading.Thread.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.4.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
<HintPath>..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
@ -169,15 +234,19 @@
<Reference Include="System.Xml" />
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.ReaderWriter.4.3.1\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.XmlDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.XmlDocument.4.3.0\lib\net46\System.Xml.XmlDocument.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.XPath, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.XPath.4.3.0\lib\net46\System.Xml.XPath.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml.XPath.XDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.XPath.XDocument.4.3.0\lib\net46\System.Xml.XPath.XDocument.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
@ -185,10 +254,21 @@
<Compile Include="Constants.cs" />
<Compile Include="Events\DeviceEventArgs.cs" />
<Compile Include="Exceptions\ArtemisCoreException.cs" />
<Compile Include="Exceptions\ArtemisPluginException.cs" />
<Compile Include="Models\DataModelDescription.cs" />
<Compile Include="Plugins\Abstract\ModuleViewModel.cs" />
<Compile Include="Plugins\Abstract\ProfileModule.cs" />
<Compile Include="Plugins\Exceptions\ArtemisPluginException.cs" />
<Compile Include="Plugins\Interfaces\IDataModelExpansion.cs" />
<Compile Include="Plugins\Interfaces\IDevice.cs" />
<Compile Include="Plugins\Interfaces\ILayerType.cs" />
<Compile Include="Plugins\Interfaces\IModule.cs" />
<Compile Include="Plugins\Interfaces\IModuleDataModel.cs" />
<Compile Include="Plugins\Interfaces\IModuleViewModel.cs" />
<Compile Include="Plugins\Interfaces\IPlugin.cs" />
<Compile Include="Plugins\Models\PluginInfo.cs" />
<Compile Include="ProfileElements\Folder.cs" />
<Compile Include="ProfileElements\Interfaces\IProfileElement.cs" />
<Compile Include="ProfileElements\Layer.cs" />
<Compile Include="ProfileElements\Profile.cs" />
<Compile Include="Ninject\CoreModule.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
@ -202,38 +282,28 @@
<Compile Include="Services\Interfaces\IPluginService.cs" />
<Compile Include="Events\PluginEventArgs.cs" />
<Compile Include="Services\PluginService.cs" />
<Compile Include="Services\StorageService.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Artemis.Plugins\Artemis.Plugins.csproj">
<Project>{cd23bc5e-57f0-46ce-a007-24d031146219}</Project>
<Name>Artemis.Plugins</Name>
<ProjectReference Include="..\Artemis.Storage\Artemis.Storage.csproj">
<Project>{E489E5E3-1A65-4AF5-A1EA-F9805FD19A65}</Project>
<Name>Artemis.Storage</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.2.6.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.2.6.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\RGB.NET.Devices.Asus.0.0.1.38\build\net45\RGB.NET.Devices.Asus.targets" Condition="Exists('..\packages\RGB.NET.Devices.Asus.0.0.1.38\build\net45\RGB.NET.Devices.Asus.targets')" />
<Import Project="..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets" Condition="Exists('..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Asus.0.0.1.38\build\net45\RGB.NET.Devices.Asus.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Asus.0.0.1.38\build\net45\RGB.NET.Devices.Asus.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\build\net45\RGB.NET.Devices.CoolerMaster.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\build\net45\RGB.NET.Devices.CoolerMaster.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Corsair.0.0.1.38\build\net45\RGB.NET.Devices.Corsair.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Corsair.0.0.1.38\build\net45\RGB.NET.Devices.Corsair.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Logitech.0.0.1.38\build\net45\RGB.NET.Devices.Logitech.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Logitech.0.0.1.38\build\net45\RGB.NET.Devices.Logitech.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Razer.0.0.1.38\build\net45\RGB.NET.Devices.Razer.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Razer.0.0.1.38\build\net45\RGB.NET.Devices.Razer.targets'))" />
</Target>
<Import Project="..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\build\net45\RGB.NET.Devices.CoolerMaster.targets" Condition="Exists('..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\build\net45\RGB.NET.Devices.CoolerMaster.targets')" />
<Import Project="..\packages\RGB.NET.Devices.Corsair.0.0.1.38\build\net45\RGB.NET.Devices.Corsair.targets" Condition="Exists('..\packages\RGB.NET.Devices.Corsair.0.0.1.38\build\net45\RGB.NET.Devices.Corsair.targets')" />
<Import Project="..\packages\RGB.NET.Devices.Logitech.0.0.1.38\build\net45\RGB.NET.Devices.Logitech.targets" Condition="Exists('..\packages\RGB.NET.Devices.Logitech.0.0.1.38\build\net45\RGB.NET.Devices.Logitech.targets')" />
<Import Project="..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets" Condition="Exists('..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets')" />
<Import Project="..\packages\RGB.NET.Devices.Razer.0.0.1.38\build\net45\RGB.NET.Devices.Razer.targets" Condition="Exists('..\packages\RGB.NET.Devices.Razer.0.0.1.38\build\net45\RGB.NET.Devices.Razer.targets')" />
</Project>

View File

@ -1,5 +1,5 @@
using System;
using Artemis.Plugins.Models;
using Artemis.Core.Plugins.Models;
namespace Artemis.Core.Events
{

View File

@ -1,4 +1,5 @@
using Artemis.Core.Services.Interfaces;
using Artemis.Storage;
using Ninject.Extensions.Conventions;
using Ninject.Modules;
@ -17,6 +18,8 @@ namespace Artemis.Core.Ninject
.BindAllInterfaces()
.Configure(c => c.InSingletonScope());
});
Bind<StorageContext>().ToSelf().InSingletonScope();
}
}
}

View File

@ -1,8 +1,8 @@
using Artemis.Plugins.Interfaces;
using Artemis.Plugins.Models;
using Artemis.Core.Plugins.Interfaces;
using Artemis.Core.Plugins.Models;
using Stylet;
namespace Artemis.Plugins.Abstract
namespace Artemis.Core.Plugins.Abstract
{
public abstract class ModuleViewModel : Screen, IModuleViewModel
{

View File

@ -1,7 +1,7 @@
using System;
using Artemis.Plugins.Interfaces;
using Artemis.Core.Plugins.Interfaces;
namespace Artemis.Plugins.Abstract
namespace Artemis.Core.Plugins.Abstract
{
public abstract class ProfileModule : IModule
{
@ -17,12 +17,6 @@ namespace Artemis.Plugins.Abstract
// Load and activate the last active profile
}
/// <inheritdoc />
public void UnloadPlugin()
{
// Unload the last active profile
}
/// <inheritdoc />
public virtual void Update(double deltaTime)
{
@ -34,5 +28,10 @@ namespace Artemis.Plugins.Abstract
{
// Render the profile
}
/// <inheritdoc />
public void Dispose()
{
}
}
}

View File

@ -1,7 +1,7 @@
using System;
using Artemis.Plugins.Models;
using Artemis.Core.Plugins.Models;
namespace Artemis.Core.Exceptions
namespace Artemis.Core.Plugins.Exceptions
{
public class ArtemisPluginException : Exception
{

View File

@ -1,4 +1,4 @@
namespace Artemis.Plugins.Interfaces
namespace Artemis.Core.Plugins.Interfaces
{
/// <inheritdoc />
/// <summary>

View File

@ -1,4 +1,4 @@
namespace Artemis.Plugins.Interfaces
namespace Artemis.Core.Plugins.Interfaces
{
/// <inheritdoc />
/// <summary>

View File

@ -0,0 +1,25 @@
using Artemis.Core.ProfileElements;
using RGB.NET.Core;
namespace Artemis.Core.Plugins.Interfaces
{
/// <inheritdoc />
/// <summary>
/// Allows you to create your own layer type
/// </summary>
public interface ILayerType : IPlugin
{
/// <summary>
/// Updates the layer type
/// </summary>
/// <param name="layer"></param>
void Update(Layer layer);
/// <summary>
/// Renders the layer type
/// </summary>
void Render(Layer device, IRGBDevice rgbDevice);
ILayerType ApplyToLayer(Layer layer);
}
}

View File

@ -1,6 +1,6 @@
using System;
namespace Artemis.Plugins.Interfaces
namespace Artemis.Core.Plugins.Interfaces
{
/// <inheritdoc />
/// <summary>

View File

@ -1,4 +1,4 @@
namespace Artemis.Plugins.Interfaces
namespace Artemis.Core.Plugins.Interfaces
{
public interface IModuleDataModel
{

View File

@ -1,7 +1,7 @@
using Artemis.Plugins.Models;
using Artemis.Core.Plugins.Models;
using Stylet;
namespace Artemis.Plugins.Interfaces
namespace Artemis.Core.Plugins.Interfaces
{
/// <inheritdoc />
/// <summary>

View File

@ -1,18 +1,15 @@
namespace Artemis.Plugins.Interfaces
using System;
namespace Artemis.Core.Plugins.Interfaces
{
/// <summary>
/// This is the base plugin type, use the other interfaces such as IModule to create plugins
/// </summary>
public interface IPlugin
public interface IPlugin : IDisposable
{
/// <summary>
/// Called when the plugin is loaded
/// </summary>
void LoadPlugin();
/// <summary>
/// Called when the plugin is unloaded
/// </summary>
void UnloadPlugin();
}
}

View File

@ -1,19 +1,25 @@
using System.IO;
using System;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using Artemis.Plugins.Exceptions;
using Artemis.Plugins.Interfaces;
using Artemis.Core.Plugins.Exceptions;
using Artemis.Core.Plugins.Interfaces;
using CSScriptLibrary;
using Newtonsoft.Json;
using Ninject;
namespace Artemis.Plugins.Models
namespace Artemis.Core.Plugins.Models
{
public class PluginInfo
{
private static Assembly _assembly;
/// <summary>
/// The plugin's GUID
/// </summary>
public Guid Guid { get; set; }
/// <summary>
/// The name of the plugin
/// </summary>
@ -46,7 +52,7 @@ namespace Artemis.Plugins.Models
/// </summary>
public void UnloadPlugin()
{
Plugin.UnloadPlugin();
Plugin.Dispose();
_assembly = null;
}

View File

@ -1,23 +1,52 @@
using System.Collections.Generic;
using Artemis.Core.ProfileElements.Interfaces;
using Artemis.Core.Services.Interfaces;
using Artemis.Storage.Entities;
using RGB.NET.Core;
namespace Artemis.Core.ProfileElements
{
public class Folder : IProfileElement
{
public Folder()
{
Children = new List<IProfileElement>();
}
public List<IProfileElement> Children { get; set; }
public int Order { get; set; }
public string Name { get; set; }
public void Update()
{
// Folders don't update but their children do
foreach (var profileElement in Children)
profileElement.Update();
}
public void Render(IRGBDevice rgbDevice)
{
// Folders don't render but their children do
foreach (var profileElement in Children)
profileElement.Render(rgbDevice);
}
public static Folder FromFolderEntity(FolderEntity folderEntity, IPluginService pluginService)
{
var folder = new Folder
{
Name = folderEntity.Name,
Order = folderEntity.Order
};
// Load child folders
foreach (var childFolder in folderEntity.Folders)
folder.Children.Add(FromFolderEntity(childFolder, pluginService));
// Load child layers
foreach (var childLayer in folderEntity.Layers)
folder.Children.Add(Layer.FromLayerEntity(childLayer, pluginService));
return folder;
}
}
}

View File

@ -10,6 +10,16 @@ namespace Artemis.Core.ProfileElements.Interfaces
/// </summary>
List<IProfileElement> Children { get; set; }
/// <summary>
/// The order in which this element appears in the update loop and editor
/// </summary>
int Order { get; set; }
/// <summary>
/// The name which appears in the editor
/// </summary>
string Name { get; set; }
/// <summary>
/// Updates the element
/// </summary>

View File

@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using Artemis.Core.Plugins.Interfaces;
using Artemis.Core.ProfileElements.Interfaces;
using Artemis.Core.Services.Interfaces;
using Artemis.Storage.Entities;
using RGB.NET.Core;
namespace Artemis.Core.ProfileElements
{
public class Layer : IProfileElement
{
public Layer()
{
Children = new List<IProfileElement>();
}
public ILayerType LayerType { get; private set; }
public List<IProfileElement> Children { get; set; }
public int Order { get; set; }
public string Name { get; set; }
public void Update()
{
if (LayerType == null)
return;
lock (LayerType)
{
LayerType.Update(this);
}
}
public void Render(IRGBDevice rgbDevice)
{
if (LayerType == null)
return;
lock (LayerType)
{
LayerType.Render(this, rgbDevice);
}
}
public static Layer FromLayerEntity(LayerEntity layerEntity, IPluginService pluginService)
{
var layer = new Layer
{
Name = layerEntity.Name,
Order = layerEntity.Order,
LayerType = pluginService.GetLayerTypeByGuid(Guid.Parse(layerEntity.Guid))
};
return layer;
}
public void UpdateLayerType(ILayerType layerType)
{
if (LayerType != null)
{
lock (LayerType)
{
LayerType.Dispose();
}
}
LayerType = layerType;
}
}
}

View File

@ -1,15 +1,28 @@
using System.Collections.Generic;
using Artemis.Core.Plugins.Models;
using Artemis.Core.ProfileElements.Interfaces;
using Artemis.Core.Services.Interfaces;
using Artemis.Storage.Entities;
using RGB.NET.Core;
namespace Artemis.Core.ProfileElements
{
public class Profile : IProfileElement
{
private Profile(PluginInfo pluginInfo)
{
PluginInfo = pluginInfo;
}
public int Order { get; set; }
public string Name { get; set; }
public PluginInfo PluginInfo { get; }
public List<IProfileElement> Children { get; set; }
public void Update()
{
foreach (var profileElement in Children)
profileElement.Update();
}
public void Render(IRGBDevice rgbDevice)
@ -17,5 +30,15 @@ namespace Artemis.Core.ProfileElements
foreach (var profileElement in Children)
profileElement.Render(rgbDevice);
}
public static Profile FromProfileEntity(PluginInfo pluginInfo, ProfileEntity profileEntity, IPluginService pluginService)
{
var profile = new Profile(pluginInfo) {Name = profileEntity.Name};
// Populate the profile starting at the root, the rest is populated recursively
profile.Children.Add(Folder.FromFolderEntity(profileEntity.RootFolder, pluginService));
return profile;
}
}
}

View File

@ -2,8 +2,8 @@
using System.Linq;
using System.Threading.Tasks;
using Artemis.Core.Exceptions;
using Artemis.Core.Plugins.Interfaces;
using Artemis.Core.Services.Interfaces;
using Artemis.Plugins.Interfaces;
using RGB.NET.Core;
namespace Artemis.Core.Services

View File

@ -1,5 +1,5 @@
using Artemis.Core.Models;
using Artemis.Plugins.Interfaces;
using Artemis.Core.Plugins.Interfaces;
namespace Artemis.Core.Services.Interfaces
{

View File

@ -2,8 +2,9 @@
using System.Collections.ObjectModel;
using System.Threading.Tasks;
using Artemis.Core.Events;
using Artemis.Plugins.Interfaces;
using Artemis.Plugins.Models;
using Artemis.Core.Plugins.Interfaces;
using Artemis.Core.Plugins.Models;
using Artemis.Core.ProfileElements;
namespace Artemis.Core.Services.Interfaces
{
@ -55,5 +56,12 @@ namespace Artemis.Core.Services.Interfaces
/// Occurs when loading all plugins has finished
/// </summary>
event EventHandler FinishedLoadedPlugins;
/// <summary>
/// If found, returns an instance of the layer type matching the given GUID
/// </summary>
/// <param name="layerTypeGuid">The GUID of the layer type to find</param>
/// <returns>An instance of the layer type</returns>
ILayerType GetLayerTypeByGuid(Guid layerTypeGuid);
}
}

View File

@ -2,8 +2,8 @@
using System.Collections.ObjectModel;
using Artemis.Core.Exceptions;
using Artemis.Core.Models;
using Artemis.Core.Plugins.Interfaces;
using Artemis.Core.Services.Interfaces;
using Artemis.Plugins.Interfaces;
namespace Artemis.Core.Services
{

View File

@ -2,12 +2,15 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Artemis.Core.Events;
using Artemis.Core.Exceptions;
using Artemis.Core.Plugins.Exceptions;
using Artemis.Core.Plugins.Interfaces;
using Artemis.Core.Plugins.Models;
using Artemis.Core.ProfileElements;
using Artemis.Core.Services.Interfaces;
using Artemis.Plugins.Interfaces;
using Artemis.Plugins.Models;
using Ninject;
namespace Artemis.Core.Services
@ -64,6 +67,22 @@ namespace Artemis.Core.Services
return await Task.Run(() => pluginInfo.GetModuleViewModel(_kernel));
}
/// <inheritdoc />
public ILayerType GetLayerTypeByGuid(Guid layerTypeGuid)
{
var pluginInfo = _plugins.FirstOrDefault(p => p.Guid == layerTypeGuid);
if (pluginInfo == null)
return null;
// Layer types are instantiated per layer so lets compile and return a new instance
if (!(pluginInfo.Plugin is ILayerType))
{
throw new ArtemisPluginException(pluginInfo, "Plugin is expected to implement ILayerType");
}
return (ILayerType) pluginInfo.Plugin;
}
public void Dispose()
{
// Empty the list of plugins

View File

@ -0,0 +1,47 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Artemis.Core.Plugins.Models;
using Artemis.Core.ProfileElements;
using Artemis.Core.Services.Interfaces;
using Artemis.Storage;
using Microsoft.EntityFrameworkCore;
namespace Artemis.Core.Services
{
public class StorageService : IStorageService
{
private readonly StorageContext _dbContext;
private readonly IPluginService _pluginService;
public StorageService(StorageContext dbContext, IPluginService pluginService)
{
_dbContext = dbContext;
_pluginService = pluginService;
}
public async Task<ICollection<Profile>> GetModuleProfiles(PluginInfo pluginInfo)
{
var profileEntities = await _dbContext.Profiles.Where(p => p.PluginGuid == pluginInfo.Guid).ToListAsync();
var profiles = new List<Profile>();
foreach (var profileEntity in profileEntities)
profiles.Add(Profile.FromProfileEntity(pluginInfo, profileEntity, _pluginService));
return profiles;
}
public async Task SaveProfile(Profile profile)
{
// Find a matching profile entity to update
// If not found, create a new one
await _dbContext.SaveChangesAsync();
}
}
public interface IStorageService
{
Task<ICollection<Profile>> GetModuleProfiles(PluginInfo pluginInfo);
}
}

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
@ -17,7 +16,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
@ -28,8 +27,7 @@
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a"
culture="neutral" />
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
@ -53,8 +51,7 @@
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35"
culture="neutral" />
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
@ -69,6 +66,14 @@
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /></startup></configuration>

View File

@ -1,74 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Castle.Core" version="4.2.1" targetFramework="net46" />
<package id="HidSharp" version="1.5" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Analyzers" version="2.6.0" targetFramework="net46" developmentDependency="true" />
<package id="Microsoft.CodeAnalysis.Common" version="2.6.1" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.CSharp" version="2.6.1" targetFramework="net46" />
<package id="Newtonsoft.Json" version="11.0.1" targetFramework="net46" />
<package id="Ninject" version="3.3.4" targetFramework="net46" />
<package id="Ninject.Extensions.Conventions" version="3.3.0" targetFramework="net46" />
<package id="Ninject.Extensions.Factory" version="3.3.2" targetFramework="net46" />
<package id="RGB.NET" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Brushes" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Core" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Decorators" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Devices" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Devices.Asus" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Devices.CoolerMaster" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Devices.Corsair" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Devices.DMX" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Devices.Logitech" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Devices.Msi" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Devices.Novation" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Devices.Razer" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Groups" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Input" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Input.Corsair" version="0.0.1.38" targetFramework="net46" />
<package id="RGB.NET.Presets" version="0.0.1.38" targetFramework="net46" />
<package id="Sanford.Multimedia.Midi" version="6.6.0" targetFramework="net46" />
<package id="Stylet" version="1.1.21" targetFramework="net46" />
<package id="System.AppContext" version="4.3.0" targetFramework="net46" />
<package id="System.Collections" version="4.3.0" targetFramework="net46" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net46" />
<package id="System.Collections.Immutable" version="1.4.0" targetFramework="net46" />
<package id="System.Console" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.FileVersionInfo" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.StackTrace" version="4.3.0" targetFramework="net46" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net46" />
<package id="System.Dynamic.Runtime" version="4.3.0" targetFramework="net46" />
<package id="System.Globalization" version="4.3.0" targetFramework="net46" />
<package id="System.IO" version="4.3.0" targetFramework="net46" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net46" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net46" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net46" />
<package id="System.Linq" version="4.3.0" targetFramework="net46" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net46" />
<package id="System.Reflection" version="4.3.0" targetFramework="net46" />
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net46" />
<package id="System.Reflection.Metadata" version="1.5.0" targetFramework="net46" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net46" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net46" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net46" />
<package id="System.Text.Encoding.CodePages" version="4.4.0" targetFramework="net46" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net46" />
<package id="System.Threading" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Tasks.Parallel" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Thread" version="4.3.0" targetFramework="net46" />
<package id="System.ValueTuple" version="4.4.0" targetFramework="net46" />
<package id="System.Xml.ReaderWriter" version="4.3.1" targetFramework="net46" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XPath" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XPath.XDocument" version="4.3.0" targetFramework="net46" />
<package id="Castle.Core" version="4.2.1" targetFramework="net461" />
<package id="CS-Script.bin" version="3.28.2.0" targetFramework="net461" />
<package id="HidSharp" version="1.5" targetFramework="net461" />
<package id="Microsoft.CodeAnalysis.Analyzers" version="2.6.0" targetFramework="net461" developmentDependency="true" />
<package id="Microsoft.CodeAnalysis.Common" version="2.6.1" targetFramework="net461" />
<package id="Microsoft.CodeAnalysis.CSharp" version="2.6.1" targetFramework="net461" />
<package id="Microsoft.CodeAnalysis.CSharp.Scripting" version="2.6.1" targetFramework="net461" />
<package id="Microsoft.CodeAnalysis.Scripting.Common" version="2.6.1" targetFramework="net461" />
<package id="Microsoft.EntityFrameworkCore" version="2.0.2" targetFramework="net461" />
<package id="Microsoft.Extensions.Caching.Abstractions" version="2.0.1" targetFramework="net461" />
<package id="Microsoft.Extensions.Caching.Memory" version="2.0.1" targetFramework="net461" />
<package id="Microsoft.Extensions.DependencyInjection" version="2.0.0" targetFramework="net461" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="2.0.0" targetFramework="net461" />
<package id="Microsoft.Extensions.Logging" version="2.0.1" targetFramework="net461" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="2.0.1" targetFramework="net461" />
<package id="Microsoft.Extensions.Options" version="2.0.1" targetFramework="net461" />
<package id="Microsoft.Extensions.Primitives" version="2.0.0" targetFramework="net461" />
<package id="Newtonsoft.Json" version="11.0.1" targetFramework="net461" />
<package id="Ninject" version="3.3.4" targetFramework="net461" />
<package id="Ninject.Extensions.Conventions" version="3.3.0" targetFramework="net461" />
<package id="Ninject.Extensions.Factory" version="3.3.2" targetFramework="net461" />
<package id="Remotion.Linq" version="2.1.1" targetFramework="net461" />
<package id="RGB.NET" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Brushes" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Core" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Decorators" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.Asus" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.CoolerMaster" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.Corsair" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.DMX" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.Logitech" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.Msi" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.Novation" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.Razer" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Groups" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Input" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Input.Corsair" version="0.0.1.42" targetFramework="net461" />
<package id="RGB.NET.Presets" version="0.0.1.38" targetFramework="net461" />
<package id="Sanford.Multimedia.Midi" version="6.6.0" targetFramework="net461" />
<package id="Stylet" version="1.1.21" targetFramework="net461" />
<package id="System.AppContext" version="4.3.0" targetFramework="net461" />
<package id="System.Collections" version="4.3.0" targetFramework="net461" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net461" />
<package id="System.Collections.Immutable" version="1.4.0" targetFramework="net461" />
<package id="System.ComponentModel.Annotations" version="4.4.0" targetFramework="net461" />
<package id="System.Console" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.DiagnosticSource" version="4.4.1" targetFramework="net461" />
<package id="System.Diagnostics.FileVersionInfo" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.StackTrace" version="4.3.0" targetFramework="net461" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net461" />
<package id="System.Dynamic.Runtime" version="4.3.0" targetFramework="net461" />
<package id="System.Globalization" version="4.3.0" targetFramework="net461" />
<package id="System.Interactive.Async" version="3.1.1" targetFramework="net461" />
<package id="System.IO" version="4.3.0" targetFramework="net461" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net461" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net461" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Linq" version="4.3.0" targetFramework="net461" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net461" />
<package id="System.Linq.Queryable" version="4.0.1" targetFramework="net461" />
<package id="System.ObjectModel" version="4.0.12" targetFramework="net461" />
<package id="System.Reflection" version="4.3.0" targetFramework="net461" />
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net461" />
<package id="System.Reflection.Metadata" version="1.5.0" targetFramework="net461" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.4.0" targetFramework="net461" />
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net461" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net461" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net461" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net461" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net461" />
<package id="System.Text.Encoding.CodePages" version="4.4.0" targetFramework="net461" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net461" />
<package id="System.Threading" version="4.3.0" targetFramework="net461" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net461" />
<package id="System.Threading.Tasks.Parallel" version="4.3.0" targetFramework="net461" />
<package id="System.Threading.Thread" version="4.3.0" targetFramework="net461" />
<package id="System.ValueTuple" version="4.4.0" targetFramework="net461" />
<package id="System.Xml.ReaderWriter" version="4.3.1" targetFramework="net461" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net461" />
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net461" />
<package id="System.Xml.XPath" version="4.3.0" targetFramework="net461" />
<package id="System.Xml.XPath.XDocument" version="4.3.0" targetFramework="net461" />
</packages>

View File

@ -33,11 +33,17 @@
<ItemGroup>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="RGB.NET.Core, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Core.0.0.1.48\lib\net45\RGB.NET.Core.dll</HintPath>
</Reference>
<Reference Include="Stylet, Version=1.1.21.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Stylet.1.1.21\lib\net45\Stylet.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xaml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
@ -69,10 +75,6 @@
<Project>{9B811F9B-86B9-4771-87AF-72BAE7078A36}</Project>
<Name>Artemis.Core</Name>
</ProjectReference>
<ProjectReference Include="..\Artemis.Plugins\Artemis.Plugins.csproj">
<Project>{CD23BC5E-57F0-46CE-A007-24D031146219}</Project>
<Name>Artemis.Plugins</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -1,5 +1,5 @@
using Artemis.Core.Attributes;
using Artemis.Plugins.Interfaces;
using Artemis.Core.Plugins.Interfaces;
namespace Artemis.Plugins.BuiltIn.Modules.General
{

View File

@ -2,12 +2,25 @@
//css_inc GeneralDataModel.cs;
using System;
using Artemis.Plugins.Abstract;
using Artemis.Core.Plugins.Abstract;
using Artemis.Core.Services.Interfaces;
using RGB.NET.Core;
namespace Artemis.Plugins.BuiltIn.Modules.General
{
public class GeneralModule : ProfileModule
{
private readonly IRgbService _rgbService;
private RGBSurface _surface;
public GeneralModule(IRgbService rgbService)
{
_rgbService = rgbService;
_surface = _rgbService.Surface;
}
public override Type ViewModelType
{
get { return typeof(GeneralViewModel); }

View File

@ -1,5 +1,5 @@
using Artemis.Plugins.Interfaces;
using Artemis.Plugins.Models;
using Artemis.Core.Plugins.Interfaces;
using Artemis.Core.Plugins.Models;
using Stylet;
namespace Artemis.Plugins.BuiltIn.Modules.General

View File

@ -9,15 +9,14 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a"
culture="neutral" />
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
@ -61,14 +60,21 @@
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35"
culture="neutral" />
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="RGB.NET.Core" version="0.0.1.48" targetFramework="net461" />
<package id="Stylet" version="1.1.21" targetFramework="net461" />
<package id="System.ValueTuple" version="4.4.0" targetFramework="net461" />
</packages>

View File

@ -9,10 +9,11 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Artemis.Plugins</RootNamespace>
<AssemblyName>Artemis.Plugins</AssemblyName>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -56,6 +57,9 @@
<Reference Include="Ninject, Version=3.3.4.0, Culture=neutral, PublicKeyToken=c7192dc5380945e7, processorArchitecture=MSIL">
<HintPath>..\packages\Ninject.3.3.4\lib\net45\Ninject.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Core, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Core.0.0.1.38\lib\net45\RGB.NET.Core.dll</HintPath>
</Reference>
<Reference Include="Stylet, Version=1.1.21.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Stylet.1.1.21\lib\net45\Stylet.dll</HintPath>
</Reference>
@ -113,8 +117,8 @@
<Reference Include="System.Threading.Thread, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Thread.4.3.0\lib\net46\System.Threading.Thread.dll</HintPath>
</Reference>
<Reference Include="System.ValueTuple, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
<Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
@ -136,17 +140,6 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Abstract\ModuleViewModel.cs" />
<Compile Include="Abstract\ProfileModule.cs" />
<Compile Include="Exceptions\ArtemisPluginException.cs" />
<Compile Include="Interfaces\IDataModelExpansion.cs" />
<Compile Include="Interfaces\IDevice.cs" />
<Compile Include="Interfaces\ILayerType.cs" />
<Compile Include="Interfaces\IModule.cs" />
<Compile Include="Interfaces\IModuleDataModel.cs" />
<Compile Include="Interfaces\IPlugin.cs" />
<Compile Include="Interfaces\IModuleViewModel.cs" />
<Compile Include="Models\PluginInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
@ -157,5 +150,11 @@
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
</ItemGroup>
<ItemGroup>
<Folder Include="Abstract\" />
<Folder Include="Exceptions\" />
<Folder Include="Interfaces\" />
<Folder Include="Models\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -1,25 +0,0 @@
using System;
using Artemis.Plugins.Models;
namespace Artemis.Plugins.Exceptions
{
public class ArtemisPluginException : Exception
{
public ArtemisPluginException(PluginInfo pluginInfo)
{
PluginInfo = pluginInfo;
}
public ArtemisPluginException(PluginInfo pluginInfo, string message) : base(message)
{
PluginInfo = pluginInfo;
}
public ArtemisPluginException(PluginInfo pluginInfo, string message, Exception inner) : base(message, inner)
{
PluginInfo = pluginInfo;
}
public PluginInfo PluginInfo { get; }
}
}

View File

@ -1,10 +0,0 @@
namespace Artemis.Plugins.Interfaces
{
/// <inheritdoc />
/// <summary>
/// Allows you to create your own layer type
/// </summary>
public interface ILayerType : IPlugin
{
}
}

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
@ -20,8 +19,7 @@
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a"
culture="neutral" />
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
@ -45,14 +43,17 @@
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35"
culture="neutral" />
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /></startup></configuration>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CS-Script.bin" version="3.28.0.1" targetFramework="net46" />
<package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net46" />
@ -10,6 +9,7 @@
<package id="Microsoft.CodeAnalysis.Scripting.Common" version="2.6.1" targetFramework="net46" />
<package id="Newtonsoft.Json" version="11.0.1" targetFramework="net46" />
<package id="Ninject" version="3.3.4" targetFramework="net46" />
<package id="RGB.NET.Core" version="0.0.1.38" targetFramework="net461" />
<package id="Stylet" version="1.1.21" targetFramework="net46" />
<package id="System.AppContext" version="4.3.0" targetFramework="net46" />
<package id="System.Collections" version="4.3.0" targetFramework="net46" />
@ -36,10 +36,10 @@
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net46" />
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net46" requireReinstallation="true" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net46" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net46" requireReinstallation="true" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net46" />
<package id="System.Text.Encoding.CodePages" version="4.3.0" targetFramework="net46" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net46" />
@ -47,7 +47,7 @@
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Tasks.Parallel" version="4.3.0" targetFramework="net46" />
<package id="System.Threading.Thread" version="4.3.0" targetFramework="net46" />
<package id="System.ValueTuple" version="4.3.0" targetFramework="net46" />
<package id="System.ValueTuple" version="4.4.0" targetFramework="net461" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net46" />
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net46" />

View File

@ -8,8 +8,9 @@
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.0.2" />
</ItemGroup>
<ItemGroup>
<Folder Include="Migrations\" />

View File

@ -5,10 +5,10 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Artemis.Storage.Entities
{
[Table("Folders")]
internal class FolderEntity
public class FolderEntity
{
[Key]
public int Id { get; set; }
public string Guid { get; set; }
public int Order { get; set; }
public string Name { get; set; }

View File

@ -4,10 +4,10 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Artemis.Storage.Entities
{
[Table("Keypoints")]
internal class KeypointEntity
public class KeypointEntity
{
[Key]
public int Id { get; set; }
public string Guid { get; set; }
public int Time { get; set; }
public string Value { get; set; }

View File

@ -5,12 +5,10 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Artemis.Storage.Entities
{
[Table("Layers")]
internal class LayerEntity
public class LayerEntity
{
[Key]
public int Id { get; set; }
public string Type { get; set; }
public string Guid { get; set; }
public virtual ICollection<LedEntity> Leds { get; set; }
public virtual ICollection<LayerSettingEntity> Settings { get; set; }

View File

@ -5,10 +5,10 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Artemis.Storage.Entities
{
[Table("LayerSettings")]
internal class LayerSettingEntity
public class LayerSettingEntity
{
[Key]
public int Id { get; set; }
public string Guid { get; set; }
public string Name { get; set; }
public string Value { get; set; }

View File

@ -4,10 +4,10 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Artemis.Storage.Entities
{
[Table("Leds")]
internal class LedEntity
public class LedEntity
{
[Key]
public int Id { get; set; }
public string Guid { get; set; }
public string LedName { get; set; }
public string LimitedToDevice { get; set; }

View File

@ -1,14 +1,16 @@
using System.ComponentModel.DataAnnotations;
using System;
using System.ComponentModel.DataAnnotations;
namespace Artemis.Storage.Entities
{
internal class ProfileEntity
public class ProfileEntity
{
[Key]
public int Id { get; set; }
public string Guid { get; set; }
public Guid PluginGuid { get; set; }
public string Name { get; set; }
public string Module { get; set; }
public int RootFolderId { get; set; }
public virtual FolderEntity RootFolder { get; set; }

View File

@ -2,7 +2,7 @@
namespace Artemis.Storage.Entities
{
internal class SettingEntity
public class SettingEntity
{
[Key]
public string Name { get; set; }

View File

@ -1,200 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace Artemis.Storage.Migrations
{
public partial class InitialCreate : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
"Folders",
table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
FolderEntityId = table.Column<int>(nullable: true),
Name = table.Column<string>(nullable: true),
Order = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Folders", x => x.Id);
table.ForeignKey(
"FK_Folders_Folders_FolderEntityId",
x => x.FolderEntityId,
"Folders",
"Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
"Settings",
table => new
{
Name = table.Column<string>(nullable: false),
Value = table.Column<string>(nullable: true)
},
constraints: table => { table.PrimaryKey("PK_Settings", x => x.Name); });
migrationBuilder.CreateTable(
"Layers",
table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
FolderEntityId = table.Column<int>(nullable: true),
Name = table.Column<string>(nullable: true),
Order = table.Column<int>(nullable: false),
Type = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Layers", x => x.Id);
table.ForeignKey(
"FK_Layers_Folders_FolderEntityId",
x => x.FolderEntityId,
"Folders",
"Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
"Profiles",
table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
Module = table.Column<string>(nullable: true),
Name = table.Column<string>(nullable: true),
RootFolderId = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Profiles", x => x.Id);
table.ForeignKey(
"FK_Profiles_Folders_RootFolderId",
x => x.RootFolderId,
"Folders",
"Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
"LayerSettings",
table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
LayerEntityId = table.Column<int>(nullable: true),
Name = table.Column<string>(nullable: true),
Value = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_LayerSettings", x => x.Id);
table.ForeignKey(
"FK_LayerSettings_Layers_LayerEntityId",
x => x.LayerEntityId,
"Layers",
"Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
"Leds",
table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
LayerId = table.Column<int>(nullable: false),
LedName = table.Column<string>(nullable: true),
LimitedToDevice = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Leds", x => x.Id);
table.ForeignKey(
"FK_Leds_Layers_LayerId",
x => x.LayerId,
"Layers",
"Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
"Keypoints",
table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
LayerSettingEntityId = table.Column<int>(nullable: true),
Time = table.Column<int>(nullable: false),
Value = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Keypoints", x => x.Id);
table.ForeignKey(
"FK_Keypoints_LayerSettings_LayerSettingEntityId",
x => x.LayerSettingEntityId,
"LayerSettings",
"Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex(
"IX_Folders_FolderEntityId",
"Folders",
"FolderEntityId");
migrationBuilder.CreateIndex(
"IX_Keypoints_LayerSettingEntityId",
"Keypoints",
"LayerSettingEntityId");
migrationBuilder.CreateIndex(
"IX_Layers_FolderEntityId",
"Layers",
"FolderEntityId");
migrationBuilder.CreateIndex(
"IX_LayerSettings_LayerEntityId",
"LayerSettings",
"LayerEntityId");
migrationBuilder.CreateIndex(
"IX_Leds_LayerId",
"Leds",
"LayerId");
migrationBuilder.CreateIndex(
"IX_Profiles_RootFolderId",
"Profiles",
"RootFolderId");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
"Keypoints");
migrationBuilder.DropTable(
"Leds");
migrationBuilder.DropTable(
"Profiles");
migrationBuilder.DropTable(
"Settings");
migrationBuilder.DropTable(
"LayerSettings");
migrationBuilder.DropTable(
"Layers");
migrationBuilder.DropTable(
"Folders");
}
}
}

View File

@ -5,126 +5,129 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Storage.Internal;
using System;
namespace Artemis.Storage.Migrations
{
[DbContext(typeof(StorageContext))]
[Migration("20180124134310_InitialCreate")]
[Migration("20180406175247_InitialCreate")]
partial class InitialCreate
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "2.0.1-rtm-125");
.HasAnnotation("ProductVersion", "2.0.2-rtm-10011");
modelBuilder.Entity("Artemis.Storage.Entities.FolderEntity", b =>
{
b.Property<int>("Id")
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<int?>("FolderEntityId");
b.Property<string>("FolderEntityGuid");
b.Property<string>("Name");
b.Property<int>("Order");
b.HasKey("Id");
b.HasKey("Guid");
b.HasIndex("FolderEntityId");
b.HasIndex("FolderEntityGuid");
b.ToTable("Folders");
});
modelBuilder.Entity("Artemis.Storage.Entities.KeypointEntity", b =>
{
b.Property<int>("Id")
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<int?>("LayerSettingEntityId");
b.Property<string>("LayerSettingEntityGuid");
b.Property<int>("Time");
b.Property<string>("Value");
b.HasKey("Id");
b.HasKey("Guid");
b.HasIndex("LayerSettingEntityId");
b.HasIndex("LayerSettingEntityGuid");
b.ToTable("Keypoints");
});
modelBuilder.Entity("Artemis.Storage.Entities.LayerEntity", b =>
{
b.Property<int>("Id")
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<int?>("FolderEntityId");
b.Property<string>("FolderEntityGuid");
b.Property<string>("Name");
b.Property<int>("Order");
b.Property<string>("Type");
b.HasKey("Guid");
b.HasKey("Id");
b.HasIndex("FolderEntityId");
b.HasIndex("FolderEntityGuid");
b.ToTable("Layers");
});
modelBuilder.Entity("Artemis.Storage.Entities.LayerSettingEntity", b =>
{
b.Property<int>("Id")
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<int?>("LayerEntityId");
b.Property<string>("LayerEntityGuid");
b.Property<string>("Name");
b.Property<string>("Value");
b.HasKey("Id");
b.HasKey("Guid");
b.HasIndex("LayerEntityId");
b.HasIndex("LayerEntityGuid");
b.ToTable("LayerSettings");
});
modelBuilder.Entity("Artemis.Storage.Entities.LedEntity", b =>
{
b.Property<int>("Id")
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<string>("LayerGuid");
b.Property<int>("LayerId");
b.Property<string>("LedName");
b.Property<string>("LimitedToDevice");
b.HasKey("Id");
b.HasKey("Guid");
b.HasIndex("LayerId");
b.HasIndex("LayerGuid");
b.ToTable("Leds");
});
modelBuilder.Entity("Artemis.Storage.Entities.ProfileEntity", b =>
{
b.Property<int>("Id")
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<string>("Module");
b.Property<string>("Name");
b.Property<Guid>("PluginGuid");
b.Property<string>("RootFolderGuid");
b.Property<int>("RootFolderId");
b.HasKey("Id");
b.HasKey("Guid");
b.HasIndex("RootFolderId");
b.HasIndex("RootFolderGuid");
b.ToTable("Profiles");
});
@ -145,44 +148,42 @@ namespace Artemis.Storage.Migrations
{
b.HasOne("Artemis.Storage.Entities.FolderEntity")
.WithMany("Folders")
.HasForeignKey("FolderEntityId");
.HasForeignKey("FolderEntityGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.KeypointEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.LayerSettingEntity")
.WithMany("Keypoints")
.HasForeignKey("LayerSettingEntityId");
.HasForeignKey("LayerSettingEntityGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.LayerEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.FolderEntity")
.WithMany("Layers")
.HasForeignKey("FolderEntityId");
.HasForeignKey("FolderEntityGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.LayerSettingEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.LayerEntity")
.WithMany("Settings")
.HasForeignKey("LayerEntityId");
.HasForeignKey("LayerEntityGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.LedEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.LayerEntity", "Layer")
.WithMany("Leds")
.HasForeignKey("LayerId")
.OnDelete(DeleteBehavior.Cascade);
.HasForeignKey("LayerGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.ProfileEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.FolderEntity", "RootFolder")
.WithMany()
.HasForeignKey("RootFolderId")
.OnDelete(DeleteBehavior.Cascade);
.HasForeignKey("RootFolderGuid");
});
#pragma warning restore 612, 618
}

View File

@ -0,0 +1,200 @@
using Microsoft.EntityFrameworkCore.Migrations;
using System;
using System.Collections.Generic;
namespace Artemis.Storage.Migrations
{
public partial class InitialCreate : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Folders",
columns: table => new
{
Guid = table.Column<string>(nullable: false),
FolderEntityGuid = table.Column<string>(nullable: true),
Name = table.Column<string>(nullable: true),
Order = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Folders", x => x.Guid);
table.ForeignKey(
name: "FK_Folders_Folders_FolderEntityGuid",
column: x => x.FolderEntityGuid,
principalTable: "Folders",
principalColumn: "Guid",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Settings",
columns: table => new
{
Name = table.Column<string>(nullable: false),
Value = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Settings", x => x.Name);
});
migrationBuilder.CreateTable(
name: "Layers",
columns: table => new
{
Guid = table.Column<string>(nullable: false),
FolderEntityGuid = table.Column<string>(nullable: true),
Name = table.Column<string>(nullable: true),
Order = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Layers", x => x.Guid);
table.ForeignKey(
name: "FK_Layers_Folders_FolderEntityGuid",
column: x => x.FolderEntityGuid,
principalTable: "Folders",
principalColumn: "Guid",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Profiles",
columns: table => new
{
Guid = table.Column<string>(nullable: false),
Name = table.Column<string>(nullable: true),
PluginGuid = table.Column<Guid>(nullable: false),
RootFolderGuid = table.Column<string>(nullable: true),
RootFolderId = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Profiles", x => x.Guid);
table.ForeignKey(
name: "FK_Profiles_Folders_RootFolderGuid",
column: x => x.RootFolderGuid,
principalTable: "Folders",
principalColumn: "Guid",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "LayerSettings",
columns: table => new
{
Guid = table.Column<string>(nullable: false),
LayerEntityGuid = table.Column<string>(nullable: true),
Name = table.Column<string>(nullable: true),
Value = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_LayerSettings", x => x.Guid);
table.ForeignKey(
name: "FK_LayerSettings_Layers_LayerEntityGuid",
column: x => x.LayerEntityGuid,
principalTable: "Layers",
principalColumn: "Guid",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Leds",
columns: table => new
{
Guid = table.Column<string>(nullable: false),
LayerGuid = table.Column<string>(nullable: true),
LayerId = table.Column<int>(nullable: false),
LedName = table.Column<string>(nullable: true),
LimitedToDevice = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Leds", x => x.Guid);
table.ForeignKey(
name: "FK_Leds_Layers_LayerGuid",
column: x => x.LayerGuid,
principalTable: "Layers",
principalColumn: "Guid",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Keypoints",
columns: table => new
{
Guid = table.Column<string>(nullable: false),
LayerSettingEntityGuid = table.Column<string>(nullable: true),
Time = table.Column<int>(nullable: false),
Value = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Keypoints", x => x.Guid);
table.ForeignKey(
name: "FK_Keypoints_LayerSettings_LayerSettingEntityGuid",
column: x => x.LayerSettingEntityGuid,
principalTable: "LayerSettings",
principalColumn: "Guid",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex(
name: "IX_Folders_FolderEntityGuid",
table: "Folders",
column: "FolderEntityGuid");
migrationBuilder.CreateIndex(
name: "IX_Keypoints_LayerSettingEntityGuid",
table: "Keypoints",
column: "LayerSettingEntityGuid");
migrationBuilder.CreateIndex(
name: "IX_Layers_FolderEntityGuid",
table: "Layers",
column: "FolderEntityGuid");
migrationBuilder.CreateIndex(
name: "IX_LayerSettings_LayerEntityGuid",
table: "LayerSettings",
column: "LayerEntityGuid");
migrationBuilder.CreateIndex(
name: "IX_Leds_LayerGuid",
table: "Leds",
column: "LayerGuid");
migrationBuilder.CreateIndex(
name: "IX_Profiles_RootFolderGuid",
table: "Profiles",
column: "RootFolderGuid");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Keypoints");
migrationBuilder.DropTable(
name: "Leds");
migrationBuilder.DropTable(
name: "Profiles");
migrationBuilder.DropTable(
name: "Settings");
migrationBuilder.DropTable(
name: "LayerSettings");
migrationBuilder.DropTable(
name: "Layers");
migrationBuilder.DropTable(
name: "Folders");
}
}
}

View File

@ -1,185 +1,190 @@
// <auto-generated />
using Artemis.Storage;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Storage.Internal;
using System;
namespace Artemis.Storage.Migrations
{
[DbContext(typeof(StorageContext))]
internal class StorageContextModelSnapshot : ModelSnapshot
partial class StorageContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "2.0.1-rtm-125");
.HasAnnotation("ProductVersion", "2.0.2-rtm-10011");
modelBuilder.Entity("Artemis.Storage.Entities.FolderEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
{
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<int?>("FolderEntityId");
b.Property<string>("FolderEntityGuid");
b.Property<string>("Name");
b.Property<string>("Name");
b.Property<int>("Order");
b.Property<int>("Order");
b.HasKey("Id");
b.HasKey("Guid");
b.HasIndex("FolderEntityId");
b.HasIndex("FolderEntityGuid");
b.ToTable("Folders");
});
b.ToTable("Folders");
});
modelBuilder.Entity("Artemis.Storage.Entities.KeypointEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
{
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<int?>("LayerSettingEntityId");
b.Property<string>("LayerSettingEntityGuid");
b.Property<int>("Time");
b.Property<int>("Time");
b.Property<string>("Value");
b.Property<string>("Value");
b.HasKey("Id");
b.HasKey("Guid");
b.HasIndex("LayerSettingEntityId");
b.HasIndex("LayerSettingEntityGuid");
b.ToTable("Keypoints");
});
b.ToTable("Keypoints");
});
modelBuilder.Entity("Artemis.Storage.Entities.LayerEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
{
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<int?>("FolderEntityId");
b.Property<string>("FolderEntityGuid");
b.Property<string>("Name");
b.Property<string>("Name");
b.Property<int>("Order");
b.Property<int>("Order");
b.Property<string>("Type");
b.HasKey("Guid");
b.HasKey("Id");
b.HasIndex("FolderEntityGuid");
b.HasIndex("FolderEntityId");
b.ToTable("Layers");
});
b.ToTable("Layers");
});
modelBuilder.Entity("Artemis.Storage.Entities.LayerSettingEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
{
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<int?>("LayerEntityId");
b.Property<string>("LayerEntityGuid");
b.Property<string>("Name");
b.Property<string>("Name");
b.Property<string>("Value");
b.Property<string>("Value");
b.HasKey("Id");
b.HasKey("Guid");
b.HasIndex("LayerEntityId");
b.HasIndex("LayerEntityGuid");
b.ToTable("LayerSettings");
});
b.ToTable("LayerSettings");
});
modelBuilder.Entity("Artemis.Storage.Entities.LedEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
{
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<int>("LayerId");
b.Property<string>("LayerGuid");
b.Property<string>("LedName");
b.Property<int>("LayerId");
b.Property<string>("LimitedToDevice");
b.Property<string>("LedName");
b.HasKey("Id");
b.Property<string>("LimitedToDevice");
b.HasIndex("LayerId");
b.HasKey("Guid");
b.ToTable("Leds");
});
b.HasIndex("LayerGuid");
b.ToTable("Leds");
});
modelBuilder.Entity("Artemis.Storage.Entities.ProfileEntity", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd();
{
b.Property<string>("Guid")
.ValueGeneratedOnAdd();
b.Property<string>("Module");
b.Property<string>("Name");
b.Property<string>("Name");
b.Property<Guid>("PluginGuid");
b.Property<int>("RootFolderId");
b.Property<string>("RootFolderGuid");
b.HasKey("Id");
b.Property<int>("RootFolderId");
b.HasIndex("RootFolderId");
b.HasKey("Guid");
b.ToTable("Profiles");
});
b.HasIndex("RootFolderGuid");
b.ToTable("Profiles");
});
modelBuilder.Entity("Artemis.Storage.Entities.SettingEntity", b =>
{
b.Property<string>("Name")
.ValueGeneratedOnAdd();
{
b.Property<string>("Name")
.ValueGeneratedOnAdd();
b.Property<string>("Value");
b.Property<string>("Value");
b.HasKey("Name");
b.HasKey("Name");
b.ToTable("Settings");
});
b.ToTable("Settings");
});
modelBuilder.Entity("Artemis.Storage.Entities.FolderEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.FolderEntity")
.WithMany("Folders")
.HasForeignKey("FolderEntityId");
});
{
b.HasOne("Artemis.Storage.Entities.FolderEntity")
.WithMany("Folders")
.HasForeignKey("FolderEntityGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.KeypointEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.LayerSettingEntity")
.WithMany("Keypoints")
.HasForeignKey("LayerSettingEntityId");
});
{
b.HasOne("Artemis.Storage.Entities.LayerSettingEntity")
.WithMany("Keypoints")
.HasForeignKey("LayerSettingEntityGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.LayerEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.FolderEntity")
.WithMany("Layers")
.HasForeignKey("FolderEntityId");
});
{
b.HasOne("Artemis.Storage.Entities.FolderEntity")
.WithMany("Layers")
.HasForeignKey("FolderEntityGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.LayerSettingEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.LayerEntity")
.WithMany("Settings")
.HasForeignKey("LayerEntityId");
});
{
b.HasOne("Artemis.Storage.Entities.LayerEntity")
.WithMany("Settings")
.HasForeignKey("LayerEntityGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.LedEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.LayerEntity", "Layer")
.WithMany("Leds")
.HasForeignKey("LayerId")
.OnDelete(DeleteBehavior.Cascade);
});
{
b.HasOne("Artemis.Storage.Entities.LayerEntity", "Layer")
.WithMany("Leds")
.HasForeignKey("LayerGuid");
});
modelBuilder.Entity("Artemis.Storage.Entities.ProfileEntity", b =>
{
b.HasOne("Artemis.Storage.Entities.FolderEntity", "RootFolder")
.WithMany()
.HasForeignKey("RootFolderId")
.OnDelete(DeleteBehavior.Cascade);
});
{
b.HasOne("Artemis.Storage.Entities.FolderEntity", "RootFolder")
.WithMany()
.HasForeignKey("RootFolderGuid");
});
#pragma warning restore 612, 618
}
}
}
}

View File

@ -3,10 +3,10 @@ using Microsoft.EntityFrameworkCore;
namespace Artemis.Storage
{
internal class StorageContext : DbContext
public class StorageContext : DbContext
{
internal DbSet<ProfileEntity> Profiles { get; set; }
internal DbSet<SettingEntity> Settings { get; set; }
public DbSet<ProfileEntity> Profiles { get; set; }
public DbSet<SettingEntity> Settings { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{

View File

@ -16,7 +16,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
@ -31,8 +31,7 @@
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a"
culture="neutral" />
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
@ -56,8 +55,7 @@
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35"
culture="neutral" />
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
@ -72,6 +70,14 @@
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@ -70,46 +70,46 @@
<HintPath>..\packages\PropertyChanged.Fody.2.2.6\lib\net452\PropertyChanged.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Brushes, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Brushes.0.0.1.38\lib\net45\RGB.NET.Brushes.dll</HintPath>
<HintPath>..\packages\RGB.NET.Brushes.0.0.1.48\lib\net45\RGB.NET.Brushes.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Core, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Core.0.0.1.38\lib\net45\RGB.NET.Core.dll</HintPath>
<HintPath>..\packages\RGB.NET.Core.0.0.1.48\lib\net45\RGB.NET.Core.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Decorators, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Decorators.0.0.1.38\lib\net45\RGB.NET.Decorators.dll</HintPath>
<HintPath>..\packages\RGB.NET.Decorators.0.0.1.48\lib\net45\RGB.NET.Decorators.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Asus, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Asus.0.0.1.38\lib\net45\RGB.NET.Devices.Asus.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Asus.0.0.1.48\lib\net45\RGB.NET.Devices.Asus.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.CoolerMaster, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\lib\net45\RGB.NET.Devices.CoolerMaster.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.48\lib\net45\RGB.NET.Devices.CoolerMaster.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Corsair, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Corsair.0.0.1.38\lib\net45\RGB.NET.Devices.Corsair.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Corsair.0.0.1.48\lib\net45\RGB.NET.Devices.Corsair.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.DMX, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.DMX.0.0.1.38\lib\net45\RGB.NET.Devices.DMX.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.DMX.0.0.1.48\lib\net45\RGB.NET.Devices.DMX.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Logitech, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Logitech.0.0.1.38\lib\net45\RGB.NET.Devices.Logitech.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Logitech.0.0.1.48\lib\net45\RGB.NET.Devices.Logitech.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Msi, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Msi.0.0.1.38\lib\net45\RGB.NET.Devices.Msi.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Novation, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Novation.0.0.1.38\lib\net45\RGB.NET.Devices.Novation.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Novation.0.0.1.48\lib\net45\RGB.NET.Devices.Novation.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Devices.Razer, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Devices.Razer.0.0.1.38\lib\net45\RGB.NET.Devices.Razer.dll</HintPath>
<HintPath>..\packages\RGB.NET.Devices.Razer.0.0.1.48\lib\net45\RGB.NET.Devices.Razer.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Groups, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Groups.0.0.1.38\lib\net45\RGB.NET.Groups.dll</HintPath>
<HintPath>..\packages\RGB.NET.Groups.0.0.1.48\lib\net45\RGB.NET.Groups.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Input, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Input.0.0.1.38\lib\net45\RGB.NET.Input.dll</HintPath>
</Reference>
<Reference Include="RGB.NET.Input.Corsair, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\RGB.NET.Input.Corsair.0.0.1.38\lib\net45\RGB.NET.Input.Corsair.dll</HintPath>
<HintPath>..\packages\RGB.NET.Input.Corsair.0.0.1.42\lib\net45\RGB.NET.Input.Corsair.dll</HintPath>
</Reference>
<Reference Include="Sanford.Multimedia.Midi, Version=6.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Sanford.Multimedia.Midi.6.6.0\lib\net20\Sanford.Multimedia.Midi.dll</HintPath>
@ -228,10 +228,6 @@
<Project>{106f08ae-5fe8-433e-aa65-64e5219b5fc7}</Project>
<Name>Artemis.Plugins.BuiltIn</Name>
</ProjectReference>
<ProjectReference Include="..\Artemis.Plugins\Artemis.Plugins.csproj">
<Project>{cd23bc5e-57f0-46ce-a007-24d031146219}</Project>
<Name>Artemis.Plugins</Name>
</ProjectReference>
<ProjectReference Include="..\Artemis.Storage\Artemis.Storage.csproj">
<Project>{e489e5e3-1a65-4af5-a1ea-f9805fd19a65}</Project>
<Name>Artemis.Storage</Name>
@ -251,27 +247,17 @@
<Resource Include="FodyWeavers.xml" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>echo Copying built-in plugins...
xcopy /s /y /q $(SolutionDir)Artemis.Plugins.BuiltIn\Modules %25ProgramData%25\Artemis\plugins</PostBuildEvent>
</PropertyGroup>
<Import Project="..\packages\Fody.2.4.2\build\Fody.targets" Condition="Exists('..\packages\Fody.2.4.2\build\Fody.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Fody.2.4.2\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.2.4.2\build\Fody.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Asus.0.0.1.38\build\net45\RGB.NET.Devices.Asus.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Asus.0.0.1.38\build\net45\RGB.NET.Devices.Asus.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\build\net45\RGB.NET.Devices.CoolerMaster.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\build\net45\RGB.NET.Devices.CoolerMaster.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Corsair.0.0.1.38\build\net45\RGB.NET.Devices.Corsair.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Corsair.0.0.1.38\build\net45\RGB.NET.Devices.Corsair.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Logitech.0.0.1.38\build\net45\RGB.NET.Devices.Logitech.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Logitech.0.0.1.38\build\net45\RGB.NET.Devices.Logitech.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets'))" />
<Error Condition="!Exists('..\packages\RGB.NET.Devices.Razer.0.0.1.38\build\net45\RGB.NET.Devices.Razer.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\RGB.NET.Devices.Razer.0.0.1.38\build\net45\RGB.NET.Devices.Razer.targets'))" />
</Target>
<Import Project="..\packages\RGB.NET.Devices.Asus.0.0.1.38\build\net45\RGB.NET.Devices.Asus.targets" Condition="Exists('..\packages\RGB.NET.Devices.Asus.0.0.1.38\build\net45\RGB.NET.Devices.Asus.targets')" />
<Import Project="..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\build\net45\RGB.NET.Devices.CoolerMaster.targets" Condition="Exists('..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.38\build\net45\RGB.NET.Devices.CoolerMaster.targets')" />
<Import Project="..\packages\RGB.NET.Devices.Corsair.0.0.1.38\build\net45\RGB.NET.Devices.Corsair.targets" Condition="Exists('..\packages\RGB.NET.Devices.Corsair.0.0.1.38\build\net45\RGB.NET.Devices.Corsair.targets')" />
<Import Project="..\packages\RGB.NET.Devices.Logitech.0.0.1.38\build\net45\RGB.NET.Devices.Logitech.targets" Condition="Exists('..\packages\RGB.NET.Devices.Logitech.0.0.1.38\build\net45\RGB.NET.Devices.Logitech.targets')" />
<Import Project="..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets" Condition="Exists('..\packages\RGB.NET.Devices.Msi.0.0.1.38\build\net45\RGB.NET.Devices.Msi.targets')" />
<Import Project="..\packages\RGB.NET.Devices.Razer.0.0.1.38\build\net45\RGB.NET.Devices.Razer.targets" Condition="Exists('..\packages\RGB.NET.Devices.Razer.0.0.1.38\build\net45\RGB.NET.Devices.Razer.targets')" />
<PropertyGroup>
<PostBuildEvent>echo Copying built-in plugins...
xcopy /s /y /q $(SolutionDir)Artemis.Plugins.BuiltIn\Modules %25ProgramData%25\Artemis\plugins</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -1,7 +1,7 @@
using System.IO;
using System.Windows;
using System.Windows.Markup;
using Artemis.Plugins.Interfaces;
using Artemis.Core.Plugins.Interfaces;
using Stylet;
namespace Artemis.UI.Stylet

View File

@ -4,9 +4,9 @@ using System.ComponentModel;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Controls;
using Artemis.Core.Plugins.Interfaces;
using Artemis.Core.Plugins.Models;
using Artemis.Core.Services.Interfaces;
using Artemis.Plugins.Interfaces;
using Artemis.Plugins.Models;
using Artemis.UI.ViewModels.Interfaces;
using Stylet;

View File

@ -7,7 +7,7 @@
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:s="https://github.com/canton7/Stylet"
xmlns:vms="clr-namespace:Artemis.UI.ViewModels"
xmlns:models="clr-namespace:Artemis.Plugins.Models;assembly=Artemis.Plugins"
xmlns:models="clr-namespace:Artemis.Core.Plugins.Models;assembly=Artemis.Core"
mc:Ignorable="d"
GlowBrush="{DynamicResource AccentColorBrush}"
FontFamily="{StaticResource DefaultFont}"

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Castle.Core" version="4.2.1" targetFramework="net461" />
<package id="ControlzEx" version="3.0.2.4" targetFramework="net461" />
@ -14,21 +13,21 @@
<package id="Ninject.Extensions.Factory" version="3.3.2" targetFramework="net461" />
<package id="PropertyChanged.Fody" version="2.2.6" targetFramework="net461" developmentDependency="true" />
<package id="RGB.NET" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Brushes" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Core" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Decorators" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Brushes" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Core" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Decorators" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.Asus" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.CoolerMaster" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.Corsair" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.DMX" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.Logitech" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.Asus" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.CoolerMaster" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.Corsair" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.DMX" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.Logitech" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.Msi" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.Novation" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.Razer" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Groups" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Devices.Novation" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Devices.Razer" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Groups" version="0.0.1.48" targetFramework="net461" />
<package id="RGB.NET.Input" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Input.Corsair" version="0.0.1.38" targetFramework="net461" />
<package id="RGB.NET.Input.Corsair" version="0.0.1.42" targetFramework="net461" />
<package id="RGB.NET.Presets" version="0.0.1.38" targetFramework="net461" />
<package id="Sanford.Multimedia.Midi" version="6.6.0" targetFramework="net461" />
<package id="Stylet" version="1.1.21" targetFramework="net461" />

View File

@ -9,8 +9,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Artemis.Storage", "Artemis.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis.Core", "Artemis.Core\Artemis.Core.csproj", "{9B811F9B-86B9-4771-87AF-72BAE7078A36}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis.Plugins", "Artemis.Plugins\Artemis.Plugins.csproj", "{CD23BC5E-57F0-46CE-A007-24D031146219}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Artemis.Plugins.BuiltIn", "Artemis.Plugins.BuiltIn\Artemis.Plugins.BuiltIn.csproj", "{106F08AE-5FE8-433E-AA65-64E5219B5FC7}"
EndProject
Global
@ -31,10 +29,6 @@ Global
{9B811F9B-86B9-4771-87AF-72BAE7078A36}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9B811F9B-86B9-4771-87AF-72BAE7078A36}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9B811F9B-86B9-4771-87AF-72BAE7078A36}.Release|Any CPU.Build.0 = Release|Any CPU
{CD23BC5E-57F0-46CE-A007-24D031146219}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD23BC5E-57F0-46CE-A007-24D031146219}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD23BC5E-57F0-46CE-A007-24D031146219}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD23BC5E-57F0-46CE-A007-24D031146219}.Release|Any CPU.Build.0 = Release|Any CPU
{106F08AE-5FE8-433E-AA65-64E5219B5FC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{106F08AE-5FE8-433E-AA65-64E5219B5FC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{106F08AE-5FE8-433E-AA65-64E5219B5FC7}.Release|Any CPU.ActiveCfg = Release|Any CPU