diff --git a/src/Artemis.Core/Artemis.Core.csproj b/src/Artemis.Core/Artemis.Core.csproj
index c3f3f14da..74173aeed 100644
--- a/src/Artemis.Core/Artemis.Core.csproj
+++ b/src/Artemis.Core/Artemis.Core.csproj
@@ -61,9 +61,6 @@
-
- ..\..\..\RGB.NET\bin\netstandard2.0\RGB.NET.Brushes.dll
-
..\..\..\RGB.NET\bin\netstandard2.0\RGB.NET.Core.dll
diff --git a/src/Artemis.Core/Plugins/DataModelExpansions/DataModel.cs b/src/Artemis.Core/Plugins/DataModelExpansions/DataModel.cs
index 7770913b8..dd5e6e367 100644
--- a/src/Artemis.Core/Plugins/DataModelExpansions/DataModel.cs
+++ b/src/Artemis.Core/Plugins/DataModelExpansions/DataModel.cs
@@ -6,6 +6,7 @@ using System.Linq;
using System.Reflection;
using Artemis.Core.Exceptions;
using Artemis.Core.Plugins.DataModelExpansions.Attributes;
+using Artemis.Core.Plugins.DataModelExpansions.Internal;
using Artemis.Core.Plugins.Modules;
namespace Artemis.Core.Plugins.DataModelExpansions
diff --git a/src/Artemis.Core/Plugins/DataModelExpansions/BaseDataModelExpansion.cs b/src/Artemis.Core/Plugins/DataModelExpansions/DataModelExpansion.cs
similarity index 60%
rename from src/Artemis.Core/Plugins/DataModelExpansions/BaseDataModelExpansion.cs
rename to src/Artemis.Core/Plugins/DataModelExpansions/DataModelExpansion.cs
index 80ed5ce07..b6ec6d36c 100644
--- a/src/Artemis.Core/Plugins/DataModelExpansions/BaseDataModelExpansion.cs
+++ b/src/Artemis.Core/Plugins/DataModelExpansions/DataModelExpansion.cs
@@ -1,10 +1,7 @@
using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
using System.Linq;
using System.Linq.Expressions;
-using System.Reflection;
-using Artemis.Core.Plugins.DataModelExpansions.Attributes;
+using Artemis.Core.Plugins.DataModelExpansions.Internal;
using Artemis.Core.Utilities;
namespace Artemis.Core.Plugins.DataModelExpansions
@@ -12,7 +9,7 @@ namespace Artemis.Core.Plugins.DataModelExpansions
///
/// Allows you to expand the application-wide datamodel
///
- public abstract class BaseDataModelExpansion : BaseDataModelExpansion where T : DataModel
+ public abstract class DataModelExpansion : BaseDataModelExpansion where T : DataModel
{
///
/// The data model driving this module
@@ -58,31 +55,4 @@ namespace Artemis.Core.Plugins.DataModelExpansions
base.InternalDisablePlugin();
}
}
-
- ///
- /// For internal use only, to implement your own layer property type, extend
- /// instead.
- ///
- public abstract class BaseDataModelExpansion : Plugin
- {
- protected readonly List HiddenPropertiesList = new List();
-
- ///
- /// Gets a list of all properties ignored at runtime using IgnoreProperty(x => x.y)
- ///
- public ReadOnlyCollection HiddenProperties => HiddenPropertiesList.AsReadOnly();
-
- internal DataModel InternalDataModel { get; set; }
- public abstract void Update(double deltaTime);
-
- ///
- /// Override to provide your own data model description. By default this returns a description matching your plugin
- /// name and description
- ///
- ///
- public virtual DataModelPropertyAttribute GetDataModelDescription()
- {
- return new DataModelPropertyAttribute {Name = PluginInfo.Name, Description = PluginInfo.Description};
- }
- }
}
\ No newline at end of file
diff --git a/src/Artemis.Core/Plugins/DataModelExpansions/Internal/BaseDataModelExpansion.cs b/src/Artemis.Core/Plugins/DataModelExpansions/Internal/BaseDataModelExpansion.cs
new file mode 100644
index 000000000..d292025f7
--- /dev/null
+++ b/src/Artemis.Core/Plugins/DataModelExpansions/Internal/BaseDataModelExpansion.cs
@@ -0,0 +1,34 @@
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Reflection;
+using Artemis.Core.Plugins.DataModelExpansions.Attributes;
+
+namespace Artemis.Core.Plugins.DataModelExpansions.Internal
+{
+ ///
+ /// For internal use only, to implement your own layer property type, extend
+ /// instead.
+ ///
+ public abstract class BaseDataModelExpansion : Plugin
+ {
+ protected readonly List HiddenPropertiesList = new List();
+
+ ///
+ /// Gets a list of all properties ignored at runtime using IgnoreProperty(x => x.y)
+ ///
+ public ReadOnlyCollection HiddenProperties => HiddenPropertiesList.AsReadOnly();
+
+ internal DataModel InternalDataModel { get; set; }
+ public abstract void Update(double deltaTime);
+
+ ///
+ /// Override to provide your own data model description. By default this returns a description matching your plugin
+ /// name and description
+ ///
+ ///
+ public virtual DataModelPropertyAttribute GetDataModelDescription()
+ {
+ return new DataModelPropertyAttribute {Name = PluginInfo.Name, Description = PluginInfo.Description};
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs b/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs
index 123f81780..f68614cde 100644
--- a/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs
+++ b/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs
@@ -22,7 +22,7 @@ namespace Artemis.Core.Plugins.LayerEffects
}
///
- /// A read-only collection of all layer effects added with
+ /// A read-only collection of all layer effects added with
///
public ReadOnlyCollection LayerEffectDescriptors => _layerEffectDescriptors.AsReadOnly();
@@ -37,7 +37,7 @@ namespace Artemis.Core.Plugins.LayerEffects
/// The Material icon to display in the UI, a full reference can be found
/// here
///
- protected void AddLayerEffectDescriptor(string displayName, string description, string icon) where T : BaseLayerEffect
+ protected void RegisterLayerEffectDescriptor(string displayName, string description, string icon) where T : BaseLayerEffect
{
if (!Enabled)
throw new ArtemisPluginException(PluginInfo, "Can only add a layer effect descriptor when the plugin is enabled");
diff --git a/src/Artemis.Core/Plugins/Modules/Module.cs b/src/Artemis.Core/Plugins/Modules/Module.cs
index 2c2a69ad6..eb71dbec3 100644
--- a/src/Artemis.Core/Plugins/Modules/Module.cs
+++ b/src/Artemis.Core/Plugins/Modules/Module.cs
@@ -28,7 +28,7 @@ namespace Artemis.Core.Plugins.Modules
/// Gets or sets whether this module must also expand the main data model
///
/// Note: If expanding the main data model is all you want your plugin to do, create a
- /// plugin instead.
+ /// plugin instead.
///
///
public bool ExpandsDataModel
diff --git a/src/Artemis.Core/Plugins/Modules/ProfileModule.cs b/src/Artemis.Core/Plugins/Modules/ProfileModule.cs
index 71fbe0e8f..894757b42 100644
--- a/src/Artemis.Core/Plugins/Modules/ProfileModule.cs
+++ b/src/Artemis.Core/Plugins/Modules/ProfileModule.cs
@@ -10,6 +10,7 @@ using Artemis.Core.Models.Profile;
using Artemis.Core.Models.Surface;
using Artemis.Core.Plugins.DataModelExpansions;
using Artemis.Core.Plugins.DataModelExpansions.Attributes;
+using Artemis.Core.Plugins.DataModelExpansions.Internal;
using Artemis.Core.Utilities;
using SkiaSharp;
diff --git a/src/Artemis.Core/Services/CoreService.cs b/src/Artemis.Core/Services/CoreService.cs
index 5ea7d57c0..c4a223ec8 100644
--- a/src/Artemis.Core/Services/CoreService.cs
+++ b/src/Artemis.Core/Services/CoreService.cs
@@ -10,6 +10,7 @@ using Artemis.Core.JsonConverters;
using Artemis.Core.Models.Profile;
using Artemis.Core.Ninject;
using Artemis.Core.Plugins.DataModelExpansions;
+using Artemis.Core.Plugins.DataModelExpansions.Internal;
using Artemis.Core.Plugins.Settings;
using Artemis.Core.Services.Interfaces;
using Artemis.Core.Services.Storage.Interfaces;
diff --git a/src/Artemis.Core/Services/DataModelService.cs b/src/Artemis.Core/Services/DataModelService.cs
index 6cb887d58..e0ac571d4 100644
--- a/src/Artemis.Core/Services/DataModelService.cs
+++ b/src/Artemis.Core/Services/DataModelService.cs
@@ -9,6 +9,7 @@ using Artemis.Core.Models.Profile.Conditions;
using Artemis.Core.Models.Profile.Conditions.Operators;
using Artemis.Core.Plugins;
using Artemis.Core.Plugins.DataModelExpansions;
+using Artemis.Core.Plugins.DataModelExpansions.Internal;
using Artemis.Core.Plugins.Exceptions;
using Artemis.Core.Plugins.Modules;
using Artemis.Core.Services.Interfaces;
diff --git a/src/Artemis.UI/Artemis.UI.csproj b/src/Artemis.UI/Artemis.UI.csproj
index ff5e11035..7fa203cf2 100644
--- a/src/Artemis.UI/Artemis.UI.csproj
+++ b/src/Artemis.UI/Artemis.UI.csproj
@@ -52,6 +52,11 @@
+
+
+ ..\..\..\RGB.NET\bin\netstandard2.0\RGB.NET.Brushes.dll
+ true
+
..\..\..\RGB.NET\bin\netstandard2.0\RGB.NET.Core.dll
diff --git a/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginSettingsViewModel.cs b/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginSettingsViewModel.cs
index 3715bd266..77af8a5a2 100644
--- a/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginSettingsViewModel.cs
+++ b/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginSettingsViewModel.cs
@@ -4,6 +4,7 @@ using System.IO;
using System.Threading.Tasks;
using Artemis.Core.Plugins;
using Artemis.Core.Plugins.DataModelExpansions;
+using Artemis.Core.Plugins.DataModelExpansions.Internal;
using Artemis.Core.Plugins.DeviceProviders;
using Artemis.Core.Plugins.LayerBrushes;
using Artemis.Core.Plugins.LayerEffects;
diff --git a/src/Artemis.sln b/src/Artemis.sln
index 480cacd0c..1af8e3f62 100644
--- a/src/Artemis.sln
+++ b/src/Artemis.sln
@@ -74,8 +74,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LayerEffects", "LayerEffect
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Artemis.Plugins.LayerEffects.Filter", "Plugins\Artemis.Plugins.LayerEffects.Filter\Artemis.Plugins.LayerEffects.Filter.csproj", "{62214042-667E-4B29-B64E-1A68CE6FE209}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataModelExpansions", "DataModelExpansions", "{4E85F6B5-83FB-4830-8787-555103F26ECD}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Artemis.Plugins.Devices.Debug", "Plugins\Artemis.Plugins.Devices.Debug\Artemis.Plugins.Devices.Debug.csproj", "{3D83760B-0A36-4C8F-978D-7949C3FC862B}"
EndProject
Global
@@ -288,7 +286,6 @@ Global
{301C3AAA-9F79-46A5-9B9D-86F076C5BDD1} = {A311DC47-42A2-4DD4-B921-50FBF7A33F41}
{2C1477DC-7A5C-4B65-85DB-1F16A18FB2EC} = {E830A02B-A7E5-4A6B-943F-76B0A542630C}
{62214042-667E-4B29-B64E-1A68CE6FE209} = {2C1477DC-7A5C-4B65-85DB-1F16A18FB2EC}
- {4E85F6B5-83FB-4830-8787-555103F26ECD} = {E830A02B-A7E5-4A6B-943F-76B0A542630C}
{3D83760B-0A36-4C8F-978D-7949C3FC862B} = {88792A7E-F037-4280-81D3-B131508EF1D8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
diff --git a/src/Plugins/Artemis.Plugins.LayerEffects.Filter/FilterEffectProvider.cs b/src/Plugins/Artemis.Plugins.LayerEffects.Filter/FilterEffectProvider.cs
index a17dfb4ba..66f225f11 100644
--- a/src/Plugins/Artemis.Plugins.LayerEffects.Filter/FilterEffectProvider.cs
+++ b/src/Plugins/Artemis.Plugins.LayerEffects.Filter/FilterEffectProvider.cs
@@ -6,17 +6,17 @@ namespace Artemis.Plugins.LayerEffects.Filter
{
public override void EnablePlugin()
{
- AddLayerEffectDescriptor(
+ RegisterLayerEffectDescriptor(
"Blur",
"A layer effect providing a blur filter effect. \r\nNote: CPU intensive, best to only use on small layers or for a short period of time.",
"BlurOn"
);
- AddLayerEffectDescriptor("Dilate", "A layer effect providing a dilation filter effect", "EyePlus");
- AddLayerEffectDescriptor("Opacity", "A layer effect letting you change the opacity of all children", "Opacity");
- AddLayerEffectDescriptor("Erode", "A layer effect providing an erode filter effect", "EyeMinus");
- AddLayerEffectDescriptor("Glow", "A layer effect providing a glow filter effect", "BoxShadow");
- AddLayerEffectDescriptor("Gray-scale", "A layer effect providing a gray-scale filter effect", "InvertColors");
- AddLayerEffectDescriptor("Color matrix", "A layer effect allowing you to apply a custom color matrix", "Matrix");
+ RegisterLayerEffectDescriptor("Dilate", "A layer effect providing a dilation filter effect", "EyePlus");
+ RegisterLayerEffectDescriptor("Opacity", "A layer effect letting you change the opacity of all children", "Opacity");
+ RegisterLayerEffectDescriptor("Erode", "A layer effect providing an erode filter effect", "EyeMinus");
+ RegisterLayerEffectDescriptor("Glow", "A layer effect providing a glow filter effect", "BoxShadow");
+ RegisterLayerEffectDescriptor("Gray-scale", "A layer effect providing a gray-scale filter effect", "InvertColors");
+ RegisterLayerEffectDescriptor("Color matrix", "A layer effect allowing you to apply a custom color matrix", "Matrix");
}
public override void DisablePlugin()