DisplayMagician/DisplayMagicianShared
Terry MacDonald 22ae2bc178 Fixed multiple adapters and unsupported HDR parsing
Now supports multiple display adapters. Has been tested by @matthex with his 7 screens and 2 display adapters and works. Should fix #60 finally.

Also changed the way that cloned display configurations are patched. Was using the HDR structure previously as that contains a direct mapping, but of course it completely breaks if HDR information isn't supported by the monitor, or provided over the connection technology used. So the changes I made now use the display path priority order to figure out which cloned monitor belongs to which item.

Firstly, the UID's are pulled from the physical displays so that we have a list of them. We then go through the paths, and for each target we check if there is a matching physical UID. If there is NOT a matching physical ID, then it is a cloned display target. We store that for later.

Next, we go through the paths again, and we figure out which physical displays are NOT in use as display targets. When we have that list, we then map the left over physical displays to the cloned displays in path priority order.

Finally, we then go through each cloned display target in the paths array, and set it to the configuration that windows needs so it will make a cloned display. We also go through the modes array, and set the physical display id to the corresponding mapped physical UID we calculated earlier.

All of this results in Windows accepting the cloned display configuration as expected.
2021-12-12 09:23:24 +13:00
..
AMD Updated NVIDIA, AMD and Windows Video libraries 2021-11-13 15:06:54 +13:00
NVIDIA Updated NVIDIA Library and WinLibrary based on testing 2021-11-19 22:20:43 +13:00
Properties Updated to v2.1.1.1 2021-11-23 21:34:15 +13:00
Resources [WIP] First working WiX installer 2020-12-20 20:42:04 +13:00
UserControls Changing spacing 2021-10-28 21:15:06 +13:00
Windows Fixed multiple adapters and unsupported HDR parsing 2021-12-12 09:23:24 +13:00
DisplayMagicianShared.csproj Bump NLog from 4.7.12 to 4.7.13 2021-12-06 08:24:45 +00:00
DisplayMagicianStartupAction.cs [WIP] First working WiX installer 2020-12-20 20:42:04 +13:00
PixelShift.cs [WIP] First working WiX installer 2020-12-20 20:42:04 +13:00
ProfileIcon.cs Fixed screen drawing for icons and forms 2021-09-01 22:13:22 +12:00
ProfileItem.cs Updated WinLibrary to latest version 2021-12-11 00:15:49 +13:00
ProfileRepository.cs Attempted to reduce the number of video card library calls 2021-10-31 12:50:57 +13:00
ResizeDrawing.cs [WIP] First working WiX installer 2020-12-20 20:42:04 +13:00
Rotation.cs [WIP] First working WiX installer 2020-12-20 20:42:04 +13:00
Scaling.cs [WIP] First working WiX installer 2020-12-20 20:42:04 +13:00
ScanLineOrdering.cs [WIP] First working WiX installer 2020-12-20 20:42:04 +13:00
SharedLogger.cs Library include cleanup 2021-02-21 20:23:41 +13:00
ShellUtils.cs Updated toast notification to work from zip install 2021-12-03 10:38:29 +13:00
Wallpaper.cs First working display background per profile 2021-09-02 10:42:26 +12:00