Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
Cheerpipe opened this issue May 9, 2021 · 0 comments

Comments

@Cheerpipe
Copy link
Contributor

Cheerpipe commented 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

@Cheerpipe Cheerpipe changed the title Ambilight - Ambilight layer won Ambilight - Ambilight layer won't start on certain display config changed conditions May 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants