* 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
Travis clang does not have the LLVMgold plugin installed.
Disabling LTO is easier than installing the plugin since the CI doesn't
create any artifacts anyway.
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.
clang-tidy is currently set up with errors for all checks that do not
warn. This is to prevent regressing the repo.
Gradually these warnings should be removed in order to prevent further
regresssions in warnings that do not have many occurences.
The 5.11.2 version has been removed from AppVeyor leading to all builds
failing due to lack of Qt install. The 5.12 folder is symlinked to the
newest Qt version, preventing the need for changes during small updates
and preventing failures when versions have been removed.
This solves
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/53
The appveyor script can not use a single quoted double quotes string,
like '"C:\Spaces are trouble\"', hence the solution of defining an
environment variable.
appveyor.yml has been renamed to .appveyor.yml to keep consistent with
.travis.yml and to be default hidden.