Commit Graph
906 Commits
Author SHA1 Message Date
Vasily c662334a17 Remove unneeded imports from .pro file 2019-02-02 16:09:07 +01:00
Vasily a4ecb0b114 Convert images to use .qrc file, move images
All images have been moved to the /img/ folder in order to fully
separate qml from images. The .qrc file allows qml to use the images by
appending the qrc:/ prefix before the abstract path to the image.

Note that the .qrc file is also check at compile time, which further
enhances the confidence the lack of errors.

Some of the images are not used in the QML, but instead directly passed
through to the OpenVR API. These have not been added to the .qrc file.
2019-02-02 16:09:06 +01:00
Vasily e0768a38b3 Move checkmark and back arrow into .qrc file
The QRC file is a platform independant way of referring to resource
files. It allows the program to access resources in an abstract way
instead of the direct file path.

This is the first step towards moving all files to the new system.
2019-02-02 16:09:02 +01:00
Vasily 76507bd602 Move common elements into /common/ and change imports
Elements work like they've always done, this just moves the commonly
used components away from the global namespace.

The qmldir file still does something, although at this point it is
unknown exactly how it's used and whether or not it could be changed to
simplify imports across the block.
2019-02-02 16:09:01 +01:00
username223 4fc038630c Merge pull request #77 from OpenVR-Advanced-Settings/ptt-controller-rework
Refactor AudioPage into separate components
2019-02-02 16:04:15 +01:00
Kung-vr 5832eea951 Create quaternion.h to centralize quaternion math 2019-02-02 22:36:19 +09:00
Vasily 1a1697eafe Update AudioPage image
Some things have been knocked out of alignment because they were
manually adjusted using integer literal values.
2019-02-01 20:40:14 +01:00
Vasily b01425d745 Fix qml files not being added in Qt Creator
The missing backslashes continued the line, without them the additional
lines were not being included in the += call.
2019-02-01 20:24:02 +01:00
Vasily 083e85cf59 Refactor profile buttons and popups
The popups have been moved inside the scope of the ProfileButtons. Since
the popups open based on the location of their parents, they are
currently opening underneath where they used to open.

Since the profiles and ptt settings do not work anyway, this is seen as
acceptable.
2019-02-01 20:15:51 +01:00
Vasily e0bff66cec Move other PTT buttons into the PttButtons component
The other components were not organized together with the remaining Ptt
buttons. This creates unnecessary separation between related buttons.
2019-02-01 19:49:12 +01:00
Vasily bcd14cdddf Remove unneeded property from AudioNewProfileDialog
The line was an invalid alias, crashing the application on launch.
2019-02-01 19:40:26 +01:00
Vasily b810be3eb8 Refactor PTT buttons into separate file
The PttControllerConfigDialog was not used by anything else, hence it
makes sense to move it into a more limited scope.

The PttControllerConfigDialog file itself is only used by AudioPage and
AccessibilityPage. Since the AccessibilityPage is going to be removed
the PttControllerConfigDialog should be moved into the audio_page
folder.
2019-02-01 19:28:18 +01:00
Vasily 394482e63a Fix regression in profile popups
Without the public ids on the pop ups other buttons that used the
buttons did not work.
2019-02-01 19:16:18 +01:00
Vasily fc06c46144 Refactor audio proximity enable button into separate file 2019-02-01 19:08:26 +01:00
Kung-vr 95be1a4aab Prevent low vsync fps from slowing tick under old 20ms 2019-02-02 03:01:36 +09:00
Vasily a29e6baaf7 Remove id tags from refactored components
The ids are not needed within the AudioPage, since everything has been
encapsulated inside the components.
2019-02-01 16:38:49 +01:00
Vasily 5dc28972ae Refactor microphone volume slider into separate file, clean up AudioPage
An if statement hadn't been transferred to the mirrorVolume slider,
hence it was moved now.
2019-02-01 16:38:49 +01:00
Vasily 5aa5d84345 Indent PTT controls on AudioPage
The PTT controls were grouped in a ColumnLayout with the microphone
device and volume controls. Grouping the microphone controls together
mirrors what is done with the mirror device controls.
2019-02-01 16:38:48 +01:00
Vasily 86599fbd29 Refactor audioMicNameCombo 2019-02-01 16:38:47 +01:00
Vasily c36e9cd168 Move mirror slider into own file
The mirror selector is a sub part of the volume slider. This could be
changed in the future to have the slider be a top level component that
contains both selector and slider.
2019-02-01 16:38:46 +01:00
Vasily 56d866a236 Refactor mirrorAudio dropdown and move logic into
The logic is better abstracted away inside the class.
2019-02-01 16:38:45 +01:00
Vasily cd4a6d6994 Refactor audio device selector into separate file
For now the way to go is to have the mirror device and audio device
selectors as different components instead of trying to inherit from a
single component and filling in the necessary function calls.

This is because some function calls are nested inside other components
and would be very messy. Perhaps in future commits the selectors will
inherit from a single parent.
2019-02-01 16:38:44 +01:00
Vasily b6ffa8d30d Move dialog boxes into separate folder
Setting the default audio profile has also been moved into the separate
dialog box. This should not change anything and no bugs were found in
testing, however I have no idea how objects in QML/C++ are initialized
or if our current codebase is created with this in mind.
2019-02-01 16:38:44 +01:00
Vasily 33768028b4 Move AudioPage.qml into separate directory
This encapsulates the page and separates it and the files it uses from
the rest of the application.
2019-02-01 16:38:42 +01:00
Kung-vr e302d5b978 Merge branch 'master' into alpha-kung 2019-02-01 22:42:23 +09:00
Kung-vr 3b24502825 Merge pull request #76 from OpenVR-Advanced-Settings/update-openvr
Update OpenVR from 1.1.3b to 1.2.10
2019-02-01 22:41:39 +09:00
Vasily 6c31fde308 Update OpenVR from 1.1.3b to 1.2.10
The openvr/bin/linux64 directory also contained a file called empty.dir.
This has been removed because it was an empty file.

