Giter Club home page Giter Club logo

artemis.plugins's People

Contributors

alpacafur avatar arthurgamerhd avatar ayashiihito avatar brandonmendez0415 avatar cheerpipe avatar d-faure avatar darthaffe avatar diogotr7 avatar dodekaphilist avatar dragredsim avatar duarteframos avatar extremeexploit avatar f-lehmann avatar fieryflames avatar fluto avatar icebotyt avatar kaisax avatar kanzakiranko1 avatar knottydyes avatar motabass avatar piechade avatar predator4578 avatar projectsynchro avatar psych0d0g avatar rexracer1998 avatar robertbeekman avatar sirhaxe avatar skydev125 avatar weedwyvern avatar wolfcomp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

artemis.plugins's Issues

DMX plugin - UI improvements

  • Don't allow adding more than 170 LEDs per universe
  • Check the hostname and make sure it's not an URL (and change the label to IP/hostname)

Corsair - LT100 support

Currently broken

System.AggregateException: One or more errors occurred. (RGB.NET threw exception: An item with the same key has already been added. Key: Invalid)
   at bool System.Threading.Tasks.Task.Wait(int millisecondsTimeout, CancellationToken cancellationToken) x 2
   at void Artemis.Core.PluginFeature.SetEnabled(bool enable, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 164
   at void Artemis.Core.Services.PluginManagementService.EnablePluginFeature(PluginFeature pluginFeature, bool saveState, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Services/PluginManagementService.cs:line 611 ---> Artemis.Core.ArtemisPluginException: RGB.NET threw exception: An item with the same key has already been added. Key: Invalid
   at void Artemis.Core.Services.RgbService.AddDeviceProvider(IRGBDeviceProvider deviceProvider) in D:/a/1/s/Artemis/src/Artemis.Core/Services/RgbService.cs:line 168
   at void Artemis.Plugins.Devices.Corsair.CorsairDeviceProvider.Enable()
   at void Artemis.Core.PluginFeature.InternalEnable() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 190
   at void System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref Task currentTaskSlot, Thread threadPoolThread) ---> System.ArgumentException: An item with the same key has already been added. Key: Invalid
   at bool System.Collections.Generic.Dictionary<TKey, TValue>.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
   at void RGB.NET.Devices.Corsair.CorsairCustomRGBDevice.InitializeLayout()
   at IEnumerable<IRGBDevice> RGB.NET.Devices.Corsair.CorsairDeviceProvider.LoadDevices()+MoveNext()
   at IEnumerable<IRGBDevice> RGB.NET.Core.AbstractRGBDeviceProvider.GetLoadedDevices(RGBDeviceType loadFilter) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 77
   at bool RGB.NET.Core.AbstractRGBDeviceProvider.Initialize(RGBDeviceType loadFilter, bool throwExceptions) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 50
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace --- ---> Artemis.Core.ArtemisPluginException: RGB.NET threw exception: An item with the same key has already been added. Key: Invalid
   at void Artemis.Core.Services.RgbService.AddDeviceProvider(IRGBDeviceProvider deviceProvider) in D:/a/1/s/Artemis/src/Artemis.Core/Services/RgbService.cs:line 168
   at void Artemis.Plugins.Devices.Corsair.CorsairDeviceProvider.Enable()
   at void Artemis.Core.PluginFeature.InternalEnable() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 190
   at void System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref Task currentTaskSlot, Thread threadPoolThread) ---> System.ArgumentException: An item with the same key has already been added. Key: Invalid
   at bool System.Collections.Generic.Dictionary<TKey, TValue>.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
   at void RGB.NET.Devices.Corsair.CorsairCustomRGBDevice.InitializeLayout()
   at IEnumerable<IRGBDevice> RGB.NET.Devices.Corsair.CorsairDeviceProvider.LoadDevices()+MoveNext()
   at IEnumerable<IRGBDevice> RGB.NET.Core.AbstractRGBDeviceProvider.GetLoadedDevices(RGBDeviceType loadFilter) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 77
   at bool RGB.NET.Core.AbstractRGBDeviceProvider.Initialize(RGBDeviceType loadFilter, bool throwExceptions) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 50
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---

Logitech - G733 headset

Artemis_log-20210121 (1).txt

2021-01-21 12:40:46.497 [DBG] [Artemis.Plugins.Devices.Logitech.LogitechDeviceProvider] Found Logitech device G733 Gaming Headset with PID 0xAB5

Logs provided by martinklaus on Discord.
Looks like two zones (top and bottom, shared on both sides)

Logitech G910 layout is wrong.

