* Add file association for .eop, prompt for install dir
* Handle .eop or .aip file passed as arg.
* VS2022 version bump
* Filter neutron stars and black holes from fast spinning criteria.
* Adjustments for new "high value" check
* Refactor herald cache
* Fix element order and namespaces for voice moods.
* Add explicit .Stop() between audio player calls.
* Use nullsafe member access instead of skipping
* Don't queue up a title that's already queued.
* Improve body ordinal handling for explorer speech titles.
* Escape strings being inserted into xml
* Handle flip-flopping JSON type
* Converter for flip-flopping property type
* Use the converter
* Escape characters *before* we wrap it in xml.
* Give Eahlstan his clear button. :D
* Exclude all stars from fast rotation check.
* Close outstanding popup notifications on exit.
* TO DONE
* [Herald] Suppress duplicate notification titles for spoken notifications
If you have notifications from multiple plugins producing notifications with the same title in quick succession (ie. "Body A 1 e" from both Explorer and BioInsights), the title on successive notifications will not be spoken again to save the breath of our friendly Azure speakers.
* Doc update
* Remove unintended member hiding
* Fix export errors when exporting BioInsights data, cleanup
Discovered a couple issues with exporting BioInsights data resulting from using two different types of objects in the data grid; improved error handling as well.
Also cleaned up some old-style read all code.
* Add read-all on launch setting
* Updated framework xml
* Improve high-value body description text
Co-authored-by: Fred Kuipers <mr.fredk@gmail.com>
* Expose core error logger to plugins and report custom criteria errors
Fixes#77
This adds an error logging method on the IObservatoryCore interface that writes the exception details to ObservatoryCore's central error log (found in `${Documents}/ObservatoryErrorLog.txt`). In addition, added a timestamp to each error log.
Also updates the Explorer to report Custom Criteria file load errors and execution errors to the log. Also updates HeraldNotifier to report CacheIndex.json parse failures to the error log as well.
* Expand debugging/error logging in Herald; cleanup empty mp3 files
Herald crashes if attempting to play 0-byte mp3s so if detected, delete, re-request (empty files can occur in some azure failure cases (ie. out of quota). Trap and log errors in other places in HeraldQueue to avoid hard crashes due to weird and wonderful unexpected stuff.
* Add speech rate setting
* Add volume slider
* New speech manager skeleton
* User API key from resx
* Implement voice list retrieve via new api
* Rewrite to use ObAPI, remove all dependancies
* Use volume setting
* Clean up using statements
* Volume and timing adjustments
* Lookup rate value
* Use numeric rates for tighter spread
* Manage plugin data folder via core interface
* Add check that nullable settings are not null.
* Get file size before it's deleted.
* Improve old settings migration.
* Ignore cache sizes below 1MB
* Re-index orphaned files in cache, purge legacy wav files.
* Call top level error logging for native voice exception.
* Async title and detail requests to remove pause
* Remove NetCoreAudio use of temp files.
* Remove orphan using.
* feat: cosmetic overhaul of native notification popup
* fix: use correct screen default
* feat: move notification test from debug build type to button press
* fix: not debug anymore
* fix: rearrange native notification settings controls
* fix: account for display scaling when positioning notification
* fix: guard against a screen that no longer exists
* fix: safer way to get screens, in case control tree changes