Forums > Jitter

jit.openni external now ported to Mac OSx (native Kinect, no extra apps needed)

November 15, 2012 | 12:23 pm

The Mac OSx port of jit.openni is ready for a wider set of testing. You now have a native Max external that does not need any separately running applications or syphon to get your sensor (e.g. Kinect) data into Max. Now, the sensor data is directly in Max with rich functionality. You can write cross-platform patches!

Full doc and setup instructions are referenced in the README file and the wiki at https://github.com/diablodale/jit.openni/wiki
Downloads are at https://github.com/diablodale/jit.openni/downloads

This is the same stable code as in the original Windows port; we made only slight changes to make it compile on OSx and included them back into the now cross-platform code for both platforms to benefit. If you find issues, please report them at https://github.com/diablodale/jit.openni/issues

Thanks to Stuart White of http://www.controlfreak.tv/ for jumpstarting the OSx port and helping isolate and test the needed changes. :-)
If you haven’t seen Stuart’s work…check out his website!



dtr
November 15, 2012 | 11:40 pm

Fantastic! Thanks so much for this, both of you. Will start using it in the coming weeks.


November 16, 2012 | 5:53 pm

hi ,
and thanks for all these things you’re sharing ,
i don’t know why it doesn’t work for me .
i have just installed libusb-1.0.9.pkg and jit.openni 0.86MACOSX , and restarted computer .
but i still get this Max messages in the max window :

OSC-route ("OpenSoundControl route") object version 1.17.1 by Matt Wright, Michael Zbyszynski.
Copyright ) 1999,2000,01,02,03,04,05,06,07,08 Regents of the University of California. All Rights Reserved.
Jitter initialized
jit.openni: unable to load object bundle executable
2012-11-16 18:39:30.693 Max[168:207] Error loading /Applications/Max6/jit.openni.v0.86_MAC_OSX/jit.openni.mxo/Contents/MacOS/jit.openni: dlopen(/Applications/Max6/jit.openni.v0.86_MAC_OSX/jit.openni.mxo/Contents/MacOS/jit.openni, 262): Library not loaded
: ../../Bin/x64-Release/libOpenNI.dylib
Referenced from: /Applications/Max6/jit.openni.v0.86_MAC_OSX/jit.openni.mxo/Contents/MacOS/jit.openni
Reason: image not found

so it says library not loaded ,
could you tell me what i have missed ?
i’m also trying to get the answer by myself …
i’m on MBP snow-leopard 10.6.8 , Max 6.0.8 .

thanx by advance , and thanks for your past posts too !
matthieu


November 17, 2012 | 3:20 pm

as explained here :
https://github.com/diablodale/jit.openni/blob/master/README
Mac OSx casually tested using:
- OSx 10.8.2, 10.7.2, and 10.6.8
- Max 6.0.7 for OSx
- libusb-1.0.9
- OpenNI 1.5.4.0 for OSx
- PrimeSense NITE 1.5.2.21 for OSx
- PrimeSense Sensor KinectMod v0.93 for OSx (based on 5.1.2.1)

Mac OSx install notes:
- run and install the libusb-1.0.9 package
- download and expand OpenNI
- sudo ./install.sh
- download and expand NITE
- sudo ./install.sh
- download and expand SensorKinect
- sudo ./install.sh

So you’ll have to manually download and install :
- OpenNI-Bin-Dev-MacOSX-v1.5.4.0
- NITE-Bin-Dev-MacOSX-v1.5.2.21
- SensorKinect093-Bin-MacOSX-v5.1.2.1
(these files are NOT in the diablodale’s github download folder …)

after installing everything.. it works flawlessly :-)
Big, big thanks, Mr Diablodale & Stuart White for sharing this amazing work !

Mathieu


November 17, 2012 | 3:39 pm

thanks Matthieu
i had seen these notes
but never managed to get the good installers ,
or instal the good way ….
because i’m too much a noob .

again and again Thanks to Diablodale and Stuart .
again

and this for the other noobs on planet earth :

there is a "one installer" solution :
http://zigfu.com/
just "download plugin" , install .

it’s working here !
140fps !

now , tests
and fun (i hope)

Matthieu


November 20, 2012 | 10:39 pm

Hello,
Sorry for insisting but it doesn’t work or me here
neither the zigfu package nor the sudo intall

I installed as explained by Matthieu
Mac OSx install notes:
- run and install the libusb-1.0.9 package
- download and expand OpenNI
- sudo ./install.sh
- download and expand NITE
- sudo ./install.sh
- download and expand SensorKinect
- sudo ./install.sh

So you’ll have to manually download and install :
- OpenNI-Bin-Dev-MacOSX-v1.5.4.0
- NITE-Bin-Dev-MacOSX-v1.5.2.21
- SensorKinect093-Bin-MacOSX-v5.1.2.1

under terminal the only errors i get is

DAVWS2:NITE-Bin-Dev-MacOSX-v1.5.2.21 generalh$ sudo ./install.sh
Password:
Installing NITE
***************

Copying shared libraries… OK
Copying includes… OK
Installing java bindings… OK
Installing module ‘Features_1_3_0′…
ls: Features_1_3_0/Bin/lib*dylib: No such file or directory
Installing module ‘Features_1_3_1′…
ls: Features_1_3_1/Bin/lib*dylib: No such file or directory
Installing module ‘Features_1_4_1′…
ls: Features_1_4_1/Bin/lib*dylib: No such file or directory
Installing module ‘Features_1_4_2′…
ls: Features_1_4_2/Bin/lib*dylib: No such file or directory
Installing module ‘Features_1_5_2′…
Registering module ‘libXnVFeatures_1_5_2.dylib’… OK
Copying XnVSceneServer… OK
Installing module ‘Features_1_5_2′
ls: Hands_1_3_0/Bin/lib*dylib: No such file or directory
Installing module ‘Features_1_5_2′
ls: Hands_1_3_1/Bin/lib*dylib: No such file or directory
Installing module ‘Features_1_5_2′
ls: Hands_1_4_1/Bin/lib*dylib: No such file or directory
Installing module ‘Features_1_5_2′
ls: Hands_1_4_2/Bin/lib*dylib: No such file or directory
Installing module ‘Features_1_5_2′
registering module ‘libXnVHandGenerator_1_5_2.dylib’…OK
Adding license.. OK

*** DONE ***
The other ones did it fine

I had all the targs in /Users/generalh/Downloads
could this be a problem?