It says that it has a large enter key (one of the ones that takes up two lines) when it doesn't. As a result the backslash key is unlit.

Logitec g815 has no layout

It didn't automatically work for the g815. I had to duplicate the G915-ISO.xml and rename it to G815-ISO.xml (the g915 is almost the same)

Open Rgb Error

Getting this error when trying to enable Open RGB

System.AggregateException: One or more errors occurred. (RGB.NET threw exception: Index was outside the bounds of the array.)
at bool System.Threading.Tasks.Task.Wait(int millisecondsTimeout, CancellationToken cancellationToken) x 2
at void Artemis.Core.PluginFeature.SetEnabled(bool enable, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 164
at void Artemis.Core.Services.PluginManagementService.EnablePluginFeature(PluginFeature pluginFeature, bool saveState, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Services/PluginManagementService.cs:line 605 ---> Artemis.Core.ArtemisPluginException: RGB.NET threw exception: Index was outside the bounds of the array.
at void Artemis.Core.Services.RgbService.AddDeviceProvider(IRGBDeviceProvider deviceProvider) in D:/a/1/s/Artemis/src/Artemis.Core/Services/RgbService.cs:line 167
at void Artemis.Plugins.Devices.OpenRGB.OpenRGBDeviceProvider.Enable()
at void Artemis.Core.PluginFeature.InternalEnable() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 190
at void System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref Task currentTaskSlot, Thread threadPoolThread) ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
at void RGB.NET.Devices.OpenRGB.Generic.OpenRGBGenericDevice.InitializeLayout()
at IEnumerable RGB.NET.Devices.OpenRGB.OpenRGBDeviceProvider.LoadDevices()+MoveNext()
at IEnumerable RGB.NET.Core.AbstractRGBDeviceProvider.GetLoadedDevices(RGBDeviceType loadFilter) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 77
at bool RGB.NET.Core.AbstractRGBDeviceProvider.Initialize(RGBDeviceType loadFilter, bool throwExceptions) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 50
--- End of inner exception stack trace ---
--- End of inner exception stack trace --- ---> Artemis.Core.ArtemisPluginException: RGB.NET threw exception: Index was outside the bounds of the array.
at void Artemis.Core.Services.RgbService.AddDeviceProvider(IRGBDeviceProvider deviceProvider) in D:/a/1/s/Artemis/src/Artemis.Core/Services/RgbService.cs:line 167
at void Artemis.Plugins.Devices.OpenRGB.OpenRGBDeviceProvider.Enable()
at void Artemis.Core.PluginFeature.InternalEnable() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 190
at void System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref Task currentTaskSlot, Thread threadPoolThread) ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
at void RGB.NET.Devices.OpenRGB.Generic.OpenRGBGenericDevice.InitializeLayout()
at IEnumerable RGB.NET.Devices.OpenRGB.OpenRGBDeviceProvider.LoadDevices()+MoveNext()
at IEnumerable RGB.NET.Core.AbstractRGBDeviceProvider.GetLoadedDevices(RGBDeviceType loadFilter) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 77
at bool RGB.NET.Core.AbstractRGBDeviceProvider.Initialize(RGBDeviceType loadFilter, bool throwExceptions) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 50
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---

[BUG] Corsair SP RGB PRO fans show as "corsair invalid"

My sp rgb pro fans show as "corsair invalid" and are represented as 8 led in a line. I tried to apply a custom layout that i made and the layout in the plugin but it just makes it worse (the lighting get stuck one colour and stops when restarting artemis).
I use ICUE 4 and i had the same kind of problem with aurora.
Is it a problem with the new icue version?
Thanks for your help.
image

Corsair - Add data model expansion with battery levels

If logging is enabled in iCUE logs can be found in %LocalAppData%\Corsair\CUE4\logs

These logs will contain lines like

2021-04-25 09:29:18.111 I cue.hid_dev_battery_controller: Set battery level to "VIRTUOSO SE" 59
2021-04-25 09:29:18.111 I cue.hid_dev_battery_controller: Set status to "VIRTUOSO SE" DeviceBatteryStatus::Status::High IsCharging true
...
2021-04-25 09:31:03.123 I cue.hid_dev_battery_controller: Battery data from "VIRTUOSO SE" 60 DeviceBatteryStatus::Status::High
2021-04-25 09:31:03.123 I cue.hid_dev_battery_controller: Set battery level to "VIRTUOSO SE" 60

Ambilight - Ambilight layer won't start on certain display config changed conditions

If a layer is configured with a specific resolution and Artemis is started with lower resolution (Example, in another display) layer won't start. The profile with the ambilight layer will also won't be loaded.

