Sensebloom/OSCeleton

Why does i receive /r_foot and /r_knee only?

liuhaolive opened this issue · 3 comments

Why does i receive /r_foot and /r_knee only?

something error with my osceleton ?

No other joints messages

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);

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

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