Version of the NUI pipeline the application was built against and whether the application can consume data from newer versions of the pipeline.
This element is optional.
<mx:Kinect
IsVersionLocked = boolean >
</mx:Kinect>
IsVersionLocked
Specifies whether the application should be locked to the NUI pipeline versions the application was built against.
| Parent elements | mx:PackageExtension |
|---|---|
| Child elements | mx:AudioPipeline, mx:SpeechPipeline, mx:VisionPipeline |
<Extensions>
<mx:PackageExtension Category="windows.kinect">
<mx:Kinect IsVersionLocked="true">
<mx:AudioPipeline Version="1.0.0" />
<mx:SpeechPipeline Version="1.0.0" />
<mx:VisionPipeline Version="1.0.0" />
</mx:Kinect>
</mx:PackageExtension>
</Extensions>
NUI pipeline versioning divides applications into two categories:
Version agile applications do not have hard ties to the precise data coming out of the NUI pipeline and are capable of running on pipeline versions newer than themselves. Version locked applications do have a hard dependency on the precise NUI data (typically through their use of Visual Gesture Builder) and can only run on their exact version of the pipeline.
When in focus, version agile applications will always run on the latest pipeline version installed on the machine and version locked applications will always run on the version of the pipeline the application was built against.
When an application is not in focus, it is the in-focus application that controls the version of the pipeline currently running. Because of this data produced by the NUI pipeline may not be valild for the out-of-focus application. However, there are many scenarios where it is both valuable and safe to give this data to the application, either because the specific data required is not version fragile or because the application was careful to code for this. For these scenarios the out-of-focus application is still able to access NUI pipeline data if it was specified as version agile (IsVersionLocked=”false”).