Steps to reproduce:

1.- Set a high resolution display as primary (or as unique display). I used a 4K tv.
2.- Create a Ambilight layer with 4K resolution boundaries.
3.- Close Artemis.
4.- Set another display with less resolution as primare (or as unique display). I used my PC display (2K).
5. Start artemis.

Demostration video: https://www.youtube.com/watch?v=qr_IbbeTTvM

What will happen. Ambilight layerbrush will try to create a CaptureZone using configured boundaries that are 4K but it will fail in the CaptureService because we are using only a 2K display.

Related to #61

Exception:

System.ArgumentException: x + width > Display width
at CaptureZone ScreenCapture.DX11ScreenCapture.RegisterCaptureZone(int x, int y, int width, int height, int downscaleLevel)
at CaptureZone Artemis.Plugins.LayerBrushes.Ambilight.ScreenCapture.AmbilightScreenCapture.RegisterCaptureZone(int x, int y, int width, int height, int downscaleLevel)
at void Artemis.Plugins.LayerBrushes.Ambilight.AmbilightLayerBrush.RecreateCaptureZone()
at void Artemis.Plugins.LayerBrushes.Ambilight.AmbilightLayerBrush.EnableLayerBrush()
at void Artemis.Core.LayerBrushes.PropertiesLayerBrush.InitializeProperties() in D:/Repos/Artemis/src/Artemis.Core/Plugins/LayerBrushes/Internal/PropertiesLayerBrush.cs:line 45
at void Artemis.Core.LayerBrushes.LayerBrush.Initialize() in D:/Repos/Artemis/src/Artemis.Core/Plugins/LayerBrushes/LayerBrush.cs:line 36
at void Artemis.Core.LayerBrushes.LayerBrushDescriptor.CreateInstance(Layer layer) in D:/Repos/Artemis/src/Artemis.Core/Plugins/LayerBrushes/LayerBrushDescriptor.cs:line 69
at void Artemis.Core.Layer.ActivateLayerBrush() in D:/Repos/Artemis/src/Artemis.Core/Models/Profile/Layer.cs:line 674
at void Artemis.Core.Layer.Initialize() in D:/Repos/Artemis/src/Artemis.Core/Models/Profile/Layer.cs:line 188
at new Artemis.Core.Layer(Profile profile, ProfileElement parent, LayerEntity layerEntity) in D:/Repos/Artemis/src/Artemis.Core/Models/Profile/Layer.cs:line 68
at void Artemis.Core.Folder.Load() in D:/Repos/Artemis/src/Artemis.Core/Models/Profile/Folder.cs:line 258
at new Artemis.Core.Folder(Profile profile, ProfileElement parent, FolderEntity folderEntity) in D:/Repos/Artemis/src/Artemis.Core/Models/Profile/Folder.cs:line 52
at void Artemis.Core.Folder.Load() in D:/Repos/Artemis/src/Artemis.Core/Models/Profile/Folder.cs:line 255
at new Artemis.Core.Folder(Profile profile, ProfileElement parent, FolderEntity folderEntity) in D:/Repos/Artemis/src/Artemis.Core/Models/Profile/Folder.cs:line 52
at void Artemis.Core.Profile.Load() in D:/Repos/Artemis/src/Artemis.Core/Models/Profile/Profile.cs:line 175
at new Artemis.Core.Profile(ProfileModule module, ProfileEntity profileEntity) in D:/Repos/Artemis/src/Artemis.Core/Models/Profile/Profile.cs:line 43
at async Task Artemis.Core.Services.ProfileService.ActivateProfileAnimated(ProfileDescriptor profileDescriptor) in D:/Repos/Artemis/src/Artemis.Core/Services/Storage/ProfileService.cs:line 139
at async Task Artemis.Core.Services.ProfileService.ActivateLastProfileAnimated(ProfileModule profileModule) in D:/Repos/Artemis/src/Artemis.Core/Services/Storage/ProfileService.cs:line 96
at async Task Artemis.Core.Services.ModuleService.ActivateModule(Module module) in D:/Repos/Artemis/src/Artemis.Core/Services/ModuleService.cs:line 54

Audio effekt not working

If I set the audio visualization as effect on the second layer I get the following error:

