* Core - Keep the name of renamed layer effects when loading BaseLayerEffect.Load checked HasBeenRenamed before reading it from the entity, so renamed effects always fell back to the descriptor's display name. * Core - Apply layer effect filters once on layers Layer.DelegateRendering composited the layer with the pre-processed paint and also handed that paint to the brush, so color and image filters of effects applied to the brush output and again when compositing. The brush now gets a copy of the paint without those filters, like folders which apply them once. * Core - Disable folders that get suspended while enabled Layer.Update disables a suspended layer but Folder.Update only disabled a folder once its timeline finished, so a folder suspended outside of the editor kept rendering its children. * Core - Update device LEDs when rotating or scaling a device The Rotation and Scale setters only updated the RGB.NET device, the Artemis LED rectangles and the device path kept their old positions and DeviceUpdated wasn't raised until X or Y was set. * Core - Correct the docs of the Layer and Folder constructors They claimed the new element adds itself to the child collection of the parent, it doesn't and callers rely on adding it themselves. * Core - Apply layer opacity once for brushes that draw with the paint Brushes drawing with a shader or image keep the alpha of the paint they are given, so the layer opacity and opacity effects applied to the brush output and again when compositing, 50% opacity rendered at 25%. The brush now gets an opaque paint, per-LED brushes already overrode the color. The solid color test brush now draws with a shader like the real solid brush so the opacity tests cover this. * Tests - Describe expected faded colors by their opacity Adds an AtOpacity helper so assertions read as red at 50% over black instead of a hand-computed 127, and uses it for layer opacity, opacity effects, folder fades, the profile fade and semi-transparent drawing. * Core - Wrap timelines around by how far they went past the main segment Repeating timelines wrapped around by the frame time rather than by how far they went past the end of the main segment, so wrapping could be off by up to a frame. A timeline that was already past the end, like the finished timeline new layers start with, still starts the main segment over. * Tests - Mention the defaults the timeline wrap-around tests depend on
Artemis
Artemis adds highly configurable support for several games to a range of RGB keyboards, mice and headsets.
Check out our Wiki and more specifically, the getting started guide.
Pre-release download: https://artemis-rgb.com/
Plugin documentation: https://artemis-rgb.com/docs/
Please note that even though we have plugins for each brand supported by RGB.NET, they have not been thoroughly tested due to a lack of hardware. If you run into any issues please let us know on Discord.
A full list of supported devices can be found on the wiki here.
Want to build? Follow these instructions
- Create a central folder like
C:\Repos - Clone Artemis into
<central folder>\Artemis - Clone Artemis.Plugins master branch into
<central folder>\Artemis.Plugins - Open
<central folder>\Artemis\src\Artemis.slnand build as Debug - Open
<central folder>\Artemis.Plugins\src\Artemis.Plugins.slnand build as Debug
Alternatively in PowerShell
git clone https://github.com/Artemis-RGB/Artemis Artemis
git clone https://github.com/Artemis-RGB/Artemis.Plugins Artemis.Plugins
dotnet build .\Artemis\src\Artemis.sln
dotnet build .\Artemis.Plugins\src\Artemis.Plugins.sln
For an up-to-date overview of what's currently being worked on, see the Projects page
Plugin development
While Artemis 2 is still in development, the plugin API is pretty far along.
To get started, you can download the .NET templates, check out the Artemis.Plugins.Templates repository.
Due to the volatine nature of the project right now, there is no documentation yet. The templates provide some commentary to get you going and feel free to ask for more help in Discord.
Third party plugins
A few people have already started working on plugins! We're keeping a list on our wiki
https://wiki.artemis-rgb.com/en/guides/user/plugins
Work in progress screenshots
Note: Video tutorials and written guides on many of the features displayed below are planned for when Artemis 2 nears feature-completion.
The surface editor allows you to recreate your desktop in 2D space, this provides Artemis with spatial awareness and ensures effects scale properly over your different devices. Right clicking a device lets you change its properties such as rotation and scale.
With the keyframe engine you can animate almost any property of the layer. In the example above the position and scale of the shape have been animated using keyframes.
For more screenshots check out the wiki: https://wiki.artemis-rgb.com/en/screenshots
Special thanks
Over the years several companies have supported Artemis by providing both hardware and software, thank you!
