Commit Graph

1117 Commits

Author SHA1 Message Date
Terry MacDonald
65cca02e5d [WIP] Partially working image selection
Need to handle situation when image is null.
2021-11-04 21:25:31 +13:00
Terry MacDonald
0926aa723d Moved game bitmap parsing to GameLibrary
'Tis a better place for it to live.
2021-11-03 08:34:16 +13:00
Terry MacDonald
e33961645c Partially completed stop program form 2021-11-02 23:08:08 +13:00
Terry MacDonald
6febe82c2f Additional stop program settings. 2021-11-02 22:54:34 +13:00
Terry MacDonald
fb482030e2 Added first part of adding a command to run afterwards
This is the basic first part of #48, only to provide basic functionality that may be useful to people. This is not a common occurance, so will allow people to run a program or powershell script if they need to do something unusual. This at least gives them a mechanism to do so.
2021-11-02 22:40:53 +13:00
Terry MacDonald
634b17c7f2 Partially implemented user selecting bitmap icon
Based on an idea from @erbkaiser, I'm implementing a process to allow the user to select the best image in the list of images extracted from icons, and allowing the user to choose the best one if they want. The idea is that DisplayMagician will try to pick the best image to use, but in the case that it gets's it wrong, theuser will be able to override it so that the nicest images/icons are used for their games!
2021-11-02 22:23:49 +13:00
Terry MacDonald
19a2caa188 Fully working manu icon override 2021-11-01 22:02:50 +13:00
Terry MacDonald
e3d78d3dc1 Fixed saving shortcut icon 2021-11-01 21:48:40 +13:00
Terry MacDonald
bd0f3484bb Working user added icons 2021-11-01 21:20:22 +13:00
Terry MacDonald
f1023df478 Initial manual shortcut implementation 2021-11-01 20:57:16 +13:00
Terry MacDonald
ecb3acad0e Updated build 2021-11-01 08:37:50 +13:00
Terry MacDonald
275adbeda6 Found longstanding dual game load issue
Should stop the double loading of games once and for all.
2021-10-31 20:47:46 +13:00
Terry MacDonald
2da00a55ec Fixed auto start functionality
DM wasn't autstarting when the checkbox on the MainForm was started. It wasn't correctly enabling the setting. It now does.
2021-10-31 16:22:21 +13:00
Terry MacDonald
f72fc6feea Attempted to reduce the number of video card library calls
Found some calls that were bypassing the video library state buffering I'd put in place earlier. This should generally make DisplayMagician faster and minimise the number of log entries written to DisplayMagician.log.
2021-10-31 12:50:57 +13:00
Terry MacDonald
dfe07ae521 Added list of additional help and sponsors
I am so lucky to have such amazing users who take time out of their lives to make DisplayMagician better and better. Thank you to all my helpers and sponsors!
2021-10-31 10:54:09 +13:00
Terry MacDonald
d6887e53e6 Updated right-click menu tp bold the active display
This should help remove confusion.
2021-10-31 10:24:27 +13:00
Terry MacDonald
1965ef714f Wrapped try statements around programToStop
If a program starts, and then runs another app and then closes itself, then there is a real possibility that the processToStop logic will fail while trying to handle this process. This code now has 3 try/catch statements around it to try and catch this in a friendly way. This should also highlight any issues with the logic and hopefully make it better.
2021-10-31 10:11:14 +13:00
Terry MacDonald
613283da41 Temporarily force DisplayMagician to wait for games to load
This is a test to see if this fixes the missing Steam games in large Steam libraries issue (#49).
2021-10-31 10:00:57 +13:00
Terry MacDonald
340e1a6db0 Added additional places to refresh notification icons
This should hopefully cover all the instances of when we need to update the notification icons to refresh the correct profiles and game shortcuts.
2021-10-31 09:50:34 +13:00
Terry MacDonald
b7a03c1a61 Update the right-click icon menu more consistently
This should ensure that the shortcut and profile menus available from right click of the DisplayMagician system tray icon are updated more reliably. They should apply properly now.
2021-10-31 09:27:20 +13:00
Terry MacDonald
1ef9e5b818 Made some changes to allow more statuses as ok
Added all of the OK ADL statuses to be considered as successful. Should minimise the chances of things going wrong if there is a little issue like the display driver being busy, or if the display is fine but needs to wait for the next modeset.
2021-10-30 20:43:47 +13:00
Terry MacDonald
5f266aacbb Improved loading speed by skipping game loading in certain instances
No longer attempt to load games in profile reload, and in create profile. Need it for all other modes, but at least those two load quicker now!
2021-10-30 20:05:44 +13:00
Terry MacDonald
9cdb1cb3f2 Adjusted MainForm logic so it loads top most window
Now that we load a splashscreen, I've had to adjust the MainForm window display logic so that it goes to the topmost window when the user requests it to. This is much easier to use.
2021-10-30 19:38:21 +13:00
Terry MacDonald
913cf34d72 Made splashscreen settable
Partially fixes #49
2021-10-30 19:21:25 +13:00
Terry MacDonald
0d6536e7fe Splash screen to inform user when program starting
This is designed to inform the user that DisplayMagician is starting. Partially fixes #49.
2021-10-30 19:01:03 +13:00
Terry MacDonald
bb524749b5 Update right-click menu as soon as changes made
Partially fixes #49
2021-10-30 17:39:17 +13:00
Terry MacDonald
a8a27bddde Found CTD error with long game library names
Incorrect logic when checking long file names which restuled in text loneer than the 64 character limit for the notification icon. Partially fixes #49
2021-10-30 17:11:24 +13:00
Terry MacDonald
b44bc3f269 Updated incorrect error message 2021-10-29 22:36:12 +13:00
Terry MacDonald
cc125b6601 Add an extra layer of library protection
Stopping unneeded AMD calls in NVIDIA mode, and NVIDIA calls in AMD mode.
2021-10-29 22:10:29 +13:00
Terry MacDonald
42760c82c3 Updated Readme to reflect DP/HDMI requirement
DisplayMagician at the moment requires DispalayPort or HDMI connectivity to enable it's full functionality. This is due to the EDID DisplayMagician uses as part of display identifiers as well as
2021-10-29 08:58:50 +13:00
Terry MacDonald
9c2c8bd257 Changing spacing 2021-10-28 21:15:06 +13:00
Terry MacDonald
3ea0ff479b Updated screen drawing so surround displays work with additional screens
The display logic now works when both NVIDIA surround and normal windows are both being used at the same time.
2021-10-28 20:57:16 +13:00
Terry MacDonald
0b759ce378 Updated WinLibrary to latest version 2021-10-28 09:26:44 +13:00
Terry MacDonald
643daeae49 Loosened GDI matching a bit more 2021-10-26 21:26:23 +13:00
Terry MacDonald
5743cd377b Fixed bug in ApplyingProfile caused by new profile buffering
As I'd changed the profile config to buffer it within the libraries themselves, ApplyProfile wasn't telling the libraries to update their config. Therefore they thought they were still on the original display config, and that meant that ApplyProfile didn't revert the profile after the application had closed. This is now fixed.
2021-10-26 21:19:48 +13:00
Terry MacDonald
6d25635846 Added ability to generate Support ZIP from settings screen 2021-10-26 20:56:28 +13:00
Terry MacDonald
0434113e4b [WIP] Partial support package creation button
Adding button to create support package ZIP file to make troubleshooting easier.
2021-10-25 21:36:33 +13:00
Terry MacDonald
0e0195e3a1 Preaparation for a popup window if loading takes too long 2021-10-25 20:45:21 +13:00
Terry MacDonald
d54328ceef Loosened GDI matching for updated GDI usage
As we now only copy across some of the GDI display settings, we aren't able to have really tight matching on the GDI part of the Windows display profiles. For this reason, I loosened off the Equals test so that it would match on the functions that we change within DisplayMagician. The profile matching now works correctly.
2021-10-25 19:18:46 +13:00
Terry MacDonald
ff83331f4d Updated version 2021-10-25 16:02:26 +13:00
Terry MacDonald
c42b53843b Updated WinLibrary to use patched current Display Settings
This is needed to stop the GDI settings from overwriting the display layout. This appears to fix all display issues!
2021-10-25 16:01:33 +13:00
Terry MacDonald
1faa8ecc5b Updated AMDLibrary and WinLibrary to latest versions
AMDLibrary had an error that caused issues due to a missing call to get a valid default config. WinLibrary had an issue where it wasn't applying the GDIDisplaySettings correctly after a reboot. This has now been fixed.
2021-10-25 15:19:02 +13:00
Terry MacDonald
6ea32a44ab Updated Assembly build 2021-10-24 21:41:34 +13:00
Terry MacDonald
6e35825b10 Update ProfileRepository 2021-10-24 21:39:49 +13:00
Terry MacDonald
51b03c7c1c Fixed issue updating the current display profile
The profile updating logic wouldn't work with the new way of buffering the display config, which means that when swapping back to DisplayMagician after updating the display layout wouldn't automatically update the display profile. Now, it forces this.
2021-10-24 21:34:43 +13:00
Terry MacDonald
419969ad5f Changed profile detection
Changed Profiles to use new methods for profiles detection provided by the new video card library updates for NVIDIALibrary, AMDLibrary and WinLibrary. This should make DisplayMagician faster as there is less repetition.
2021-10-24 21:29:53 +13:00
Terry MacDonald
e321893876 Updated WinLibrary, AMDLibrary and NVIDIALibrary to v1.2.1
This integrates all the library enhancements that I've been working on for the last 2 weeks into DisplayMagician. This fixes $47, #46 and possibly others.
2021-10-24 21:06:59 +13:00
Terry MacDonald
ab7eb4687c Update warning message to include 2.0 to 2.1 upgrade
Unfortunately with the number of DisplayProfile changes I've had to make I am going to have to force people to recreate their DisplayProfiles again :(. This is neeed so that I can support cloned displays and HDR and basic colour settings. This has all taken a lot of working out, but I can't convert the old DisplayProfiles format to the new one as there is just too much missing data in there.
2021-10-23 15:39:12 +13:00
Terry MacDonald
707c43375d Changed DisplayProfile file location to DisplayProfiles_2.1.json
There have been such large changes with v2.1.0 that I've had to move to a new file display profile format again :(. I'm really hopeful this will be the last time, as it seems to cope with all the different display layouts, colour settings, hdr etc.
2021-10-23 15:30:20 +13:00
Terry MacDonald
76fba0d2ef Updated WinLibrary to support cloned displays 2021-10-23 15:24:32 +13:00