Sensebloom / OSCeleton

OSCeleton is a proxy that sends skeleton information collected from the kinect sensor via OSC, making it easier to use input from the device in any language / framework that supports the OSC protocol.
GNU General Public License v3.0
311 stars 72 forks source link

Why does i receive /r_foot and /r_knee only? #21

Open liuhaolive opened 13 years ago

liuhaolive commented 13 years ago

Why does i receive /r_foot and /r_knee only?

something error with my osceleton ?

No other joints messages

YggdrasiI commented 12 years ago

I can confirm this error. Only the last message will send, if lo_send_bundle(...) is called. If I comment out the last call of oscFunc(...) I recieve the above one… Solution: Not found yet.

Part of src/OSCeleton.cpp: if (jointPos(aUsers[i], XN_SKEL_LEFT_FOOT) == 0) { oscFunc(&bundle, "l_foot"); }
if (jointPos(aUsers[i], XN_SKEL_RIGHT_HIP) == 0) { oscFunc(&bundle, "r_hip"); }
if (jointPos(aUsers[i], XN_SKEL_RIGHT_KNEE) == 0) { oscFunc(&bundle, "r_knee"); }
if (jointPos(aUsers[i], XN_SKEL_RIGHT_ANKLE) == 0) { oscFunc(&bundle, "r_ankle"); }
if (jointPos(aUsers[i], XN_SKEL_RIGHT_FOOT) == 0) { oscFunc(&bundle, "r_foot"); }

  lo_send_bundle(addr, bundle);
gwbond commented 12 years ago

i figured out what is causing this problem and fixed it - it's a memory management problem - i'll contact the author and hopefully the fix will be included in a subsequent version

[updated]

in the interim, here's a link to the modified code: https://gist.github.com/1706007

YggdrasiI commented 12 years ago

Hi, i've applied your patch in my fork and send a pull request to Sensebloom, too.