{"action":"created","issue":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/8032","labels_url":"https://api.github.com/repos/xbmc/xbmc/issues/8032/labels{/name}","comments_url":"https://api.github.com/repos/xbmc/xbmc/issues/8032/comments","events_url":"https://api.github.com/repos/xbmc/xbmc/issues/8032/events","html_url":"https://github.com/xbmc/xbmc/pull/8032","id":106180877,"number":8032,"title":"[PVR] API enhancements (series timer type, recording status, timer EpisodeName)","user":{"login":"metaron-uk","id":12870817,"avatar_url":"https://avatars.githubusercontent.com/u/12870817?v=3","gravatar_id":"","url":"https://api.github.com/users/metaron-uk","html_url":"https://github.com/metaron-uk","followers_url":"https://api.github.com/users/metaron-uk/followers","following_url":"https://api.github.com/users/metaron-uk/following{/other_user}","gists_url":"https://api.github.com/users/metaron-uk/gists{/gist_id}","starred_url":"https://api.github.com/users/metaron-uk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/metaron-uk/subscriptions","organizations_url":"https://api.github.com/users/metaron-uk/orgs","repos_url":"https://api.github.com/users/metaron-uk/repos","events_url":"https://api.github.com/users/metaron-uk/events{/privacy}","received_events_url":"https://api.github.com/users/metaron-uk/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/xbmc/xbmc/labels/API%20change","name":"API change","color":"02d7e1"},{"url":"https://api.github.com/repos/xbmc/xbmc/labels/PVR","name":"PVR","color":"e102d8"},{"url":"https://api.github.com/repos/xbmc/xbmc/labels/WIP","name":"WIP","color":"FF5600"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-09-12T19:50:22Z","updated_at":"2015-09-16T12:16:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/8032","html_url":"https://github.com/xbmc/xbmc/pull/8032","diff_url":"https://github.com/xbmc/xbmc/pull/8032.diff","patch_url":"https://github.com/xbmc/xbmc/pull/8032.patch"},"body":"Adds 3 non-breaking changes to the API:\r\n\r\n1. PVR_TIMER_TYPE_REQUIRES_EPG_SERIES_ON_CREATE (see http://forum.kodi.tv/showthread.php?tid=227026&pid=2103890#pid2103890 )\r\n2. Adds PVR_TIMER.strEpisodeName (see conversation in https://github.com/xbmc/xbmc/pull/8005 )\r\n3. Adds an iStatus field (now individual booleans) to recordings (currently with: record in progress/keep forever/expires soon). Should also reduce CPU load to answer the 'isCurrentlyRecording' question and be more accurate (see conversation in https://github.com/xbmc/xbmc/pull/7905) while a proper solution is developed to fix the 'buffering' question. This also adds potential for extra 'about to expire' and 'keep forever' icons in the future (not included in this PR).\r\n\r\nChange 1 also required db schema bump.\r\nChange 2  required an additional info tag adding\r\n\r\npings: @ksooo, @ryangribble, @ronie (for the confluence skin changes in the strEpisodeName commit and possible future icons), @janbar, @glenn-1990, @Jalle19, @opdenkamp, @FernetMenta .\r\n\r\nNB: I will be on holiday (i.e. not contactable) between 16th and 21st September, so will miss the final run-up to the 20th Alpha 3 merge deadline. I'm not proud though, so feel free to cherry pick from this PR if necessary and I'll close it when I get back. \r\nIf that means I don't need to bump all the addons so much the better!"},"comment":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/comments/140724510","html_url":"https://github.com/xbmc/xbmc/pull/8032#issuecomment-140724510","issue_url":"https://api.github.com/repos/xbmc/xbmc/issues/8032","id":140724510,"user":{"login":"ryangribble","id":5425163,"avatar_url":"https://avatars.githubusercontent.com/u/5425163?v=3","gravatar_id":"","url":"https://api.github.com/users/ryangribble","html_url":"https://github.com/ryangribble","followers_url":"https://api.github.com/users/ryangribble/followers","following_url":"https://api.github.com/users/ryangribble/following{/other_user}","gists_url":"https://api.github.com/users/ryangribble/gists{/gist_id}","starred_url":"https://api.github.com/users/ryangribble/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryangribble/subscriptions","organizations_url":"https://api.github.com/users/ryangribble/orgs","repos_url":"https://api.github.com/users/ryangribble/repos","events_url":"https://api.github.com/users/ryangribble/events{/privacy}","received_events_url":"https://api.github.com/users/ryangribble/received_events","type":"User","site_admin":false},"created_at":"2015-09-16T12:16:29Z","updated_at":"2015-09-16T12:16:29Z","body":"@ksooo \r\n> I understand the timer type attribute stuff. You flag the respective type in your addon and Kodi's Timer Settings dialog will not display this type. All fine. The respective commits in this PR are IMO okay and you could \"git cherry-pick\" them and put them into a separate Kodi PR.\r\n\r\n> But I'm puzzled about EPG_TAG_FLAG_IS_SERIES. The current PR does nothing else than making this flag available to Kodi core - but no guiinfo (skin) bindings or something else. So, if you set this flag in your addon, Kodi will do know about this flag, but will do absolutely nothing with it! What do you expect Kodi to do if this flag is set?\r\n\r\nHmm either I havent explained myself well enough or you may have missed the one (crucial) point where this IS_SERIES flag is used in Kodi Core: https://github.com/metaron-uk/xbmc/commit/e5bc5e3e6912875559feb93946a09bc5fb920981#diff-db4d826cc7a0144872b2c6453d75d062R890\r\n\r\nAs previously mentioned, we needed a way to say that a TimerType REQUIRES an EPG item to \"be a series\".  This is because with pvr.wmc if the user tries to perform a repeating EPG based timer for a EPG item that is NOT a series (as flagged in the WMC backend) then a backend error will occur.  The first proposed implementation used the existing Kodi EPG Tag fields of SeriesNumber EpisodeNumber and EpisodePartNumber to determine if an EPG item \"is a series\" or not and thus control the TimerType visibility... but some of our user's EPG data doesnt include the Series/Episode data but still does flag an item as \"IsSeries=true\".  So we wanted to have a boolean attribute on EPG Tag for \"IsSeries\".  Meanwhile metaron proposed to add a number of other EPG Tag attributes and stores them all in a single iFlags field (to avoid future EPG database changes and so on).  I think this is a good plan.  I take the point that there isnt a concrete use case for all the other fields at the moment, but there is for the IsSeries one.  So shall I cherrypick these commits and scale back the EPGTag iFlags to only include the one possible option for now?  That seems better for expanding in the future, rather than changing it to an explicity boolean IsSeries property..."}}