Commit Graph
67 Commits
Author SHA1 Message Date
SpoinkyNL 1d35a02d5b Plugins - Removed plugin info from constructor 2020-06-07 21:51:56 +02:00
SpoinkyNL 33bb3ffa6c Layer brushes - Make enable-disable process consistent with plugins 2020-06-07 15:00:40 +02:00
SpoinkyNL 4de0c59d85 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 14:40:35 +02:00
SpoinkyNL f1cbfb36e9 Profile editor - Moved layer property input to the Shared UI project 2020-06-02 15:58:19 +02:00
SpoinkyNL efee645bfb 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 8456817a2b Layer properties - Restored much functionality on the reworked VMs 2020-05-24 22:05:04 +02:00
SpoinkyNL 2fd522bafb 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 a9c9d06354 UI - Restructured layer property VMs 2020-05-01 09:08:00 +02:00
SpoinkyNL 5e3d23af41 UI - My poor UI :< I regret starting this refactor 2020-04-30 00:12:24 +02:00
Robert bbeb471754 Core - Added ways for the core to easily access brush properties
%*/@ me, dealing with generic types in APIs is tricky
2020-04-29 12:49:11 +02:00
Robert 492ee5c8c1 Conditions - Refactor layer properties WIP 2020-04-29 11:42:16 +02:00
Robert f3898b5500 Conditions - Refactor layer properties WIP (needed for consistency..) 2020-04-28 17:29:20 +02:00
SpoinkyNL 5192b9f0f0 Datamodel - Added basic infrastructure 2020-04-26 17:30:43 +02:00
SpoinkyNL 8c0d62a00b 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 12:11:53 +02:00
SpoinkyNL e863652b08 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 11:27:12 +02:00
Robert 11b3dcdce9 Core - Moved layer properties to their own class 2020-03-09 17:22:27 +01:00
Robert 16af36bc57 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 16:08:05 +01:00
SpoinkyNL 73245a3d4b 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 2bcee30e11 Plugins - Added optional configuration window
Plugins - Moved plugins to their own directory
Device providers - Added all RGB.NET device providers
2020-02-27 13:25:38 +01:00
SpoinkyNL b3f6aef101 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 24f34f76b4 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 1a0d5dafd1 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 3aa9a632ea Project cleanup 2020-02-13 15:17:58 +01:00
Robert f4c1c9de3d 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 14:03:18 +01:00
Robert ebea8b16a3 Refactored shape brushes to use the properties system 2020-02-11 16:36:34 +01:00
SpoinkyNL 128a656f4b Added different rendering strategies for fill modes 2020-02-09 23:20:36 +01:00
Robert 588c25f8c1 Adjusted anchor calculations for simplified render process
Project cleanup
2020-01-31 12:05:45 +01:00
SpoinkyNL 5e3eba563b 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 f071871695 Code cleanup 2020-01-14 17:25:13 +01:00
Robert acdb90897e Started work on the keyframe engine to tie everything together! 2020-01-08 14:35:29 +01:00
SpoinkyNL ddce69e8f0 Added layer shapes, editor is still WIP 2019-12-15 22:52:04 +01:00
Robert 146c545f02 Redesigned sidebar
Removed dependency on Mahapps, ControlzEx and Dragablz
2019-12-10 16:29:47 +01:00
SpoinkyNL cd8661f75a Rendering improvements 2019-12-06 23:00:30 +01:00
Robert 1a44e34d16 Implemented layer element saving
Added a working setting to the brush element
2019-12-04 13:26:18 +01:00
Robert c4e0d06436 Implemented SkiaSharp layer rendering 2019-12-03 17:30:26 +01:00
SpoinkyNL 07b2ad87c4 Implemented most of the rendering pipeline in SkiaSharp 2019-12-03 00:09:32 +01:00
Robert 0e3afef6ca Skia WIP 2019-12-02 17:37:33 +01:00
SpoinkyNL f8037feb81 Implemented layer elements
Added a brush layer element
Corsair - Added ST100 RGB layout
2019-12-01 18:55:49 +01:00
Robert 16decaae42 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 57a2be778d Implemented profile creation, deletion and activation 2019-11-20 17:30:18 +01:00
Robert 2fb2e5444c Moved from EF and SQLite to LiteDB 2019-11-20 15:02:53 +01:00
Robert bb56a45a7f Started work on profiles 2019-11-18 17:33:20 +01:00
Robert accf3bcb36 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 15:29:19 +01:00
Robert da4b691717 Code cleanup 2019-11-13 14:08:26 +01:00
SpoinkyNL c3df4dfc44 Added some of the architecture for the profile editor 2019-11-11 22:12:36 +01:00
SpoinkyNL 39f2920c90 Added Logitech support (limited to G910 and G403 for now)
Added a splashscreen
2019-11-10 17:36:18 +01:00
SpoinkyNL 0d68bee3ad 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 6ebceacd13 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 f72f145c7e 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 89bd76387b Added dialog system
Added surface delete
2019-10-26 21:54:25 +02:00