In the crash thread i have

Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 …nVHandGenerator_1_5_2.dylib 0x1e0c7021 NACommonData::Downscale(unsigned short const*, unsigned short*, int, int, int) + 241
1 …nVHandGenerator_1_5_2.dylib 0x1e0c6f1d NACommonData::Downscale(xn::DepthMetaData const&, xn::DepthMetaData&, int) + 173
2 …nVHandGenerator_1_5_2.dylib 0x1e0c888a NACommonData::Initialize(xn::DepthGenerator const&, Resolution, xn::ImageGenerator const*, xn::IRGenerator const*, int) + 1162
3 …nVHandGenerator_1_5_2.dylib 0x1e07e0ac NHAFocusBackgroundModel::Initialize(xn::DepthGenerator const&, std::string const&, unsigned int, unsigned int, unsigned int) + 268
4 …nVHandGenerator_1_5_2.dylib 0x1e089cb7 NHAGestureRecognizerManager::Initialize(xn::DepthGenerator const&, xn::DepthMetaData const&, std::string const&, unsigned int) + 903
5 …nVHandGenerator_1_5_2.dylib 0x1e058e0a XnVGestureGenerator::XnVGestureGenerator(xn::Context&, char const*, char const*, xn::DepthGenerator) + 1578
6 …nVHandGenerator_1_5_2.dylib 0x1e0578c4 XnVExportedGestureGenerator::Create(xn::Context&, char const*, char const*, xn::NodeInfoList*, char const*, xn::ModuleProductionNode**) + 516
7 …nVHandGenerator_1_5_2.dylib 0x1e0657ff XnVExportedGestureGeneratorCreate(XnContext*, char const*, char const*, XnNodeInfoList*, char const*, void**) + 159
8 libOpenNI.dylib 0x1dac6547 XnModuleLoader::CreateRootNode(XnContext*, XnNodeInfo*, XnModuleInstance**) + 183
9 libOpenNI.dylib 0x1dad1bee xnCreateProductionTreeImpl(XnContext*, XnNodeInfo*, XnInternalNodeData**) + 606
10 libOpenNI.dylib 0x1dad1ad8 xnCreateProductionTreeImpl(XnContext*, XnNodeInfo*, XnInternalNodeData**) + 328
11 libOpenNI.dylib 0x1dad197c xnCreateProductionTree + 44
12 libOpenNI.dylib 0x1dae9cbb xnConfigureCreateNodes(XnContext*, TiXmlElement const*, XnNodeInfoList*, XnEnumerationErrors*) + 779
13 libOpenNI.dylib 0x1daea4d4 XnXmlScriptNode::Run(xn::NodeInfoList&, xn::EnumerationErrors&) + 84
14 libOpenNI.dylib 0x1dab9c9c __ModuleScriptRun(void*, XnNodeInfoList*, XnEnumerationErrors*) + 108
15 libOpenNI.dylib 0x1dace989 xnScriptNodeRun + 217
16 libOpenNI.dylib 0x1dace662 xnContextRunXmlScriptFromFileEx + 194
17 com.hidale.jit-openni 0x1daa9f37 jit_openni_init_from_xml + 179
18 com.cycling74.Max 0x000b8aa5 object_method + 963
19 com.cycling74.MaxAPI 0x0291933b object_method + 139
20 com.cycling74.JitterAPI 0x1c298474 jit_object_method + 118
21 com.hidale.jit-openni 0x1daa8412 max_jit_openni_XMLConfig_read + 510

So what is bugging???
Did i forget to install something?
So if anyone could give me a hint on it
MBP 10.6.8 Max 6.0.8
Thank you
Cheers
Hubert



kx
November 21, 2012 | 6:38 am

Hi, thanks a lot for all your hard work on jit.openni. I’m very happy to see that you’ve made a mac port, so I can replace the sometimes buggy and crashy Synapse. However, I have a small problem getting it working…

OSX 10.7.4
Max 6.0.5

Installed the official openni-bin-dev-macosx-v1.5.4.0.tar.bz2
Installed the official nite-bin-macosx-v1.5.2.21.tar.bz2
Installed the official sensor-bin-macosx-v5.1.2.1.tar.bz2
Then realized that I need the avin one, so I uninstalled that, and installed SensorKinect093-Bin-MacOSX-v5.1.2.1.tar.bz2
Put the jit.openni and osc-route externals in the corresponding folder and the patch loads fine.

But when trying to open the XML file I get " XML config initialization open failed (Error!) "
did anyone else get this? Any idea what may be causing it?

Thanks a lot for any ideas.


November 21, 2012 | 11:41 am

generalh and kx, please open issues at https://github.com/diablodale/jit.openni/issues


November 22, 2012 | 12:54 am

Hey guys

Make sure to test your OpenNI/Nite install first by running one of the precompiled binaries included in the OpenNI package. A good one is Samples/Bin/x64Release/Sample-NIUserTracker. That will vet both OpenNI and the Nite libraries. It can be tricky to get a good install of all the items especially the MacPorts stuff. If the NIUserTracker works correctly launched out of the terminal, you should be good to go with jit.openni. I’ve run it in Max 5.18 as well as Max 6.07 in both osx 10.68 and osx 10.8.
One thing I’ve noticed on my own machines is that it can take up to 20 seconds for the XML file to load in correctly and get it up and running. The funny thing is it used to initialize in seconds, on that same machine.

