Does ofxOpenNI support multiple devices in it's current version ?

Hi,

I’m would like to use multiple Kinect devices with OpenNI.
For this project the setup is: oF007 with (gameoverhack’s) ofxOpenNI on Windows 7.

Does it support multiple devices ? If so, how do I initialize them ?
(I’ve only found the setup() function which internally initializes a single device as far as I can tell)

If not, what would the a quick and fairly elegant way to use multiple kinects with ofxOpenNI ?

Thanks,
George

I need to do exactly the same thing. Haven’t found a quick answer in the main thread: http://forum.openframeworks.cc/t/ofxopenni-development/7403/165

… just references to doing it with the experimental branch. Anyone have any pointers?

There’s a demo in the experimental branch:

https://github.com/gameoverhack/ofxOpenNI/blob/experimental/examples/opeNI-SimpleExamples/src-ImageAndDepthMutltDevice-Medium/testApp.cpp

Bear in mind, multi-kinect performance is HIGHLY dependent on your USB bus. Ideally you want each Kinect on it’s own bus.

it works, at least I’ve tested it with 2 kinects on my macbookpro.
You need to use the experimental branch. Don’t be afraid of it being named “experimental”, as it is really stable and well implemented. It’s much more like a new implementation.
I’ve been using it for quite long and no way going back to the ofxOpenNi’s master branch.
Bear in mind that you must connect the kinects directly to the computer and not with a hub, as each Kinect need to be in a different usb bus.

Another caveat: only one userGenerator is supported per process (NOT just per thread). This is a known issue with OpenNI, but isn’t planned to be resolved until OpenNI 2.1. The workaround is to run a separate application for each kinect. To get that working you need to comment out line 784 of ofxOpenNI.cpp (experimental branch):

  
return g_bIsUserOn;   // uncomment this to see what happens  

Hi, did anyone get to work Experimental Branch on Windows 7?

My app just freeze at start.

On Master Branch works very well.

Cheers,
Daniel