mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Merge branch 'development' into prerequisites
This commit is contained in:
commit
f1874d9fe3
21
README.md
21
README.md
@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
# Artemis
|
||||
[](https://dev.azure.com/artemis-rgb/Artemis/_build/latest?definitionId=1&repoName=Artemis-RGB%2FArtemis&branchName=master)
|
||||
[](https://github.com/SpoinkyNL/Artemis/releases)
|
||||
@ -29,7 +27,7 @@ A full list of supported devices can be found on the wiki [here](https://wiki.ar
|
||||
8. Restore Nuget packages
|
||||
|
||||
##### Alternatively in PowerShell
|
||||
```powershell
|
||||
```
|
||||
git clone https://github.com/DarthAffe/RGB.NET -b Development RGB.NET
|
||||
git clone https://github.com/Artemis-RGB/Artemis Artemis
|
||||
git clone https://github.com/Artemis-RGB/Artemis.Plugins Artemis.Plugins
|
||||
@ -58,26 +56,13 @@ A few people have already started working on plugins! If you want your plugins t
|
||||
## 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.
|
||||
|
||||

|
||||
_Artemis 2 has been build from the ground up with modularity in mind. This means almost everything can be extended using plugins. New devices, effects, games and almost everything else can be added through plugins._
|
||||
|
||||

|
||||

|
||||
_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._
|
||||
|
||||

|
||||
_Here is an overview of the profile editor. While it may be overwhelming at first it is very simple to get some basic effects set up. When you're ready, the profile editor will allow you to create almost anything you can think of._
|
||||
|
||||

|
||||
_Layers are created by making a selection of LEDs, this allows you to precisely dictate where a layer may render._
|
||||
|
||||

|
||||
_Inside the layer you can freely manipulate the shape that is being rendered. By default it always fills the entire layer as seen in the previous screenshot, but it can shrink and even be a circle, revealing the rainbow background behind._
|
||||
|
||||

|
||||
_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._
|
||||
|
||||

|
||||
_Using visual programming you can create conditions to dictate when a layer may show. The data available to these conditions is provided by plugins, allowing easy expansion._
|
||||
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!
|
||||
|
||||
@ -148,8 +148,23 @@ namespace Artemis.Core.Services
|
||||
foreach (ArtemisDevice device in toRemove)
|
||||
RemoveDevice(device);
|
||||
|
||||
deviceProvider.Initialize(RGBDeviceType.All, true);
|
||||
List<Exception> providerExceptions = new();
|
||||
void DeviceProviderOnException(object? sender, ExceptionEventArgs e)
|
||||
{
|
||||
if (e.IsCritical)
|
||||
providerExceptions.Add(e.Exception);
|
||||
else
|
||||
_logger.Warning(e.Exception, "Device provider {deviceProvider} threw non-critical exception", deviceProvider.GetType().Name);
|
||||
}
|
||||
|
||||
deviceProvider.Exception += DeviceProviderOnException;
|
||||
deviceProvider.Initialize();
|
||||
Surface.Attach(deviceProvider.Devices);
|
||||
deviceProvider.Exception -= DeviceProviderOnException;
|
||||
if (providerExceptions.Count == 1)
|
||||
throw new ArtemisPluginException("RGB.NET threw exception: " + providerExceptions.First().Message, providerExceptions.First());
|
||||
if (providerExceptions.Count > 1)
|
||||
throw new ArtemisPluginException("RGB.NET threw multiple exceptions", new AggregateException(providerExceptions));
|
||||
|
||||
if (!deviceProvider.Devices.Any())
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user