I don’t believe it’s a problem with jit.openni, but more with something with OpenNI. When I gut out my full OpenNI install and do a clean one, it loads in seconds again. I’m going to try and nail down what is happening there, but it’s not in jit.openni.

I guess my point of telling that story is if you get a spinning beachball, wait a minute or two and see if it eventually comes online.



kx
November 25, 2012 | 6:09 pm

Thanks for your reply diablodale. After upgrading to 10.7.5, uninstalling all the packages and reinstalling again, it’s working. Not sure exactly why, but happy nonetheless.


November 26, 2012 | 10:09 pm

Hello,
Kx you’re a lucky guy!!!
ControlFreak
Thanks for helping us but what does it mean run a precomplied binaries in terminal???
I’m out on this level..
Dare you explain … do… make…. cat ???
Cheers
Hubert


November 26, 2012 | 11:14 pm

usually, in the terminal, you must "cd" into the directory where your precompiled binary is, then "open [name of precompiled binary.app]" (or not .app, dunno)



dtr
November 27, 2012 | 11:37 am

@generalh: it means trying if one of the sample applications included with openni/NITE works. to do that open up terminal and:

- navigate to the folder OpenNI-xxx-xxx-xxx/Samples/Bin/x64-release/ (you can just drag the folder from finder to terminal and press enter)
- run Sample-NiUserTracker (again, you can just drag the file to terminal and press enter, the previous step is mandatory though)

If this loads and runs (with your kinect connected) then at least you know OpenNI/NITE are installed correctly.


December 3, 2012 | 1:11 pm

Hello I’ve got some encouraging results but still crashes in Max
So i’ve tested
cd /Users/me/Documents/MMJDAVWS2/jitterdavws2/jitOpenNIinstall/OpenNI-Bin-Dev-MacOSX-v1.5.4.0/Samples/Bin/x64-Release
DAVWS2:x64-Release me$ ./Sample-NiSimpleRead
Reading config from: ‘../../Config/SamplesConfig.xml’
Frame 1 Middle point is: 750. FPS: 0.000000
Frame 2 Middle point is: 752. FPS: 41.219266
Frame 3 Middle point is: 752. FPS: 37.416748
Frame 4 Middle point is: 750. FPS: 35.567569

DAVWS2:x64-Release me$ ./Sample-NiSimpleCreate
Frame 1 Middle point is: 748.
Frame 2 Middle point is: 750.
Frame 3 Middle point is: 750.
Frame 4 Middle point is: 750.
Frame 5 Middle point is: 748.
Frame 6 Middle point is: 748.
Frame 7 Middle point is: 748.

DAVWS2:x64-Release me$ ./Sample-NiSimpleViewer
I see the cam image in fullscreen on my MBP

But for
DAVWS2:x64-Release me$ ./Sample-NiUsertracker
Illegal instruction

So???
Any ideas
Thank You
Cheers
Hubert


December 20, 2012 | 5:45 pm

Hubert aka generalh problems have been debugged as OpenNI issues not related to this external, details in issue tracker https://github.com/diablodale/jit.openni/issues/7


December 20, 2012 | 5:47 pm

There is a new location for downloads of jit.openni and dependent drivers/software. Get it at http://hidale.com/jit-openni/#download

The wiki, readme files, and cycling74 toolbox have all been updated for this new location.



Ste
December 27, 2012 | 4:14 pm

Hello, I’ve installed jit.openni myself. Most of things work fine, except some joints.
I don’t have coordinates for: wrists; fingertips; collars; ankles and waist.
What can I do for solution?



dtr
December 27, 2012 | 4:20 pm

OpenNI/NITE don’t output these (yet?). Only solution is to wait for PrimeSense to include ‘m.


March 17, 2014 | 9:30 am

I caution everyone that OpenNI is dead. Next month, the OpenNI website is closing. When this happens, there may be no legal place to download NITE (the essential component of OpenNI that does skeletal tracking). This could lead to software piracy and illegal distribution. NiMATE, jit.openni, Synapse…they all use OpenNI.


Viewing 19 posts - 1 through 19 (of 19 total)