Commit Graph
225 Commits
Author SHA1 Message Date
Kung-vr 499a0e3ede Fix rotation counter stats during rotation drag 2019-01-24 00:58:15 +09:00
Kung-vr ec0d35bf0d Merge branch 'master' into alpha-kung 2019-01-22 14:00:22 +09:00
ykeara b3a9e5ea8d fixed default audio profile display (#58)
* fixed default audio profile display

* fixed formatting
2019-01-21 14:04:06 -06:00
Kung-vr 47920bfa74 Fix gimbal-lock when controller pointed up or down
Compare old and new pose via a relative quaternion rather than relative yaw, then calculate the resulting yaw-difference from the quaternion in one go.
2019-01-17 02:32:08 +09:00
Kung-vr 0c0a616691 Clean-up after merge 2019-01-17 02:01:23 +09:00
Kung-vr 6fcf0b1a54 Merge branch 'master' into alpha-kung 2019-01-17 01:55:12 +09:00
Kung-vr 089862e876 Apply fix for reset button rotation from alpha-kung branch 2019-01-15 23:23:34 +09:00
Kung-vr 53138c5fef Implemented vsync tick for event loops 2019-01-14 03:24:15 +09:00
Kung-vr 733f4f8dc0 Merge branch 'master' into alpha-kung 2019-01-13 15:53:59 +09:00
Kung-vr d0e2c15e7a Increased rotation granularity to 0.01 desgrees 2019-01-13 10:04:21 +09:00
Robin Appelman e75a4c2353 use QStandardPaths to get resource locations (#44)
* use QStandardPaths to get resource locations

While this shouldn't change behaviour for windows, it allows installing the resource files seperate from the binary on unix systems

* initialize battery overlay handles to 0
2019-01-12 16:34:45 -06:00
username223 edbecb089e Merge branch 'master' into media-keys 2019-01-12 21:56:38 +01:00
ykeara 95b7eaa664 SteamVRTab SSOverride update (#40)
* Added Manual Override Checkbox

* added profile logic/synch fixed bug with profile

* Added Function definitions + re-arranged code into more logical blocks

* formatting and fixed reset function in steamvrtabcontroler

* updated documentation

* removed some comments(for later standardization), params as const (where applicable), changed SS minimum value to .2 to match with steamVR minimum

* changed c style cast to c++

* re-applied formatting

* removed un-used lines in steamvrtabcontroller.h
2019-01-12 14:49:07 -06:00
Vasily ace455d3d3 Add media functions to UtilityTabController 2019-01-12 19:14:57 +01:00
Vasily 7da9d0e61f Implement new media keys for Windows 2019-01-12 19:14:57 +01:00
Vasily faa6ccc580 Refactor sendKeyboard functions to new funcs, propogate constness
The sendKeyboardBackspace function was used with a non-const parameter
throughout the entire inheritance hierachy. Const has been added to
every parameter for the reasons you add const.
2019-01-12 19:14:56 +01:00
Vasily 73f9766de7 Add higher abstraction funcs for sending keystrokes, add const parms
The original functions had the API details of sending keys absolutely
correct, but they were cumbersome to use due to not abstracting away the
press and release aspect and manual creation of INPUT structs.

The manual management of objects also saved a few operations, but with
the frequency that these functions are called it's probably better to
have more abstract code than preventing a 28 byte object from being stack
copied twice every 2 seconds or so.
2019-01-12 19:14:55 +01:00
Kung-vr 58ef2e02b4 New Feature: Control rotation during virtual move
It's now possible to rotate the playspace by turning the controller during a virtual move playspace drag. The feature is activated via a checkbox on the playspace tab. If X Y Z axis lock checkboxes are also checked only rotation will be applied. Offsets will still accumulate as the user swings the playspace around because rotation is now centered at head. This feature is intended for use with manual redirected walking (allowing the user to virtually walk in a straight line while walking circles in physical space). This distance walked is reflected in the X,Z offsets.
2019-01-13 00:43:21 +09:00
Vasily 148acf08ef Prefix OverlayController TabController members with m_ 2019-01-11 23:04:57 +01:00
Kung-vr ad93d4265d Improved Valve Knuckles PTT trigger feel (#32) 2019-01-10 12:00:39 -06:00
ykeara ed8587703e updated documentation minor formatting change in QML 2019-01-09 20:50:50 -06:00
ykeara 15fa0ac47a fixed naming bug in QML and formatted/cleaned up 2019-01-09 20:32:39 -06:00
ykeara 813a2b1d3f removed compositor super sampling added error checking for motion smoothing 2019-01-09 20:03:41 -06:00
ykeara 454131f0a0 replaced locally created api keys with proper api keys 2019-01-09 19:25:14 -06:00
ykeara b374ff42f5 cleaned up dead code 2019-01-08 22:46:30 -06:00
ykeara 123c38c586 Fixed Profile Viewing 2019-01-08 21:31:13 -06:00
ykeara 9351267fb5 fixed naming bug in qml 2019-01-08 21:02:52 -06:00
ykeara 7bd02049a2 added Motion Smoothing toggle 2019-01-08 20:37:22 -06:00
ykeara 2fadca76d0 Commented out reprojection logic 2019-01-08 17:33:48 -06:00
username223 16f5438ab0 Update OpenVR dependency to version 1.1.3b (#28)
* Update OpenVR from an unknown version to 1.1.3b

There shouldn't be any breaking changes.

* Add removed variables from old OpenVR version

The strings are the names of variables in steamvr.vrsettings in
C:\Program Files
(x86)\Steam\steamapps\common\SteamVR\resources\settings\

The string allowReprojection leads to warning log spam on some
occasions.

For more information see this github issue
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/25.
2019-01-08 16:53:16 -06:00
ykeara 15855c4564 fixed minor code formatting errors 2019-01-04 13:34:52 -06:00
ykeara b883d2cffd default audio profile and view added
Update logging dependency from 9.84 to 9.89

This is the newest version that doesn't lead to compile errors. It has
also reduced the amount of "-Wexpansion-to-defined" errors on clang-msvc
by about 80 (from ~400 to 320).

Update easylogging license file

Originally came as LICENCE.txt (notice C instead of S in LICENSE),
renamed to better fit into the git history.

Move logging defines to QMAKE instead of logging.h

Defines done outside of easylogging++.h does not work according to
official documentation
(https://github.com/zuhd-org/easyloggingpp/blob/master/README.md#configuration-macros)

"NOTE: All the macros can be defined in one of the following ways:

1. Define macros using -D option of compiler, for example in case of
g++ you will do g++ source.cpp ... -DELPP_SYSLOG -DELPP_THREAD_SAFE
... (recommended way)

2. Define macros inside "easylogging++.h" (defining macros in other
files won't work)"

Linking to this issue:
https://github.com/zuhd-org/easyloggingpp/issues/590#issuecomment-346753951

We are using the developer recommended way of defining them by command
line.

What is assumed to be the intention of enabling debug logs before
including easylogging++ never actually did anything, hence this define
is dropped. Newer versions of easylogging++ uses the macro
ELPP_DISABLE_DEBUG_LOGS to _disable_ debug logs. Leaving that macro
undefined satisfies the original intent.

Move easylogging++ include into necessary files

logging.h previously had logic to enable debug logging even on release
builds. This logic was moved to the QMAKE file, hence the logging.h file
is no longer necessary.

Update easylogging++ to 9.96.7, turn on /WX for clang-msvc

Updating from easylogging++ 9.89 to 9.96.7 turns it from a header only
library to one requiring a source file. It has been added to sources
near the other third party includes in the QMAKE to signify that it
isn't a first party file.

Updating easylogging++ also means that clang-msvc can compile without
any warnings, hence turning on warnings as errors for that compiler as
well, to avoid any regressions.

updated to current

fixed formatting

fixed ptt add bug/compilerwarnings/c++14 target

cleaned up .pro file

fixed casting back to c++ style

added default profile and ptt profile view

fixed c++ casts

fixed logic error on getDevice functions
2019-01-03 15:37:20 -06:00
ykeara 75b7b5df0b merging for org 2018-12-28 14:31:30 -06:00
ykeara 27247e5ecd default profile + display ptt/audio profile 2018-12-28 13:45:21 -06:00
ykeara 541c82cbbf display selected profile + default profile added 2018-12-28 13:30:19 -06:00
Vasily 51057c1d79 Format every single file using .clang-format 2018-12-28 03:06:42 +01:00
Vasily e8cda901d1 Rename local var that shadows member var
Notice that the class has an identical var that is used in several
places. It is unknown if the original programmer intended to use the
member var in this function, but what is actually being done is a new
var being created, changed and returned. This may not respect the
original intention, but it does preserve the original mechanics.
2018-12-27 18:42:29 +01:00
Vasily b097908b12 Rename parameters shadowing class members
Parameters with the same name as class members are ripe for introducing
bugs. The fact that the "this->" syntax is optional creates confusion
for maintaining programmers who can only guess at the intention.
2018-12-27 18:27:27 +01:00
Vasily f42c481308 Add brackets around intialization of 2D array inside struct
2 brackets are necessary because it's initialization of a struct,
intializing an 3 member array of 4 floats.
2018-12-27 14:29:22 +01:00
Vasily e7e7272d52 Fix memory leaks as result of missing delete[]
The delete keyword only calls a single destructor, delete[] calls as
many as there are members in the array.
2018-12-27 14:23:54 +01:00
Vasily d9a4da5f5d Change C style cast to reinterpret_cast
static_cast won't cast between pointer types, reinterpret_cast will.
2018-12-27 14:18:03 +01:00
Vasily b452e68456 Fix minor memory leaks
The delete keyword only calls a single destructor, the delete[] keyword
calls as many destructors as there are members of the array.
2018-12-27 14:14:49 +01:00
Vasily 450bf91db6 Resolve implicit unsigned/signed casts 2018-12-27 14:13:27 +01:00
Vasily 6c4541018d Change NULL to nullptr 2018-12-27 14:05:37 +01:00
Vasily f32c91fe03 Fix GCC warning about unused value
Casting to void should shut up GCC about

error: statement has no effect [-Werror=unused-value]

static_cast<void>() is possible for all current types. Supposedly an old
C style cast could also be used, but they should not be used in modern
C++ code.
2018-12-27 13:09:17 +01:00
Vasily 9a2c388a1c Solve initialization bug in MOveCenterTabController
GCC gave error

../src/tabcontrollers/MoveCenterTabController.cpp:57:67: error:
operation on
‘((advsettings::MoveCenterTabController*)this)->advsettings::MoveCenterTabController::lastMoveButtonClick[0]’
may be undefined [-Werror=sequence-point]

Because assigning a value to itself twice is undefined behavior. It is
highly likely that intended behavior was to initialize both array
members to the same value at once.
2018-12-27 12:14:07 +01:00
Vasily e54f244508 Fix warnings in AudioTabController
Mostly casts and unsigned to signed comparisons.

Testing to ensure that the int isn't below 0. If it is, it can't be used
in the array later anyway. After we're sure it isn't below 0 it's safe
to static_cast<size_t>().
2018-12-27 01:55:49 +01:00
Vasily 4904ccaa35 Move variables to .cpp file to prevent unused var warning message 2018-12-27 01:17:02 +01:00
Vasily 6d3b5fdf63 Remove warnings for unreferenced parameters
The warnings in dummy functions are preventing the project from being
compiled with warnings as errors.

There were two options:

* Using a define to create a noop (chosen option).

* Commenting out the variable name, leaving only the type.

The first option was chosen because the second option would leave out
information from the IDE and compiler, while the first option wouldn't.

The intent is also clearer with the first option, otherwise it would
likely be necessary to leave comments with every single parameter that
was commented out.
2018-12-26 23:01:11 +01:00
Robin Appelman 8e2ca3602a Add option to send Alt-Tab as keyboard input 2018-12-26 16:32:38 +01:00