diff --git a/KeyboardAudioVisualizer/ApplicationManager.cs b/KeyboardAudioVisualizer/ApplicationManager.cs index 73b8390..97457b5 100644 --- a/KeyboardAudioVisualizer/ApplicationManager.cs +++ b/KeyboardAudioVisualizer/ApplicationManager.cs @@ -11,8 +11,9 @@ using RGB.NET.Brushes.Gradients; using RGB.NET.Core; using RGB.NET.Devices.CoolerMaster; using RGB.NET.Devices.Corsair; -using RGB.NET.Devices.Corsair.SpecialParts; using RGB.NET.Devices.Logitech; +using RGB.NET.Devices.Novation; +using RGB.NET.Devices.Razer; using RGB.NET.Groups; using Point = RGB.NET.Core.Point; using GetDecoratorFunc = System.Func; @@ -63,11 +64,13 @@ namespace KeyboardAudioVisualizer surface.UpdateFrequency = 1.0 / MathHelper.Clamp(Settings.UpdateRate, 1, 40); surface.UpdateMode = UpdateMode.Continuous; - surface.LoadDevices(CorsairDeviceProvider.Instance); - surface.LoadDevices(LogitechDeviceProvider.Instance); - surface.LoadDevices(CoolerMasterDeviceProvider.Instance); + LoadDevices(surface, CorsairDeviceProvider.Instance); + LoadDevices(surface, CoolerMasterDeviceProvider.Instance); + LoadDevices(surface, NovationDeviceProvider.Instance); + LoadDevices(surface, RazerDeviceProvider.Instance); + LoadDevices(surface, LogitechDeviceProvider.Instance); - surface.AlignDevies(); + surface.AlignDevices(); ILedGroup background = new ListLedGroup(surface.Leds); background.Brush = new SolidColorBrush(new Color(64, 0, 0, 0)); //TODO DarthAffe 06.08.2017: A-Channel gives some kind of blur - settings! @@ -138,6 +141,13 @@ namespace KeyboardAudioVisualizer surface.Updating += args => AudioVisualizationFactory.Instance.Update(); } + private void LoadDevices(RGBSurface surface, IRGBDeviceProvider deviceProvider) + { + surface.LoadDevices(deviceProvider, RGBDeviceType.Keyboard | RGBDeviceType.LedMatrix + | RGBDeviceType.Mousepad | RGBDeviceType.LedStripe + | RGBDeviceType.Mouse | RGBDeviceType.Headset); + } + //TODO DarthAffe 12.09.2017: This is just a big mess - is this worth to rework before arge? public void ApplyVisualization(VisualizationIndex visualizationIndex, VisualizationType visualizationType) { diff --git a/KeyboardAudioVisualizer/Decorators/BeatDecorator.cs b/KeyboardAudioVisualizer/Decorators/BeatDecorator.cs index d90a2a8..6e1150a 100644 --- a/KeyboardAudioVisualizer/Decorators/BeatDecorator.cs +++ b/KeyboardAudioVisualizer/Decorators/BeatDecorator.cs @@ -24,11 +24,8 @@ namespace KeyboardAudioVisualizer.Decorators protected override void Update(double deltaTime) => _visualizationProvider.Update(); - public void ManipulateColor(Rectangle rectangle, BrushRenderTarget renderTarget, ref Color color) - { - color.APercent *= _visualizationProvider.VisualizationData[0]; - } - #endregion + + public Color ManipulateColor(Rectangle rectangle, BrushRenderTarget renderTarget, Color color) => color.SetAPercent(color.APercent * _visualizationProvider.VisualizationData[0]); } } diff --git a/KeyboardAudioVisualizer/Decorators/FrequencyBarsDecorator.cs b/KeyboardAudioVisualizer/Decorators/FrequencyBarsDecorator.cs index ebb9d32..cd27334 100644 --- a/KeyboardAudioVisualizer/Decorators/FrequencyBarsDecorator.cs +++ b/KeyboardAudioVisualizer/Decorators/FrequencyBarsDecorator.cs @@ -27,14 +27,13 @@ namespace KeyboardAudioVisualizer.Decorators protected override void Update(double deltaTime) => _visualizationProvider.Update(); - public void ManipulateColor(Rectangle rectangle, BrushRenderTarget renderTarget, ref Color color) + public Color ManipulateColor(Rectangle rectangle, BrushRenderTarget renderTarget, Color color) { int barSampleIndex = Math.Min(_visualizationProvider.VisualizationData.Length, (int)Math.Floor(_visualizationProvider.VisualizationData.Length * (renderTarget.Point.X / (rectangle.Location.X + rectangle.Size.Width)))); double curBarHeight = 1.0 - Math.Max(0f, _visualizationProvider.VisualizationData[barSampleIndex]); double verticalPos = (renderTarget.Point.Y / rectangle.Size.Height); - if (curBarHeight > verticalPos) - color.A = 0; + return curBarHeight > verticalPos ? color.SetA(0) : color; } #endregion diff --git a/KeyboardAudioVisualizer/Decorators/LevelBarDecorator.cs b/KeyboardAudioVisualizer/Decorators/LevelBarDecorator.cs index 748eb83..4e0c58a 100644 --- a/KeyboardAudioVisualizer/Decorators/LevelBarDecorator.cs +++ b/KeyboardAudioVisualizer/Decorators/LevelBarDecorator.cs @@ -28,7 +28,7 @@ namespace KeyboardAudioVisualizer.Decorators protected override void Update(double deltaTime) => _visualizationProvider.Update(); - public void ManipulateColor(Rectangle rectangle, BrushRenderTarget renderTarget, ref Color color) + public Color ManipulateColor(Rectangle rectangle, BrushRenderTarget renderTarget, Color color) { double offset = CalculateOffset(rectangle, renderTarget); @@ -38,20 +38,22 @@ namespace KeyboardAudioVisualizer.Decorators { offset = (-offset * 2); if (offset >= _visualizationProvider.VisualizationData[0]) - color.A = 0; + return color.SetA(0); } else { offset *= 2; if (offset >= _visualizationProvider.VisualizationData[1]) - color.A = 0; + return color.SetA(0); } } else { if (offset >= _visualizationProvider.VisualizationData[DataIndex]) - color.A = 0; + return color.SetA(0); } + + return color; } private double CalculateOffset(Rectangle rectangle, BrushRenderTarget renderTarget) diff --git a/KeyboardAudioVisualizer/KeyboardAudioVisualizer.csproj b/KeyboardAudioVisualizer/KeyboardAudioVisualizer.csproj index 8864425..9f8150c 100644 --- a/KeyboardAudioVisualizer/KeyboardAudioVisualizer.csproj +++ b/KeyboardAudioVisualizer/KeyboardAudioVisualizer.csproj @@ -41,44 +41,56 @@ Resources\Icon.ico - - ..\packages\CSCore.1.2.1.1\lib\net35-client\CSCore.dll + + ..\packages\CSCore.1.2.1.2\lib\net35-client\CSCore.dll ..\packages\Hardcodet.NotifyIcon.Wpf.1.0.8\lib\net451\Hardcodet.Wpf.TaskbarNotification.dll - - ..\packages\MathNet.Numerics.3.20.0\lib\net40\MathNet.Numerics.dll + + ..\packages\HidSharp.1.5\lib\net35\HidSharp.dll + + + ..\packages\MathNet.Numerics.3.20.2\lib\net40\MathNet.Numerics.dll ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll - - ..\packages\RGB.NET.Brushes.1.0.0\lib\net45\RGB.NET.Brushes.dll - True + + ..\packages\RGB.NET.Brushes.0.0.1.28\lib\net45\RGB.NET.Brushes.dll - - ..\packages\RGB.NET.Core.1.0.0\lib\net45\RGB.NET.Core.dll - True + + ..\packages\RGB.NET.Core.0.0.1.28\lib\net45\RGB.NET.Core.dll - - ..\packages\RGB.NET.Devices.CoolerMaster.1.0.0\lib\net45\RGB.NET.Devices.CoolerMaster.dll - True + + ..\packages\RGB.NET.Decorators.0.0.1.28\lib\net45\RGB.NET.Decorators.dll - - ..\packages\RGB.NET.Devices.Corsair.1.0.0\lib\net45\RGB.NET.Devices.Corsair.dll + + ..\packages\RGB.NET.Devices.Asus.0.0.1.28\lib\net45\RGB.NET.Devices.Asus.dll - - ..\packages\RGB.NET.Devices.Logitech.1.0.0\lib\net45\RGB.NET.Devices.Logitech.dll + + ..\packages\RGB.NET.Devices.CoolerMaster.0.0.1.28\lib\net45\RGB.NET.Devices.CoolerMaster.dll - - ..\packages\RGB.NET.Devices.Novation.1.0.0\lib\net45\RGB.NET.Devices.Novation.dll + + ..\packages\RGB.NET.Devices.Corsair.0.0.1.28\lib\net45\RGB.NET.Devices.Corsair.dll - - ..\packages\RGB.NET.Groups.1.0.0\lib\net45\RGB.NET.Groups.dll + + ..\packages\RGB.NET.Devices.Logitech.0.0.1.28\lib\net45\RGB.NET.Devices.Logitech.dll - - ..\packages\Sanford.Multimedia.Midi.6.4.1\lib\net20\Sanford.Multimedia.Midi.dll + + ..\packages\RGB.NET.Devices.Msi.0.0.1.28\lib\net45\RGB.NET.Devices.Msi.dll + + + ..\packages\RGB.NET.Devices.Novation.0.0.1.28\lib\net45\RGB.NET.Devices.Novation.dll + + + ..\packages\RGB.NET.Devices.Razer.0.0.1.28\lib\net45\RGB.NET.Devices.Razer.dll + + + ..\packages\RGB.NET.Groups.0.0.1.28\lib\net45\RGB.NET.Groups.dll + + + ..\packages\Sanford.Multimedia.Midi.6.4.2\lib\net20\Sanford.Multimedia.Midi.dll @@ -199,7 +211,6 @@ Resources.Designer.cs Designer - Designer @@ -305,15 +316,21 @@ - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - + + + + + + - - + + + + + \ No newline at end of file diff --git a/KeyboardAudioVisualizer/packages.config b/KeyboardAudioVisualizer/packages.config index 07424e5..9cef844 100644 --- a/KeyboardAudioVisualizer/packages.config +++ b/KeyboardAudioVisualizer/packages.config @@ -1,16 +1,24 @@  - + - + + - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file