diff --git a/src/.idea/.idea.Artemis/.idea/.gitignore b/src/.idea/.idea.Artemis/.idea/.gitignore
new file mode 100644
index 000000000..0f04753a2
--- /dev/null
+++ b/src/.idea/.idea.Artemis/.idea/.gitignore
@@ -0,0 +1,13 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Rider ignored files
+/modules.xml
+/contentModel.xml
+/.idea.Artemis.iml
+/projectSettingsUpdater.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/src/.idea/.idea.Artemis/.idea/.name b/src/.idea/.idea.Artemis/.idea/.name
new file mode 100644
index 000000000..cc79fd55c
--- /dev/null
+++ b/src/.idea/.idea.Artemis/.idea/.name
@@ -0,0 +1 @@
+Artemis
\ No newline at end of file
diff --git a/src/.idea/.idea.Artemis/.idea/avalonia.xml b/src/.idea/.idea.Artemis/.idea/avalonia.xml
new file mode 100644
index 000000000..e2bef8512
--- /dev/null
+++ b/src/.idea/.idea.Artemis/.idea/avalonia.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/.idea/.idea.Artemis/.idea/encodings.xml b/src/.idea/.idea.Artemis/.idea/encodings.xml
new file mode 100644
index 000000000..df87cf951
--- /dev/null
+++ b/src/.idea/.idea.Artemis/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/.idea/.idea.Artemis/.idea/indexLayout.xml b/src/.idea/.idea.Artemis/.idea/indexLayout.xml
new file mode 100644
index 000000000..7b08163ce
--- /dev/null
+++ b/src/.idea/.idea.Artemis/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/.idea/.idea.Artemis/.idea/vcs.xml b/src/.idea/.idea.Artemis/.idea/vcs.xml
new file mode 100644
index 000000000..6c0b86358
--- /dev/null
+++ b/src/.idea/.idea.Artemis/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Artemis.Core/Extensions/SKColorExtensions.cs b/src/Artemis.Core/Extensions/SKColorExtensions.cs
index dbc14239f..819e09045 100644
--- a/src/Artemis.Core/Extensions/SKColorExtensions.cs
+++ b/src/Artemis.Core/Extensions/SKColorExtensions.cs
@@ -16,7 +16,7 @@ namespace Artemis.Core
/// The RGB.NET color
public static Color ToRgbColor(this SKColor color)
{
- return new(color.Alpha, color.Red, color.Green, color.Blue);
+ return new Color(color.Alpha, color.Red, color.Green, color.Blue);
}
///
@@ -49,7 +49,7 @@ namespace Artemis.Core
/// The sum of the two colors
public static SKColor Sum(this SKColor a, SKColor b)
{
- return new(
+ return new SKColor(
ClampToByte(a.Red + b.Red),
ClampToByte(a.Green + b.Green),
ClampToByte(a.Blue + b.Blue),
diff --git a/src/Artemis.Core/Models/Profile/Conditions/Abstract/DataModelConditionPart.cs b/src/Artemis.Core/Models/Profile/Conditions/Abstract/DataModelConditionPart.cs
index d86df56a0..ac8ac1510 100644
--- a/src/Artemis.Core/Models/Profile/Conditions/Abstract/DataModelConditionPart.cs
+++ b/src/Artemis.Core/Models/Profile/Conditions/Abstract/DataModelConditionPart.cs
@@ -15,7 +15,7 @@ namespace Artemis.Core
protected DataModelConditionPart()
{
- Children = new(_children);
+ Children = new ReadOnlyCollection(_children);
}
///
diff --git a/src/Artemis.Core/Models/Profile/DataBindings/Modes/Conditional/ConditionalDataBinding.cs b/src/Artemis.Core/Models/Profile/DataBindings/Modes/Conditional/ConditionalDataBinding.cs
index d5d50125d..44261ef00 100644
--- a/src/Artemis.Core/Models/Profile/DataBindings/Modes/Conditional/ConditionalDataBinding.cs
+++ b/src/Artemis.Core/Models/Profile/DataBindings/Modes/Conditional/ConditionalDataBinding.cs
@@ -18,7 +18,7 @@ namespace Artemis.Core
{
DataBinding = dataBinding;
Entity = entity;
- Conditions = new(_conditions);
+ Conditions = new ReadOnlyCollection>(_conditions);
Load();
}
diff --git a/src/Artemis.Core/Models/Profile/DataBindings/Modes/DirectDataBinding.cs b/src/Artemis.Core/Models/Profile/DataBindings/Modes/DirectDataBinding.cs
index 5ed0c6d67..233a5add3 100644
--- a/src/Artemis.Core/Models/Profile/DataBindings/Modes/DirectDataBinding.cs
+++ b/src/Artemis.Core/Models/Profile/DataBindings/Modes/DirectDataBinding.cs
@@ -17,7 +17,7 @@ namespace Artemis.Core
{
DataBinding = dataBinding;
Entity = entity;
- Modifiers = new(_modifiers);
+ Modifiers = new ReadOnlyCollection>(_modifiers);
Load();
}
diff --git a/src/Artemis.Core/Models/Profile/LayerProperties/LayerProperty.cs b/src/Artemis.Core/Models/Profile/LayerProperties/LayerProperty.cs
index 6bcf8f8b2..8a4cc1d7c 100644
--- a/src/Artemis.Core/Models/Profile/LayerProperties/LayerProperty.cs
+++ b/src/Artemis.Core/Models/Profile/LayerProperties/LayerProperty.cs
@@ -44,7 +44,7 @@ namespace Artemis.Core
_baseValue = default!;
_keyframes = new List>();
- Keyframes = new(_keyframes);
+ Keyframes = new ReadOnlyCollection>(_keyframes);
}
///
diff --git a/src/Artemis.Core/Models/Profile/LayerProperties/LayerPropertyKeyFrame.cs b/src/Artemis.Core/Models/Profile/LayerProperties/LayerPropertyKeyFrame.cs
index a7cd776a6..299c0638e 100644
--- a/src/Artemis.Core/Models/Profile/LayerProperties/LayerPropertyKeyFrame.cs
+++ b/src/Artemis.Core/Models/Profile/LayerProperties/LayerPropertyKeyFrame.cs
@@ -66,7 +66,7 @@ namespace Artemis.Core
///
public KeyframeEntity GetKeyframeEntity()
{
- return new()
+ return new KeyframeEntity
{
Value = CoreJson.SerializeObject(Value),
Position = Position,
diff --git a/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs b/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs
index 00658528d..130f06e87 100644
--- a/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs
+++ b/src/Artemis.Core/Models/Profile/LayerPropertyGroup.cs
@@ -38,8 +38,8 @@ namespace Artemis.Core
_layerProperties = new List();
_layerPropertyGroups = new List();
- LayerProperties = new(_layerProperties);
- LayerPropertyGroups = new(_layerPropertyGroups);
+ LayerProperties = new ReadOnlyCollection(_layerProperties);
+ LayerPropertyGroups = new ReadOnlyCollection(_layerPropertyGroups);
}
///
diff --git a/src/Artemis.Core/Models/Profile/ProfileCategory.cs b/src/Artemis.Core/Models/Profile/ProfileCategory.cs
index c00671f56..d6b343b19 100644
--- a/src/Artemis.Core/Models/Profile/ProfileCategory.cs
+++ b/src/Artemis.Core/Models/Profile/ProfileCategory.cs
@@ -24,14 +24,14 @@ namespace Artemis.Core
{
_name = name;
Entity = new ProfileCategoryEntity();
- ProfileConfigurations = new(_profileConfigurations);
+ ProfileConfigurations = new ReadOnlyCollection(_profileConfigurations);
}
internal ProfileCategory(ProfileCategoryEntity entity)
{
_name = null!;
Entity = entity;
- ProfileConfigurations = new(_profileConfigurations);
+ ProfileConfigurations = new ReadOnlyCollection(_profileConfigurations);
Load();
}
diff --git a/src/Artemis.Core/Models/Profile/ProfileElement.cs b/src/Artemis.Core/Models/Profile/ProfileElement.cs
index 74bbfc0af..61b8f4f03 100644
--- a/src/Artemis.Core/Models/Profile/ProfileElement.cs
+++ b/src/Artemis.Core/Models/Profile/ProfileElement.cs
@@ -24,7 +24,7 @@ namespace Artemis.Core
{
_profile = profile;
ChildrenList = new List();
- Children = new(ChildrenList);
+ Children = new ReadOnlyCollection(ChildrenList);
}
///
diff --git a/src/Artemis.Core/Models/Profile/RenderProfileElement.cs b/src/Artemis.Core/Models/Profile/RenderProfileElement.cs
index 6d70fa31a..ff317d582 100644
--- a/src/Artemis.Core/Models/Profile/RenderProfileElement.cs
+++ b/src/Artemis.Core/Models/Profile/RenderProfileElement.cs
@@ -24,7 +24,7 @@ namespace Artemis.Core
Timeline = new Timeline();
ExpandedPropertyGroups = new List();
LayerEffectsList = new List();
- LayerEffects = new(LayerEffectsList);
+ LayerEffects = new ReadOnlyCollection(LayerEffectsList);
LayerEffectStore.LayerEffectAdded += LayerEffectStoreOnLayerEffectAdded;
LayerEffectStore.LayerEffectRemoved += LayerEffectStoreOnLayerEffectRemoved;
diff --git a/src/Artemis.Core/Models/Profile/Timeline.cs b/src/Artemis.Core/Models/Profile/Timeline.cs
index 5e29dc86e..f090d53a9 100644
--- a/src/Artemis.Core/Models/Profile/Timeline.cs
+++ b/src/Artemis.Core/Models/Profile/Timeline.cs
@@ -24,7 +24,7 @@ namespace Artemis.Core
MainSegmentLength = TimeSpan.FromSeconds(5);
_extraTimelines = new List();
- ExtraTimelines = new(_extraTimelines);
+ ExtraTimelines = new ReadOnlyCollection(_extraTimelines);
Save();
}
@@ -33,7 +33,7 @@ namespace Artemis.Core
{
Entity = entity;
_extraTimelines = new List();
- ExtraTimelines = new(_extraTimelines);
+ ExtraTimelines = new ReadOnlyCollection(_extraTimelines);
Load();
}
@@ -47,7 +47,7 @@ namespace Artemis.Core
EndSegmentLength = Parent.EndSegmentLength;
_extraTimelines = new List();
- ExtraTimelines = new(_extraTimelines);
+ ExtraTimelines = new ReadOnlyCollection(_extraTimelines);
}
///
diff --git a/src/Artemis.Core/Plugins/LayerBrushes/LayerBrushProvider.cs b/src/Artemis.Core/Plugins/LayerBrushes/LayerBrushProvider.cs
index 25f72b7ac..b64ff9c4f 100644
--- a/src/Artemis.Core/Plugins/LayerBrushes/LayerBrushProvider.cs
+++ b/src/Artemis.Core/Plugins/LayerBrushes/LayerBrushProvider.cs
@@ -17,7 +17,7 @@ namespace Artemis.Core.LayerBrushes
protected LayerBrushProvider()
{
_layerBrushDescriptors = new List();
- LayerBrushDescriptors = new(_layerBrushDescriptors);
+ LayerBrushDescriptors = new ReadOnlyCollection(_layerBrushDescriptors);
Disabled += OnDisabled;
}
diff --git a/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs b/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs
index a35eb156f..95f978117 100644
--- a/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs
+++ b/src/Artemis.Core/Plugins/LayerEffects/LayerEffectProvider.cs
@@ -18,7 +18,7 @@ namespace Artemis.Core.LayerEffects
protected LayerEffectProvider()
{
_layerEffectDescriptors = new List();
- LayerEffectDescriptors = new(_layerEffectDescriptors);
+ LayerEffectDescriptors = new ReadOnlyCollection(_layerEffectDescriptors);
Disabled += OnDisabled;
}
diff --git a/src/Artemis.Core/Plugins/Modules/DataModel.cs b/src/Artemis.Core/Plugins/Modules/DataModel.cs
index 507584c24..510883b39 100644
--- a/src/Artemis.Core/Plugins/Modules/DataModel.cs
+++ b/src/Artemis.Core/Plugins/Modules/DataModel.cs
@@ -27,8 +27,8 @@ namespace Artemis.Core.Modules
Module = null!;
DataModelDescription = null!;
- ActivePaths = new(_activePaths);
- DynamicChildren = new(_dynamicChildren);
+ ActivePaths = new ReadOnlyCollection(_activePaths);
+ DynamicChildren = new ReadOnlyDictionary(_dynamicChildren);
}
///
diff --git a/src/Artemis.Core/Plugins/Modules/Module.cs b/src/Artemis.Core/Plugins/Modules/Module.cs
index c42e378a4..ffbb45149 100644
--- a/src/Artemis.Core/Plugins/Modules/Module.cs
+++ b/src/Artemis.Core/Plugins/Modules/Module.cs
@@ -117,7 +117,7 @@ namespace Artemis.Core.Modules
protected Module()
{
DefaultProfilePaths = new ReadOnlyCollection<(DefaultCategoryName, string)>(_defaultProfilePaths);
- HiddenProperties = new(HiddenPropertiesList);
+ HiddenProperties = new ReadOnlyCollection(HiddenPropertiesList);
}
///
@@ -237,7 +237,7 @@ namespace Artemis.Core.Modules
///
public virtual DataModelPropertyAttribute GetDataModelDescription()
{
- return new() {Name = Info.Name, Description = Info.Description};
+ return new DataModelPropertyAttribute {Name = Info.Name, Description = Info.Description};
}
///
diff --git a/src/Artemis.Core/Plugins/Plugin.cs b/src/Artemis.Core/Plugins/Plugin.cs
index c82eab146..993a9c8a8 100644
--- a/src/Artemis.Core/Plugins/Plugin.cs
+++ b/src/Artemis.Core/Plugins/Plugin.cs
@@ -31,8 +31,8 @@ namespace Artemis.Core
_features = new List();
_profilers = new List();
- Features = new(_features);
- Profilers = new(_profilers);
+ Features = new ReadOnlyCollection(_features);
+ Profilers = new ReadOnlyCollection(_profilers);
}
///
diff --git a/src/Artemis.Core/Plugins/Profiling/ProfilingMeasurement.cs b/src/Artemis.Core/Plugins/Profiling/ProfilingMeasurement.cs
index eed3a391d..a6d16fef6 100644
--- a/src/Artemis.Core/Plugins/Profiling/ProfilingMeasurement.cs
+++ b/src/Artemis.Core/Plugins/Profiling/ProfilingMeasurement.cs
@@ -70,7 +70,7 @@ namespace Artemis.Core
///
public TimeSpan GetLast()
{
- return new(_last);
+ return new TimeSpan(_last);
}
///
diff --git a/src/Artemis.Core/Plugins/ScriptingProviders/ScriptingProvider.cs b/src/Artemis.Core/Plugins/ScriptingProviders/ScriptingProvider.cs
index 0ae720943..0d51253e4 100644
--- a/src/Artemis.Core/Plugins/ScriptingProviders/ScriptingProvider.cs
+++ b/src/Artemis.Core/Plugins/ScriptingProviders/ScriptingProvider.cs
@@ -46,7 +46,7 @@ namespace Artemis.Core.ScriptingProviders
{
protected ScriptingProvider()
{
- Scripts = new(InternalScripts);
+ Scripts = new ReadOnlyCollection