Commit Graph
167 Commits
Author SHA1 Message Date
Vasily 4757756d32 Refactor alarm system and replace notification method
The old OpenVR overlays did not function for unknown reasons, and it was
not possible to get them to work.

With this a white overlay with ALARM ACTIVATED will be shown for 3 seconds.
It's not pretty, but it effectively communicates that an alarm has been
activated.

This fixes
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/417
2020-06-05 20:52:13 +02:00
ykeara dca1e18e0e CenterMarker Rotation Fix + Misc (#458)
* add native chaperone option

* refactored overlaywrapper error handling

* added reset all settings

* added reset all settings option

* clarified driver bounds language

* fixed naming  schema of turn settings

* fixed qml issue

* marked errors in settings

* fixed rotation of center marker and cleaned up

* ci test

* removed debugging code

* fixed comment

* fixed rotation.... made messy

* fixed crash when centermarker new was on at launch

* added settings to scroll view

* fixed some initialization issues w/ center marker and some race conditions

* updated Documentation to be more correct/concise about openGL rendering Information issue 457

* changed default behaviour of chaperone bounds to be un-checked to be consistant w/ other settings (default is unchecked)

* cleaned up code around centermarker overlay

* removed unused variables, changed scope of some existing

* code naming cleanup

* more rename

* updated Version strings for 5.1.1 release

* updated string to be more concise
2020-06-02 12:10:21 -05:00
ykearaandVasily a803ffaeac Center Marker/ Chaperone Refactor/ IVROverlay/IVRSettings wrappers PT 1/? (#438)
* changed click noises to internal sounds

* udpated to ovr 1.11.11

* in prog added prototypes

* began wrapper for IVRSettings

* added getters for chaperone colors

* added setters for chaperone color

* fixed type conversion issue

* fixed linking issue, added additional settings chaperone page

* adjusted chaperone page qml

* added color chaperone UI

* refactor in prog

* updated ivrsettings wrapper, refactor in prog

* refactor in prog

* collision bound style add

* refactor

* cleaned up error logging

* fixed fade distance remember bug

* fixed sounds

* fixed brightness opacity bug setting to 0 when 0

* fixed sounds

* added wrapper for removing keys

* refactored reset

* added chaperone Styles to UI

* added chaperone floor always on

* fixed copy/paste error

* adjsuted ui chaperone color slider

* started adding chaperone floor marker

* fixeed naming error overlay

* finalized chaperone Ideas, added chaperone markers

* began ivroverlay wrapper

* center marker fully implemented

* added function prototypes for new settings

* added setting, and updated ui for New Center Marker Overlay

* adjsuted sound effect volume and formatting for chaperonecolorbox

* adjusted volume back

* fixed various issues aroudn new overlay

* removed artifact comment

* cleaned up settings wrapper

* cleaned up chaperone tab controller for namespace changes

* removed ide comment issue

* cleanup overlay wrapper

* cleaned up tab/space changed file name

* renamed files

* fixed include statements

* updated namespace in chaperonetabcontroller

* fixed tab/space issues

* re-activated boundbasisheight

* fixed bulgarian case

* changed chaperone warnings to only work in roomscale

* fix capitilization

* fixed tracking universe update

* direct text input change for brightness

* qml fixes

* fixed qml format issues

* fixed sound issue w/ sliders

* fixed super truely

* Add SDL libraries to CircleCI

* Remove -tidy from circleCI config

* flushed out error messages in overlaywrapper

* removed hungarian notation

* added get/set string to ovrsettings wrapper

* misc cleanup

* add reset orientation btn and new center marker to chaperone

* ui adjustments

* changed alarm audio

* adjusted sound effect volume slightly lower

* updated for 5.1.0 release

Co-authored-by: Vasily <vautkin@teknik.io>
2020-05-13 15:11:20 -05:00
ykeara deb0d4a324 Fixes Startup Error, and ghost profiles 5.0.2 (#422)
* fixed unsafe chaperone issue

* fixed phantom names on offset/video profiles

* version strings
2020-04-20 12:44:29 -05:00
Chelsea Jaggiandykeara 2671bf72e3 Bump version string to 5.0.1 (#415)
* Bump version string to 5.0.1

* ACTUALLY bump version string

* really really fixed version strings

* changed some defaults, and adjusted speed slider slightly, made text a little more intuitive

* see previous

* fixed issue with disabled seated recenter button

Co-authored-by: ykeara <ykeara1@gmail.com>
2020-04-17 15:52:01 -05:00
ykeara b3e9e63cba Fix default Brightness value/behavior adds shutdown button (#412)
* added exit button

* fixed visible state

* added shutdown button fixed default brightness issues

* fixed compiler warning
2020-04-16 21:53:15 -05:00
ykeara e257666085 Misc Fixes (#404)
* fixed qml error for input

* fixed settings save bug, fixed rotation direct input, disabled chaperone force floor bounds via profile, made some dialog boxed round @ 2 digits
2020-04-12 17:08:23 -05:00
ykeara f26d6d6e80 Documentation (#401)
* updated documentation/screenshots, let seated-recenter show in all modes, fixed default value of brigthness

* fixed formatting

* changed PTT to System

* added comma to documentation
2020-04-11 14:00:47 -05:00
1ae740463c Implement Auto-turn and Redirected Walking
Initial implementation of Auto-Turn

Auto-turn leverages Space Turn automatically whenever you reach a configured distance from your chaperone boundary. Turn direction is in order of precedence:

1. Away from a corner where you're already touching one wall. This is to avoid being turned to face a wall, which we pretty much never want. If 'use corner angle' is enabled, it'll turn the angle of the corner, otherwise it'll turn the angle of your headset to the wall you encountered.
2. In whichever direction will start you unwinding your cord. If your rotations is greater than 'cord detangling rotations' and your angle to the wall is less than 'min detangling angle' it'll turn you such that the thing you're walking towards is directly along a wall, in the direction which will begin unwinding your cord.
3. In the closest angle to the wall. This too will put whatever you're walking towards directly along a wall, so you can walk the maximum distance to it. 
- If Smooth turn is checked, it'll turn at a constant (configurable) rate until the world is aligned with the new angle, otherwise it'll snap to the new direction instantly. 
- Activation distance is the distance from your chaperone at which auto-turn starts, and deactivation distance is the minimum distance (+ the activation distance) at which it'll be able to be activated again, to avoid turning twice at once.


Redirected walking tries to gently guide you away from your playspace boundaries by tweaking the world's angle at smaller increments than your brain is capable of noticing. While most playspaces won't be big enough to allow this to give you a true 'infinite walk' experience, it can give the perception of your playspace being ever so slightly bigger by making you walk in a slight arc in real life while walking forward in VR.
- Redirected walking is independent from Auto-turn and can be activated on its own. At both the 'slight' and 'imperceptable' radii, the turning speed is incredibly minimal. When walking along one wall of your chaperone to another, you should notice the far corner of your playspace (relative to the world) drifting ever so slightly away from you. In normal circumstances at the lowest settings this shouldn't be noticable. 


Co-authored-by: feilen <feilen1000@gmail.com>

* Initial implementation of Infinite Walk

* Code cleanup and abstraction, use nearest corner instead of nearest wall to determine turn direction

* Run clang-format

* Turn relative to the last wall if we run into adjacent walls, otherwise turn at easiest angle

* Limit maximum turns (just refuse to turn for now), only turn on shared corners if going the same direction

* Improve same-corner

* get rid of LastDirectionLeft

* WIP: cord untangling hint

* Try to automatically untangle cord, don't rotate if we encounter a wall behind us

* Incorrect offset for walls

* optimize if hmd inactive

* Cleanup/clarify angles

* (probably?) solve rare segfault

* Adjust the defaults and fix a bug with blocking reverse turns

* Implement smooth turn, fix a bug with shared-corners that would cause it to turn the wrong way

* actually really fix shared corner bug

vect[i + 1 % vect.size()] was somehow evaluating to vect[i + (1 %
vect.size())]

* Move configurables for autoturn to .h to make clearer what's configurable

* WIP: true redirected walking

* First pass optimization/cleanup

* Second pass cleanup/optimize

* Missing clang-format

* Somewhat ugly: Optionally turn the exact angle of the corner when using shared corner turns

* added rotation tab controller in progress

* cleaned up chaperone controller/ finished settings/rotationtab

* did first 4 settings qml, and main qml setup

* initial working build, not all settings UI done

* merging master into redirected walking. (#387)

* Update OVR to 1.10.30 (#379)

* updated to ovr 1.10.30

* fixed updated showoverlaykeyboard call

* fixed keyboard location

* Updated Manifest (#380)

* updated to ovr 1.10.30

* fixed updated showoverlaykeyboard call

* fixed keyboard location

* removed un-necessary matrix, updated app key and manifest

* fixed formatting

* Fix push to mute icon not being used when PTM enabled

* added touch default bindings (#385)

travis CI down/broken?

Co-authored-by: Vasily <vautkin@teknik.io>

* added action, and additional settings

* fixed various bugs added turn speed and mode

* fixed conversion error for turn speed

* added redirected walking options

* formatting

* formatting fixing

* removed old comments

* changed logs to debug and some wording changes

* changed UI layout

* added space turn to rotation page

* added icon, fixed autoturn to autoTurn, fixed conversion to be in qml vs set

* Update src/res/qml/RootPage.qml

yep XD

Co-Authored-By: Kung-vr <38249782+Kung-vr@users.noreply.github.com>

* reverted build changes

* removed un-needed app image build commands

* Cleanup some functions, avoid an extra chaperone check.

* Make redirected walking and autoturn independently enable-able

Co-authored-by: Feilen <feilen1000@gmail.com>
Co-authored-by: Vasily <vautkin@teknik.io>
Co-authored-by: Kung-vr <38249782+Kung-vr@users.noreply.github.com>
2020-04-08 18:57:53 -07:00
Vasily d88eb0f53b Add push to mute icon when using push to mute feature
The PTM icon was quickly made in mspaint and (in my opinion) adequately
reflects push to mute.

Fixes
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/342
2020-03-04 09:17:01 +01:00
Vasily 15b4d17672 Change RootPage header title to OVR Advanced Settings 2020-01-30 10:36:21 +01:00
ykeara 50c8415669 Brightness Opacity Refactor + Gain behavior (#355)
* added loop update tick for Synchronizeing while dashboard up

* fixed gain to allow better synching w/ external apps.

* removed extra setting brighnessValue fixed toggle error for brightness Overlay fixed gain synch error

* fixed compiler warning implicit conversion
2020-01-18 11:30:08 -06:00
Vasily ba4a19217d Remove unused PttProfile features from PttController
None of these features have been used since the introduction of the
SteamVR IVRInput interface sometime around the start of 2019.
2020-01-16 00:09:09 +01:00
Vasily 0bc77b2fd0 Completely remove features related to Desktop Overlay
As of SteamVR 1.10.1 the overlay width feature has been implemented by
Valve in the standard settings.
OpenVR features related to overlay translation have been removed and the
main reason for including them (multi monitor setups) have been solved
by Valve giving each screen an individual overlay.
2020-01-16 00:09:09 +01:00
Kung-vr d8f1f4e6b9 Add friction feature to motion tab
#344
2020-01-03 01:25:49 +09:00
Vasily c8a0e41bfe Remove features related to desktop overlay translation
The feature was killed by Valve and is not likely to come back.
2019-12-10 08:28:41 +01:00
Kung-vr 9168a022bb Increase the max gain on color to 9999
higher values are only possible via direct textbox input
2019-11-11 04:10:13 +09:00
ykeara 2bddedf372 4.0.0 release (desktop overlay adjustment removal, bindings tab/button change, documentation update) (#315)
* removed desktop overlay tab moved width to steamvrtab

* added binding page launch button

* changed binding page button location

* removed binding page and associated resources

* clarified functionality via text update to desktop width box

* updated version string

* changed string to release

* updated photos

* updated ivrscreenshot

* updated documentation

* removed old qml references

* added missing actions to documentation

* hid audio profiles
2019-11-10 10:31:43 -06:00
ykeara 4a98ed436e update ovr to 1.8.19, audio key update (#314)
* added get/setters for override keys

* adjusted QML for new overrides and proper initialized

* replaced work-around key with proper key

* removed workaround from header

* updated OVR to 1.8.19

* changed other new audio variables

* temporarily disabled audio profiles as required api keys are questionable use-ability atm
2019-11-09 10:16:14 -06:00
ykeara 05c12cd4a0 Re-Add color overlay (#311)
* fixed Chaperone toggle, toggle state on launch

* made update rates based on variable frame rate assuming 90 default

* added overlay color back in

* fixed opacity value not synching

* updated to ovr 1.8.19

* fixed license issue

* rolled back ovr update

* fixed overlay toggle state, formatting, and clamped max opacity to .85%
2019-11-08 14:45:26 -06:00
Kung-vr f964241656 Add version checking feature
Addresses #305
2019-11-07 05:18:04 +09:00
Vasily 43d95d0ece Add icons for main menu buttons, ability for buttons in general
The current interface is almost exclusively in written English.
This makes usage of the program more difficult for people who can't
distinguish English words, or remember specific VR/English technical
terminology.

Adding small icons to main menu items will make it easier for the
aforementioned groups to use the application.

This also adds the ability for buttons in general to have a custom icon,
if necessary.
2019-11-04 18:00:06 +01:00
Kung-vr 218c153a6c Update Docs for bindings page and ini file, fix QML log spam 2019-10-27 16:54:42 +09:00
Kung-vr d0c2520b64 Add bindings page and apply autosave chaperone on offset clamp 2019-10-27 00:39:01 +09:00
Kung-vr 2a63525fba Make double recenter behavior default and cleanup debug code
This also adds the option "simpleRecenter" which can be set to true in the ini playspace settings to get single (non loop) recenter behavior back.
2019-10-21 13:55:21 +09:00
Kung-vr 4d81b3bdbd Optimise PlayspacePage QML, add debug toggle to Settings page 2019-10-20 18:22:52 +09:00
Kung-vr 1629838b21 Reimplement chaperone height slider for OVRAS 3.0 motion
Addresses #264
2019-10-19 02:27:34 +09:00
Kung-vr 17e038bf1d Rework seated-universe motion 2019-10-16 15:47:05 +09:00
Kung-vr 6f5d7504a9 fix more audio warnings and qml text 2019-10-13 19:53:31 +09:00
Kung-vr f05f6f7deb Swap default to unchecked enable seated motion and add debug states 2019-10-13 17:02:15 +09:00
Kung-vr 2e6dd3b8fe Add chaperone autoprofiles, crash recovery, and space fix revert 2019-10-13 03:56:57 +09:00
Kung-vr 37cae56bcb Add chaperone profile error message for nonzero offsets 2019-10-12 16:06:40 +09:00
Kung-vr 09aaac114c Change debug buttons held duration 2019-10-03 14:17:00 +09:00
Kung-vr 6dc7bc6837 Add offset profiles
Addresses #149
2019-10-02 15:25:03 +09:00
Kung-vr d3b4d30807 Settings Tab new options for seated motion and recentering 2019-10-02 12:40:01 +09:00
Kung-vr b4dbbe8857 Add keyboard input RShift, tilde, "no key up" tokens and debug buttons
These are used to add support for vrc debug commands which I personally wanted to add. Because it's a narrow use case the must be enabled manually by adding vrcDebug = true to [utilitiesSettings] in the OpenVRAdvancedSettings.ini file
2019-10-01 10:36:04 +09:00
ykeara 4b0be27ff6 Video and Steam VR Tab Re-work + keyboard binds (#289)
* changed color overlay to use gain values instead of overlay

* moved SS/Motion smoothing, and filter to video tab

* began refactor of steamVR qml page

* added misc toggles to steamvr tab

* added imu fallback and DND, and some qml formatting

* added Camera Settings to SteamVR page

* changed formatting to minimize height

* added video profiles cleaned up steamvr controller

* delta comparison change

* added profiles for video

* fixed display bug in colorgroupbox and removed frivoulous saves

* removed commented code

* added custom keybind buttons
2019-09-01 02:35:00 -05:00
ykeara 5452144157 Velocity fade dependent setting removal (#282)
* removed velocity fade dependent fade.

* changed floating point comparisons

* explicit conversion changes

* removed head speed calculation from overlaycontroller as no longer used
2019-09-01 02:13:38 -05:00
ykeara 746aa23207 Ssbugs, removal of re-vive, and dashboard loop tick (#277)
* minor changes

* debugging testing

* removed un-needed log calls

* moved some logic to run only when dashboard is active

* fixed linker error

* added casting

* removed revive tab

* removed stray revive reference

* removed revive from sources

* fixed misc formatting issues

* added newline
2019-08-22 13:40:48 -05:00
Kung-vr e71785e5ff Add disable vsync and custom tickrate options 2019-07-20 01:18:54 +09:00
Kung-vr 01a6d8d361 Patch WMR Floor Fix and add Force Bounds on motion (#237)
* Update FixFloorTabController.cpp

Adds an extra offsets tab reset after floor fix to make sure the fix is visible for WMR users.

* Add Force Bounds on Motion

Adds forcing chaperone bounds on space-turn and space-drag. Addresses #183

* Update Motion Page Screenshot for Force Bounds

* Update docs for Force Bounds on motion options
2019-07-03 15:15:18 -05:00
ykearaandKung-vr 4181b03232 Documentation for 3.2.0 (#232)
* added documentation

* fixed links

* updated documentation

* Update Readme.md

updated description for smooth turn

Co-Authored-By: Kung-vr <38249782+Kung-vr@users.noreply.github.com>

* Update Readme.md

better rotation description.

Co-Authored-By: Kung-vr <38249782+Kung-vr@users.noreply.github.com>
2019-06-25 22:47:47 -05:00
Kung-vr beb006f75d Add smooth turn and universe centered rotation 2019-06-22 00:30:19 +09:00
ykeara 0b83c2bcad Mic mute and Text input error (#222)
* changed swapping mic behavior to always unmute mic before swapping

* fixed manual input bug on desktop overlay page

* CI integration re-test
2019-06-14 12:59:13 -05:00
ykeara b473f4d7db Prox sensor re-integration (#220)
* added arbitrary orientation change

* removed commented code

* updated to OVR 1.4.18

* changed two instances using new to init via array

* moved prox sensor action to haptic instead of Misc

* fixed json file, added prox sensor back for mic mute/un-mute

* added proximity sensor to audio and haptic chaperone warnings

* fixed fall-through behavior

* removed bad prox code
2019-06-14 12:33:56 -05:00
ykeara 263759a0df Color overlay adjustment feature (#208)
* perf graph overlay/checkbox added

* added toggle Chaperone action

* toggle chaperone non-functional

* fixed chaperone toggle action const to once

* Added Proximity Sensor Action back-end, not implemented via logic Until fixed by valve

* added default WMR controller profile

* formated

* formated steamvrtabcontroller.h

* fixed un-intended change

* fixed audio profile Bug w/ changed devices

* fixed name being used as param instead of ID

* fixed loop logic in saveAudioProfile

* audio profile fix WIP defaults OVR integration

* fixed profile Saves, delete logic and mirror logic needed

* fixed QML format, added TODO message

* Fixed Audio Profile Behavior

* fixed qml reference error

* audiodeviceselector changed qml

* Removed some comments

* changed Visibility slider Minimum to 30% (steamVR minimum allowed)

* fixed mirror/playback same issue

* fixed Audio device refresh bug, removed currently un-used proximity logic (commented out)

* removed dead code

* fixed Manifest install/un-install behavior

* removed un-used param

* color overlay in prog

* video overlay basic functions added

* fixed qml errors

* fixed init order error and chaperone min init error

* fixed duplicate button id issue, init issue

* fixed log call w/ manifest

* removed commented log lines
2019-06-01 11:02:55 -05:00
ykeara 3d50eb7995 Fixes Various Audio Bugs (#198)
* perf graph overlay/checkbox added

* added toggle Chaperone action

* toggle chaperone non-functional

* fixed chaperone toggle action const to once

* Added Proximity Sensor Action back-end, not implemented via logic Until fixed by valve

* added default WMR controller profile

* formated

* formated steamvrtabcontroller.h

* fixed un-intended change

* fixed audio profile Bug w/ changed devices

* fixed name being used as param instead of ID

* fixed loop logic in saveAudioProfile

* audio profile fix WIP defaults OVR integration

* fixed profile Saves, delete logic and mirror logic needed

* fixed QML format, added TODO message

* Fixed Audio Profile Behavior

* fixed qml reference error

* audiodeviceselector changed qml

* Removed some comments

* changed Visibility slider Minimum to 30% (steamVR minimum allowed)

* fixed mirror/playback same issue

* fixed Audio device refresh bug, removed currently un-used proximity logic (commented out)

* removed dead code
2019-05-18 11:33:03 -05:00
ykeara 84d5be7771 Fixes Various Audio Issues. (#185)
* perf graph overlay/checkbox added

* added toggle Chaperone action

* toggle chaperone non-functional

* fixed chaperone toggle action const to once

* Added Proximity Sensor Action back-end, not implemented via logic Until fixed by valve

* added default WMR controller profile

* formated

* formated steamvrtabcontroller.h

* fixed un-intended change

* fixed audio profile Bug w/ changed devices

* fixed name being used as param instead of ID

* fixed loop logic in saveAudioProfile

* audio profile fix WIP defaults OVR integration

* fixed profile Saves, delete logic and mirror logic needed

* fixed QML format, added TODO message

* Fixed Audio Profile Behavior

* fixed qml reference error

* audiodeviceselector changed qml

* Removed some comments
2019-05-02 11:29:49 -05:00
ykeara ef67888405 WMR default binding, Toggle Chaperone Action, frame timing graph, prox sensor back-end (#182)
* perf graph overlay/checkbox added

* added toggle Chaperone action

* toggle chaperone non-functional

* fixed chaperone toggle action const to once

* Added Proximity Sensor Action back-end, not implemented via logic Until fixed by valve

* added default WMR controller profile

* formated

* formated steamvrtabcontroller.h

* fixed un-intended change
2019-04-27 17:47:46 -05:00
Kung-vr 48f0743bf9 Add Old-Style Motion Setting 2019-04-21 17:57:39 +09:00