Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

control body id #5

Open
deflost opened this issue Mar 2, 2017 · 12 comments
Open

control body id #5

deflost opened this issue Mar 2, 2017 · 12 comments

Comments

@deflost
Copy link

deflost commented Mar 2, 2017

hallo all, is it possible to get control about the id definition?
it is because we use isadora to receive the osc data, but everytime we leave the kinect range your software sends a new bodie id with next tracking. in isadora you have to scan the osc port, give a specifc osc message a definitive intern osc-listener adress. so if we leave the tracking and come back, no chance to receive data in the isadora patch, without rescanning the massage wiht the new bodie id and make a new connection between osc input and isadora listener node.
do you thing there is a way to make it switchable if new id´s ar applied or something in this direction?
i hope here is not the absolutly wrong place to ask such questions,
thx. rene

@rwebber
Copy link

rwebber commented Mar 2, 2017

A new (probably currently undocumented) feature in the latest Isadora versions is that you can use '' as a placeholder in an address, for exactly this purpose.
so an address like: /bodies/{bodyId}/joints/{jointId}
can be setup as: /bodies/
/joints/{jointId}
This will match any bodyId at that point in the address. (I am not 100% sure the * is the correct character, give it a test)
This method is helpful if you know that you will only have one body tracked, it causes issue if you have multiple bodies.

@deflost
Copy link
Author

deflost commented Mar 3, 2017

thx for that, but i wrote to the isadora forum and i found only a promise from the developer that he wants to build years ago the possibility to do adresses like app/page1//value1
but this does not work till now.
where do you find the undocumented feature?
thx, rh

@deflost deflost closed this as completed Mar 3, 2017
@deflost deflost reopened this Mar 3, 2017
@deflost
Copy link
Author

deflost commented Mar 3, 2017

hello,
tried everything you told but doesn´t work for me.
tried: /bodies/72649463764026374/hands/left to: /bodies//hands/left
or: /bodies/"
"/hands/left or: /bodies/******************/hands/left
nothing works for us.
?
thx, rh

@rwebber
Copy link

rwebber commented Mar 3, 2017

it is there... I just can't remember the placeholder.
I think app/page1/*/value1
would be correct.. I think its just a *

@rwebber
Copy link

rwebber commented Mar 3, 2017

heres a quote from the Isadora forum:
"P.S. Also ran this super simple app on a PC to get Skeleton data from the Kinect v2. We then sent the OSC data to the Mac with @Chimerik's patch. Very reliable and as simple as can be. https://github.com/microcosm/KinectV2-OSC
P.P.S. Because the Windows app above changes the ID for the body every time a new body appears, added a new feature to the Stream Setup. You can now code an address like this /first/*/third. The * means "match anything" so that, even if the second part of the address changes, the message will still be recognized. This will be available in the next beta." Mark

@deflost
Copy link
Author

deflost commented Mar 3, 2017

sorry but /* / brings izzy 2.5.1 to crash. everytime.
thx. rh

@deflost
Copy link
Author

deflost commented Mar 3, 2017

exactly:
/bodies//hands/left crashes when sending from kinectv2-osc
/bodies/
/hands/left is not accepted by the stream setup, stream setup is not closable
because is it not possible to have " " (space) in a osc address/message
thx, rh.

@deflost
Copy link
Author

deflost commented Mar 3, 2017

sorry but my * is not shown up in the post bevore

@rwebber
Copy link

rwebber commented Mar 3, 2017

Just ran a quick test, and the replacement feature is working correctly.
see:
osc_setup_isadora
This setup allows the 2 senders both to be picked up by the one receiving OSC address/listener.
If I change the input value of either of the OSC Transmit actors, the OSC Listener actor will output the value.
So this maps, both (these are just test addresses, not what you need for KinectV2-OSC):
/leg/1/posx AND /leg/2/posx TO /leg/*/posx
Hopefully that helps.

@deflost
Copy link
Author

deflost commented Mar 13, 2017

yes, it helps. i found the way it works, thx a lot.
but, we can´t use it anyway, because the piece we needed it for requires 2 people be trackt an get out and come back.
and with the * thing, it is not possible to different the two trackings and so the values kicks out each other very uncontrolable.
any idea?
i think the only way is to find a way that kinectv2 to osc sends only to id´s and these two with fix id´numbers like 01 and 02, with no care about who is who and the order of reentering but with two absolute ids.

thx, rh

@deflost
Copy link
Author

deflost commented Mar 13, 2017

maybe, isadora can learn to do it like:
(just my phantasie)
i define 10 messages in stream setup, with id´s from 0-9 + an * (/bodie/0*/hands/left, /bodie/1*/hands/left, and so on)
and izzy can understand when kinectv2toosc sends /bodie/0912875456345678/hands/left as one tracked message
and /bodie/16565657474838392398/hands/left as an other message.
do you think it is a interessting point for add to strem setup?
thx, rh

@rwebber
Copy link

rwebber commented Mar 13, 2017

I have made a windows based project. Kinect2share that helps with some of this. .
Of course if you enter and come back the bodyID.
It includes an isadora demo file and Spout feeds of many of the available video sources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants