Kinect SDK for Windows v1.0 is a major release by Microsoft enabling the use of Kinect on Windows Platforms. Windows7/8 users can now interface Kinect to your Windows PC and develop programs that is capable of utilizing the capabilities of Kinect Sensor.
There have been a number of significant changes and improvements in Kinect SDK – APIs since Beta2. So it developer who has done application development using Beta versions of Kinect SDK will have to face a challenging task of migrating their existing code to support Kinect SDK for Windows final version.
Luckily Rob Relyea, has a put on a nice blog covering all migration steps to follow to make your application built on top of Kinect SDK compatible to Kinect SDK for Windows v1.0
Rob’s steps have clearly documented the API changes between BETA 2 to v1.0.
Read through Rob’s Blog on Kinect 4 Windows Code Migration from Beta 2 to v1.0
Rob also provided a Code migration helper DLL, that will help us in migrating our code.
Microsoft.Kinect.Migration.dll – After installing older versions of Kinect SDK and installing v1.0 of SDK, add reference to this DLL and build your project you will see necessary guidance as build error/warnings.
The migration method using Microsoft.Kinect.Migration.dll is recommended by Rob and myself, as it help us in understand where to make changes in our existing code.
Use these Migration steps suggested by Rob on his blog.
Using the Migration reference assembly (RECOMMENDED) Microsoft.Kinect.Migration.dll
- Backup code projects (if not using source control, such as TFS)
- Uninstall Beta 2 SDK (including speech runtime 10.x components).
- Install Kinect for Windows SDK v1.
- Remove Microsoft.Research.Kinect.dll references
- Download (link is fixed now, may need to clear browser cache if still having problems) and add reference to Microsoft.Kinect.Migration.dll
- [Ensure all projects, including binary dependencies, are migrated]
- Build and evaluate errors/warnings
After changing all the “usings” of the old namespace to “using Microsoft.Kinect;”, most of the errors/warnings will point you to renames of types/members:
- Look for guidance in errors/warnings
- Look at sample code in SDK to see changes in event handling code necessary (there have been significant changes with ImageFrame and SkeletonFrame).
- Change code as necessary -> recompile -> (repeat)
- After building successfully with no errors and warnings (related to name changes)
- Remove reference to Microsoft.Kinect.Migration.dll
- Add reference to Microsoft.Kinect.dll
- Run application and debug as necessary
Read more on API Changes on Rob’s Blog
Thanks to Rob Relyea for such nice helpful resources..