diff --git a/interface/resources/qml/hifi/Desktop.qml b/interface/resources/qml/hifi/Desktop.qml index 3e6e5b6764..7857eda3c2 100644 --- a/interface/resources/qml/hifi/Desktop.qml +++ b/interface/resources/qml/hifi/Desktop.qml @@ -55,7 +55,7 @@ OriginalDesktop.Desktop { // Literal 50 is overwritten by settings from previous session, and sysToolbar.x comes from settings when not constrained. x: sysToolbar.x y: 50 - shown: false + shown: true } Settings { diff --git a/interface/resources/qml/hifi/toolbars/Toolbar.qml b/interface/resources/qml/hifi/toolbars/Toolbar.qml index f80e0f8c14..9015c026b0 100644 --- a/interface/resources/qml/hifi/toolbars/Toolbar.qml +++ b/interface/resources/qml/hifi/toolbars/Toolbar.qml @@ -49,7 +49,6 @@ Window { id: content implicitHeight: horizontal ? row.height : column.height implicitWidth: horizontal ? row.width : column.width - property bool wasVisibleBeforeBeingPinned: false Row { id: row @@ -62,18 +61,6 @@ Window { } Component { id: toolbarButtonBuilder; ToolbarButton { } } - - Connections { - target: desktop - onPinnedChanged: { - if (desktop.pinned) { - content.wasVisibleBeforeBeingPinned = window.visible; - window.visible = false; - } else { - window.visible = content.wasVisibleBeforeBeingPinned; - } - } - } } @@ -136,10 +123,11 @@ Window { buttons.push(result); result.opacity = 1; - updatePinned(); sortButtons(); + shown = true; + return result; } @@ -149,24 +137,12 @@ Window { console.warn("Tried to remove non-existent button " + name); return; } + buttons[index].destroy(); buttons.splice(index, 1); - updatePinned(); if (buttons.length === 0) { - fadeOut(function () {}); + shown = false; } } - - function updatePinned() { - var newPinned = false; - for (var i in buttons) { - var child = buttons[i]; - if (child.pinned) { - newPinned = true; - break; - } - } - pinned = newPinned; - } } diff --git a/libraries/audio/src/AudioInjector.h b/libraries/audio/src/AudioInjector.h index 2abc445034..7d57708738 100644 --- a/libraries/audio/src/AudioInjector.h +++ b/libraries/audio/src/AudioInjector.h @@ -121,5 +121,6 @@ private: friend class AudioInjectorManager; }; +Q_DECLARE_METATYPE(AudioInjector*) #endif // hifi_AudioInjector_h diff --git a/libraries/entities/src/EntityEditPacketSender.cpp b/libraries/entities/src/EntityEditPacketSender.cpp index 00f85f5078..7845b0d5e3 100644 --- a/libraries/entities/src/EntityEditPacketSender.cpp +++ b/libraries/entities/src/EntityEditPacketSender.cpp @@ -60,8 +60,10 @@ void EntityEditPacketSender::queueEditAvatarEntityMessage(PacketType type, // the ID of the parent/avatar changes from session to session. use a special UUID to indicate the avatar QJsonObject jsonObject = jsonProperties.object(); - if (QUuid(jsonObject["parentID"].toString()) == _myAvatar->getID()) { - jsonObject["parentID"] = AVATAR_SELF_ID.toString(); + if (jsonObject.contains("parentID")) { + if (QUuid(jsonObject["parentID"].toString()) == _myAvatar->getID()) { + jsonObject["parentID"] = AVATAR_SELF_ID.toString(); + } } jsonProperties = QJsonDocument(jsonObject); diff --git a/plugins/hifiKinect/src/KinectPlugin.cpp b/plugins/hifiKinect/src/KinectPlugin.cpp index 8313ea0d49..72c7926ec1 100644 --- a/plugins/hifiKinect/src/KinectPlugin.cpp +++ b/plugins/hifiKinect/src/KinectPlugin.cpp @@ -228,7 +228,8 @@ void KinectPlugin::init() { { auto getter = [this]()->bool { return _enabled; }; auto setter = [this](bool value) { - _enabled = value; saveSettings(); + _enabled = value; + saveSettings(); if (!_enabled) { auto userInputMapper = DependencyManager::get(); userInputMapper->withLock([&, this]() { @@ -240,9 +241,10 @@ void KinectPlugin::init() { preferences->addPreference(preference); } { - auto debugGetter = [this]()->bool { return _enabled; }; + auto debugGetter = [this]()->bool { return _debug; }; auto debugSetter = [this](bool value) { - _debug = value; saveSettings(); + _debug = value; + saveSettings(); }; auto preference = new CheckPreference(KINECT_PLUGIN, "Extra Debugging", debugGetter, debugSetter); preferences->addPreference(preference); @@ -573,8 +575,8 @@ void KinectPlugin::loadSettings() { QString idString = getID(); settings.beginGroup(idString); { - // enabled _enabled = settings.value("enabled", QVariant(DEFAULT_ENABLED)).toBool(); + _debug = settings.value("extraDebug", QVariant(DEFAULT_ENABLED)).toBool(); } settings.endGroup(); } diff --git a/script-archive/controllers/kinectToAnimation.js b/script-archive/controllers/kinectToAnimation.js new file mode 100644 index 0000000000..3965b4e4bb --- /dev/null +++ b/script-archive/controllers/kinectToAnimation.js @@ -0,0 +1,66 @@ +var handlerId = 0; + +var ikTypes = { + RotationAndPosition: 0, + RotationOnly: 1, + HmdHead: 2, + HipsRelativeRotationAndPosition: 3, + Off: 4 +}; + +var MAPPING_NAME = "com.highfidelity.examples.kinectToAnimation"; +var mapping = Controller.newMapping(MAPPING_NAME); + +var recentLeftHand; +var recentRightHand; +var recentLeftFoot; +var recentRightFoot; + +mapping.from(Controller.Hardware.Kinect.LeftHand).debug(true).to(function(pose) { recentLeftHand = pose; }); +mapping.from(Controller.Hardware.Kinect.RightHand).debug(true).to(function(pose) { recentRightHand = pose; }); +mapping.from(Controller.Hardware.Kinect.LeftFoot).debug(true).to(function(pose) { recentLeftFoot = pose; }); +mapping.from(Controller.Hardware.Kinect.RightFoot).debug(true).to(function(pose) { recentRightFoot = pose; }); + +function init() { + var t = 0; + var propList = [ + "leftHandType", "leftHandPosition", "leftHandRotation", "rightHandType", "rightHandPosition", "rightHandRotation", + "leftFootType", "leftFootPosition", "leftFootRotation", "rightFootType", "rightFootPosition", "rightFootRotation" + ]; + handlerId = MyAvatar.addAnimationStateHandler(function (props) { + + Vec3.print("recentRightHand.translation:", recentRightHand.translation); + Vec3.print("recentLeftHand.translation:", recentLeftHand.translation); + Vec3.print("recentRightFoot.translation:", recentRightFoot.translation); + Vec3.print("recentLeftFoot.translation:", recentLeftFoot.translation); + + return { + + rightHandType: ikTypes["RotationAndPosition"], + rightHandPosition: recentRightHand.translation, + rightHandRotation: recentRightHand.rotation, + leftHandType: ikTypes["RotationAndPosition"], + leftHandPosition: recentLeftHand.translation, + leftHandRotation: recentLeftHand.rotation, + + rightFootType: ikTypes["RotationAndPosition"], + rightFootPosition: recentRightFoot.translation, + rightFootRotation: recentRightFoot.rotation, + leftFootType: ikTypes["RotationAndPosition"], + leftFootPosition: recentLeftFoot.translation, + leftFootRotation: recentLeftFoot.rotation, + + }; + }, propList); + + Controller.enableMapping(MAPPING_NAME); +} + +init(); +Script.scriptEnding.connect(function(){ + MyAvatar.removeAnimationStateHandler(handlerId); + mapping.disable(); +}); + + +