{"id":1004,"date":"2014-06-15T23:29:13","date_gmt":"2014-06-15T23:29:13","guid":{"rendered":"http:\/\/www.trivedigaurav.com\/blog\/?p=1004"},"modified":"2014-06-29T22:43:47","modified_gmt":"2014-06-29T22:43:47","slug":"kivy-plyer-updates","status":"publish","type":"post","link":"https:\/\/www.trivedigaurav.com\/blog\/kivy-plyer-updates\/","title":{"rendered":"Kivy Plyer Updates"},"content":{"rendered":"<p>This week I looked into a pending facade&#8217;s implementation on Mac and worked on some new ones as well. In other news, we have a functional <a href=\"http:\/\/webchat.freenode.net\/?channels=plyer\">#plyer<\/a> channel on Freenode. It is not very active at the moment but is fully equipped with all the basic amenities (:D), ie. logging and a google-group to contact the folks offline. The idea behind making a separate channel was to reduce the noise on the main channel and also allow the relevant people to focus on project specific updates here.<\/p>\n<p>We have had a camera facade in the queue for quite some time now. We wanted to model something on the lines of what is available on Android OS. It should provide a simple API to\u00a0 capture a picture from the default camera on the platform. We had tried two different unsatisfactory approaches previously and were on the lookout for a lighter (without many dependencies) method to get it working. I am of the view that we could do with tools in the public-domain like <a href=\"http:\/\/iharder.sourceforge.net\/current\/macosx\/imagesnap\/\">ImageSnap<\/a>, for each platform. This is in line with the Plyer&#8217;s philosophy of trying not to re-invent the wheel and use external libraries wherever possible. I have created a <a href=\"https:\/\/github.com\/kivy\/plyer\/pull\/64\">pull request<\/a> to get feedback on this approach and I am waiting to hear back on this from the community.<\/p>\n<p>The other new facade that worked on is called &#8220;Play Sound&#8221;. As its name, it would be used to play a short clip of an audio file on command. It also relies on existing standard libraries and tools. I have made use of the <a href=\"http:\/\/developer.android.com\/reference\/android\/media\/SoundPool.html\">Sound Pool<\/a> API on android, <a href=\"https:\/\/developer.apple.com\/library\/prerelease\/mac\/documentation\/Cocoa\/Reference\/ApplicationKit\/Classes\/NSSound_Class\/index.html\">NSSound<\/a> on MacOS, <a href=\"https:\/\/docs.python.org\/2\/library\/winsound.html\">WinSound <\/a>on Windows and on Linux, I launch a command line player (<a href=\"http:\/\/www.linuxmanpages.com\/man1\/play.1.php\">play<\/a> or <a href=\"http:\/\/www.linuxmanpages.com\/man1\/aplay.1.php\">aplay<\/a>) for now. I may update that in future if I can find a better method to achieve that. Here&#8217;s a <a href=\"https:\/\/github.com\/kivy\/plyer\/pull\/65\">link<\/a> to the PR.<\/p>\n<p>I think slowly and steadily I have been reaching my mid-term goals and have been checking off items in my easy list. I think now would be a good time to gather some feedback on the PRs I have proposed till now. Some suggestions on them would help fix any issues with them and continue with new facades.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I looked into a pending facade&#8217;s implementation on Mac and worked on some new ones as well. In other news, we have a functional #plyer channel on Freenode. It is not very active at the moment but is fully equipped with all the basic amenities (:D), ie. logging and a google-group to contact &hellip; <a href=\"https:\/\/www.trivedigaurav.com\/blog\/kivy-plyer-updates\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Kivy Plyer Updates<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[22,23,24],"tags":[],"class_list":["post-1004","post","type-post","status-publish","format-standard","hentry","category-projects","category-python","category-updates"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p46eol-gc","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/posts\/1004","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/comments?post=1004"}],"version-history":[{"count":15,"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/posts\/1004\/revisions"}],"predecessor-version":[{"id":1019,"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/posts\/1004\/revisions\/1019"}],"wp:attachment":[{"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/media?parent=1004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/categories?post=1004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.trivedigaurav.com\/blog\/wp-json\/wp\/v2\/tags?post=1004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}