You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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
The text was updated successfully, but these errors were encountered:
Cheerpipe
changed the title
Ambilight - Ambilight layer won
Ambilight - Ambilight layer won't start on certain display config changed conditions
May 9, 2021
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
The text was updated successfully, but these errors were encountered: