DisplayMagician: Automate display/audio/apps and run a game with a single desktop shortcut (free)

Discussion in 'Sim Racing Hardware' started by terrymac, Mar 17, 2021.

  1. terrymac

    terrymac

    Messages:
    6
    Hi!

    Do some of your games require that you use your triple monitors individually, yet other games require you use a single NVIDIA Surround screen? Do you get as frustrated as I do with having to modify your display settings when changing from one game to another?

    Well I do! Or I did.

    That's why I developed the free and open source DisplayMagician. I wanted to click a single desktop shortcut, and have DisplayMagician do the following for me:
    • Change my display settings to what the game needs (and change it back when done)
    • Change my audio speaker settings to what the game needs (and change it back when done)
    • Change my microphone settings to what the game needs (and change it back when done)
    • Start up up to 4 applications BEFORE it starts the game (e.g. SimHub, CrewChief)
    • Wait patiently while I play my game
    • Revert everything back to the way it was automatically when I exit my game!
    And that's what I built. I started with the incredible HeliosDisplayManagement software by Soroush Falahati, and then spent the next year developing new features and making something that would be easy to use, yet hide itself away when you didn't need it.

    DOWNLOAD DISPLAY MAGICIAN NOW!
    (free to use and open source code)

    DisplayMagicianMainScreen.png

    I'd really love the communities feedback. I've written this to scratch a programming itch I've had for a while, and to make my simracing life easier. I'm a big believer in letting software do the work for you, so I hope at least some of you find this useful!

    To use:
    • Download and install ‘DisplayMagician’.
    • Run ‘DisplayMagician’, and click on the ‘Display Profiles’ button
    • Use ‘Windows Display Settings’ or ‘NVIDIA Control Panel’ to configure your display(s) exactly as you would like them (AMD EyeFinity is NOT currently supported).
    • ALT-TAB back to DisplayMagician, and you should see the new display configuration shown in the Display Profile window.
    • Click the ‘Save As/Rename’ button so that DisplayMagician will remember the current Display Profile so you can use it in your Shortcuts. You will need to do this for each different display configuration you want to use in any of your games or applications.
    • Click ‘Back’ button to go back to the Main DisplayMagician window.
    • Now that you have some Display Profiles set up, you can create some shortcuts that will use them!
    • Click on the ‘Game Shortcuts’ button.
    • You will be shown your Shortcut Library window. This is where all your Shortcuts live, and where you have to go if you every want to edit them. Click the ‘New’ button to create a new Shortcut
    • Choose the Display Profile you want to use with the Shortcut. Make sure it matches what you want the game to use.
    • Click on the ‘2. Choose Audio’ tab and select any audio changes that you would like to set for this shortcut.
    • Click on the ‘3. Choose what happens before’ tab to choose up to 4 applications that you would like to be started before the main game or application.
    • Click on the ‘4. Choose Game to start’ tab, to choose the main game or application that the Shortcut will start up and then monitor. DisplayMagician will then pause until you close the main game or application.
    • Choose the Game from the list shown (be sure to click the > button), or if it’s not listed there then select the game or application executable. You can also choose to not start anything if you want to permanently change to a different display profile.
    • Click on the ‘5. Chose what happens afterwards’ tab, and choose if you want to rollback any display changes you make while starting the game, or if you want to keep them. If the ‘auto-suggest name’ option is enabled then a Shortcut Name will be entered in automatically for you. Feel free to change the name if it's not quite right.
    • Once you're ready, click the ‘Save’ button to save the Shortcut to the Shortcut Library. If you can only see the outline of a button rather than the word Save, then the shortcut isn't valid yet. You probably have some missing fields you need to fill in. The Save button only shows if you have a valid Shortcut set up. The minimum requirement is to select a Display Profile, and select a main game or application.
    • Once you’ve saved the Short cut, it should appear in the Shortcut Library.
    • To create a Desktop shortcut file from your Shortcut, select the Shortcut from the list in your Shortcut Library, and click the ‘Save to Desktop’ button. This will then write the Shortcut to your computer, ready to use!
      DisplayMagicianShortcutOnDesktop.png

    You can now double-click on the Desktop shortcut you just saved, and DisplayMagician will do exactly what you asked it to!

    It also comes with a Desktop Background menu that allows you to change your display profiles with a single click:

    DisplayMagicianShellExtension.png

    If you find this useful, let me know. I'd love to hear what you think of it, or if there are any features I can improve or add to make your lives easier!


    Thanks

    Terry


    More screenshots:

    DisplayMagicianDisplayProfiles.png

    DisplayMagicianShortcutLibrary.png

    DisplayMagicianConfigureShortcut1.png

    DisplayMagicianConfigureShortcut2.png

    DisplayMagicianConfigureShortcut3.png

    DisplayMagicianConfigureShortcut4.png

    DisplayMagicianConfigureShortcut5.png

    DisplayMagicianSettings.png
     

    Attached Files:

    Last edited: Apr 10, 2021
  2. terrymac

    terrymac

    Messages:
    6
    DisplayMagician v1.0.6 released!

    This release is just for bugfixing.

    The bug was a couple of missed Origin Library references which caused errors detecting, creating and loading Origin Games (thanks @ngoetje for helping). Now fixed, and should stop any game loading issues.

    I took the opportunity to make the running of game shortcuts much more reliable. It has multiple checks to make sure both the game library and game itself are running before going into monitoring mode, and it also has some error checking to handle it when things don't run when they are supposed to. It also reports any issues to the end user through notification toasts so you should get more visibility into what is happening.

    I also added a LOT more logging into the Origin Library code, so it will now be able to help me troubleshoot remotely if you put the DisplayMagician logging mode into 'Full Application Trace' mode, and restart the application.

    Also as an FYI, NVIDIA has released new 466.27 drivers. I'm hoping they correct the faulty 466.11 driver that didn't correctly get hardware information from the NVIDIA RTX 2080Ti video cards, and that everything returns to normal. I reported the issue to NVIDIA in the hope they'd produce a fix. Let's see.

    If NVIDIA have fixed the NVIDIA 466.27 driver , then you will need to perform the following steps to fix your Display Profiles so they work again:

    - Delete the old Display Profiles
    - Recreate each DisplayProfile again from scratch
    - Go through each of your Game Shortcuts to use one of the newly created Display Profiles.

    Unfortunately that's the only way to regenerate the DisplayProfileIdentifiers and make everything match up again :(. Thanks NVIDIA.

    v1.0.6 RELEASE NOTES:

    Fixed: Missed Origin Library references which caused errors detecting, creating and loading Origin Games (thanks @ngoetje for helping)
    Changed: Made the game shortcut execution and game monitoring more reliable. Handles missing alternative executables properly now.
    Added: Lots more logging in the Origin Library.

    v1.0.5 RELEASE NOTES:
    Fixed: DisplayMagician workaround to work with broken NVIDIA 466.11 driver for RTX 2080Ti video cards. Thanks to @m0ellemeister
    Fixed: Display Profile and audio/microphone weren't being left as is when the user asked them to be
    Changed: Massive refactor of GameLibrary and Game code to make it easier to add new GameLibraries
    Changed: Standardised the Game running logic as much as possible to make it more reliable
    Added: Origin/EA Game Library support
    Added: Can specify alternative executable to monitor for games run through game library
    Added: Can open Main application window by doubleclicking the sytem tray/notification icon
    Changed: Clicking on the 'Start DisplayMagician minimised in notification area when computer starts' checkbox now sets the minimise setting and the start on boot setting all in one go.

    v1.0.4 RELEASE NOTES:

    Fixed: Both Steam and Uplay library logic would error when the library was installed, but didn't have any installed games. Thanks to @joeymanson23 for the report.
    Fixed: Steam library processing was missing the default steam library. This meant that only people with additional steam libraries were detecting games.
    Fixed: Attempting Audio detection on unsupported hardware chipset would cause an exception.
    Fixed: Attempting Audio detection when no active audio devices or microphones would cause an exception.
    Fixed: Uplay library parsing extracted the incorrect Game ID.
    Fixed: Audio volume settings weren't applied unless the audio device was changed.
    Fixed: Game process detection was failing on Steam and Uplay due to logic flaw. Now corrected.
    Fixed: Didn't create the required DisplayMagician AppData folders on boot. Does now.

    v 1.0.3 RELEASE NOTES:

    Fixed: Upgrades now successfully restart explorer.exe
    Fixed: Can close the ApplyProfile window if display change errors (was getting locked in rare cases)
    Fixed: Improved game process detection in rare cases
    Fixed: DisplayProfile matching is improved

    v1.0.2 RELEASE NOTES:
    Fixed: UI closing when saving shortcut
    Fixed: Included missing shortcut writing DLL so that now works
    Fixed: Setup now removes prior versions of DisplayMagician correctly
    Added: Ability to only run start programs if they aren't already running
    Fixed: System Tray notification icon is correctly updated
     
    Last edited: May 1, 2021
  3. terrymac

    terrymac

    Messages:
    6
    reserved
     
  4. terrymac

    terrymac

    Messages:
    6
    DisplayMagician v1.0.4 released!

    This release is primarily a bug fix, removing a swathe of bugfixes and implementing a whole lot of robustness improvements that should make it far less likely that something will go wrong. And if it does, there is now a lot more chance of finding the issue thanks to the logs written to the DisplayMagician Logs folder within your AppData directory.

    Big thanks to @joeymanson23 and @stringfieldmark for reporting the issues, and giving me tons of information to help me repair things.

    IMPORTANT!!!: If you are upgrading from an earlier version of DisplayMagician, I recommend that you edit each Ubisoft shortcut, and reselect the game you wanted in that shortcut, and then save the shortcut. Earlier versions of DisplayMagician used the wrong Ubisoft Game ID, and will error if you use them.

    v1.0.4 RELEASE NOTES:

    Fixed: Both Steam and Uplay library logic would error when the library was installed, but didn't have any installed games. Thanks to @joeymanson23 for the report.
    Fixed: Steam library processing was missing the default steam library. This meant that only people with additional steam libraries were detecting games.
    Fixed: Attempting Audio detection on unsupported hardware chipset would cause an exception.
    Fixed: Attempting Audio detection when no active audio devices or microphones would cause an exception.
    Fixed: Uplay library parsing extracted the incorrect Game ID.
    Fixed: Audio volume settings weren't applied unless the audio device was changed.
    Fixed: Game process detection was failing on Steam and Uplay due to logic flaw. Now corrected.
    Fixed: Didn't create the required DisplayMagician AppData folders on boot. Does now.
     
  5. terrymac

    terrymac

    Messages:
    6
    DisplayMagician v1.0.5 released!

    This release includes a some cool new features, and a couple of bugfixes.

    One new feature is support for the Origin/EA Game Library. This took a while to sort out, but works well, and hopefully helps make it easier to add shortcuts for games you have in Origin.

    Another new feature is the ability to monitor a different executable to the game you start from a game library. Previously this feature was only available if you selected the game executable directly through the game executable mode. Now you can choose to monitor another .exe other than the game and only revert things back when that changes. Gives you a lot more flexibility to have things exactly as you want them.

    And lastly you can now doubleclick on the notification/system tray icon and the main application window will open. I'm not sure how I missed adding that until now, but there you go.

    Two bugs were also fixed. The first one was the the Display Profiles and Audio/Microphone settings weren't reverted when the user asked them to be. That was my mistake, but now it's been fixed. The second one is a bit more nuanced. The latest NVIDIA 466.11 drivers don't correctly get hardware information from the NVIDIA RTX 2080Ti video cards, so I've had to build some protection around the information gathering code to attempt to keep this application working even if the NVIDIA code fails.

    If you have the NVIDIA driver issue then you will need go into each of your Display Profiles and save them (press the rename button). You will then need to go into each of the shortcuts and select that same Display Profile, then save them too. This will use the new profile matching logic and will get you back up and running. Note: When NVIDIA realises this and fixes their driver you will need to perform these steps again.

    v1.0.5 RELEASE NOTES:
    Fixed: DisplayMagician workaround to work with broken NVIDIA 466.11 driver for RTX 2080Ti video cards. Thanks to @m0ellemeister
    Fixed: Display Profile and audio/microphone weren't being left as is when the user asked them to be
    Changed: Massive refactor of GameLibrary and Game code to make it easier to add new GameLibraries
    Changed: Standardised the Game running logic as much as possible to make it more reliable
    Added: Origin/EA Game Library support
    Added: Can specify alternative executable to monitor for games run through game library
    Added: Can open Main application window by doubleclicking the sytem tray/notification icon
    Changed: Clicking on the 'Start DisplayMagician minimised in notification area when computer starts' checkbox now sets the minimise setting and the start on boot setting all in one go.
     
  6. terrymac

    terrymac

    Messages:
    6
    DisplayMagician v1.0.6 released!

    This release is just for bugfixing.

    The bug was a couple of missed Origin Library references which caused errors detecting, creating and loading Origin Games (thanks @ngoetje for helping). Now fixed, and should stop any game loading issues.

    I took the opportunity to make the running of game shortcuts much more reliable. It has multiple checks to make sure both the game library and game itself are running before going into monitoring mode, and it also has some error checking to handle it when things don't run when they are supposed to. It also reports any issues to the end user through notification toasts so you should get more visibility into what is happening.

    I also added a LOT more logging into the Origin Library code, so it will now be able to help me troubleshoot remotely if you put the DisplayMagician logging mode into 'Full Application Trace' mode, and restart the application.

    Also as an FYI, NVIDIA has released new 466.27 drivers. I'm hoping they correct the faulty 466.11 driver that didn't correctly get hardware information from the NVIDIA RTX 2080Ti video cards, and that everything returns to normal. I reported the issue to NVIDIA in the hope they'd produce a fix. Let's see.

    If NVIDIA have fixed the NVIDIA 466.27 driver , then you will need to perform the following steps to fix your Display Profiles so they work again:

    - Delete the old Display Profiles
    - Recreate each DisplayProfile again from scratch
    - Go through each of your Game Shortcuts to use one of the newly created Display Profiles.

    Unfortunately that's the only way to regenerate the DisplayProfileIdentifiers and make everything match up again :(. Thanks NVIDIA.

    v1.0.6 RELEASE NOTES:

    Fixed: Missed Origin Library references which caused errors detecting, creating and loading Origin Games (thanks @ngoetje for helping)
    Changed: Made the game shortcut execution and game monitoring more reliable. Handles missing alternative executables properly now.
    Added: Lots more logging in the Origin Library.