OSC Stream setup issues
-
Hi everyone, I am very new to Isadora and very slowly learning how to use it. At the moment, I am just playing around. I am not a programmer and my skill level is pretty much zero, but I am having fun. I don't have a definitive project in mind. It is more that I am trying to see what I can do. Please pardon the many questions below. I really know nothing and I am just learning via poking around in the tutorials and this forum. However, I have spent a lot of time focusing on getting Isadora to work with a Kinect for windows.
1) I've finally gotten my setup to work (somewhat). I have a macbook pro running bootcamp (windows 10) with the Kinect attached. Isadora is running on an iMac. On the bootcamp machine, I have tried using both the Kinectv2OSC setup https://github.com/microcosm/K... and the Kinect2share setup https://github.com/rwebber/kin..., both of these interfaces were recommended here. I have also been playing around with TouchOSC on my iPhone to see what is possible there.
Both TouchOSC + iPhone and Kinectv2OSC + Kinect have mostly worked very well. And after a bit of agony, I have gotten some silly little projects up and running including a Kinect skeleton made of emojis, which my children have deeply enjoyed dancing in front of. Unfortunately each and every time that I try to begin working on my test projects after taking a short break, I have to clear/auto-detect/re-number all the ports using the Stream Setup window because the OSC listener actors stop receiving OSC messages from the bootcamp machine and iPhone until I auto-detect the ports again.
Quitting Isadora and restarting it seems to help, but I still have to redo the stream setup step. Otherwise, the actors do not seem to hear the kinect. Note, in the "Monitor window" I can see the OSC messages coming into Isadora just fine. The problem seems to be that the OSC listener actor doesn't react to those messages.
After, I auto-detect and renumber the ports, it will all work again but only until the next time that I re-open the project. In fact, even if I go away for 20 minutes (leaving everything running), the OSC listener actor stops listening! Am I do something wrong? Any help would be appreciated.
2) The above issue is the main problem. Otherwise I am OK using Kinectv2OSC so far, but on a related note, I wonder if anyone has any examples of using Isadora on a mac with kinect2share running on a windows machine? I can get the video to Isadora on my iMac using Spout speaking to Syphon. But I have no idea how to deal with the JSON/OSC data once it is in Isadora. I admit that the problem is likely my ignorance in that I don't know javascript or really even what JSON is, but I thought if someone is willing to share a sample, I might be able to work my way backwards, which is how I finally got my emoji skeleton to work using Kinectv2OSC. I looked at some working examples posted here + the tutorials and experimented a lot.
3) Lastly, is there anyway to save the OSC data streaming from a Kinect and use it for testing so that each and every time I want to work on this, I don't have to convince one of my kids to come dance in front of the camera for me. I'd like to be able to work on all this without needing another person every time I want to try the Kinect features.
Huge thanks if anyone can help with any of the three issues above
Kirsten
-
I am glad to hear that you have been able to get Kinect working with your BootCamp install. This isn't officially supported by the Kinect SDK, so that's great news.
With the kinect, the data coming in will be at an OSC address that includes the BodyID number.
So if you leave, the view of the Kinect, and then reenter (or restart your system), a new BodyID might (1 thru 6) be given.
You can use '*' as a wildcard within your OSC addresses. If you replace the BodyID with * the address will receive data for any body detected. This may solve your problem. It introduces another issue however, if more than 1 body is being tracked by the kinect, each bodies data will be picked up by the OSC addresses that contain the '*' since each body specific address only differs by the ID number.In the Kinect2Share program I addressed this by allowing the grouping of all body data into JSON. This way only 1 address is used per body, and it becomes fairly easy to determine which is active, and only use the 1 set of data.
In Isadora 2.6 a new actor called, 'OSC Multi Listener' makes receiving data from multiple addresses easier.
-
Hi Ryan
Huge thanks! Getting bootcamp to work was great since I don't have a windows computer available.
Thanks for your help. Replacing the ID number with * did the trick perfectly. It is still a slow process to teach myself about Isadora features and there is a lot that I don't understand, but at least I can move on a little more quickly now that I don't have to setup the stream each and every time that I want to work. And I'm having fun learning the software. I hope that I'll be ready to use it in my teaching next fall.
Kirsten