{"id":27,"date":"2007-02-10T01:18:05","date_gmt":"2007-02-10T09:18:05","guid":{"rendered":"http:\/\/blog.danielparnell.com\/?p=27"},"modified":"2007-02-10T01:18:05","modified_gmt":"2007-02-10T09:18:05","slug":"songbird-and-multi-media-keys-under-linux","status":"publish","type":"post","link":"https:\/\/blog.danielparnell.com\/?p=27","title":{"rendered":"Songbird and multi-media keys under Linux"},"content":{"rendered":"<p>I&#8217;ve decided that under Linux I want to use <a href=\"http:\/\/www.songbirdnest.com\/\">Songbird<\/a> as my music player.  Unfortunately at the moment the latest developer release doesn&#8217;t support the multi-media keys on my keyboard \ud83d\ude41  Not to be beaten I decided to do something about it and I&#8217;ve built my first XPCOM component along with some javascript glue to make it all work.  Here is the <a href=\"http:\/\/blog.danielparnell.com\/wp-content\/uploads\/2007\/02\/mmkeys.xpi\">Songbird extension<\/a>, and here is the <a href=\"http:\/\/blog.danielparnell.com\/wp-content\/uploads\/2007\/02\/mmkeys-0.1.tar.gz\">source<\/a>.  I won&#8217;t pretend it&#8217;s a great piece of work, but it does what I need it to do.  The Play, Stop, Next and Previous buttons on my keyboard now work, but YMMV \ud83d\ude09<\/p>\n<p>Enjoy<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve decided that under Linux I want to use Songbird as my music player. Unfortunately at the moment the latest developer release doesn&#8217;t support the multi-media keys on my keyboard \ud83d\ude41 Not to be beaten I decided to do something about it and I&#8217;ve built my first XPCOM component along with some javascript glue to &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/blog.danielparnell.com\/?p=27\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Songbird and multi-media keys under Linux&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"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":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7,10,2,11],"tags":[],"class_list":["post-27","post","type-post","status-publish","format-standard","hentry","category-javascript","category-linux","category-programming","category-xul-xpcom-and-so-on","entry"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p561S3-r","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.danielparnell.com\/index.php?rest_route=\/wp\/v2\/posts\/27","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.danielparnell.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.danielparnell.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.danielparnell.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.danielparnell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=27"}],"version-history":[{"count":0,"href":"https:\/\/blog.danielparnell.com\/index.php?rest_route=\/wp\/v2\/posts\/27\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.danielparnell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.danielparnell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.danielparnell.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}