5.8.3 (#658)
* 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
This commit is contained in:
+56
-44
@@ -116,6 +116,13 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
LOG( ERROR ) << "Could not find alarm01 sound file " << alarmFileName;
|
||||
}
|
||||
|
||||
// If we have desktop mode flag ignore waht toggle says otherwise we use
|
||||
// toggle
|
||||
if ( !m_desktopMode )
|
||||
{
|
||||
m_desktopMode = desktopModeToggle();
|
||||
}
|
||||
|
||||
QSurfaceFormat format;
|
||||
// Qt's QOpenGLPaintDevice is not compatible with OpenGL versions >= 3.0
|
||||
// NVIDIA does not care, but unfortunately AMD does
|
||||
@@ -183,7 +190,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"OverlayController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = objectAddress;
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -197,7 +205,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"SteamVRTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_steamVRTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -207,7 +216,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"ChaperoneTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_chaperoneTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -217,7 +227,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"MoveCenterTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_moveCenterTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -227,7 +238,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"FixFloorTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_fixFloorTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -237,7 +249,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"AudioTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_audioTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -247,7 +260,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"StatisticsTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_statisticsTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -257,7 +271,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"SettingsTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_settingsTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -267,7 +282,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"UtilitiesTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_utilitiesTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -277,7 +293,8 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"VideoTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_videoTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -287,13 +304,19 @@ OverlayController::OverlayController( bool desktopMode,
|
||||
1,
|
||||
0,
|
||||
"RotationTabController",
|
||||
[]( QQmlEngine*, QJSEngine* ) {
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_rotationTabController );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
} );
|
||||
qmlRegisterSingletonType<alarm_clock::VrAlarm>(
|
||||
qmlSingletonImportName, 1, 0, "VrAlarm", []( QQmlEngine*, QJSEngine* ) {
|
||||
qmlSingletonImportName,
|
||||
1,
|
||||
0,
|
||||
"VrAlarm",
|
||||
[]( QQmlEngine*, QJSEngine* )
|
||||
{
|
||||
QObject* obj = &( objectAddress->m_alarm );
|
||||
QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership );
|
||||
return obj;
|
||||
@@ -504,8 +527,11 @@ void OverlayController::SetWidget( QQuickItem* quickItem,
|
||||
if ( chapindex.first )
|
||||
{
|
||||
m_chaperoneTabController.applyChaperoneProfile( chapindex.second );
|
||||
vr::VRApplications()->CancelApplicationLaunch(
|
||||
bool success = vr::VRApplications()->CancelApplicationLaunch(
|
||||
"openvr.tool.steamvr_room_setup" );
|
||||
auto successsstr = success ? "true" : "false";
|
||||
|
||||
LOG( INFO ) << "Attempted to stop roomsetup: " << successsstr;
|
||||
if ( vr::VRApplications()->GetApplicationProcessId(
|
||||
"openvr.tool.steamvr_room_setup" )
|
||||
!= 0 )
|
||||
@@ -1245,15 +1271,7 @@ void OverlayController::mainEventLoop()
|
||||
|
||||
if ( !chaperoneDataAlreadyUpdated )
|
||||
{
|
||||
// LOG(INFO) << "Re-loading chaperone data ...";
|
||||
m_chaperoneUtils.loadChaperoneData();
|
||||
// LOG(INFO) << "Found " << m_chaperoneUtils.quadsCount() <<
|
||||
// " chaperone quads."; if
|
||||
// (m_chaperoneUtils.isChaperoneWellFormed()) { LOG(INFO) <<
|
||||
// "Chaperone data seems to be well-formed.";
|
||||
//} else {
|
||||
// LOG(INFO) << "Chaperone data is NOT well-formed.";
|
||||
//}
|
||||
chaperoneDataAlreadyUpdated = true;
|
||||
}
|
||||
}
|
||||
@@ -1263,15 +1281,7 @@ void OverlayController::mainEventLoop()
|
||||
{
|
||||
if ( !chaperoneDataAlreadyUpdated )
|
||||
{
|
||||
// LOG(INFO) << "Re-loading chaperone data ...";
|
||||
m_chaperoneUtils.loadChaperoneData();
|
||||
// LOG(INFO) << "Found " << m_chaperoneUtils.quadsCount() <<
|
||||
// " chaperone quads."; if
|
||||
// (m_chaperoneUtils.isChaperoneWellFormed()) { LOG(INFO) <<
|
||||
// "Chaperone data seems to be well-formed.";
|
||||
//} else {
|
||||
// LOG(INFO) << "Chaperone data is NOT well-formed.";
|
||||
//}
|
||||
chaperoneDataAlreadyUpdated = true;
|
||||
}
|
||||
}
|
||||
@@ -1323,20 +1333,6 @@ void OverlayController::mainEventLoop()
|
||||
= std::sqrt( vel[0] * vel[0] + vel[1] * vel[1] + vel[2] * vel[2] );
|
||||
}
|
||||
auto universe = vr::VRCompositor()->GetTrackingSpace();
|
||||
// This Fix is hopefully temporary as OpenVR doesn't appear to have a way to
|
||||
// tell if an application is OpenXR outside of VR_init which we don't have
|
||||
// control over
|
||||
/*
|
||||
if ( vr::VRApplications()->GetApplicationProcessId(
|
||||
"openvr.tool.steamvr_room_setup" )
|
||||
== 0
|
||||
&& openXRFixEnabled() )
|
||||
{
|
||||
// OpenXR applications will appear as RawAndUncalibrated.
|
||||
// Unless Room Setup is running, treat this case as Standing.
|
||||
universe = vr::TrackingUniverseStanding;
|
||||
}
|
||||
*/
|
||||
m_moveCenterTabController.eventLoopTick( universe, devicePoses );
|
||||
m_utilitiesTabController.eventLoopTick();
|
||||
m_statisticsTabController.eventLoopTick(
|
||||
@@ -1347,7 +1343,7 @@ void OverlayController::mainEventLoop()
|
||||
|
||||
m_alarm.eventLoopTick();
|
||||
|
||||
if ( vr::VROverlay()->IsDashboardVisible() )
|
||||
if ( vr::VROverlay()->IsDashboardVisible() || m_desktopMode )
|
||||
{
|
||||
m_settingsTabController.dashboardLoopTick();
|
||||
m_steamVRTabController.dashboardLoopTick();
|
||||
@@ -1669,6 +1665,22 @@ double OverlayController::soundVolume() const
|
||||
settings::DoubleSetting::APPLICATION_appVolume );
|
||||
}
|
||||
|
||||
void OverlayController::setDesktopModeToggle( bool value, bool notify )
|
||||
{
|
||||
settings::setSetting( settings::BoolSetting::APPLICATION_desktopModeToggle,
|
||||
value );
|
||||
if ( notify )
|
||||
{
|
||||
emit desktopModeToggleChanged( value );
|
||||
}
|
||||
settings::saveAllSettings();
|
||||
}
|
||||
bool OverlayController::desktopModeToggle() const
|
||||
{
|
||||
return settings::getSetting(
|
||||
settings::BoolSetting::APPLICATION_desktopModeToggle );
|
||||
}
|
||||
|
||||
void OverlayController::playActivationSound()
|
||||
{
|
||||
if ( !m_noSound )
|
||||
|
||||
Reference in New Issue
Block a user