Commit Graph
66 Commits
Author SHA1 Message Date
SpoinkyNL ee37c3b836 Layer brushes - Make enable-disable process consistent with plugins 2020-06-07 15:00:40 +02:00
SpoinkyNL 97c85e238c Layer brushes - Render now always originates from 0,0
RGB.NET brushes - GetBrush is no called after properties are initialized
Profile editor - Fixed inputs not responding to updates from the visualization tools when keyframes are disabled
2020-06-03 19:22:08 +02:00
SpoinkyNL 92faafe1de Profile editor - Moved layer property input to the Shared UI project 2020-06-02 22:23:09 +02:00
SpoinkyNL cdb91021a2 Layer brushes - Added RGB.NET-based layer brushes
Layer brushes - Added sample RGB.NET-based color brush
Layer properties - Save on gradient edit dialog close
Layer properties - Fix layer brush keyframes not working after changing layer brush
2020-05-31 21:58:06 +02:00
SpoinkyNL 221c8bc7e7 Layer properties - Restored much functionality on the reworked VMs 2020-05-24 22:05:04 +02:00
SpoinkyNL 7b238e241e Datamodels - A few small fixes to fix errors during startup
Layer properties - Reimplemented property tree
Stylet - Add support for binding views to generic VMs
2020-05-17 18:54:15 +02:00
Robert 54081b591b UI - Restructured layer property VMs 2020-05-01 23:07:21 +02:00
SpoinkyNL 41b3c77210 UI - My poor UI :< I regret starting this refactor 2020-04-30 00:12:24 +02:00
Robert e97fc046f5 Core - Added ways for the core to easily access brush properties
%*/@ me, dealing with generic types in APIs is tricky
2020-04-29 19:45:13 +02:00
Robert 660324c980 Conditions - Refactor layer properties WIP 2020-04-29 19:44:42 +02:00
Robert d9bba8cb54 Conditions - Refactor layer properties WIP (needed for consistency..) 2020-04-28 19:40:03 +02:00
SpoinkyNL 349e0a2c41 Datamodel - Added basic infrastructure 2020-04-26 17:30:43 +02:00
SpoinkyNL 9f8fc9f70e Core - Add HidSharp to force plugins to share the HidSharp types
Core - For now, set default log level to debug
ColorGradient- Improved GetColor performance
ColorGradient - GetColor now handles colors not between two stops properly
Home - Fix links
Plugins - Only allow layer property registration through Brushes
Color brush - Default to solid color
2020-04-21 19:59:05 +02:00
SpoinkyNL a8912076d3 Noise brush - Added option to map noise to a gradient
Color brush - Only show gradient/color option when applicable
Gradient picker - Design tweaks
2020-04-17 19:16:53 +02:00
Robert 0a5f16a0f4 Core - Moved layer properties to their own class 2020-03-09 19:57:17 +01:00
Robert c62997ca41 Plugins - Added descriptions
Settings - Plugin settings tab
UI - Catch exceptions during exception dialog display
Plugins - Implemented enable/disable of plugins (WIP)
Novation - Added Launchpad Mini layout and image
2020-03-03 23:18:00 +01:00
SpoinkyNL 57d82fafa8 Plugins - Implemented enabling/disabling (doesnt work for devices)
Plugins - Disable plugins that caused a crash
Tray icon - Added menu items for quick access
2020-03-02 22:15:25 +01:00
Robert 9b62ba5f3d Plugins - Added optional configuration window
Plugins - Moved plugins to their own directory
Device providers - Added all RGB.NET device providers
2020-02-27 19:05:35 +01:00
SpoinkyNL a79c56eaa1 Core port - Targeting .NET Core 3.1!
Core port - Updated projects to new project layout
Core port - Changed the way devices are identified to be consistent across different frameworks
Core port - Updated plugin system to no longer use AppDomain but AssemblyLoadContext (through McMaster.NETCore.Plugins)
Core port - Renamed a few events to keep Fody from getting confused
2020-02-22 18:38:32 +01:00
SpoinkyNL 1d81b782da Corsair - Added VOID layout and Virtuoso PH layout
Core - Added default value to brush plugin properties
Core - Bitmap brush optimizations
2020-02-17 20:46:27 +01:00
SpoinkyNL 4b1b0248f5 Layers - Allow the clip render mode to stretch if really needed
Core - Include the canvas' SKImageInfo in render calls
2020-02-16 01:56:45 +01:00
Robert 6f95c609b6 Project cleanup 2020-02-13 19:38:43 +01:00
Robert 51a21b7a8a UI VM factories - Shortened names for readibility
Layer properties - Ensure only LayerBrushes can add properties and make sure that method instantiates a keyframe engine
Layer properties UI - Respond to properties being added/removed
2020-02-12 21:18:00 +01:00
Robert 9b1d28840c Refactored shape brushes to use the properties system 2020-02-11 19:10:31 +01:00
SpoinkyNL 022e14e98d Added different rendering strategies for fill modes 2020-02-09 23:20:36 +01:00
Robert 960584cc3c Adjusted anchor calculations for simplified render process
Project cleanup
2020-01-31 22:15:32 +01:00
SpoinkyNL fabb385556 Implemented profile default loading and rendering without the editor
Changed edit tool rotation to allow rotation past 360 degrees
2020-01-26 11:35:39 +01:00
Robert ae330c3769 Code cleanup 2020-01-14 19:18:24 +01:00
Robert d1e0267709 Started work on the keyframe engine to tie everything together! 2020-01-08 20:36:27 +01:00
SpoinkyNL 580db3185e Added layer shapes, editor is still WIP 2019-12-15 22:52:04 +01:00
Robert fe21bc83da Redesigned sidebar
Removed dependency on Mahapps, ControlzEx and Dragablz
2019-12-10 20:24:11 +01:00
SpoinkyNL 8795be2cde Rendering improvements 2019-12-06 23:00:30 +01:00
Robert 8ba2e58c5d Implemented layer element saving
Added a working setting to the brush element
2019-12-04 19:54:18 +01:00
Robert 2e96d796a8 Implemented SkiaSharp layer rendering 2019-12-03 23:43:15 +01:00
SpoinkyNL 96a057df23 Implemented most of the rendering pipeline in SkiaSharp 2019-12-03 00:09:32 +01:00
Robert b8a678c97f Skia WIP 2019-12-02 20:14:28 +01:00
SpoinkyNL 9148323ad5 Implemented layer elements
Added a brush layer element
Corsair - Added ST100 RGB layout
2019-12-01 18:55:49 +01:00
Robert f32edcf502 Implemented layer LED assignment
Added a centralised ProfileEditorSurface for communication between VMs
Prefixed Surface, Device and Led with Artemis to differentiate them better
2019-11-29 17:37:22 +01:00
Robert 97907c97eb Implemented profile creation, deletion and activation 2019-11-20 19:25:29 +01:00
Robert 66f7dc94c8 Moved from EF and SQLite to LiteDB 2019-11-20 19:19:13 +01:00
Robert fd942dab25 Started work on profiles 2019-11-18 20:11:17 +01:00
Robert 5a8a2b2684 Invalid plugin settings will fall back to their type's default
Main window remembers it's position now
Surface editor's surface list size is saved
2019-11-14 21:16:50 +01:00
Robert 5340e6c6d4 Code cleanup 2019-11-13 19:57:23 +01:00
SpoinkyNL c846d63acf Added some of the architecture for the profile editor 2019-11-11 22:12:36 +01:00
SpoinkyNL eecbe4636e Added Logitech support (limited to G910 and G403 for now)
Added a splashscreen
2019-11-10 17:36:18 +01:00
SpoinkyNL 54fcbdb732 Cleaned up setting service, lol old approach was dumb
Made PluginSetting<T> act as a singleton
2019-11-04 21:36:46 +01:00
SpoinkyNL 05eed5ba00 Made devices aware of the plugin that loaded them
Fixed Corsair LL Fans layout
Expanded render events
Added identify option to device settings, must move this to be reusable though
2019-11-03 11:38:28 +01:00
SpoinkyNL 8777e8975f Added a layer of abstraction between RGB.NET and Artemis
This means Artemis can add extra functionality
It also avoid having to reference RGB.NET for basic rendering
Implemented rendering scaling
2019-10-30 23:20:06 +01:00
Robert Beekman ce383468ea Added dialog system
Added surface delete
2019-10-26 21:54:25 +02:00
SpoinkyNL 10bc3f84dd Added active surface-config management code
Added surface-config creation
2019-10-16 00:00:26 +02:00