CSCore.CoreAudioAPI.CoreAudioAPIException: IAudioClient::Initialize caused an error: 0x88890008, "Unknown HRESULT".
   at void CSCore.SoundIn.WasapiCapture.InitializeInternal()
   at void CSCore.SoundIn.WasapiCapture.Initialize()
   at void Artemis.Plugins.LayerEffects.AudioVisualization.AudioCapture.CSCoreAudioInput.Initialize()
   at void Artemis.Plugins.LayerEffects.AudioVisualization.Services.AudioVisualizationService.Activate()
   at int Artemis.Plugins.LayerEffects.AudioVisualization.Services.AudioVisualizationService.RegisterUse()
   at void Artemis.Plugins.LayerEffects.AudioVisualization.AudioVisualizationEffect.EnableLayerEffect()
   at void Artemis.Core.LayerEffects.LayerEffect<T>.InitializeProperties() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/LayerEffects/LayerEffect.cs:line 43
   at void Artemis.Core.LayerEffects.LayerEffect<T>.Initialize() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/LayerEffects/LayerEffect.cs:line 48
   at void Artemis.Core.LayerEffects.LayerEffectDescriptor.CreateInstance(RenderProfileElement renderElement, LayerEffectEntity entity) in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/LayerEffects/LayerEffectDescriptor.cs:line 80
   at void Artemis.Core.RenderProfileElement.AddLayerEffect(LayerEffectDescriptor descriptor) in D:/a/1/s/Artemis/src/Artemis.Core/Models/Profile/RenderProfileElement.cs:line 244
   at async void Artemis.UI.Screens.ProfileEditor.LayerProperties.LayerEffects.EffectsViewModel.HandleSelectedLayerEffectChanged(object sender, PropertyChangedEventArgs e)+(?) => { } in D:/a/1/s/Artemis/src/Artemis.UI/Screens/ProfileEditor/LayerProperties/LayerEffects/EffectsViewModel.cs:line 72
   at void System.Threading.Tasks.Task.ThrowAsync(Exception exception, SynchronizationContext targetContext)+(object state) => { }
   at object System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, object args, int numArgs)
   at object System.Windows.Threading.ExceptionWrapper.TryCatchWhen(object source, Delegate callback, object args, int numArgs, Delegate catchHandler)

Asus Rog aura terminal. Problem with custom layouts.

Hi! I did few custom layouts for aura terminal (for each channel of device) and found these two problem (report about it in discord):

  1. After Artemis restart all device channels get the same layout (which loaded the last) and "channels" lose their position (all 5 have position of channel with the last loaded profile). Also Artemis doesn't save "device enable" checkbox state (the same behavior as for layouts).
  2. Sometimes some rog aura terminal channels doesn't work.

This all is via asus sdk.
Example with delete one custom layout (the same behavior as for adding layout)
1
2
After reboot:
3
Not working channels:
unknown

[Layout request]

Device info

Please head into Settings > Devices > Device Properties > INFO tab and provide the following information

Device name:
Logitech G512

Manufacturer:
Logitech

Type:
Keyboard

Default layout path: (click the copy buton to avoid any typos)
ANSI

LEDs

Next head into the LEDs tab, select the entire table with Ctrl+A followed by Ctrl+C and paste the result below
None

Device image

If possible please include a clear top-down marketing image of your device (like from a webshop or product page)
design-medium

Auss device provider slow

The Asus device provider is too slow after the last big update and I get the following error on every boot.

