Welcome Channel9 visitors!Visit "http://code.msdn.microsoft.com/vbtouchless" for Lucian's "Stay In The Game".Try out the improved Mouse Demo and our other cool Touchless demos here!Click "Download" to the left, extract the files, and run "\bin\Release\TouchlessDemo.exe".

TouchlessDemo:[FEATURE] Add Mouse Demo. Be careful, it really does control your mouse with markers![FEATURE] Refactor demo code/mode for more modular demos. I like user-submitted demos![FEATURE] Add UI access to new Marker.Active member (see TouchlessLib updates below).[FIX] Fix the post build event for TouchlessDemo to accomodate file paths with spaces.[FIX] Make the draw demo a little more thread safe with its drawing.

TouchlessLib:[FEATURE] Marker.RepresentativeColor is now the RGB average color.[FEATURE] Added HSV.ToString function for debugging purposes.[FEAUTRE] Added Marker.Active member, if false, the marker will not be tracked and will not fire events.[FEATURE] OnChange will be fired when a marker is found, or when it is first found to be missing.[FEATURE] Added MarkerEventData.Present member to report if the marker was found.[FIX] Removed unused member Marker.ProvideCalculatedProperties.[FIX] Other refactoring and comment fixes/updates.

Thanks to community members eFloh and lepipele for help and inspiration.This fix addresses eFloh's patch (ID 2240), go to Patches under Source Code for more info.

I encourage further community contribution!Help improve the Mouse Demo and more!

Revise RepresentativeColor, it's now simply the most frequent color in the marker's color distribution. Update binaries.Using a weighted average was bad for red markers, with hues around 0 AND 360, giving averages around 180, which is green.

Change WebCamLib output and intermediate directory to its subfolders bin\debug and bin\release.

Bug: Adding a marker with an image loaded from a file causes an unhandled System.AccessViolationException.Defect: TouchlessMgr::GetMarkerAppearance was locking the image in the source pixelformat and reading as 32bppRgb.Fix: Lock the image as 32bppRgb. Update binaries.

Simplify references by using projects instead of the bin folder's binaries.This sacrafices the previous disjoint nature of the projects; but makes things easier for development.Update MarkerEventArgs to support double precision members.Remove System.Drawing.Rectangle bounds in favor of individual doubles.Remove the unused MarkerEventArgs.ColorAvg (use the marker RepresentativeColor instead).Remove the unused MarkerEventArgs.Present (marker events are only fired when the marker is present).Remove unused file using statements.Use System.Collections.Generic.Dictionary instead of System.Collections.HashTable for color frequency table.

NOTE: Portions of this change were written and devised by community member Szymon Kobalczyk.