1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00

358 Commits

Author SHA1 Message Date
Robert
afc4bee7ac Nodes - Implemented saving/loading
Nodes - Added data model node
2021-08-10 16:52:24 +02:00
Robert
61d7f1e1fb Nodes - Properly implemented custom VMs 2021-08-07 22:48:54 +02:00
Robert
7eadc58bee Nodes - Added node type registration system
Nodes - Moved models and node logic into core
Nodes - Added node service that leverages DI
2021-08-07 21:05:15 +02:00
Robert
4fe0ea38cb Modules - Added ListItemName prop to the DataModelProperty attribute
Conditions - Display the full path of a condition (can be disabled in the editor options menu)
Hotkeys - Fixed hotkeys not working after restarting Artemis
Profile editor - Fixed display conditions not showing last selected layer on editor open
2021-07-08 19:02:06 +02:00
Robert
4034f438ed UI - Fix possible exception when showing dialogs
Profile editor - Limit undo/redo to 20 actions for now
Plugins - Fix custom icons not displaying in settings windows
2021-07-06 23:45:34 +02:00
Robert Beekman
631d8de2c3
Scripting - Enabled scripting (#638)
* Scripting - Simplified view model structure
* Scripting - Removed Layer and LayerProperty scripts
2021-07-04 11:45:32 +02:00
Robert
ee16d69fb3 Profile editor - Increase device image rescale quality
Profile editor - Fix double timeline speed when switching between play modes
2021-07-03 15:30:49 +02:00
Robert
51a5724adf Profile editor - Added F5 hotkey to toggle normal profile playback
Profile editor - Disable toolbar and tools during normal profile playback
Layer conditions - Properly apply Skip To End stop-mode on profile start
2021-07-02 23:18:50 +02:00
Robert
8728599dcc Profiles - Save folder open/closed state
Profiles editor - Save last selected element and reselect it
Profile editor - Save pan/zoom position
Profile editor - Added option to resume normal playback on focus loss
2021-07-01 21:12:09 +02:00
Robert
9dc3a3de8a Profiles - Fixed module getting lost on duplicate/import 2021-06-25 22:58:45 +02:00
Robert
5367027471 Core - Fixed a lot of compiler warnings
Scripting - Added script renaming/deleting
2021-06-21 19:34:34 +02:00
Robert
4a69baebb7 Scripting - Added script creation 2021-06-21 00:44:57 +02:00
Robert
8c729055ea Meta - Update Nuget packages
Profiles - Fixed duplicating & importing
2021-06-19 16:25:25 +02:00
Robert
ec69db7201 Process activation requirement - Fixed deadlock on shutdown 2021-06-19 14:53:48 +02:00
Robert
f24e1ae264 Display conditions - Added Toggle mode to event conditions
Display conditions - Added Contains and Does not contain for enums
Profile editor - Changed display behaviour on zero-length timelines
2021-06-19 12:25:11 +02:00
Robert Beekman
048864fe78
Scripting - Core implementation (#629)
Scripting - Added plugin classes
Layers - Fix certain blend modes not working as intended
UI - Add customizable header per page
Profile editor - Hide the regular header
Profile editor - Added a new toolbar
2021-06-19 09:48:16 +02:00
Robert
a7c7d74e03 Profile configuration - Implemented hotkeys
Plugin import - Fixed folders causing errors in some ZIP formats
2021-06-13 21:36:47 +02:00
Robert
6e197d725a Device properties - Repopulate LED tab each time it opens
Core - Save device before reloading provider for layout reset
2021-06-13 10:37:18 +02:00
Robert
3f22ebae8a Core - Fixed data model namespaces
Modules - Added IsPropertyInUse API
UI - Properly dispose data model paths wherever they are used
2021-06-11 23:20:14 +02:00
Robert
fe933f60e8 Update service - Removed option to install updates without asking
Modules - Decrease CPU usage for activation requirements check by using a centralized service
Devices - Reload provider when unloading a layout
2021-06-10 17:41:54 +02:00
Robert
496f0e9b74 Plugin import - Overwrite existing folder if needed
Plugin import - Enable newly imported plugins straight away
2021-06-09 22:10:34 +02:00
Robert
e9eebc4f36 Profile properties - Fix custom module icons missing
Profiles - Fix duplicating a profile causing weird behaviour
Sidebar - Remember category collapse state
2021-06-04 21:26:00 +02:00
Robert
4c3e9b2784 Modules - Automatically determine IsAlwaysAvailable
Plugins - Clean up old files
2021-06-03 22:56:11 +02:00
Robert Beekman
ceeaa4bf6d
Profiles - Reworked profile system
Sidebar - Redesigned sidebar with customizable categories
Profiles - Added the ability to configure custom profile icons
Profiles - Added the ability to activate multiple profiles for modules at once
Profiles - Added the ability to create profiles for no modules
Profiles - Added the ability to suspend a profile or an entire category
Profiles - Added profile activation conditions
Profiles - Added file-based importing/exporting
Profile editor - Condensed UI, removed tabs 
Profile editor - Disable condition operators until a left-side is picked
2021-06-03 22:34:43 +02:00
Robert
cef37677f2 Devices - Added option to disable default layouts 2021-06-03 11:10:07 +02:00
Robert
a6f52ce4a0 Core - Refactored (unused) queued actions system 2021-05-25 23:15:40 +02:00
Robert
87dce788d7 UI - Added --disable-forced-shutdown which does just that
UI - Don't kill new instances of Artemis launched within 8 seconds after shutdown
UI - Updated About tab
2021-05-19 17:31:36 +02:00
Robert
f1eefe0761 Profiles - Only set imports as changed if they actually had real changes
Default layouts - Added default keyboard and headset layouts
2021-05-18 16:59:58 +02:00
Robert
1660519bee UI - Avoid opening the main window multiple times from tray
Profiling - Thread safety and use high precision counters
Profiling - Profile timed updates
Timed updates - Added argument to give timed updates a name
Plugins - Affix plugin folders with a part of the plugin GUID
Debugger - Added 95th percentile column to profiling
Debugger - Fix scrolling in performance profile tab when hovering over datagrids
2021-05-17 17:26:49 +02:00
Robert
4b24834fd6 Plugins - Added profiling API
UI - Added profiling tab to debugger
2021-05-16 20:22:13 +02:00
Robert
f13ab9852f Default profiles - Ensure IsActive is always false
Profile importing - Ensure IsActive is always false
Timeline - Fix main segment repeat mode buttons not staying in sync (#585)
2021-05-16 11:22:16 +02:00
Robert
14f82284ac Profile modules - Added option to provide default profiles
Profiles - Run adaption on freshly imported profiles when activating
Profiles - Run adaption on freshly imported profiles when surface changes
2021-05-15 22:41:15 +02:00
Robert
96c55e5c03 Profile adaption - Added support for device hint to 'all' devices
Layouts - Round LED sizes to integers
Auto-update - Use modern Windows 10 toasts
UI - On shutdown wait 6 seconds longer before force-shutdown
UI - Use black icons in notifications on white Windows theme
Message service - Added optional toast callbacks
2021-05-14 21:49:10 +02:00
Robert Beekman
57193e739e Profiles - Added profile adaption based on configurable hints
Layers - Added hints UI accesible from profile tree
Surface - Added device categories used by profile adaption
2021-05-13 19:57:38 +02:00
Robert
f2c0d63a49 Core - Don't fail entire frame on plugin fail 2021-05-07 23:58:19 +02:00
Robert
77be79dde5 Prerequisites - Finalized UI logic surrounding install/remove 2021-05-02 23:00:48 +02:00
Robert
21700aaad5 Plugins - Reworked bootstrapper 2021-04-30 17:39:58 +02:00
Robert
5cae14efd3 Prerequisites - Moved to PluginInfo and FeatureInfo
Features don't have instances until they are enabled so this made sense, Plugins followed suit for consistency's sake
2021-04-28 17:06:47 +02:00
Robert
0cfddcbbaf Plugin prerequisites - Added UI for installing/removing prerequisites
Plugin settings - Added button to reload plugin from disk
Confirm dialogs - Made cancel text optional so you can hide the button
2021-04-28 00:33:56 +02:00
Robert
f1874d9fe3 Merge branch 'development' into prerequisites 2021-04-26 23:13:23 +02:00
Robert
52d0efb90e RGB Service - Update for RGB.NET exception changes 2021-04-26 23:13:11 +02:00
Robert
ebfb82e323 RGB Service - Catch & throw exceptions in a more controlled manner 2021-04-26 17:12:23 +02:00
Robert
19679c0ba6 Plugins - Added prerequisites system 2021-04-25 23:18:00 +02:00
Robert
6904a137e1 Device visualizer - Fixed memory leak
Device visualizer - Improved performance on very large devices
Dynamic data model - Reworked API
2021-04-19 17:43:46 +02:00
Robert
992657b0c5 UI - Improved exception dialog shown at early startup failure
Plugins - Provide a better error message on built in plugin installation failure
Conditions - Added better null/not null checks for strings
2021-04-10 19:32:21 +02:00
Robert
c66c21152f Device dialog - Added input remapping for keyboards
Device dialog - Display layout author, if I missed anyone let me know!
2021-04-10 12:53:08 +02:00
Robert
35289f7858 Process monitor - Change logging to verbose 2021-04-07 22:12:11 +02:00
Robert
60df649eb0 Brush presets - Reset properties to default before applying preset
Layer properties - Disable keyframes when resetting to default
Device dialogs - Only dim unselected LEDs if a LED is selected
Migrations - Renamed to stay in order 
Migrations - Added migration for color gradients
2021-04-06 20:56:18 +02:00
Robert
ed704a165c Webserver - Removed '/api/' part from URLs
Webserver - Added the ability to register custom EmbedIO modules
Webserver - Ensure custom controllers/modules are always cleaned up on plugin feature disable
2021-04-06 19:19:19 +02:00
Robert
7a3be83bf6 Core - Allow device providers to opt out of layout LED creation/removal
Device properties UI - Highlight selected LEDs in white
2021-04-01 19:57:28 +02:00