* add delay if interface not found
* adjust initialization behavior
* pushed for debugging reasons for concerned parties
* comment out simple recenter
* remove old style motion, some minor optimizations
* optimize default case check
* optimized default condition
* change manifest install behavior to trigger on desktop mode as well
* add desktop mode binding launch
* add tracker overlay option to utils
* commit to check status
* attempt to fix native LH issues with chaperone when exiting
* add desktop mode toggle and some cleanup
* remove adjust chaperone
* remove clang format from ci, increment version, cleanup
* update circle ci
* fix conversion warning
* add F13-19 to keyboard parser
* add additional logging around failure to initialize
* add unsaved changes
* update version 5.8.1
* fix some collisions in enum declaration
* add controller powers on steamvr, and no HMD to steamvr tab, increment version
* slightly alter drag movement, fix qml issue
* code cleanup
* fix logspam/attempt to delete non existant overlays
* increment version 5.8.3
* Revert "Add dedicated image for CircleCI builds"
This reverts commit 44a5d3eed0.
With how little we use the Docker hub features it does not make sense to
have external dependencies on it.
* Add `qt512websockets` to CI build
This is necessary for Ykeara's feature branch.
This essentially just bakes in all the dependencies and other third
party tools that we need, preventing them from being downloaded on every
new CI run.
TravisCI does not have non-enterprise support for custom images without
a lot of hassle.
Source outputs must all be moved to new default source.
Reference topic
https://askubuntu.com/a/72076
* Adds microphone controls on Linux via PulseAudio (PA) for several
points in
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/43.
It can not be overstated how unsuited the public AudioManager API is for
using the PA API.
It can also not be overstated how undocumented and horrible the PA API
is. The PA way of doing audio is very unlike the Windows way of doing
audio, which the AudioManager is heavily influenced by.
Since I don't have a Linux machine I have not been able to personally
test this. https://github.com/feilen/ has graciously helped with
testing.
PulseAudio is very undocumented and not very widely used for what we
need outside of official utilities. As such there's most likely a better
way of doing things than I've done.
Additional information can be found at
https://github.com/username223/pulseaudio-device-changing.
The "complex" PA API is asynchronous. Since our current AudioManager is
running synchronously and would not work asynchronously (functions are
expected to return valid data on function return) it is necessary to
massage the PA API until it runs synchronously.
This is done with a general workflow of
1. Register a callback function (`pa_context_get_source_info_list()`,
for example).
2. Run the PA loop through `customPulseLoop()`. This will trigger
any registered callbacks. Sometimes a `void*` is passed through the
callback that can be used for custom data. `successCallback()` uses
this to set the success variable.
3. Run the callback function and do required work.
4. Return to original function, do work or return values.
It is not possible to run a `customPulseLoop()` inside of an already
running loop (inside a callback), as this will lead to a PA assert
error on runtime.
* fixed audio override key unset issues
* Add apt-transport-https to CircleCI config
CircleCI fails with
E: The method driver /usr/lib/apt/methods/https could not be found.
when attempting to get the LLVM key.
This is suspected to happen because of an update to the image.
Co-authored-by: Vasily <vautkin@teknik.io>
As described in issue
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/266
the gcc-9 libstdc++ version is not included in Ubuntu 18.04 or
derivatives, which leads to a runtime error.
gcc-7 is the oldest version that has c++17 support. If we didn't need
C++17 support then we could use gcc-5, which is included with Ubuntu
14.04.
CircleCI Xenial does not come with an up to date version of Clang. It is
therefore required to get the newest version (8). The .pri file has
quickly been edited to be similar to the g++ version check.