VREvent_Scroll has been renamed to VREvent_ScrollSmooth, and not
VREvent_ScrollDescrete because the second one will keep scrolling after
having let go of the scroll (tested on Vive controller). This feels
weird when done on a Vive controller and so the first option was chosen.
The first option also feels more like the old system.

Even though the version jump is weird this is the next release.
2019-01-31 21:45:54 +01:00
Kung-vr e17cec1f27 Call movecenter reset on chaperone tab flip orientation (#75) 2019-01-31 13:57:11 -06:00
Kung-vr 79002dd16a Merge branch 'master' into alpha-kung 2019-01-31 13:57:29 +09:00
Kung-vr bd8bcd5972 Call movecenter reset on chaperone tab flip orientation 2019-01-31 13:50:49 +09:00
Kung-vr 93dec1dd28 Merge pull request #71 from OpenVR-Advanced-Settings/alpha-kung
Alpha kung merge (new playspace rotation feature)
2019-01-31 04:12:39 +09:00
Kung-vr ffdb47fcb6 Clarified invalid quaternion checking
Note: Considered NaN, however we use a placeholder invalid number rather than NaN because NaN can have unintuitive behavior when comparing as boolean.
2019-01-31 03:54:59 +09:00
Kung-vr 854681dcdf static constexpr to constexpr changes
static constexpr to constexpr changes for update counters and invalid quaternions and radians conversion
2019-01-31 03:37:15 +09:00
Kung-vr 31696863be Replace magic numbers, fix bindings localization
Replace magic numbers with constants and centralize settings update counters. Rename actions manifest localization from "en" to "en_US" (Thanks Ykeara)
2019-01-30 15:11:11 +09:00
Kung-vr 1d058dffcf Terminolgy Change: "Playspace" -> "Room"
Valve's official terminology are "Room Setup" and "Tracking Universe". Changed our usage of "Playspace" to "Room" for clarity with the upcoming Room-Turn feature and existing Room-Drag feature when compared to nomenclature for other tools that exits out there.

Also slight clean up in readability of movecentertab's action functions.
2019-01-29 01:11:47 +09:00
Kung-vr a39196af01 Improve readability of vsync and settings update code 2019-01-28 23:11:20 +09:00
Kung-vr d529b21f3e Clean up before PR to master 2019-01-28 03:31:52 +09:00
Kung-vr cca61b3ee7 Merge branch 'master' into alpha-kung 2019-01-28 03:14:42 +09:00
Kung-vr 7dce218529 Merge pull request #69 from OpenVR-Advanced-Settings/utilities-qml
Move the utilities page QML into its own folder and extract components
2019-01-28 03:12:49 +09:00
Kung-vr f60be85a58 Merge branch 'master' into utilities-qml 2019-01-28 02:55:30 +09:00
Kung-vr 3e9ec4a48d Merge branch 'master' into alpha-kung 2019-01-28 02:53:24 +09:00
Kung-vr 775aaa7cd0 Support new steamvr input for playspace rotate and move 2019-01-28 02:45:29 +09:00
Vasily 70e7556de8 Move components into their own directories
This prevents the import "utilities_page" from also importing the
subcomponents. They should not be in the global namespace.
2019-01-27 10:29:57 +01:00
Kung-vr 310fa36828 Merge pull request #68 from bdonlan/crashfix
Fix NULL dereference in OnDefaultDeviceChanged
2019-01-27 12:56:25 +09:00
Bryan Donlan ac0f957488 Fix NULL dereference in OnDefaultDeviceChanged
When the vive pro wireless adapter loses connection, its audio devices are
removed, causing an OnDefaultDeviceChanged event to be issued for each
such device that was previously set as the default. However, if no other
device is available for the role that was disconnected (e.g. if the Vive
Pro was providing the only system microphone), then pwstrDefaultDeviceId
is NULL.

In this case, we would invoke getDevice on the NULL device ID, then
attempt to print the default device name in the debug logging path; this
NULL dereference would cause AdvancedSettings to crash.

This change simply fixes the logging code to not attempt to print the
new default device name when it is NULL.
2019-01-26 18:18:45 -08:00
Vasily 629c4e2edb Separate individual components into qml files
This removes the massively indented logic in the previous version.
Notice that individual components will still be imported with an
import "utilities_page". Therefore anything except UtilitiesPage.qml
should be in a separate folder.
2019-01-26 20:29:14 +01:00
Vasily a94c37b858 Move UtilitiesPage and media_keys into separate folder
The QML at the moment is a giant mess. Moving pages into individual
folders and properly abstracting the sub components of the pages will
allow for much easier development and better error messages.
Additionally it will prevent polluting the global namespace. Really, all
the reasons for avoiding globally available values and using
abstractions in regular programming also come into play here.
2019-01-26 18:32:29 +01:00
Kung-vr de4cc5e88f Merge branch 'master' into alpha-kung 2019-01-25 00:14:33 +09:00
username223 25d2854248 Merge pull request #64 from OpenVR-Advanced-Settings/compiler/readme-updates
Update Travis CI to use clang in addition to g++, update readme, update standard to C++17
2019-01-24 06:51:05 +01:00
username223 b661e3f8b3 Merge branch 'master' into compiler/readme-updates 2019-01-23 22:51:44 +01:00