{"action":"created","issue":{"url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/issues/414","labels_url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/issues/414/labels{/name}","comments_url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/issues/414/comments","events_url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/issues/414/events","html_url":"https://github.com/blackberry/WebWorks-Community-APIs/issues/414","id":96625912,"number":414,"title":"NowPlaying needs further work before it's ready","user":{"login":"timwindsor","id":1023358,"avatar_url":"https://avatars.githubusercontent.com/u/1023358?v=3","gravatar_id":"","url":"https://api.github.com/users/timwindsor","html_url":"https://github.com/timwindsor","followers_url":"https://api.github.com/users/timwindsor/followers","following_url":"https://api.github.com/users/timwindsor/following{/other_user}","gists_url":"https://api.github.com/users/timwindsor/gists{/gist_id}","starred_url":"https://api.github.com/users/timwindsor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timwindsor/subscriptions","organizations_url":"https://api.github.com/users/timwindsor/orgs","repos_url":"https://api.github.com/users/timwindsor/repos","events_url":"https://api.github.com/users/timwindsor/events{/privacy}","received_events_url":"https://api.github.com/users/timwindsor/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/labels/BB10","name":"BB10","color":"6E6A6B"},{"url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/labels/Request","name":"Request","color":"6698FF"}],"state":"open","locked":false,"assignee":{"login":"parker-mar","id":5397150,"avatar_url":"https://avatars.githubusercontent.com/u/5397150?v=3","gravatar_id":"","url":"https://api.github.com/users/parker-mar","html_url":"https://github.com/parker-mar","followers_url":"https://api.github.com/users/parker-mar/followers","following_url":"https://api.github.com/users/parker-mar/following{/other_user}","gists_url":"https://api.github.com/users/parker-mar/gists{/gist_id}","starred_url":"https://api.github.com/users/parker-mar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/parker-mar/subscriptions","organizations_url":"https://api.github.com/users/parker-mar/orgs","repos_url":"https://api.github.com/users/parker-mar/repos","events_url":"https://api.github.com/users/parker-mar/events{/privacy}","received_events_url":"https://api.github.com/users/parker-mar/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/milestones/4","html_url":"https://github.com/blackberry/WebWorks-Community-APIs/milestones/UCOSP%20Fall%202015%20Projects","labels_url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/milestones/4/labels","id":1291259,"number":4,"title":"UCOSP Fall 2015 Projects","description":"Proposed projects for UCOSP participants during the Fall term, September to December 2015.","creator":{"login":"timwindsor","id":1023358,"avatar_url":"https://avatars.githubusercontent.com/u/1023358?v=3","gravatar_id":"","url":"https://api.github.com/users/timwindsor","html_url":"https://github.com/timwindsor","followers_url":"https://api.github.com/users/timwindsor/followers","following_url":"https://api.github.com/users/timwindsor/following{/other_user}","gists_url":"https://api.github.com/users/timwindsor/gists{/gist_id}","starred_url":"https://api.github.com/users/timwindsor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timwindsor/subscriptions","organizations_url":"https://api.github.com/users/timwindsor/orgs","repos_url":"https://api.github.com/users/timwindsor/repos","events_url":"https://api.github.com/users/timwindsor/events{/privacy}","received_events_url":"https://api.github.com/users/timwindsor/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":0,"state":"open","created_at":"2015-09-04T20:23:37Z","updated_at":"2015-09-04T20:56:44Z","due_on":"2015-12-04T05:00:00Z","closed_at":null},"comments":10,"created_at":"2015-07-22T17:48:33Z","updated_at":"2015-10-14T19:21:16Z","closed_at":null,"body":"1. [ ] Should use the NPconnection->acquire() call and wait for the signal before playing.\r\n1. [ ] Should listen for Revoked signal and stop playback if received.\r\n1. [ ] Do not hardcode any [file paths](https://github.com/blackberry/WebWorks-Community-APIs/blob/master/BB10-Cordova/NowPlaying/plugin/src/blackberry10/native/src/NowPlaying_ndk.cpp#L69-L75), or [default audio streams](https://github.com/blackberry/WebWorks-Community-APIs/blob/master/BB10-Cordova/NowPlaying/plugin/src/blackberry10/native/src/NowPlaying_ndk.hpp#L54).\r\n1. [ ] Should accept [more metadata properties](http://developer.blackberry.com/native/reference/cascades/bb__multimedia__metadata.html) than the 3 given now.\r\n1. [ ] Should take an icon for the media being played\r\n1. [ ] Should use the Fancy OverlayStyle always (Plain is default and shows nothing valuable)."},"comment":{"url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/issues/comments/148165386","html_url":"https://github.com/blackberry/WebWorks-Community-APIs/issues/414#issuecomment-148165386","issue_url":"https://api.github.com/repos/blackberry/WebWorks-Community-APIs/issues/414","id":148165386,"user":{"login":"timwindsor","id":1023358,"avatar_url":"https://avatars.githubusercontent.com/u/1023358?v=3","gravatar_id":"","url":"https://api.github.com/users/timwindsor","html_url":"https://github.com/timwindsor","followers_url":"https://api.github.com/users/timwindsor/followers","following_url":"https://api.github.com/users/timwindsor/following{/other_user}","gists_url":"https://api.github.com/users/timwindsor/gists{/gist_id}","starred_url":"https://api.github.com/users/timwindsor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timwindsor/subscriptions","organizations_url":"https://api.github.com/users/timwindsor/orgs","repos_url":"https://api.github.com/users/timwindsor/repos","events_url":"https://api.github.com/users/timwindsor/events{/privacy}","received_events_url":"https://api.github.com/users/timwindsor/received_events","type":"User","site_admin":false},"created_at":"2015-10-14T19:21:15Z","updated_at":"2015-10-14T19:21:15Z","body":"Answers to your questions from earlier:\r\n\r\n- What do you mean by \"Error\" event? (\"The user should be able to receive callbacks on the various events that can happen: Acquire, Revoke, Play, Pause, Stop, _Error_, Next, Previous.\") \r\n\r\nIn the course of operation, an error might be encountered - like media not being found, low level issues from the native API/hardware, attempts to play without setting media, etc. There should be a way to get those messages.\r\n\r\n    - \"[The trackChange API] should also include the options for enabling and disabling the Next/Previous buttons, as that would likely happen at this time.\"? Do you mean because e.g. we might hit the last track or something, we should ensure next/previous button enabling/disabling can be specified as a callback?\r\n\r\nI think that should be a property set on the input when calling trackChange. When you set the track, that would be when you know if you are able to handle a Next or Previous request. It could be that you've reached the end of the list you were playing from, or you are starting a new list, or perhaps you are playing a single track with no other tracks to switch to. It seems less likely that the value would change _after_ starting to play a track.\r\n\r\n    - Clarification on syntax for API for requestPlayback: Are you proposing to use a JSON parameter to specify how the JSON argument must be formatted (is that valid? I am unfamiliar with this syntax)? Are you are proposing to specify acquired as a named function callback paramter that must be specified in the function JSON argument (is that valid syntax, with the {...}?)? Is this intended to be a variable argument list of callbacks?\r\n\r\nWith JavaScript you typically document the properties you are expecting, and you can check for them and return an error if something is missing or incorrectly formatted. What I'm suggesting is the format of that object and the property names that you would use. The { ... } parts are what a developer would supply. With JavaScript you can specify the name of a function or define it inline.\r\n\r\n    - Clarification on syntax for API for stop, resume, pause, currentState: These will take callbacks as parameters too, right?\r\n\r\nI think stop, resume, and pause would likely be simple methods that take no parameters and return nothing. The output of anything that happens with them would likely fall into one of the callbacks defined earlier.\r\n\r\ncurrentState could return a JSON object directly, or through a callback."}}