Artemis.Core.ArtemisPluginException: Plugin load timeout
   at void Artemis.Core.PluginFeature.SetEnabled(bool enable, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 176
   at void Artemis.Core.Services.PluginManagementService.EnablePluginFeature(PluginFeature pluginFeature, bool saveState, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Services/PluginManagementService.cs:line 586
   at void Artemis.Core.Services.PluginManagementService.EnablePlugin(Plugin plugin, bool saveState, bool ignorePluginLock) in D:/a/1/s/Artemis/src/Artemis.Core/Services/PluginManagementService.cs:line 406

DMX plugin heartbeat or keepalive option

DMX plugin need a hearbeat or keepalive feature because WLED will fallback to integrated modes if there is no Commnication with Artemis in a certain time (configurable in WLED with values between 1 and 65 seconds)

Percentage Brush to ignore empty space

I'd like to have a brush(?) where the movement is stepping fully over the keys, instead of slowly appearing.
So if I selected 10 vertical keys and my value is 25% the first 3 keys should be lit up, fully.
(In Germany we round up at .5, so just go with your desire or the round function you already have.)
Thats for example useful for percentage bars over the F-keys, cause of the different distance between the keys.

Would be nice to have an option with the current gradient to ignore empty spaces (or even keys?). That would make that whole new thing beneficial for the currently existing and new method (and easier to combine in your code I guess).

Alongside this, it would be nice to choose to have only the highest active keys lit up. In my previous example only the 3rd key would lit up.

For easy handling, it would be also awesome to have a "Max. Value", like what it is supposed to be 100%.
If my value is the "Time since last input" and I set 300 as max. value, my value of 300 would be 100%. But thats rather easy doable with the property bindings.

Failed to enable "Logitech Device Provider" pls help me T-T

System.AggregateException: One or more errors occurred. (RGB.NET threw exception: Failed to initialize Logitech-SDK.)
---> Artemis.Core.ArtemisPluginException: RGB.NET threw exception: Failed to initialize Logitech-SDK.
---> RGB.NET.Core.RGBDeviceException: Failed to initialize Logitech-SDK.
--- End of inner exception stack trace ---
at Artemis.Core.Services.RgbService.AddDeviceProvider(IRGBDeviceProvider deviceProvider) in D:\a\1\s\Artemis\src\Artemis.Core\Services\RgbService.cs:line 168
at Artemis.Plugins.Devices.Logitech.LogitechDeviceProvider.Enable() in D:\a\1\s\Artemis.Plugins\src\Devices\Artemis.Plugins.Devices.Logitech\LogitechDeviceProvider.cs:line 30
at Artemis.Core.PluginFeature.InternalEnable() in D:\a\1\s\Artemis\src\Artemis.Core\Plugins\PluginFeature.cs:line 187
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(TimeSpan timeout)
at Artemis.Core.PluginFeature.SetEnabled(Boolean enable, Boolean isAutoEnable) in D:\a\1\s\Artemis\src\Artemis.Core\Plugins\PluginFeature.cs:line 160
at Artemis.Core.Services.PluginManagementService.EnablePluginFeature(PluginFeature pluginFeature, Boolean saveState, Boolean isAutoEnable) in D:\a\1\s\Artemis\src\Artemis.Core\Services\PluginManagementService.cs:line 608
at Artemis.UI.Screens.Settings.Tabs.Plugins.PluginFeatureViewModel.b__34_0() in D:\a\1\s\Artemis\src\Artemis.UI\Screens\Settings\Tabs\Plugins\PluginFeatureViewModel.cs:line 162
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at Artemis.UI.Screens.Settings.Tabs.Plugins.PluginFeatureViewModel.UpdateEnabled(Boolean enable) in D:\a\1\s\Artemis\src\Artemis.UI\Screens\Settings\Tabs\Plugins\PluginFeatureViewModel.cs:line 162

Razer - Add Blackwidow v3

Found 4 Razer device(s)
Found Razer device Razer BlackWidow V3 Pro with PID 0x25C
Found Razer device Razer Naga Trinity with PID 0x67
Found Razer device Razer BlackWidow V3 Pro with PID 0x25A
Found Razer device null with PID 0x306

Feature Request: Chromecast Integration

This might be a really weird request - especially as I don't think the Chromecast really even does what I'm looking for.

Summary: It would be awesome if the color schemes for all my devices (Currently an RGB keyboard, mouse and hue lighting) could also be synced up with a background color on the Chromecast.

I know that Chromecast doesn't really even offer plain color background support. But it seems like it could be done with custom, solid-color background images in a custom gallery.

How possible would it be for the Chromecast to be recognized by Artemis, a custom solid-color background gallery supplied by Artemis, and then the background of the Chromecast on the screen kept in sync with whatever color settings were currently in use by the other RGB devices.
Not really hoping for anything too complex like multi-color recognition. Moreso, if I have everything setup to be blue, the Chromecast TV background could go blue. etc.etc.

Apologies if the formatting of this request isn't correct, or if this isn't the right location for it.

Corsair SP RGB Pro Fans Not Found

Corsair SP RGB Pro fans still not working correctly in Artemis using iCUE 4.x. They do however show up correctly and work fine when I roll back to the last iCUE 3.x version. The invalid strips that are in Artemis have the correct number of LEDs, so I tried applying the SP Pro layout to them manually from the Corsair folder in Artemis, but then Artemis stopped applying any colors or effects to them all together.
SP120er

Also including pictures from iCUE 3.x and 4.x. In 3, you can see that the 8 led SP fans are lumped together in one selection, but in iCUE4, you open an 8 led drop down and then they are separated into two groups. Maybe that has something to do with it.
icue3sp
icue4sp

OpenRgb Plugin. Index was outside the bounds of the array.

System.AggregateException: One or more errors occurred. (Index was outside the bounds of the array.)
   at bool System.Threading.Tasks.Task.Wait(int millisecondsTimeout, CancellationToken cancellationToken) x 2
   at void Artemis.Core.PluginFeature.SetEnabled(bool enable, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 174
   at void Artemis.Core.Services.PluginManagementService.EnablePluginFeature(PluginFeature pluginFeature, bool saveState, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Services/PluginManagementService.cs:line 578
   at Task Artemis.UI.Screens.Settings.Tabs.Plugins.PluginFeatureViewModel.UpdateEnabled(bool enable)+() => { } in D:/a/1/s/Artemis/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginFeatureViewModel.cs:line 123
   at async Task Artemis.UI.Screens.Settings.Tabs.Plugins.PluginFeatureViewModel.UpdateEnabled(bool enable) in D:/a/1/s/Artemis/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginFeatureViewModel.cs:line 123 ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at void RGB.NET.Core.AbstractRGBDeviceProvider.Throw(Exception ex) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 106
   at bool RGB.NET.Core.AbstractRGBDeviceProvider.Initialize(RGBDeviceType loadFilter, bool throwExceptions) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 60
   at void Artemis.Core.Services.RgbService.AddDeviceProvider(IRGBDeviceProvider deviceProvider) in D:/a/1/s/Artemis/src/Artemis.Core/Services/RgbService.cs:line 151
   at void Artemis.Plugins.Devices.OpenRGB.OpenRGBDeviceProvider.Enable()
   at void Artemis.Core.PluginFeature.InternalEnable() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 200
   at void System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref Task currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace --- ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at void RGB.NET.Core.AbstractRGBDeviceProvider.Throw(Exception ex) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 106
   at bool RGB.NET.Core.AbstractRGBDeviceProvider.Initialize(RGBDeviceType loadFilter, bool throwExceptions) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 60
   at void Artemis.Core.Services.RgbService.AddDeviceProvider(IRGBDeviceProvider deviceProvider) in D:/a/1/s/Artemis/src/Artemis.Core/Services/RgbService.cs:line 151
   at void Artemis.Plugins.Devices.OpenRGB.OpenRGBDeviceProvider.Enable()
   at void Artemis.Core.PluginFeature.InternalEnable() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 200
   at void System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref Task currentTaskSlot, Thread threadPoolThread)
   --- End of inner exception stack trace ---

NAudio not working

The NAudio solutions is directly crashing with my setup. The old audio driver with the fix from @Cheerpipe was the working.

System.Runtime.InteropServices.COMException: Klasse nicht registriert

   at void System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(int errorCode)
   at void NAudio.CoreAudioApi.WasapiCapture.InitializeCaptureDevice()
   at void NAudio.CoreAudioApi.WasapiCapture.StartRecording()
   at void Artemis.Plugins.LayerEffects.AudioVisualization.Services.AudioVisualizationService.Activate()
   at int Artemis.Plugins.LayerEffects.AudioVisualization.Services.AudioVisualizationService.RegisterUse()
   at void Artemis.Plugins.LayerEffects.AudioVisualization.AudioVisualizationEffect.EnableLayerEffect()
   at void Artemis.Core.LayerEffects.LayerEffect<T>.InitializeProperties() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/LayerEffects/LayerEffect.cs:line 43
   at void Artemis.Core.LayerEffects.LayerEffect<T>.Initialize() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/LayerEffects/LayerEffect.cs:line 48
   at void Artemis.Core.LayerEffects.LayerEffectDescriptor.CreateInstance(RenderProfileElement renderElement, LayerEffectEntity entity) in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/LayerEffects/LayerEffectDescriptor.cs:line 80
   at void Artemis.Core.RenderProfileElement.AddLayerEffect(LayerEffectDescriptor descriptor) in D:/a/1/s/Artemis/src/Artemis.Core/Models/Profile/RenderProfileElement.cs:line 244
   at async void Artemis.UI.Screens.ProfileEditor.LayerProperties.LayerEffects.EffectsViewModel.HandleSelectedLayerEffectChanged(object sender, PropertyChangedEventArgs e)+(?) => { } in D:/a/1/s/Artemis/src/Artemis.UI/Screens/ProfileEditor/LayerProperties/LayerEffects/EffectsViewModel.cs:line 72
   at void System.Threading.Tasks.Task.ThrowAsync(Exception exception, SynchronizationContext targetContext)+(object state) => { }
   at object System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, object args, int numArgs)
   at object System.Windows.Threading.ExceptionWrapper.TryCatchWhen(object source, Delegate callback, object args, int numArgs, Delegate catchHandler)

Ambilight - Handle monitor removal

1.- Set windows display config to Extended (this will expose two displays to the ambilight capture layer).
2.- Select the secondary screen as the source to one ambilight layer.
3.- Close Artemis windows.
4.- Ambilight will work nice capturing the secondary screen.
5.- Set windows display config to Internal.
6.- Ambilight will try to start in a display with index 1? but will fail because there is only one display now with index 0?

Error when trying to enable ASUS Devices plugin

I get this error when trying to enable ASUS Devices plugin using the latest with a fresh install Artemis Core version 2.0-a21f1a, build 20210609.1

Exception:

System.AggregateException: One or more errors occurred. (RGB.NET threw exception: Retrieving the COM class factory for component with CLSID {05921124-5057-483E-A037-E9497B523590} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).)
   at bool System.Threading.Tasks.Task.Wait(int millisecondsTimeout, CancellationToken cancellationToken) x 2
   at void Artemis.Core.PluginFeature.SetEnabled(bool enable, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 164
   at void Artemis.Core.Services.PluginManagementService.EnablePluginFeature(PluginFeature pluginFeature, bool saveState, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Services/PluginManagementService.cs:line 613 ---> Artemis.Core.ArtemisPluginException: RGB.NET threw exception: Retrieving the COM class factory for component with CLSID {05921124-5057-483E-A037-E9497B523590} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
   at void Artemis.Core.Services.RgbService.AddDeviceProvider(IRGBDeviceProvider deviceProvider) in D:/a/1/s/Artemis/src/Artemis.Core/Services/RgbService.cs:line 167
   at void Artemis.Core.PluginFeature.InternalEnable() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 190
   at void System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref Task currentTaskSlot, Thread threadPoolThread) ---> System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {05921124-5057-483E-A037-E9497B523590} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
   at void RGB.NET.Devices.Asus.AsusDeviceProvider.InitializeSDK()
   at bool RGB.NET.Core.AbstractRGBDeviceProvider.Initialize(RGBDeviceType loadFilter, bool throwExceptions) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 50
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace --- ---> Artemis.Core.ArtemisPluginException: RGB.NET threw exception: Retrieving the COM class factory for component with CLSID {05921124-5057-483E-A037-E9497B523590} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
   at void Artemis.Core.Services.RgbService.AddDeviceProvider(IRGBDeviceProvider deviceProvider) in D:/a/1/s/Artemis/src/Artemis.Core/Services/RgbService.cs:line 167
   at void Artemis.Core.PluginFeature.InternalEnable() in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 190
   at void System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref Task currentTaskSlot, Thread threadPoolThread) ---> System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {05921124-5057-483E-A037-E9497B523590} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
   at void RGB.NET.Devices.Asus.AsusDeviceProvider.InitializeSDK()
   at bool RGB.NET.Core.AbstractRGBDeviceProvider.Initialize(RGBDeviceType loadFilter, bool throwExceptions) in D:/a/1/s/RGB.NET/RGB.NET.Core/Devices/AbstractRGBDeviceProvider.cs:line 50
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---

DMX Plugin not loading properly

I get this error from the DMX plugin

Artemis.Core.ArtemisPluginException: Plugin load timeout
   at void Artemis.Core.PluginFeature.SetEnabled(bool enable, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Plugins/PluginFeature.cs:line 166
   at void Artemis.Core.Services.PluginManagementService.EnablePluginFeature(PluginFeature pluginFeature, bool saveState, bool isAutoEnable) in D:/a/1/s/Artemis/src/Artemis.Core/Services/PluginManagementService.cs:line 611

Razer BlackWidow Elite not working anymore

Out of a sudden, my Razer device doesn't work anymore. It is detected by Artemis, it is working in Chroma Studio. But it is not identifiable in Artemis and shows up in Surface-Editor with a red dot next to it. The logs don't show any promising error:

2021-04-04 08:51:04.006 [INF] [Artemis.Core.Services.CoreService] Initializing Artemis Core version 1.0-5bb4bc, build 20210331.1 branch refs/heads/master.
2021-04-04 08:51:04.023 [INF] [Artemis.Core.Services.CoreService] Startup arguments: []
2021-04-04 08:51:04.023 [INF] [Artemis.Core.Services.CoreService] Elevated permissions: false
2021-04-04 08:51:04.023 [INF] [Artemis.Core.Services.CoreService] Setting logging level to "Debug"
2021-04-04 08:51:04.024 [DBG] [Artemis.Core.Services.CoreService] Forcing plugins to use HidSharp 2.1.0.0
2021-04-04 08:51:04.563 [DBG] [Artemis.Core.Services.PluginManagementService] Loaded 23 plugin(s)
2021-04-04 08:51:04.678 [WRN] [Artemis.Core.Services.RgbService] Device provider DebugDeviceProvider has no devices
2021-04-04 08:51:05.025 [DBG] [Artemis.Core.Services.RgbService] Device provider RazerDeviceProvider added Razer BlackWidow Elite
2021-04-04 08:51:05.027 [DBG] [Artemis.Plugins.Devices.Razer.RazerDeviceProvider] Found 1 Razer device(s)
2021-04-04 08:51:05.030 [DBG] [Artemis.Plugins.Devices.Razer.RazerDeviceProvider] Found Razer device Razer BlackWidow Elite with PID 0x228
2021-04-04 08:51:05.143 [DBG] [Artemis.Core.Services.PluginManagementService] Enabled 21 plugin(s)
2021-04-04 08:51:05.154 [DBG] [Artemis.Core.Services.RgbService] Creating SKTexture with graphics context VulkanContext
2021-04-04 08:51:05.462 [INF] [Artemis.UI.Services.UpdateService] Checking for updates
2021-04-04 08:51:05.914 [INF] [Artemis.UI.Services.UpdateService] Latest build is 20210331.1, we're running 20210331.1

The only thing the keyboard does is doing it's color loop. Where can I even start looking for a problem? I have reinstalled Synapse and Artemis multiple times, I alsow tried it with the SDK-only installation.

MSI Motherboard Device Provider - RGB.NET initialises with Code -3 (not found or supported)

I encountered this code when trying to set up Artemis to sync my GPU (ROG Strix 3070) with my motherboard (MSI X570-A Pro) lighting. Trying to activate the MSI plugin gives me the -3 initialisation code. I have posted more details on RGB.NET's issue board, but am putting this issue here in case this is not necessarily only a problem with their library.

I have got Mystic Light installed and set up, and it works fine in Dragon Center. Is there some specific required version that I need? I'd assume that the latest version would be supported but the error code seems to suggest otherwise. Alternatively is there a way to point Artemis/RGB.NET to the correct place to find Mystic Light?

Feature Request: PID For Razer Addressable RGB controller

I'm hoping for Artemis to recognize and manipulate the Razer Addressable RGB Controller, it was identified in the logs by this line:

"Found Razer device Razer Chroma Addressable RGB Controller with PID 0xF1F"

But does not respond to any commands.

BUG - LEDs Flickering After Most Recent Update

I have LEDs connected to a Razer Chroma Addressable RGB device. After the update, the LEDs continually flicker. It was working fine prior to the update.

UPDATE 1 - when I disable/close Razer Central, the flickering stops. Seems like there is a conflict between Artemis and Razer Central.

UPDATE 2 - re-installed RAZER and issue is now resolved.

Updated Corsair Pump Layout

Hi,

I've recently installed and started using Artemis and I'm very impressed ๐Ÿ˜.

I've created a new layout for the Corsair H100i Pump and I wondered if you were open to a PR to include it?

Rather than a single LED, this layout includes all 16 LEDs in the correct locations (I believe) and therefore allows me to customise the lighting in the "ring" around the outside of the pump as well as the 4 LEDs in the middle. I believe the existing layout (for the H115i) includes just a single LED.

I'm more than happy to create a PR, but if you want to see it then I've created a very simple repo here: https://github.com/phoenixx/artemis.plugins.corsair.pump.

Ambilight - Display list not updating on display settings change

UI (and CaptureScreen internal) display list don't update if windows settings changed.

Steps to reproduce:

  1. Set Windows to Primary display only.
  2. Start artemis.
  3. Create an Ambilight layer and go to their settings UI.
  4. It will show one display adapter and it is ok.
  5. Set Windows Display Settings to extended (with two or more screens).
  6. Go to the recently created Ambilight layer settings UI.
  7. It still will show only one screen and it is Not OK.
  8. Close ambilight settings UI.
  9. Set windows display settings to Secondary only.
  10. Go to the recently created Ambilight layer settings UI.
  11. It will still show one display. If the secondary display has different resolution than primary display, UI will still show primary display resolution.

The above problem happen becase the Factory object used by the ScreenCaptureService has to be created again in every display settings change, otherwise it will report a outdated display config if it changed.

References:

https://docs.microsoft.com/en-us/windows/win32/api/dxgi/nf-dxgi-idxgifactory1-enumadapters1

When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the IDXGIFactory1 object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.

Related to #60

Failed to enable Corsair Device Provider

I was trying to enable the corsair device provider and got these errors from the log:
---> RGB.NET.Devices.Corsair.CUEException: Error in the application. --- End of inner exception stack trace ---
Artemis.Core.ArtemisPluginException: RGB.NET threw exception: Error in the application. ---> RGB.NET.Devices.Corsair.CUEException: Error in the application.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.