diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj
index d8c88a20e..a41efdf9e 100644
--- a/Artemis/Artemis/Artemis.csproj
+++ b/Artemis/Artemis/Artemis.csproj
@@ -657,6 +657,7 @@
+
diff --git a/Artemis/Artemis/DAL/ProfileProvider.cs b/Artemis/Artemis/DAL/ProfileProvider.cs
index a6ccac598..0c764b95e 100644
--- a/Artemis/Artemis/DAL/ProfileProvider.cs
+++ b/Artemis/Artemis/DAL/ProfileProvider.cs
@@ -8,6 +8,8 @@ using System.Xml.Serialization;
using Artemis.DeviceProviders;
using Artemis.Models;
using Artemis.Models.Profiles;
+using Artemis.Models.Profiles.Properties;
+using Artemis.Properties;
using Artemis.Utilities;
using NLog;
@@ -123,6 +125,26 @@ namespace Artemis.DAL
return;
var archive = new ZipArchive(stream);
archive.ExtractToDirectory(ProfileFolder, true);
+
+ // Extract the demo GIF file
+ var gifPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Artemis\demo-gif.gif";
+ Resources.demo_gif.Save(gifPath);
+
+ // Set the GIF path on each demo profile
+ var demoProfiles = GetAll().Where(d => d.Name == "Demo (Duplicate to keep changes)");
+ foreach (var demoProfile in demoProfiles)
+ {
+ var gifLayer = demoProfile
+ .Layers.FirstOrDefault(l => l.Name == "Demo - GIFs")?
+ .Children.FirstOrDefault(c => c.Name == "GIF");
+
+ if (gifLayer == null)
+ continue;
+
+ ((KeyboardPropertiesModel) gifLayer.Properties).GifFile = gifPath;
+ AddOrUpdate(demoProfile);
+ }
+
}
///
diff --git a/Artemis/Artemis/DeviceProviders/Logitech/Orion.cs b/Artemis/Artemis/DeviceProviders/Logitech/Orion.cs
index e4714af6b..4d673194c 100644
--- a/Artemis/Artemis/DeviceProviders/Logitech/Orion.cs
+++ b/Artemis/Artemis/DeviceProviders/Logitech/Orion.cs
@@ -28,9 +28,8 @@ namespace Artemis.DeviceProviders.Logitech
{
//Check to see if VC++ 2012 x64 is installed.
- if (
- Registry.LocalMachine.OpenSubKey(
- @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}") == null)
+ if (Registry.LocalMachine.OpenSubKey(
+ @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}") == null)
{
CantEnableText = "Couldn't connect to your Logitech G910.\n" +
"The Visual C 2012 Redistributable could not be found, which is required.\n" +
diff --git a/Artemis/Artemis/Managers/LoopManager.cs b/Artemis/Artemis/Managers/LoopManager.cs
index 1975b2f6a..348c4bb26 100644
--- a/Artemis/Artemis/Managers/LoopManager.cs
+++ b/Artemis/Artemis/Managers/LoopManager.cs
@@ -2,7 +2,6 @@
using System.Drawing;
using System.Linq;
using System.Timers;
-using Caliburn.Micro;
using Ninject.Extensions.Logging;
using Brush = System.Windows.Media.Brush;
@@ -15,15 +14,12 @@ namespace Artemis.Managers
{
private readonly DeviceManager _deviceManager;
private readonly EffectManager _effectManager;
- private readonly IEventAggregator _events;
private readonly ILogger _logger;
private readonly Timer _loopTimer;
- public LoopManager(ILogger logger, IEventAggregator events, EffectManager effectManager,
- DeviceManager deviceManager)
+ public LoopManager(ILogger logger, EffectManager effectManager, DeviceManager deviceManager)
{
_logger = logger;
- _events = events;
_effectManager = effectManager;
_deviceManager = deviceManager;
diff --git a/Artemis/Artemis/Properties/Resources.Designer.cs b/Artemis/Artemis/Properties/Resources.Designer.cs
index cd14a0311..b8bbfd563 100644
--- a/Artemis/Artemis/Properties/Resources.Designer.cs
+++ b/Artemis/Artemis/Properties/Resources.Designer.cs
@@ -130,6 +130,16 @@ namespace Artemis.Properties {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap demo_gif {
+ get {
+ object obj = ResourceManager.GetObject("demo_gif", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized string similar to "Artemis"
///{
diff --git a/Artemis/Artemis/Properties/Resources.resx b/Artemis/Artemis/Properties/Resources.resx
index d1b496506..32fe5bf19 100644
--- a/Artemis/Artemis/Properties/Resources.resx
+++ b/Artemis/Artemis/Properties/Resources.resx
@@ -181,4 +181,7 @@
..\Resources\Keyboards\none.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\Keyboards\demo-gif.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/Artemis/Artemis/Resources/Keyboards/default-profiles.zip b/Artemis/Artemis/Resources/Keyboards/default-profiles.zip
index a5be5d434..acfa82893 100644
Binary files a/Artemis/Artemis/Resources/Keyboards/default-profiles.zip and b/Artemis/Artemis/Resources/Keyboards/default-profiles.zip differ
diff --git a/Artemis/Artemis/Resources/Keyboards/demo-gif.gif b/Artemis/Artemis/Resources/Keyboards/demo-gif.gif
new file mode 100644
index 000000000..c640d2782
Binary files /dev/null and b/Artemis/Artemis/Resources/Keyboards/demo-gif.gif differ
diff --git a/Artemis/Artemis/Utilities/Layers/AnimationUpdater.cs b/Artemis/Artemis/Utilities/Layers/AnimationUpdater.cs
index 4cf9b3aab..c4430b174 100644
--- a/Artemis/Artemis/Utilities/Layers/AnimationUpdater.cs
+++ b/Artemis/Artemis/Utilities/Layers/AnimationUpdater.cs
@@ -13,13 +13,13 @@ namespace Artemis.Utilities.Layers
{
case LayerAnimation.SlideRight:
case LayerAnimation.SlideLeft:
- if (progress + 1 >= properties.Width*scale)
+ if (progress + properties.AnimationSpeed * 2 >= properties.Width*scale)
progress = 0;
progress = progress + properties.AnimationSpeed*2;
break;
case LayerAnimation.SlideDown:
case LayerAnimation.SlideUp:
- if (progress + 1 >= properties.Height*scale)
+ if (progress + properties.AnimationSpeed * 2 >= properties.Height*scale)
progress = 0;
progress = progress + properties.AnimationSpeed*2;
break;
diff --git a/Artemis/Artemis/ViewModels/OverlaysViewModel.cs b/Artemis/Artemis/ViewModels/OverlaysViewModel.cs
index 8c8c18dc3..578785000 100644
--- a/Artemis/Artemis/ViewModels/OverlaysViewModel.cs
+++ b/Artemis/Artemis/ViewModels/OverlaysViewModel.cs
@@ -1,20 +1,14 @@
-using Artemis.Managers;
-using Artemis.Modules.Overlays.VolumeDisplay;
-using Artemis.ViewModels.Abstract;
+using Artemis.ViewModels.Abstract;
namespace Artemis.ViewModels
{
public sealed class OverlaysViewModel : BaseViewModel
{
- private readonly MainManager _mainManager;
private readonly OverlayViewModel[] _overlayViewModels;
- private VolumeDisplayViewModel _volumeDisplayVm;
- public OverlaysViewModel(MainManager mainManager, OverlayViewModel[] overlayViewModels)
+ public OverlaysViewModel(OverlayViewModel[] overlayViewModels)
{
DisplayName = "Overlays";
-
- _mainManager = mainManager;
_overlayViewModels = overlayViewModels;
}