Skip to content

Amethyst v1.2.1.3

Compare
Choose a tag to compare
@hyblocker hyblocker released this 09 Apr 07:57
· 3 commits to main since this release
f19b7e1

Amethyst v1.2.1.3

Short Commit ID: 84d9ffc (Amethyst)

In case you wanted to know what's changed since 0.9...
Better ask what's NOT been changed. But that'd be stupid
Anyway, there's a simple somewhat-of-a-changelog, here

How do I install or update Amethyst?

Click here!

I ran into a bug

Unless you're actually braindead, you may possibly have run into a bug,
Reporting those is important to building a stable application for release.
See just below on how to report bugs.

Want to help with translations?

We're currently localizing (translating) Amethyst, crash handler and devices.
If you know (or someone, you know, knows?) more languages than English
(preferably intermediate), please consider committing to the project.
You can find the instructions, FAQ, and files here

Changes:

  • 84d9ffc Fixed store's offline behavior (show errors instead of hanging)
  • b4e84eb Remove "Preview"
  • 1b4c0b6 Tweaked Azure Pipelines (and build) versioning
  • 83c4387 Better override notice tooltip, fix crashing with multiple overrides
  • f0ae02c Use the autogenerated build number provided by Azure
  • d21b979 Fix shutdown on older systems, acrylic support, OSC support
  • 3c9b9bf Fixed bugged joint and override selector expander controls (again)
  • fa3fc67 NUX changes, added new tips for the plugins/store page
  • df8f77a Removed the input stealing "fix" (already said to fixed by valve)
  • 3537c43 Bring to front before showing FirstShutdownTip
