(bind-func kinect_print_body
  (lambda ()
    (let ((hands:i32* (kinect_update_body.hands))
          (ids:i64* (kinect_update_body.ids))
          (points:XTM_Point2d* (kinect_update_body.points))
          (joints:Joint* (kinect_update_body.joints)))
      (doloop (k 6)
        (if (>= (pref ids k) 0)
            (begin
              (println "----------------------------")
              (println "Body ID: " (pref ids k))
              (println "Body Idx: " k)
              (println "left-hand:" (pref hands (+ 0 (* k 2))))
              (println "right-hand:" (pref hands (+ 1 (* k 2))))
              (doloop (i 25)
                (println "Joint:" (pref-ptr joints (+ (* k 25) i))
                         "\tx:" (tref (pref-ptr points (+ (* k 25) i)) 0)
                         "y:" (tref (pref-ptr points (+ (* k 25) i)) 1))))))
      void)))