{"id":2541,"date":"2015-02-02T13:30:11","date_gmt":"2015-02-02T13:30:11","guid":{"rendered":"http:\/\/www.knightware.net\/?p=2541"},"modified":"2015-02-02T13:30:11","modified_gmt":"2015-02-02T13:30:11","slug":"2541","status":"publish","type":"post","link":"https:\/\/www.knightware.net\/?p=2541","title":{"rendered":"Open Source release of C# Spyder control library"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The software library used for the <a title=\"Windows 8.1 Spyder Client\" href=\"https:\/\/www.knightware.net\/?page_id=1191\">Spyder Client for the Windows\u00a0Store <\/a>is now available for use as a nuget package (for .Net developers), and the source has been made available up on GitHub.\u00a0 This library provides an implementation of the documented UDP control protocol, and additionally\u00a0provides some of the\u00a0&#8216;secret sauce&#8217; used by\u00a0richer control clients.\u00a0 From the GitHub readme:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Key Features<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Full implementation of the published Spyder UDP control protocol<\/li><li>System Config File parsing &#8211; provides full Spyder data object model to clients<\/li><li>Drawing Data (live view) data stream deserialization (Supports 2.10.8 &#8211; 4.0.4)<\/li><li>Spyder quick file transfer procotol (QFT) implementation. List, get, and set files<\/li><li>Thumbnail Manager &#8211; provides background downloading, multi-resolution scaling, and memory lifetime management of system thumbnail images<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Consuming the Nuget Package (.Net Developers)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Nuget package is the easiest way for .Net developers to consume the Spyder client library, and can be used to target Windows Phone 8.1 or later,&nbsp;Windows RT \/ Store apps, or .Net 4.5 or later desktop applications.&nbsp; Get it from Visual Studio using the Nuget package manager (see screenshot below).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Nuget Package Info Page:<\/strong>&nbsp; <a href=\"https:\/\/www.nuget.org\/packages\/SpyderClientLibrary\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.nuget.org\/packages\/SpyderClientLibrary\/<\/a><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/www.knightware.net\/wp-content\/uploads\/2015\/02\/Spyder-Client-Nuget.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"350\" src=\"http:\/\/www.knightware.net\/wp-content\/uploads\/2015\/02\/Spyder-Client-Nuget-1024x350.jpg\" alt=\"Getting the Spyder Nuget Package\" class=\"wp-image-2551\" srcset=\"https:\/\/www.knightware.net\/wp-content\/uploads\/2015\/02\/Spyder-Client-Nuget-1024x350.jpg 1024w, https:\/\/www.knightware.net\/wp-content\/uploads\/2015\/02\/Spyder-Client-Nuget-300x103.jpg 300w, https:\/\/www.knightware.net\/wp-content\/uploads\/2015\/02\/Spyder-Client-Nuget-768x263.jpg 768w, https:\/\/www.knightware.net\/wp-content\/uploads\/2015\/02\/Spyder-Client-Nuget-1536x526.jpg 1536w, https:\/\/www.knightware.net\/wp-content\/uploads\/2015\/02\/Spyder-Client-Nuget.jpg 1648w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Getting the Source<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>GitHub Project Link:&nbsp;<\/strong> <a href=\"https:\/\/github.com\/dsmithson\/SpyderClientLibrary\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/dsmithson\/SpyderClientLibrary<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to build the library yourself, peruse the source, or even port it to another platform, head over to GitHub to get access to the source code (link above).&nbsp;&nbsp;This source uses the Apache 2.0 license, so you can&nbsp;do whatever you want&nbsp;with it.&nbsp; Please do use the issue tracker or submit pull requests if you have anything you&#8217;d like to add or fix, and have fun!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s Next?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In future posts, we&#8217;ll explore some sample applications that use the library to do common things like control command keys, perform file backup\/restore, and possibly even create a display simulator control that works from the Spyder server&#8217;s&nbsp;real-time data stream.&nbsp; I&#8217;ll also be working on some general documentation that I&#8217;ll post on the GitHub site, so keep an eye on the project&#8217;s GitHub page.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The software library used for the Spyder Client for the Windows\u00a0Store is now available for use as a nuget package (for .Net developers), and the source has been made available up on GitHub.\u00a0 This library provides an implementation of the documented UDP control protocol, and additionally\u00a0provides some of the\u00a0&#8216;secret sauce&#8217; used by\u00a0richer control clients.\u00a0 From [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2541","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.knightware.net\/index.php?rest_route=\/wp\/v2\/posts\/2541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.knightware.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.knightware.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.knightware.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.knightware.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2541"}],"version-history":[{"count":0,"href":"https:\/\/www.knightware.net\/index.php?rest_route=\/wp\/v2\/posts\/2541\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.knightware.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.knightware.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.knightware.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}