Version 3.2.0 Orion
Topics:
Leap Motion API reference documentation is located both online at Leap SDK documentation and in the docs folder of the SDK package.
A working sample application is provided for your reference, with versions written in C++, Objective-C, C#, Java, JavaScript, and Python. Tutorials for these sample applications are provided in the SDK documentation. These tutorials are essentially the Leap Motion “Hello World” and should help you get your development environment set up for creating Leap-enabled applications. The sample code files are available in LeapSDK/samples. You can also find a Makefile, an Xcode project file, and Visual Studio project and solution files in the samples folder.
The Leap Motion JavaScript client library, leap.js, is open-source and distributed separately from the main Leap Motion SDK. You can download leap.js from https://github.com/leapmotion/leapjs. We encourage community contributions to this library.
If you have trouble getting reliable hand tracking data in your application, consider the following:
Check the Leap Motion icon in the notification area of the Windows Taskbar or Mac Finder bar. The icon will display green if the Leap Motion software is working properly and turn red if errors have occurred. Open the Leap Motion log window and check for errors
Run the diagnostic tests using the Leap Motion Control Panel Troubleshooting page
Check whether the Leap Motion Controller and software work outside of your application. Run the Leap Motion Visualizer or included sample application to see if other applications can receive motion tracking data
Make sure that all libraries required to receive Leap Motion tracking data are in the correct directories or library search paths. Refer to the project setup or “Hello world” articles for the language in which your application is written for details
Plug the Leap Motion USB cable directly into your computer (not a USB hub). Remove other USB devices. If another high-bandwidth device is running on the same USB bus, there may not be enough bandwidth for both devices
Rule out lighting issues by moving to an environment with standard indoor lighting conditions. That is, one with artificial light at a comfortable reading intensity
If the Leap Motion software does not appear to be producing data, stop the Leap Motion service or daemon and restart it. Unplug the Leap Motion Controller and plug it back in
On Windows, run the following commands as Administrator:
net stop LeapService
net start LeapService
On Mac, run the following commands:
sudo launchctl unload /Library/LaunchDaemons/com.leapmotion.leapd.plist
sudo launchctl load /Library/LaunchDaemons/com.leapmotion.leapd.plist
On Linux, run the following commands:
sudo service leapd stop
sudo service leapd start
If the Leap Motion log reports repeated disconnects, switch to the Low Resource operating mode. This can indicate congestion on the USB bus.
When using Microsoft Visual Studio, if you do not get tracking data when you compile your application in debug mode, but do get tracking data when you compile in release mode, then make sure you are linking with Leapd.lib for the debug configuration of the project.
Ensure that ports 6437, 6438, and 6439 on the localhost domain are not blocked by a firewall or other program.
Versions
- Added LeapPixelToRectilinear()
- Added LeapRectilinearToPixel()
- Added invalid and unknown device types
- Renamed eLeapDeviceType to eLeapPID
- Added record to file and playback from file
- Added 3x3 Matrix struct
- Added quaternion to LEAP_PALM to represent orientation
- Added LeapInterpolateFrameFromTime() function
Build 15462 fixed the following issues:
Build 15216
Build 3214
Added skeleton model APIs:
- Hand.confidence
- Hand.grabStrength
- Hand.isLeft
- Hand.isRight
- Hand.pinchStrength
- Finger.type
- Finger.jointPosition
- Finger.Joint enumeration
- Finger.Type enumeration
- FingerList.extended
- FingerList.fingerType
- Pointable.isExtended
- PointableList.extended
The WebSocket subprotocol version increased to 0.6.0 and adds the data necessary to support the above APIs in WebSocket client libraries
Added width to Pointable objects representing fingers in the WebSocket subprotocol
Changed the way enumeration member names are formatted in C#. Previously, an enumeration member was formatted with out underscore characters, as in: BACKGROUNDPOLICYFLAG. Now the member name is separated by underscore characters: BACKGROUND_POLICY_FLAG
Note: The Leap Motion JavaScript library (available on the LeapJS CDN) does not currently support the Device and DeviceList classes.
Note: The Leap Motion JavaScript library does not currently support focus events or configuration of gesture recognition parameters.
Note: The Leap Motion JavaScript library (available on the LeapJS CDN) does not currently support the Screen and ScreenList classes.
Important: Version 0.7.0 contains several changes to the Leap Motion API that are incompatible with previous versions. When updating from an earlier version, you will have to make code changes and recompile your applications. Applications compiled against earlier versions of the API will not work with version 0.7.0 of the Leap Motion application. See the 0.7.0 Migration Guide for tips on updating your application code to work with version 0.7.0 of the Leap Motion API.
Copyright © 2012-2014 Leap Motion, Inc. All rights reserved.
Use of the Leap Motion SDK is subject to the terms of the Leap Motion SDK Agreement available at https://developer.leapmotion.com/sdk_agreement, or another agreement between Leap Motion and you, your company or other organization.