Added the ability to store the audio device
information within the ShortcutItem, and also
added the logic to the ShortcutForm to correctly
load and save the audio device settings. Also
coped with the edge case of when an audio device
is turned off or unplugged when the user edits the
shortcut... in that case we want to still keep the
old audio device settings as it is likely to be plugged
back in when the shortcut is actually run.
Part of the work through getting audio devices
into DisplayMagician, as it now scans the devices
and automatically selects the one in use currently.
You can also press the 'rescan' button to have it
update the list. This is the UI part done.
Next step is the saving the chosen audio device
to the saved Shortcut!
Fixed LogReporter error introduced by my earlier
modifications of HeliosPlus due to ProfileItem
object changes. This messed up the LogReporter
writing logic which in turn made log files balloon
to multiple GB in size! Also added capture of the
various JSON files that are used to store settings
so that we can help fix JSON errors.
Managed to get the Shell Extension incorporated
into the HeliosPlus.Setup project so that it correctly
installs the shell extension (and uninstalls it too!).
Also updated the README.md so that it shows the
new Shell Extensino in action so people knows what
it does.
Added a tooltip to the shortcuts list, and
the profiles list, so that the user just needs
to hover over the items and the full name
of the item will be displayed. Needed to do
this as some of the shortcut names get really
long! This fixes that conundrum.
There was an issue where changing a profile broke
the link between the shortcuts and the shortcut icon
file. This meant that the runshortcut would be pointing
to an icon file that didn't exist. This has been fixed.
ChangeProfile command wasn't working, but
now that you can use the Desktop Background
context menu to change profiles I needed to
fix this so that the menu runs this command.
Can now apply saved display profiles by
right-clicking on the Desktop Background and
selecting the display profile that you want to
use. It will run <HeliosPlus> ChangeProfile <uuid>
where <HeliosPlus> is the HeliosPlus binary and
<uuid> is the UUID of the relevant display profile.
Can now apply saved display profiles by
right-clicking on the Desktop Background and
selecting the display profile that you want to
use. It will run <HeliosPlus> ChangeProfile <uuid>
where <HeliosPlus> is the HeliosPlus binary and
<uuid> is the UUID of the relevant display profile.
Stopped the application threat monitoring halting
the UI completely, which fixed some UI updating
issues. Now UI thread continues to poll waiting for
appl/game to exit, but does it in a loop rather than
blocking using WaitForExit(). Means that the
notification icon gets updated and the UI gets a
MaskedForm over it.
notifyIcon works if run from Shortcutlibrary,
or from clicked shortcut. Next step is to make
the main window show some sort of indication
that the UI is locked until the game exits....
The Open Application Window notification icon
popup menu item wouldn't restore the window
if it was minimised before running the Open
Application Window command. Added some cool
code from https://stackoverflow.com/questions/
354445/restore-windowstate-from-minimized and
then tweaked it to work in this situation. I could have
added this a much better place in the application but
I am planning on rewriting the app in WPF
eventually so I don't really need to do so.
HeliosPlus now runs Uplay Games and
correctly waits until they have exited before
changing back. It won't wait for Uplay updates
however, as I really don't know how Uplay
marks things as being updated. So I don't
know how to look for the updates occurring!
Added support to read Uplay games and
to load them into the interface. Also added
the ability to save the Uplay shortcuts.
Now need to test and then add the ability
to run Uplay Games!
Added the functionality to read the Uplay library
correctly, but at present nothing is done with that
information. Next step is to add it to the Shortcut
Game selector logic.
Have reverse engineered the uplay launcher a
little bit, and managed to extract some of the
useful file structures to be able to parse the
useful bits of teh uplay game library. Need to
properly extract the games info from it though.
Also fixed console messages as well. The programme
is just about working properly! I'm going to start
creating branches now as it is nearly at ready for a
v1.0!
Am able to minimise on start, or run normally
using a simple checkbox on the main form.
Maintains the setting over different runs using
a settings json file stored in the AppData directory.