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

    Nov 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!

    • Nov 15 2012 | 11:40 pm
      Fantastic! Thanks so much for this, both of you. Will start using it in the coming weeks.
    • Nov 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
    • Nov 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 for OSx - PrimeSense NITE for OSx - PrimeSense Sensor KinectMod v0.93 for OSx (based on
      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 !
    • Nov 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)
    • Nov 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
    • Nov 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.
    • Nov 21 2012 | 11:41 am
      generalh and kx, please open issues at https://github.com/diablodale/jit.openni/issues
    • Nov 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.
    • Nov 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.
    • Nov 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
    • Nov 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)
    • Nov 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.
    • Dec 03 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
    • Dec 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
    • Dec 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.
    • Dec 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?
    • Dec 27 2012 | 4:20 pm
      OpenNI/NITE don't output these (yet?). Only solution is to wait for PrimeSense to include 'm.
    • Mar 17 2014 | 4:30 pm
      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.