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

360 Commits

Author SHA1 Message Date
Robert
a1f7f6dff8 Profile editor - Implemented keyframe easing selection 2022-01-21 00:42:06 +01:00
Robert
6f269af8d4 Profile editor service - Make keyframe selection an editor concern 2022-01-20 00:24:48 +01:00
Robert
1832a25426 Core - Reworked brush/effect property storage
Profile editor - Added brush selection
Profile editor - Added playback controls
2022-01-16 00:46:19 +01:00
Robert
022beb6a48 Profile editor - Added most properties 2022-01-12 22:11:40 +01:00
Robert
c04bff1f48 Profile editor - Ported most VMs of the properties tree and timeline 2022-01-11 00:25:12 +01:00
Robert
1c15fbe983 Meta - Fixed a whole bunch of warnings 2022-01-02 23:16:16 +01:00
Robert
736324e45e Profile editor - Added unro/redo
Profile editor - Added adding layers and folders
2022-01-02 00:04:46 +01:00
Robert
34757716aa Updated ReactiveUI
Added order to render element ctors
2021-12-30 23:33:26 +01:00
Robert
4ef7c83c74 Merge branch 'feature/visual-scripting' into feature/avalonia 2021-11-17 23:07:36 +01:00
Robert
1784d2b8b5 UI - Added Avalonia projects 2021-10-09 23:51:42 +02:00
Robert
c21acf87a7 Nodes - Added XML docs for remaining types
Nodes - Fully implemented nullable reference types
2021-09-25 21:35:54 +02:00
Robert
02f4609eae Sidebar - Show message when profile is broken
Events - Keep the old event type around for if you change your mind
2021-09-18 13:38:09 +02:00
Robert
d6372dffad Nodes - Added enum equality node
Conditions - Implemented event trigger conditions
2021-09-16 21:11:23 +02:00
Robert
00125d1478 Event condition - Simplify to only one event per layer 2021-09-15 22:35:34 +02:00
Robert
d657e7844e Profiles - Split conditions into different types
Profile configurations - Added broken state (not yet shown in UI)
2021-09-14 22:17:31 +02:00
Robert
8ac1431a2f Core - Split up layer conditions into static- and event-conditions 2021-09-12 22:08:34 +02:00
Robert
2a6c004aa6 Merge branch 'development' into VisualScripting 2021-09-12 13:00:58 +02:00
Diogo Trindade
0b370f261c Replaced AsReadOnly property getters with regular properties
Should reduce allocations
2021-09-04 19:41:59 +01:00
Robert
3e201336f1 Nodes - Ensure there always is an exit node 2021-08-26 23:37:31 +02:00
Robert
4fbd229846 Nodes - Support dynamic children in data model node 2021-08-25 20:40:24 +02:00
Robert
bd3bf20d92 Nodes - Save data binding node scripts 2021-08-25 15:32:58 +02:00
Robert
9d6a61f1e5 Nodes - Added color nodes 2021-08-22 22:31:47 +02:00
Robert
0bb93f2ebd Data bindings - Rewrote data binding system to fully leverage nodes 2021-08-22 18:17:05 +02:00
Robert
a4667fdc03 Profiles - Only load nodes after the entire profile structure loaded
Profiles - Added API to get all render elements
Nodes - Added layer property node
2021-08-21 13:51:25 +02:00
Robert
836e979991 Nodes - Provide scripts with a context
Nodes - Inform nodes about the script they're being initialized for
Nodes - Added float nodes matching the existing other number types
Core - Add API for retrieving data binding values via the interface
2021-08-21 12:15:01 +02:00
Robert
05d8222991 Nodes - Ensure models using scripts always have a script 2021-08-19 16:13:37 +02:00
Robert
5675d1895b Conditions - Removed old systems
Data bindings - Removed old systems
Data bindings - Implemented node system
2021-08-18 23:47:14 +02:00
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
5b6fc9eec7 Profiles - Added system that displays when a layer is causing errors 2021-07-11 19:32:27 +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
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
5367027471 Core - Fixed a lot of compiler warnings
Scripting - Added script renaming/deleting
2021-06-21 19:34:34 +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
d749ab5bbd Profile configurations - Publicly expose profile ID
Device visualizer - Hit test on LED geometry
Layouts - Reverted layout rounding change
2021-06-16 22:25:10 +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
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
730207ccd0 Profile - Tweak initial load timeline behaviour 2021-06-08 23:24:43 +02:00
Robert
6087a45a18 Sidebar - Made sidebar resizable (to an extend)
Sidebar - Truncate long profile names
Profile editor - Added shift+click on eye-icon in profile tree to focus an element
Profile editor - Fixed layer property prefix/affix vertical alignment
UI - Made shutdown via tray more responsive
UI - Fixed several memory leaks
2021-06-08 18:18:27 +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
bb55f2e1bb Core - Hardened data model paths against hidden inherited members 2021-05-25 23:58:44 +02:00
Robert
3825c34be1 Layer properties - Implement INotifyPropertyChanged on BaseValue
Profile editor - Don't show expand button on property groups without children
Profile editor - Alert user about extra options on brushes
2021-05-21 18:24:47 +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
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