See More
  • cd34f92 Bumped versions, re-added the build script
  • 0a2d4a9 Merge branch 'curse' into main
  • 9c3450d Added sounds to all the new stuff
  • 2603b8f InfoPage sounds
  • 2af9119 Fluent NavigationView navigation icons
  • c944d0c Updated non-english string resource keys
  • 8d8e9e9 [Store] Moved XAML hardcoded strings to JSON
  • 5866d14 [Store] Unpack to %temp% instead of boiler plating the folder name
  • ace4ed8 [Store] Implement drag-and-drop (offline) installs
  • 2b87e95 [Store] Search from drag-and-drop links, text
  • da830c1 [Store] Install from search MVVM
  • 5dfc1a6 Responsive plugin uninstall flow
  • 0296887 Custom icons using JSON resources (because we can)
  • 2640911 [Store] Parse web link queries
  • aee21e1 Plugin store full search and uninstall functionality
  • ce5f7c0 GitHub device auth with proper token encryption
  • f89fc12 Fixed (most) broken event listeners
  • bb29ff0 Block subsequent close clicks while handling the exit
  • cdd6a88 Amethyst task scheduler 😳 (startup/shutdown, update/delete)
  • 9c5cda7 [Prototype] Plugin store prototype, responsive design layout
  • e271c91 Plugin downloads should have higher priority than base updates
  • 695cfc5 [Finished] Plugins auto-updater
  • 49562ef Respect the custom update API endpoint, always overwrite assets
  • d0decd1 Plugins updater prototype, update API endpoint metadata property
  • 5865260 [Prototype] Update-check for plugins (using metadata)
  • 00a2fe4 Responsive layout plugins manager, update notice prototype
  • 358e278 Removed the Azure Pipelines script
  • 48d90f1 Renamed TrackingDevices to AppPlugins
  • 3dd98ba [Stub] Plugins library manager page
  • ce79935 New updater UI using using InfoBars
  • f1de5fa Removed useless property change notification (WinRT COMException)
  • 5511ae6 Fixed OverrideExpander again
  • fbafe27 ActualThemeChanged should always reload all the NavigationView icons
  • 5c7e2a3 Automagic code reformat and cleanup
  • 1fa150d Better skeleton flip toggle/header text (using the device's name)
  • 91c9ec1 Use string.Format instead of Replace, it's there for a reason
  • 87d14a9 Version bump, AppData should use auto-properties
  • 63db1ab Fixed InvalidOperationException trying to remove invalid overrides
  • 1a54488 Fixed (?) No installed components were detected when using storyboards
  • af3f72d More verbose application startup logging
  • c30e87c Fixed ArgumentNullException crash on Devices.ReloadSelectedDevice
  • 271c0cb Resource strings hot reload for plugins (only current, valid resources)
  • c097cf0 Fixed double plugin registration (if failed on property scanning)
  • ed86237 Plugin loader tweaks: catch dummy paths and invalid junctions
  • b0d9142 Better dialog layout, selectable error text
  • 07859c6 Restart notice as an in-app InfoBar instead of a TeachingTip
  • a82d5a3 Added 'eval' in-app console command (runtime evaluation)
  • 384d751 Moved GeneralPage service status handling to x:Bind, faster refresh
  • 0cc7388 Made app notifications setup optional, system-dependent
  • 340a52c Selectable plugin load error text/reason
  • 5386b4f More plugin load/init errors, more verbose plugin composition errors
  • 4106ef2 Split MVVM files to maintain consistency
  • 6341c47 [Error] logging based on typed exceptions (for better diag)
  • 06279df [Fatal] logging based on typed exceptions (for better diag)
  • e374253 Fixed ServiceEndpoint ErrorDocs Uri getter
  • 6a4998b Toggle disable telemetry during early application setup
  • e552826 Added basic analytics, updated project SDK files
  • 95993d3 Log .NET version, commit number metadata
  • 9b40f8a Log all loaded plugins as a GUID/Name tuple collection
  • d3e58f6 Fixed plugin manager's restart handler (assembly → bootstrapper)
  • d1be960 More verbose plugin loading, show the inner exception in the manager
  • 3622af0 Updated application credits (InfoPage)
  • 4f29061 Allow plugins to provide custom docs-button Uris to open (errors)
  • 99245f3 Help docs follow device/service status codes (instead of messages)
  • 8382dc6 Fixed Flip|Freeze action handlers being registered for the wrong service
  • fa47e59 Helper function renames, logging
  • 1cfb7f6 Fixed service endpoint selection (update and MVVM locking, saving)
  • a769984 AppSounds should now wait for the MediaPlayer to end playing
  • 806d860 Fixed tracker management logic (JointSettings) and the LowPass filter
  • 3d1620d Failure management? (Console crash/fail/exit command handling)
  • 8f9fbb7 Internal version split, donators and display badges
  • f3695fc Command console (InfoPage) and impl, fixed auto-updater
  • 773df77 'Manage' → ’Manage Plugins'
  • 7522536 Partial project renames, try to show trace on CrashHandler if caught
  • 950aef7 Added FUNDING.yml
  • 7107f7d Prepare for upload to a new origin, remove some source flags
  • 753d0da Removed unused OVR stuff (moved internally to the plugin)
  • 6a28153 Hide system's media CommandManager as we don't really need it
  • 417ed9e Standardized AME playing random navigation transitions
  • f3d8c27 Fixed pairing mixed-mode trackers (non-supported/supported/other)
  • ca26e01 NUX additions (CanAutoStartAmethyst) and some fixes
  • 936d55f Added a CanAutoStartAmethyst flag for services
  • def4a46 Fixed wrong already_running handler message
  • a81cec1 Use C++/WinRT instead of C++/CLI for mixed (now projected) types
  • 43da0a8 Come on, please do something...
  • ecdeda4 Set up CI with Azure Pipelines
  • f821709 Delete .github directory
  • 822f119 (Try no 6) GitHub Actions publishment workflow
  • 382ff39 (Try no 5) GitHub Actions publishment workflow
  • f03eeda (Try no 4) GitHub Actions publishment workflow
  • d6a832f (Try no 3) GitHub Actions publishment workflow
  • 90a7729 (Try no 2) GitHub Actions publishment workflow
  • d3997b4 (Try no 1) GitHub Actions publishment workflow
  • 206fab8 Better parsing of the default settings (defaults.json)
  • b35c922 Added handling default settings, proper empty/null/invalid guards
  • 118db6a Renamed some lower body joints for implementation clarity
  • 43e6f97 Fixed some types not working properly with PluginSettings
  • 85f0e85 Updated settings loading/saving a bit, added missing binding mode specifiers
  • 235e088 Fixed service UI localization runtime changes not working
  • b8abb81 Plugin manager should be working (kinda?) okay now
  • 79fa891 Updated the plugin contract, fixed plugin settings handling
  • e7b0b66 Fixed plugin settings serialization
  • 6449cb9 Added a function to check joint role validity (against the base device)
  • 0866bce Properly refresh all plugins upon language/resource changes
  • f7bfd8e Fix service endpoints receiving tracker updates on disconnect
  • 435999d [Amethyst] Auto-cleanup, auto-refactor
  • 2032ea8 Prev/Next nav sounds, fixed startup error sound and offsets breaking the app
  • cebbc7c Better status-fail plugin controls, more bug-prone backend
  • e77c5a4 How did we get here?
  • 37b9fa6 Don't require pose-set replies, we actually want to go fast
  • 93b8496 Update plugins' UI with along everything else
  • 2c06c5e Disable trackers and shutdown the previous service, always re-init
  • 039b1b7 Layout fix for services with no calibration available
  • 6958d51 Added a quick NUX skip-and-never-come-back option
  • a597e80 New plugin settings getters for easier type access
  • 338b171 Custom plugin (variable) settings: implementation, loading/saving
  • 8040e09 Custom plugin (variable) settings: contract interface
  • 0f676f4 Format, plugin contract version bump
  • 51fb392 Added some null safety to service/controller input actions
  • 28230ea Global exception handling
  • 5054181 Improve logging functions
  • 11e2eba Stringized the service picker (Tracking Output) SettingsPage control part
  • a5c39bd Updated file, resource and assembly versioning
  • 3ddbcea Fixed filter strings not updating automatically on refresh calls
  • 4ca5f01 Properly refresh all strings on a language reload/hot-reload
  • e2c7c9a Added methods to get the hook (head^) and the rt origin (waist^) joints' poes
  • b40edb8 Hook/origin joints should now include orientation data
  • c620b7e Fixed crashing if a service returns null spawn status results
  • 9ce228d Fixed loading wrong strings for plugins and crashing on mismatched strings
  • db4e0fc Fixed plugin manager not parsing service GUIDs properly
  • 229c234 (Finally) Fixed joint and override management, added more juicy animations
  • edf6b4a (Hopefully) Fixed joint and override management, added proper refreshes
  • 8213f5c Implemented showing custom crash/error messages via the crash handler
  • 8e463a4 Pack strings into the crash handler, add mode and some tweaks
  • 9ef7b72 Shutdown the previously selected service upon any valid changes
  • 693b171 Updated for the pending service endpoint contract changes
  • a6bd79d (Pre-setup) Search for the first tracking device that provides any joints
  • b28b685 Made the update icon rotation always do a (one or more) full revolve
  • 0891218 Stub API service endpoint manager (static expander)
  • a1e8a1e Updated the plugin contract version
  • 722eb84 Made the string UI adapt to the current service endpoint's type and name
  • 42e6642 Help button animations, along with its flyout
  • 4b7ef7c Split contract flip/freeze TeachingTips by titles and contents
  • 2ca51b0 Removed submodule vendor/openvr (not needed anymore)
  • 95346aa Better tracker-service role support check, fixed expander animations
  • edf422f Null check
  • 7547b86 Better plugin dependency loading (filtered plugin search, auto-loading)
  • 30d68d3 Updated the service contract not to include calibration checks, added a heartbeat call
  • d85d11e tmp
  • 9936288 a (tmp)
  • 44e14a2 Updated the plugin contract metadata, added proper displaying of it
  • 8404e4f Global project/solution code cleanup/refactor
  • 9536cea Flip and ExtFlip related fixes (should be even with cpp1.1.0.0)
  • e5d63cd Fixed calibration (yay!)
  • f15cf13 Prettier LoadAttemptedPlugin string trim logic/output
  • 2b850ba Suppress irrelevant plugin deps load errors
  • f3e506f Actually update input bindings
  • 242bf9f Auto bind the load-attempted plugins list
  • 4af2c82 Lock the updater thread on any device changes
  • 8e07ea6 Fixed some bad copypasting (major skill issue)
  • 8163ef3 Merge remote-tracking branch 'origin/main' into main
  • 303e770 Updated string and UI refresh handling, made MainPage use x:Bind for strings
  • 1a001f9 Manually assign entry point in case
  • 00267a4 Update Ella to newer name
  • f6a0d7b Add vr manifest
  • 1b8a490 Fix CrashHandler failing to compile in certain envs
  • 9a2b6a4 Enforce x64
  • 34cfba9 AmethystSupport partial cleanup
  • fe5aee9 Better skeleton drawing, bearable for KV1
  • e2ae04c Added a custom device config check option
  • 42ce22b Fixed manual 'refresh' not calling reconnect
  • 37195c4 Better plugin loading, delete framework libraries upon composing
  • 94ef6dd Better tracker add/remove, pairs toggle MVVM implementation
  • d290c8a Trackers add/remove flyout MVVM, implementation
  • 6cca4e4 Fixed using wrong coordinate system (yuniteee 😭)
  • 95d7b16 Actual pose filtering (Eigen filters are bound via C++/CLI)
  • 85dd1a6 Added skeleton preview (should work for all device types)
  • 0348a45 Better plugin loading (split, separated context's)
  • 3921fd6 Use the translator class everywhere, added proper auto-refresh|reload, fixed some bugs
  • 034e03b Added explicit exit call handling (after marking as exit-able)
  • 89b02f7 Added math-based feet orientation calculation, joint settings expanders' sounds
  • 88a8564 Updated and fixed some stuff, better plugin contract
  • 4f15b5b Main app trackers update loop partial implementation, CLR handlers
  • 9cbd65c Implemented server driver interfacing stuff, fixed sick CPU usage
  • fe3d0fd Plugin host methods, plugin resources impl, minor UI logic fixes
  • 30dd2cf Runtime settings parsing & checking (joints / auto-management, overrides)
  • 5ff3b48 [Test] Bind/load strings straight from XAML (Only GeneralPage for now)
  • 4ce2ad8 Settings saving/loading, got offsets to work (at least round and save...)
  • 1d5342f Amethyst Driver Client implementation, proper in-app usage
  • 8c210a3 Fixed offset sounds, joint expanders' visibility, updated WASDK & GRPC
  • 1cde97b Stub [JointSelectorExpander, OverrideExpander], partial implementation
  • 485533f Stub DevicesPage (no joint management), partial implementation
  • 96295de Tracker/joint expanders, SettingsPage partial implementation
  • 220a44e Added and fixed some sounds & handlers, reload semaphores
  • afc6137 If running on Debug, also write logs to System.Diagnostics.Debug
  • 87e2e20 Fixed basic starting bugs: plugin contract, loading and construction, offsets
  • b9a964b GeneralPage calibration (AmethystSupport C++/CLI), eigen as a submodule
  • a9b251d GeneralPage stub, offsets and devices as MVVM, partial implementation
  • fa8800d Use OpenVR API from submodules (as links) instead of copying, use auto resources
  • 9b43595 Use package references instead of local NuGet (VS17.4 required)
  • 7cefec7 Enabled (fixed) dotnet pack and publish for AmethystSupport (C++/CLI)
  • 1663b6a Added loading, watching and hot reload for app language string resources
  • ff02095 MainWindow / OpenVR startup / Loading and checking plugins
  • 3cf892c Driver client API placeholder NuGet image
  • 4656ee5 Plugin contract math-based orientation, placeholder NuGet image
  • 5014035 Added basic plugin loading (no config load/check yet)
  • cccdac2 Some renames, trim 'K2' prefixes
  • 3eb49e3 Added the updater and some missing MainWindow functions
  • b0eff62 API projects export NuGet packages for Amethyst and the NuGet API
  • 622a8b4 Stub pages, partial MainWindow.xaml impl
  • 630bc3b Stub device functions
  • 5844a69 Added K2AppTracker calibration/RPC compose methods
  • b9677a6 Updated plugin contracts, TrackingDevices near-finished-state backup
  • 0cdf224 Updated client and plugin contracts, Interfacing near-finished-state backup
  • e01eb49 Added server protocol files
  • 35dba1c Added some Interfacing methods, updated names
  • 7b81cb8 Added a stub server driver client (for gRPC)
  • 6be2850 Updated namespaces (so ReSharper won't go crying)
  • 1367517 Added stub K2Interfacing (L0-145 of 2000)
  • 65ff75b Added stub application settings (no saving/loading for now)
  • c46abec Added VR Input handler, logger, moved to System.Numerics
  • f39ab8b Added static solution assets
  • d848c5d Added base solution files

Reports:

  • Record the issue (or at least describe it as well as you can)
  • Send us the log files from %AppData%/Amethyst/logs