diff --git a/Artemis/Artemis/App.xaml b/Artemis/Artemis/App.xaml
index 1b093a2b3..15a67464a 100644
--- a/Artemis/Artemis/App.xaml
+++ b/Artemis/Artemis/App.xaml
@@ -17,8 +17,7 @@
-
+
diff --git a/Artemis/Artemis/App.xaml.cs b/Artemis/Artemis/App.xaml.cs
index 3d53eec5c..3745a9ffa 100644
--- a/Artemis/Artemis/App.xaml.cs
+++ b/Artemis/Artemis/App.xaml.cs
@@ -1,6 +1,7 @@
using System;
using System.Windows;
using System.Windows.Threading;
+using Artemis.Utilities.Keyboard;
using NLog;
using WpfExceptionViewer;
@@ -26,6 +27,9 @@ namespace Artemis
private void Application_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
+ // Get rid of the keyboard hook in case of a crash, otherwise input freezes up system wide until Artemis is gone
+ KeyboardHook.Dispose();
+
if (DoHandle)
{
GetArtemisExceptionViewer(e.Exception).ShowDialog();
diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj
index 614e91570..187addca8 100644
--- a/Artemis/Artemis/Artemis.csproj
+++ b/Artemis/Artemis/Artemis.csproj
@@ -151,16 +151,16 @@
..\packages\Caliburn.Micro.3.0.3\lib\net45\Caliburn.Micro.Platform.Core.dllTrue
-
- ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll
+
+ ..\packages\Castle.Core.4.0.0\lib\net45\Castle.Core.dllTrue..\packages\Colore.5.1.0\lib\net35\Corale.Colore.dllTrue
-
- ..\packages\CSCore.1.1.0\lib\net35-client\CSCore.dll
+
+ ..\packages\CSCore.1.2.0\lib\net35-client\CSCore.dllTrue
@@ -203,8 +203,8 @@
..\packages\log4net.2.0.7\lib\net45-full\log4net.dllTrue
-
- ..\packages\MahApps.Metro.1.4.1\lib\net45\MahApps.Metro.dll
+
+ ..\packages\MahApps.Metro.1.4.3\lib\net45\MahApps.Metro.dllTrue
@@ -248,7 +248,7 @@
True
- ..\packages\NLog.4.4.1\lib\net45\NLog.dll
+ ..\packages\NLog.4.4.3\lib\net45\NLog.dllTrue
@@ -290,7 +290,7 @@
- ..\packages\MahApps.Metro.1.4.1\lib\net45\System.Windows.Interactivity.dll
+ ..\packages\MahApps.Metro.1.4.3\lib\net45\System.Windows.Interactivity.dllTrue
@@ -502,7 +502,7 @@
-
+
diff --git a/Artemis/Artemis/ArtemisBootstrapper.cs b/Artemis/Artemis/ArtemisBootstrapper.cs
index 9167e96c6..bcf6715ad 100644
--- a/Artemis/Artemis/ArtemisBootstrapper.cs
+++ b/Artemis/Artemis/ArtemisBootstrapper.cs
@@ -36,6 +36,14 @@ namespace Artemis
Initialize();
BindSpecialValues();
KeyboardHook.SetupKeyboardHook();
+
+ AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;
+ }
+
+ private void CurrentDomainOnUnhandledException(object sender, UnhandledExceptionEventArgs unhandledExceptionEventArgs)
+ {
+ // Get rid of the keyboard hook in case of a crash, otherwise input freezes up system wide until Artemis is gone
+ KeyboardHook.Dispose();
}
private void BindSpecialValues()
diff --git a/Artemis/Artemis/DeviceProviders/Artemis/NoneKeyboard.cs b/Artemis/Artemis/DeviceProviders/Artemis/NoneKeyboard.cs
index 9aa51c19b..eceed8187 100644
--- a/Artemis/Artemis/DeviceProviders/Artemis/NoneKeyboard.cs
+++ b/Artemis/Artemis/DeviceProviders/Artemis/NoneKeyboard.cs
@@ -14,7 +14,7 @@ namespace Artemis.DeviceProviders.Artemis
CantEnableText = "Waaaaah, this should not be happening!";
Height = 1;
Width = 1;
- PreviewSettings = new PreviewSettings(984, 375, new Thickness(0, 0, 0, 0), Resources.none);
+ PreviewSettings = new PreviewSettings(new Thickness(0, 0, 0, 0), Resources.none);
}
public override void Disable()
diff --git a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs
index e6d815676..bb5a9f4d0 100644
--- a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs
+++ b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs
@@ -28,7 +28,7 @@ namespace Artemis.DeviceProviders.CoolerMaster
Height = 6;
Width = 22;
- PreviewSettings = new PreviewSettings(670, 189, new Thickness(-2, -5, 0, 0), Resources.masterkeys_pro_l);
+ PreviewSettings = new PreviewSettings(new Thickness(-2, -5, 0, 0), Resources.masterkeys_pro_l);
_generalSettings = SettingsProvider.Load();
}
diff --git a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProS.cs b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProS.cs
index f2eb70383..8745e56b7 100644
--- a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProS.cs
+++ b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProS.cs
@@ -28,7 +28,7 @@ namespace Artemis.DeviceProviders.CoolerMaster
Height = 6;
Width = 18;
- PreviewSettings = new PreviewSettings(683, 242, new Thickness(0, 0, 0, 0), Resources.masterkeys_pro_s);
+ PreviewSettings = new PreviewSettings(new Thickness(0, 0, 0, 0), Resources.masterkeys_pro_s);
_generalSettings = SettingsProvider.Load();
}
diff --git a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboard.cs b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboard.cs
index b20c85c55..46ad9388a 100644
--- a/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboard.cs
+++ b/Artemis/Artemis/DeviceProviders/Corsair/CorsairKeyboard.cs
@@ -55,7 +55,7 @@ namespace Artemis.DeviceProviders.Corsair
Height = 7;
Width = 25;
Slug = "corsair-k95-rgb";
- PreviewSettings = new PreviewSettings(676, 190, new Thickness(0, -15, 0, 0), Resources.k95);
+ PreviewSettings = new PreviewSettings(new Thickness(0, -15, 0, 0), Resources.k95);
break;
case "K70 RGB":
case "K70 RGB RAPIDFIRE":
@@ -63,7 +63,7 @@ namespace Artemis.DeviceProviders.Corsair
Height = 7;
Width = 21;
Slug = "corsair-k70-rgb";
- PreviewSettings = new PreviewSettings(676, 210, new Thickness(0, -25, 0, 0), Resources.k70);
+ PreviewSettings = new PreviewSettings(new Thickness(0, -25, 0, 0), Resources.k70);
break;
case "K65 RGB":
case "CGK65 RGB":
@@ -72,13 +72,13 @@ namespace Artemis.DeviceProviders.Corsair
Height = 7;
Width = 18;
Slug = "corsair-k65-rgb";
- PreviewSettings = new PreviewSettings(610, 240, new Thickness(0, -30, 0, 0), Resources.k65);
+ PreviewSettings = new PreviewSettings(new Thickness(0, -30, 0, 0), Resources.k65);
break;
case "STRAFE RGB":
Height = 7;
Width = 22;
Slug = "corsair-strafe-rgb";
- PreviewSettings = new PreviewSettings(665, 215, new Thickness(0, -5, 0, 0), Resources.strafe);
+ PreviewSettings = new PreviewSettings(new Thickness(0, -5, 0, 0), Resources.strafe);
break;
}
diff --git a/Artemis/Artemis/DeviceProviders/KeyboardProvider.cs b/Artemis/Artemis/DeviceProviders/KeyboardProvider.cs
index 60b146fdb..98fc47144 100644
--- a/Artemis/Artemis/DeviceProviders/KeyboardProvider.cs
+++ b/Artemis/Artemis/DeviceProviders/KeyboardProvider.cs
@@ -115,15 +115,11 @@ namespace Artemis.DeviceProviders
public struct PreviewSettings
{
- public int Width { get; set; }
- public int Height { get; set; }
public Thickness Margin { get; set; }
public Bitmap Image { get; set; }
- public PreviewSettings(int width, int height, Thickness margin, Bitmap image)
+ public PreviewSettings(Thickness margin, Bitmap image)
{
- Width = width;
- Height = height;
Margin = margin;
Image = image;
}
diff --git a/Artemis/Artemis/DeviceProviders/Logitech/G810.cs b/Artemis/Artemis/DeviceProviders/Logitech/G810.cs
index aedb226b2..b1496acb7 100644
--- a/Artemis/Artemis/DeviceProviders/Logitech/G810.cs
+++ b/Artemis/Artemis/DeviceProviders/Logitech/G810.cs
@@ -22,7 +22,7 @@ namespace Artemis.DeviceProviders.Logitech
"If needed, you can select a different keyboard in Artemis under settings.";
Height = 6;
Width = 21;
- PreviewSettings = new PreviewSettings(675, 185, new Thickness(0, 35, 0, 0), Resources.g810);
+ PreviewSettings = new PreviewSettings(new Thickness(0, 35, 0, 0), Resources.g810);
_generalSettings = SettingsProvider.Load();
}
diff --git a/Artemis/Artemis/DeviceProviders/Logitech/G910.cs b/Artemis/Artemis/DeviceProviders/Logitech/G910.cs
index e6f9ae8ce..fd7a69620 100644
--- a/Artemis/Artemis/DeviceProviders/Logitech/G910.cs
+++ b/Artemis/Artemis/DeviceProviders/Logitech/G910.cs
@@ -24,7 +24,7 @@ namespace Artemis.DeviceProviders.Logitech
"If needed, you can select a different keyboard in Artemis under settings.";
Height = 7;
Width = 22;
- PreviewSettings = new PreviewSettings(570, 175, new Thickness(-10, -105, 0, 0), Resources.g910);
+ PreviewSettings = new PreviewSettings(new Thickness(10, -70, 10, 50), Resources.g910);
_generalSettings = SettingsProvider.Load();
}
diff --git a/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs b/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs
index 4814c32bb..036545fbf 100644
--- a/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs
+++ b/Artemis/Artemis/DeviceProviders/Razer/BlackWidow.cs
@@ -27,7 +27,7 @@ namespace Artemis.DeviceProviders.Razer
Height = Constants.MaxRows;
Width = Constants.MaxColumns;
- PreviewSettings = new PreviewSettings(665, 175, new Thickness(0, -15, 0, 0), Resources.blackwidow);
+ PreviewSettings = new PreviewSettings(new Thickness(0, -15, 0, 0), Resources.blackwidow);
_generalSettings = SettingsProvider.Load();
}
diff --git a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs
index 34ae2f8b9..50d3dc7bc 100644
--- a/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs
+++ b/Artemis/Artemis/Modules/Games/RocketLeague/RocketLeagueModel.cs
@@ -1,10 +1,13 @@
-using System.Linq;
+using System;
+using System.Collections.Generic;
+using System.Linq;
using Artemis.DAL;
using Artemis.Managers;
using Artemis.Modules.Abstract;
using Artemis.Settings;
using Artemis.Utilities;
using Artemis.Utilities.Memory;
+using Newtonsoft.Json;
namespace Artemis.Modules.Games.RocketLeague
{
@@ -20,21 +23,21 @@ namespace Artemis.Modules.Games.RocketLeague
ProcessNames.Add("RocketLeague");
// Generate a new offset when the game is updated
- //var offset = new GamePointersCollection
- //{
- // Game = "RocketLeague",
- // GameVersion = "1.27",
- // GameAddresses = new List
- // {
- // new GamePointer
- // {
- // Description = "Boost",
- // BasePointer = new IntPtr(0x016D5084),
- // Offsets = new[] {0xC4, 0x214, 0x320, 0x73C, 0x224}
- // }
- // }
- //};
- //var res = JsonConvert.SerializeObject(offset, Formatting.Indented);
+ var offset = new GamePointersCollection
+ {
+ Game = "RocketLeague",
+ GameVersion = "1.30",
+ GameAddresses = new List
+ {
+ new GamePointer
+ {
+ Description = "Boost",
+ BasePointer = new IntPtr(0x016E00B4),
+ Offsets = new[] {0xC4, 0x18, 0x388, 0x73C, 0x224}
+ }
+ }
+ };
+ var res = JsonConvert.SerializeObject(offset, Formatting.Indented);
}
public override string Name => "RocketLeague";
diff --git a/Artemis/Artemis/NLog.xsd b/Artemis/Artemis/NLog.xsd
index 2c7d1ff23..f1ff205fa 100644
--- a/Artemis/Artemis/NLog.xsd
+++ b/Artemis/Artemis/NLog.xsd
@@ -250,9 +250,11 @@
+
+
@@ -264,6 +266,11 @@
Number of log events that should be processed in a batch by the lazy writer thread.
+
+
+ Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch
+
+ Action to be taken when the lazy writer thread request queue count exceeds the set limit.
@@ -279,6 +286,11 @@
Time in milliseconds to sleep between batches.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -295,6 +307,7 @@
+
@@ -306,6 +319,11 @@
Condition expression. Log events who meet this condition will cause a flush on the wrapped target.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -317,6 +335,7 @@
+
@@ -338,6 +357,11 @@
Indicates whether to use sliding timeout.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -353,19 +377,20 @@
+
-
-
-
+
+
+
-
-
+
+
@@ -407,6 +432,11 @@
Action that should be taken if the message is larger than maxMessageSize.
+
+
+ Maximum current connections. 0 = no maximum.
+
+ Indicates whether to keep connection open whenever possible.
@@ -417,11 +447,6 @@
Size of the connection cache (number of connections which are kept alive).
-
-
- Maximum current connections. 0 = no maximum.
-
- Network address.
@@ -432,14 +457,19 @@
Maximum queue size.
+
+
+ Indicates whether to include dictionary contents.
+
+ Indicates whether to include source info (file name and line number) in the information sent over the network.
-
+
- NDC item separator.
+ Indicates whether to include NLog-specific extensions to log4j schema.
@@ -457,14 +487,14 @@
AppInfo field. By default it's the friendly name of the current AppDomain.
-
+
- Indicates whether to include NLog-specific extensions to log4j schema.
+ NDC item separator.
-
+
- Indicates whether to include dictionary contents.
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -514,6 +544,7 @@
+
@@ -555,6 +586,11 @@
Indicates whether the error stream (stderr) should be used instead of the output stream (stdout).
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -658,6 +694,7 @@
+
@@ -694,6 +731,11 @@
The encoding for writing messages to the .
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -702,77 +744,83 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
- Name of the target.
-
-
- Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase.
-
-
-
-
- Name of the connection string (as specified in <connectionStrings> configuration section.
-
-
-
-
- Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string.
-
-
-
-
- Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string.
-
-
-
-
- Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string.
-
-
-
-
- Name of the database provider.
-
-
-
-
- Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string.
-
-
-
-
- Indicates whether to keep the database connection open between the log events.
-
- Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this.
+
+
+ Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string.
+
+
+
+
+ Name of the database provider.
+
+
+
+
+ Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string.
+
+
+
+
+ Indicates whether to keep the database connection open between the log events.
+
+
+
+
+ Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string.
+
+
+
+
+ Name of the connection string (as specified in <connectionStrings> configuration section.
+
+
+
+
+ Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase.
+
+
+
+
+ Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string.
+
+ Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+ Text of the SQL command to be run on each log level.
@@ -864,6 +912,7 @@
+
@@ -885,6 +934,11 @@
Footer.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -894,6 +948,7 @@
+
@@ -905,6 +960,11 @@
Layout used to format log messages.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -922,6 +982,7 @@
+
@@ -973,6 +1034,11 @@
Message length limit to write to the Event Log.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -989,6 +1055,7 @@
+
@@ -1000,6 +1067,11 @@
Indicates whether to return to the first target after any successful write.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -1022,6 +1094,7 @@
+
@@ -1039,6 +1112,7 @@
+
@@ -1119,6 +1193,11 @@
Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong.
+
+
+ Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write
+
+ Is the an absolute or relative path?
@@ -1204,6 +1283,11 @@
Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+ Log file buffer size in bytes.
@@ -1278,6 +1362,7 @@
+
@@ -1289,6 +1374,11 @@
Condition expression. Log events who meet this condition will be forwarded to the wrapped target.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -1304,6 +1394,7 @@
+
@@ -1345,6 +1436,11 @@
Username to change context to.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -1378,6 +1474,7 @@
+
@@ -1394,6 +1491,11 @@
Maximum allowed number of messages written per .
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -1409,6 +1511,7 @@
+
@@ -1445,6 +1548,11 @@
Indicates whether to use binary message encoding.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -1487,9 +1595,10 @@
-
-
+
+
+
@@ -1565,9 +1674,9 @@
Sender's email address (e.g. joe@domain.com).
-
+
- Indicates whether NewLine characters in the body should be replaced with tags.
+ Indicates the SMTP client timeout.
@@ -1575,9 +1684,14 @@
Priority used for sending mails.
-
+
- Indicates the SMTP client timeout.
+ Indicates whether NewLine characters in the body should be replaced with tags.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -1648,6 +1762,7 @@
+
@@ -1659,6 +1774,11 @@
Layout used to format log messages.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -1671,6 +1791,7 @@
+
@@ -1701,6 +1822,11 @@
Indicates whether to check if a queue exists before writing to it.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+ Indicates whether to create the queue if it doesn't exists.
@@ -1732,6 +1858,7 @@
+
@@ -1748,6 +1875,11 @@
Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -1768,6 +1900,7 @@
+
@@ -1834,6 +1967,11 @@
Maximum queue size.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -1849,19 +1987,20 @@
+
-
-
-
+
+
+
-
-
+
+
@@ -1903,6 +2042,11 @@
Action that should be taken if the message is larger than maxMessageSize.
+
+
+ Maximum current connections. 0 = no maximum.
+
+ Indicates whether to keep connection open whenever possible.
@@ -1913,11 +2057,6 @@
Size of the connection cache (number of connections which are kept alive).
-
-
- Maximum current connections. 0 = no maximum.
-
- Network address.
@@ -1928,14 +2067,19 @@
Maximum queue size.
+
+
+ Indicates whether to include dictionary contents.
+
+ Indicates whether to include source info (file name and line number) in the information sent over the network.
-
+
- NDC item separator.
+ Indicates whether to include NLog-specific extensions to log4j schema.
@@ -1953,14 +2097,14 @@
AppInfo field. By default it's the friendly name of the current AppDomain.
-
+
- Indicates whether to include NLog-specific extensions to log4j schema.
+ NDC item separator.
-
+
- Indicates whether to include dictionary contents.
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -1973,6 +2117,7 @@
+
@@ -1989,6 +2134,11 @@
Indicates whether to perform layout calculation.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -1998,6 +2148,7 @@
+
@@ -2009,6 +2160,11 @@
Layout used to format log messages.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -2024,6 +2180,7 @@
+
@@ -2065,6 +2222,11 @@
Performance counter instance name.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -2107,6 +2269,7 @@
+
@@ -2118,6 +2281,11 @@
Default filter to be applied when no specific rule matches.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -2142,12 +2310,18 @@
+ Name of the target.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -2156,6 +2330,7 @@
+
@@ -2163,6 +2338,11 @@
Name of the target.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+ Number of times to repeat each log message.
@@ -2176,6 +2356,7 @@
+
@@ -2184,6 +2365,11 @@
Name of the target.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+ Number of retries that should be attempted on the wrapped target in case of a failure.
@@ -2202,12 +2388,18 @@
+ Name of the target.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -2216,12 +2408,18 @@
+ Name of the target.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -2231,6 +2429,7 @@
+
@@ -2242,6 +2441,11 @@
Layout used to format log messages.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
@@ -2252,6 +2456,7 @@
+
@@ -2272,6 +2477,11 @@
Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8.
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+ Encoding.
diff --git a/Artemis/Artemis/Profiles/Layers/Types/AmbientLight/AmbientLightPropertiesView.xaml b/Artemis/Artemis/Profiles/Layers/Types/AmbientLight/AmbientLightPropertiesView.xaml
index 8201fe8d9..f56ea2b83 100644
--- a/Artemis/Artemis/Profiles/Layers/Types/AmbientLight/AmbientLightPropertiesView.xaml
+++ b/Artemis/Artemis/Profiles/Layers/Types/AmbientLight/AmbientLightPropertiesView.xaml
@@ -1,15 +1,15 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:converters="clr-namespace:Artemis.Utilities.Converters"
+ xmlns:system="clr-namespace:System;assembly=mscorlib"
+ xmlns:model="clr-namespace:Artemis.Profiles.Layers.Types.AmbientLight.Model"
+ xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:helper="clr-namespace:Artemis.Profiles.Layers.Types.AmbientLight.Helper"
+ mc:Ignorable="d"
+ d:DesignHeight="600" d:DesignWidth="500">
@@ -29,135 +29,101 @@
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/Artemis/Artemis/Profiles/Layers/Types/AmbientLight/Helper/CheckboxEnumFlagHelper.cs b/Artemis/Artemis/Profiles/Layers/Types/AmbientLight/Helper/ToggleSwitchButtonEnumFlagHelper.cs
similarity index 52%
rename from Artemis/Artemis/Profiles/Layers/Types/AmbientLight/Helper/CheckboxEnumFlagHelper.cs
rename to Artemis/Artemis/Profiles/Layers/Types/AmbientLight/Helper/ToggleSwitchButtonEnumFlagHelper.cs
index b6157ad68..f1c499721 100644
--- a/Artemis/Artemis/Profiles/Layers/Types/AmbientLight/Helper/CheckboxEnumFlagHelper.cs
+++ b/Artemis/Artemis/Profiles/Layers/Types/AmbientLight/Helper/ToggleSwitchButtonEnumFlagHelper.cs
@@ -1,18 +1,18 @@
using System;
using System.Windows;
-using System.Windows.Controls;
using Artemis.Profiles.Layers.Types.AmbientLight.Model.Extensions;
+using MahApps.Metro.Controls;
namespace Artemis.Profiles.Layers.Types.AmbientLight.Helper
{
- public class CheckboxEnumFlagHelper
+ public class ToggleSwitchButtonEnumFlagHelper
{
#region DependencyProperties
// ReSharper disable InconsistentNaming
public static readonly DependencyProperty FlagsProperty = DependencyProperty.RegisterAttached(
- "Flags", typeof(Enum), typeof(CheckboxEnumFlagHelper),
+ "Flags", typeof(Enum), typeof(ToggleSwitchButtonEnumFlagHelper),
new FrameworkPropertyMetadata(default(Enum), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
FlagsChanged));
@@ -27,7 +27,7 @@ namespace Artemis.Profiles.Layers.Types.AmbientLight.Helper
}
public static readonly DependencyProperty ValueProperty = DependencyProperty.RegisterAttached(
- "Value", typeof(Enum), typeof(CheckboxEnumFlagHelper), new PropertyMetadata(default(Enum), ValueChanged));
+ "Value", typeof(Enum), typeof(ToggleSwitchButtonEnumFlagHelper), new PropertyMetadata(default(Enum), ValueChanged));
public static void SetValue(DependencyObject element, Enum value)
{
@@ -48,50 +48,54 @@ namespace Artemis.Profiles.Layers.Types.AmbientLight.Helper
private static void FlagsChanged(DependencyObject dependencyObject,
DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
- UpdateTarget(dependencyObject as CheckBox, dependencyPropertyChangedEventArgs.NewValue as Enum);
+ UpdateTarget(dependencyObject as ToggleSwitchButton, dependencyPropertyChangedEventArgs.NewValue as Enum);
}
private static void ValueChanged(DependencyObject dependencyObject,
DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
- var checkbox = dependencyObject as CheckBox;
- if (checkbox == null) return;
+ var toggleSwitchButton = dependencyObject as ToggleSwitchButton;
+ if (toggleSwitchButton == null)
+ return;
- checkbox.Checked -= UpdateSource;
- checkbox.Unchecked -= UpdateSource;
+ toggleSwitchButton.Checked -= UpdateSource;
+ toggleSwitchButton.Unchecked -= UpdateSource;
if (dependencyPropertyChangedEventArgs.NewValue != null)
{
- checkbox.Checked += UpdateSource;
- checkbox.Unchecked += UpdateSource;
+ toggleSwitchButton.Checked += UpdateSource;
+ toggleSwitchButton.Unchecked += UpdateSource;
}
- UpdateTarget(checkbox, GetFlags(checkbox));
+ UpdateTarget(toggleSwitchButton, GetFlags(toggleSwitchButton));
}
- private static void UpdateTarget(CheckBox checkbox, Enum flags)
+ private static void UpdateTarget(ToggleSwitchButton toggleSwitchButton, Enum flags)
{
- if (checkbox == null) return;
+ if (toggleSwitchButton == null)
+ return;
- var value = GetValue(checkbox);
- checkbox.IsChecked = value != null && (flags?.HasFlag(value) ?? false);
+ var value = GetValue(toggleSwitchButton);
+ toggleSwitchButton.IsChecked = value != null && (flags?.HasFlag(value) ?? false);
}
private static void UpdateSource(object sender, RoutedEventArgs routedEventArgs)
{
- var checkbox = sender as CheckBox;
- if (checkbox == null) return;
+ var toggleSwitchButton = sender as ToggleSwitchButton;
+ if (toggleSwitchButton == null)
+ return;
- var flags = GetFlags(checkbox);
- var value = GetValue(checkbox);
- if (value == null) return;
+ var flags = GetFlags(toggleSwitchButton);
+ var value = GetValue(toggleSwitchButton);
+ if (value == null)
+ return;
- if (checkbox.IsChecked ?? false)
- SetFlags(checkbox, flags == null ? value : flags.SetFlag(value, true, flags.GetType()));
+ if (toggleSwitchButton.IsChecked ?? false)
+ SetFlags(toggleSwitchButton, flags == null ? value : flags.SetFlag(value, true, flags.GetType()));
else
- SetFlags(checkbox, flags?.SetFlag(value, false, flags.GetType()));
+ SetFlags(toggleSwitchButton, flags?.SetFlag(value, false, flags.GetType()));
}
#endregion
}
-}
\ No newline at end of file
+}
diff --git a/Artemis/Artemis/Profiles/Layers/Types/Audio/AudioPropertiesView.xaml b/Artemis/Artemis/Profiles/Layers/Types/Audio/AudioPropertiesView.xaml
index 00ec05a65..52dd1d2b4 100644
--- a/Artemis/Artemis/Profiles/Layers/Types/Audio/AudioPropertiesView.xaml
+++ b/Artemis/Artemis/Profiles/Layers/Types/Audio/AudioPropertiesView.xaml
@@ -1,26 +1,26 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:ncore="http://schemas.ncore.com/wpf/xaml/colorbox"
+ xmlns:properties="clr-namespace:Artemis.Profiles.Layers.Types.Audio"
+ xmlns:system="clr-namespace:System;assembly=mscorlib"
+ xmlns:converters="clr-namespace:Artemis.Utilities.Converters"
+ mc:Ignorable="d"
+ d:DesignHeight="600" d:DesignWidth="500">
+ ObjectType="{x:Type system:Enum}"
+ x:Key="MmDeviceTypeEnumValues">
+ ObjectType="{x:Type system:Enum}"
+ x:Key="DirectionEnumValues">
@@ -28,25 +28,22 @@
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
@@ -55,53 +52,38 @@
-
-
+
+
-
-
+
+
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
-
-
+
+
-
\ No newline at end of file
diff --git a/Artemis/Artemis/Profiles/Layers/Types/Keyboard/KeyboardPropertiesView.xaml b/Artemis/Artemis/Profiles/Layers/Types/Keyboard/KeyboardPropertiesView.xaml
index 64b806c84..a276defe4 100644
--- a/Artemis/Artemis/Profiles/Layers/Types/Keyboard/KeyboardPropertiesView.xaml
+++ b/Artemis/Artemis/Profiles/Layers/Types/Keyboard/KeyboardPropertiesView.xaml
@@ -1,36 +1,33 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:ncore="http://schemas.ncore.com/wpf/xaml/colorbox"
+ mc:Ignorable="d"
+ d:DesignHeight="500" d:DesignWidth="500">
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
@@ -39,32 +36,19 @@
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
@@ -78,28 +62,25 @@
-
-
-
-
+
+
+
+
-
+
+
+
-
+
-
+
+
\ No newline at end of file
diff --git a/Artemis/Artemis/Utilities/Keyboard/KeyboardHook.cs b/Artemis/Artemis/Utilities/Keyboard/KeyboardHook.cs
index 3c1d3bf71..15c19d520 100644
--- a/Artemis/Artemis/Utilities/Keyboard/KeyboardHook.cs
+++ b/Artemis/Artemis/Utilities/Keyboard/KeyboardHook.cs
@@ -45,5 +45,18 @@ namespace Artemis.Utilities.Keyboard
public static event KeyCallbackHandler KeyUpCallback;
public static event MouseCallbackHandler MouseDownCallback;
public static event MouseCallbackHandler MouseUpCallback;
+
+ public static void Dispose()
+ {
+ if (_globalHook == null)
+ return;
+
+ _globalHook.KeyDown -= GlobalHookOnKeyDown;
+ _globalHook.KeyUp -= GlobalHookOnKeyUp;
+ _globalHook.MouseDown -= GlobalHookOnMouseDown;
+ _globalHook.MouseUp -= GlobalHookOnMouseUp;
+ _globalHook.Dispose();
+ _globalHook = null;
+ }
}
}
diff --git a/Artemis/Artemis/ViewModels/ProfileEditorViewModel.cs b/Artemis/Artemis/ViewModels/ProfileEditorViewModel.cs
index 9419a5c1e..e02ea069b 100644
--- a/Artemis/Artemis/ViewModels/ProfileEditorViewModel.cs
+++ b/Artemis/Artemis/ViewModels/ProfileEditorViewModel.cs
@@ -128,7 +128,8 @@ namespace Artemis.ViewModels
get { return _profileNames; }
set
{
- if (Equals(value, _profileNames)) return;
+ if (Equals(value, _profileNames))
+ return;
_profileNames = value;
NotifyOfPropertyChange(() => ProfileNames);
}
@@ -139,7 +140,8 @@ namespace Artemis.ViewModels
get { return _layers; }
set
{
- if (Equals(value, _layers)) return;
+ if (Equals(value, _layers))
+ return;
_layers = value;
NotifyOfPropertyChange(() => Layers);
}
@@ -151,7 +153,8 @@ namespace Artemis.ViewModels
get { return _keyboardPreview; }
set
{
- if (Equals(value, _keyboardPreview)) return;
+ if (Equals(value, _keyboardPreview))
+ return;
_keyboardPreview = value;
NotifyOfPropertyChange(() => KeyboardPreview);
}
@@ -162,7 +165,8 @@ namespace Artemis.ViewModels
get { return _showAll; }
set
{
- if (value == _showAll) return;
+ if (value == _showAll)
+ return;
_showAll = value;
NotifyOfPropertyChange();
}
@@ -626,13 +630,8 @@ namespace Artemis.ViewModels
if (_draggingLayer != null)
return;
- var keyboard = _deviceManager.ActiveKeyboard;
var pos = e.GetPosition((Image) e.OriginalSource);
- var x = pos.X / ((double) keyboard.PreviewSettings.Width / keyboard.Width);
- var y = pos.Y / ((double) keyboard.PreviewSettings.Height / keyboard.Height);
-
- var hoverLayer = GetLayers().Where(l => l.MustDraw())
- .FirstOrDefault(l => l.Properties.PropertiesRect(1).Contains(x, y));
+ var hoverLayer = GetLayers().Where(l => l.MustDraw()).FirstOrDefault(l => l.Properties.PropertiesRect(1).Contains(pos.X, pos.Y));
if (hoverLayer != null)
SelectedLayer = hoverLayer;
@@ -648,13 +647,9 @@ namespace Artemis.ViewModels
return;
var pos = e.GetPosition((Image) e.OriginalSource);
- var keyboard = _deviceManager.ActiveKeyboard;
- var x = pos.X / ((double) keyboard.PreviewSettings.Width / keyboard.Width);
- var y = pos.Y / ((double) keyboard.PreviewSettings.Height / keyboard.Height);
- var hoverLayer = GetLayers().Where(l => l.MustDraw())
- .FirstOrDefault(l => l.Properties.PropertiesRect(1).Contains(x, y));
+ var hoverLayer = GetLayers().Where(l => l.MustDraw()).FirstOrDefault(l => l.Properties.PropertiesRect(1).Contains(pos.X, pos.Y));
- HandleDragging(e, x, y, hoverLayer);
+ HandleDragging(e, pos.X, pos.Y, hoverLayer);
if (hoverLayer == null)
{
@@ -666,10 +661,9 @@ namespace Artemis.ViewModels
if (hoverLayer == SelectedLayer)
{
var rect = hoverLayer.Properties.PropertiesRect(1);
- KeyboardPreviewCursor =
- Math.Sqrt(Math.Pow(x - rect.BottomRight.X, 2) + Math.Pow(y - rect.BottomRight.Y, 2)) < 0.6
- ? Cursors.SizeNWSE
- : Cursors.SizeAll;
+ KeyboardPreviewCursor = Math.Sqrt(Math.Pow(pos.X - rect.BottomRight.X, 2) + Math.Pow(pos.Y - rect.BottomRight.Y, 2)) < 0.6
+ ? Cursors.SizeNWSE
+ : Cursors.SizeAll;
}
else
{
@@ -682,7 +676,8 @@ namespace Artemis.ViewModels
get { return _keyboardPreviewCursor; }
set
{
- if (Equals(value, _keyboardPreviewCursor)) return;
+ if (Equals(value, _keyboardPreviewCursor))
+ return;
_keyboardPreviewCursor = value;
NotifyOfPropertyChange(() => KeyboardPreviewCursor);
}
@@ -878,4 +873,4 @@ namespace Artemis.ViewModels
#endregion
}
-}
\ No newline at end of file
+}
diff --git a/Artemis/Artemis/Views/LayerEditorView.xaml b/Artemis/Artemis/Views/LayerEditorView.xaml
index 772c9630a..6310666b2 100644
--- a/Artemis/Artemis/Views/LayerEditorView.xaml
+++ b/Artemis/Artemis/Views/LayerEditorView.xaml
@@ -1,18 +1,17 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:sys="clr-namespace:System;assembly=mscorlib"
+ mc:Ignorable="d"
+ Title="Artemis | Edit Layer" Height="600" Width="1100"
+ xmlns:cal="http://www.caliburnproject.org"
+ xmlns:converters="clr-namespace:Artemis.Utilities.Converters"
+ xmlns:models="clr-namespace:Artemis.Profiles.Layers.Models"
+ GlowBrush="{DynamicResource AccentColorBrush}" Icon="../../Resources/bow.png"
+ ResizeMode="CanResizeWithGrip">
@@ -24,111 +23,97 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/Artemis/Artemis/Views/ProfileEditorView.xaml b/Artemis/Artemis/Views/ProfileEditorView.xaml
index 1418d3334..25f269a0a 100644
--- a/Artemis/Artemis/Views/ProfileEditorView.xaml
+++ b/Artemis/Artemis/Views/ProfileEditorView.xaml
@@ -34,8 +34,10 @@
-
+
@@ -153,7 +155,7 @@
+ cal:Message.Attach="[Event MouseDoubleClick] = [Action EditLayerFromDoubleClick]">
diff --git a/Artemis/Artemis/Views/Profiles/LayerConditionView.xaml b/Artemis/Artemis/Views/Profiles/LayerConditionView.xaml
index a2981b7f6..30a9d769f 100644
--- a/Artemis/Artemis/Views/Profiles/LayerConditionView.xaml
+++ b/Artemis/Artemis/Views/Profiles/LayerConditionView.xaml
@@ -1,12 +1,10 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
+ mc:Ignorable="d" d:DesignWidth="600">
@@ -14,66 +12,58 @@
-
+
-
-
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
+
\ No newline at end of file
diff --git a/Artemis/Artemis/Views/Profiles/LayerDynamicPropertiesView.xaml b/Artemis/Artemis/Views/Profiles/LayerDynamicPropertiesView.xaml
index 70ea80c43..a81344761 100644
--- a/Artemis/Artemis/Views/Profiles/LayerDynamicPropertiesView.xaml
+++ b/Artemis/Artemis/Views/Profiles/LayerDynamicPropertiesView.xaml
@@ -1,16 +1,14 @@
-
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:sys="clr-namespace:System;assembly=mscorlib"
+ xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:models="clr-namespace:Artemis.Profiles.Layers.Models"
+ xmlns:converters="clr-namespace:Artemis.Utilities.Converters"
+ mc:Ignorable="d"
+ d:DesignWidth="500">
@@ -19,20 +17,19 @@
-
+
-
+
-
+
-
+
@@ -41,18 +38,14 @@
-
+
-
+
@@ -62,8 +55,7 @@
-
+
@@ -72,8 +64,7 @@
-
+
@@ -82,16 +73,11 @@
-
+
-
+
diff --git a/Artemis/Artemis/Views/Profiles/LayerTweenView.xaml b/Artemis/Artemis/Views/Profiles/LayerTweenView.xaml
index 0f9c51660..4410f77ef 100644
--- a/Artemis/Artemis/Views/Profiles/LayerTweenView.xaml
+++ b/Artemis/Artemis/Views/Profiles/LayerTweenView.xaml
@@ -1,47 +1,58 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:local="clr-namespace:Artemis.Views.Profiles"
+ xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
+ mc:Ignorable="d"
+ d:DesignHeight="300" d:DesignWidth="900">
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Artemis/Artemis/packages.config b/Artemis/Artemis/packages.config
index df1dd799e..143350958 100644
--- a/Artemis/Artemis/packages.config
+++ b/Artemis/Artemis/packages.config
@@ -3,16 +3,16 @@
-
+
-
+
-
+
@@ -22,8 +22,8 @@
-
-
+
+