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(); +}); + + +