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; }