Parental Ratings ('PG', 'PG-13', 'FSK 12', etc) for Estuary PVR Timers and Recordings
#46
(2024-05-02, 08:23)mikeSiLVO Wrote: I'm not sure I understand
I have made some split screen comparisons to highlight what I was referring to:

Image

The red lines show the relative borders.

Image
Reply
#47
I still don't get what you're saying.

The bottom portion where I suggest placing the rating image has the same area, based on your screens.

The plot is adjusted shorter width-wise but still based on the icon image height which is currently 461.

I made a quick mockup:

Image
Reply
#48
(2024-05-02, 09:26)mikeSiLVO Wrote: I still don't get what you're saying.

I was commenting on the empty space surrounding the two screens.  If you look at the move poster and the PVR channel icon, you can see that the movie poster is closer to the left edge of the screen.  This is also seen on the right and top.
 
(2024-05-02, 09:26)mikeSiLVO Wrote: I made a quick mockup:

I really like your mockup.

One thing that was discussed previously was only having either the rating text or the rating icon, not both.
Another thing was that the text or the icon should be in the same place on the screen.

I like where you have the icon at the bottom and I like the way the duration looks.  Combining the 2:  If there an icon is available, have it at the bottom like you have.  If an icon is not available, but the text is, have it at the bottom, in the same place as the icon would have been, but have the text formatted like the duration.

Some minor additions, I don't see the need for a huge channel icon.  I think that a smaller channel icon in the bottom would take up less space.  The channel name can stay where it is.

Also, I have just done some work to add the PVR instance name to this screen.  That would also look very nice, formatted like the duration, at the bottom on the screen.
Reply
#49
It's a very quick mockup but I think the space between the right border and the additional info and the left border with the icon/channel logo is the same distance.
If the icon is square that's the space it will take up, while I do not use PVR at all I assume most icons aren't perfectly square...?

Big changes like moving the channel icon are way above my pay grade lol

I will say that showing the icon and text info simultaneously is already in DialogVideoInfo for Studio icons so there is precedent but then MPAA should probably be added to the DialogVideoInfo flags for consistency reasons... That's opening a can of worms tho with providing a consistent methodology to get all images to show, based on region and such.

This is my current variable for displaying classification ratings in the library:

xml:
<variable name="RatingFlagVar">
<value condition="String.IsEmpty(ListItem.MPAA) | String.Contains(ListItem.MPAA,NR) | String.IsEqual(ListItem.MPAA,Rated) | String.IsEqual(ListItem.MPAA,Rated ) | String.IsEqual(ListItem.MPAA,Not Rated)">NR.png</value>
<value condition="String.IsEqual(ListItem.MPAA,US:R) | String.IsEqual(ListItem.MPAA,USA:R) | String.IsEqual(ListItem.MPAA,Rated R) | String.IsEqual(ListItem.MPAA,R)">R.png</value>
<value condition="String.IsEqual(ListItem.MPAA,US:NC-17) | String.IsEqual(ListItem.MPAA,USA:NC-17) | String.IsEqual(ListItem.MPAA,Rated NC-17) | String.IsEqual(ListItem.MPAA,NC-17)">NC-17.png</value>
<value condition="String.IsEqual(ListItem.MPAA,US:PG-13) | String.IsEqual(ListItem.MPAA,USA:PG-13) | String.IsEqual(ListItem.MPAA,Rated PG-13) | String.IsEqual(ListItem.MPAA,PG-13)">PG-13.png</value>
<value condition="String.IsEqual(ListItem.MPAA,US:PG) | String.IsEqual(ListItem.MPAA,USA:PG) | String.IsEqual(ListItem.MPAA,Rated PG) | String.IsEqual(ListItem.MPAA,PG)">PG.png</value>
<value condition="String.IsEqual(ListItem.MPAA,US:G) | String.IsEqual(ListItem.MPAA,USA:G) | String.IsEqual(ListItem.MPAA,Rated G) | String.IsEqual(ListItem.MPAA,G) | String.IsEqual(ListItem.MPAA,Rated Approved) | String.IsEqual(ListItem.MPAA,Approved) | String.IsEqual(ListItem.MPAA,Rated Passed) | String.IsEqual(ListItem.MPAA,Passed)">G.png</value>
<value condition="String.IsEqual(ListItem.MPAA,UK:U) | String.IsEqual(ListItem.MPAA,United Kingdom:U)">BBFC_U_Certificate_UK.png</value>
<value condition="String.IsEqual(ListItem.MPAA,UK:PG) | String.IsEqual(ListItem.MPAA,United Kingdom:PG)">BBFC_PG_Certificate_UK.png</value>
<value condition="String.IsEqual(ListItem.MPAA,UK:12A) | String.IsEqual(ListItem.MPAA,United Kingdom:12A)">BBFC_12A_Certificate_UK.png</value>
<value condition="String.IsEqual(ListItem.MPAA,UK:12) | String.IsEqual(ListItem.MPAA,United Kingdom:12)">BBFC_12_Certificate_UK.png</value>
<value condition="String.IsEqual(ListItem.MPAA,UK:15) | String.IsEqual(ListItem.MPAA,United Kingdom:15)">BBFC_15_Certificate_UK.png</value>
<value condition="String.IsEqual(ListItem.MPAA,UK:18) | String.IsEqual(ListItem.MPAA,United Kingdom:18)">BBFC_18_Certificate_UK.png</value>
<value condition="String.IsEqual(ListItem.MPAA,Germany:16) | String.Contains(ListItem.MPAA,ab 16) | String.IsEqual(ListItem.MPAA,16) | String.Contains(ListItem.MPAA,FSK 16) | String.IsEqual(ListItem.MPAA,Rated 16)">FSK-16.png</value>
<value condition="String.Contains(ListItem.MPAA,Germany:0) | String.Contains(ListItem.MPAA,ab 0) | String.IsEqual(ListItem.MPAA,0) | String.Contains(ListItem.MPAA,FSK 0) | String.Contains(ListItem.MPAA,Rated 0)">FSK-0.png</value>
<value condition="String.Contains(ListItem.MPAA,Germany:6) | String.Contains(ListItem.MPAA,ab 6) | String.IsEqual(ListItem.MPAA,6) | String.Contains(ListItem.MPAA,FSK 6) | String.Contains(ListItem.MPAA,Rated 6)">FSK-6.png</value>
<value condition="String.Contains(ListItem.MPAA,Germany:12) | String.Contains(ListItem.MPAA,ab 12) | String.IsEqual(ListItem.MPAA,12) | String.Contains(ListItem.MPAA,FSK 12) | String.Contains(ListItem.MPAA,Rated 12)">FSK-12.png</value>
<value condition="String.Contains(ListItem.MPAA,Germany:18) | String.Contains(ListItem.MPAA,ab 18) | String.IsEqual(ListItem.MPAA,18) | String.Contains(ListItem.MPAA,FSK 18) | String.Contains(ListItem.MPAA,Rated 18)">FSK-18.png</value>
<value condition="String.Contains(ListItem.MPAA,Germany) | String.Contains(ListItem.MPAA,FSK) | String.Contains(ListItem.MPAA,o.A) | String.Contains(ListItem.MPAA,Rated 0)">FSK-0.png</value>
<value condition="String.Contains(ListItem.MPAA,besorolás alatt)">HU_BA.png</value>
<value condition="String.Contains(ListItem.MPAA,korhatárra való tekintett nélkül megtekintetheto)">HU_KN.png</value>
<value condition="String.Contains(ListItem.MPAA,12 éven aluliak számára a megtekintése nagykorú felügyelete mellett ajánlott)">HU_12.png</value>
<value condition="String.Contains(ListItem.MPAA,16 éven aluliak számára nem ajánlott)">HU_16.png</value>
<value condition="String.Contains(ListItem.MPAA,18 éven aluliak számára nem ajánlott)">HU_18.png</value>
<value condition="String.Contains(ListItem.MPAA,France:U) | String.Contains(ListItem.MPAA,Tout public) | String.Contains(ListItem.MPAA,partir de 3 ans) | String.Contains(ListItem.MPAA,partir de 6 ans)">csaU.png</value>
<value condition="String.Contains(ListItem.MPAA,France:-10) | String.Contains(ListItem.MPAA,Interdit aux moins de 10 ans) | String.Contains(ListItem.MPAA,des propos ou des images peuvent heurter)">csa10.png</value>
<value condition="String.Contains(ListItem.MPAA,France:-12) | String.Contains(ListItem.MPAA,Interdit aux moins de 12 ans)">csa12.png</value>
<value condition="String.Contains(ListItem.MPAA,France:-16) | String.Contains(ListItem.MPAA,Interdit aux moins de 16 ans)">csa16.png</value>
<value condition="String.Contains(ListItem.MPAA,France:-18) | String.Contains(ListItem.MPAA,Interdit aux moins de 18 ans)">csa18.png</value>
<value condition="String.Contains(ListItem.MPAA,전체)">KR_Certificate_All.png</value>
<value condition="String.Contains(ListItem.MPAA,12세)">KR_Certificate_12.png</value>
<value condition="String.Contains(ListItem.MPAA,15세)">KR_Certificate_15.png</value>
<value condition="String.Contains(ListItem.MPAA,불가)">KR_Certificate_18.png</value>
<value condition="String.Contains(ListItem.MPAA,제한)">KR_Certificate_R.png</value>
<value condition="String.Contains(ListItem.MPAA,Brazil:Livre) | String.Contains(ListItem.MPAA,Livre)">MPAA_Brazil_Livre.png</value>
<value condition="String.Contains(ListItem.MPAA,Brazil:10) | String.Contains(ListItem.MPAA,10 anos)">MPAA_Brazil_10.png</value>
<value condition="String.Contains(ListItem.MPAA,Brazil:12) | String.Contains(ListItem.MPAA,12 anos)">MPAA_Brazil_12.png</value>
<value condition="String.Contains(ListItem.MPAA,Brazil:14) | String.Contains(ListItem.MPAA,14 anos)">MPAA_Brazil_14.png</value>
<value condition="String.Contains(ListItem.MPAA,Brazil:16) | String.Contains(ListItem.MPAA,16 anos)">MPAA_Brazil_16.png</value>
<value condition="String.Contains(ListItem.MPAA,Brazil:18) | String.Contains(ListItem.MPAA,18 anos)">MPAA_Brazil_18.png</value>
<value condition="String.Contains(ListItem.MPAA,Australia:R) | String.Contains(ListItem.MPAA,Australia:R18)">australia_R.png</value>
<value condition="String.Contains(ListItem.MPAA,Australia:MA) | String.Contains(ListItem.MPAA,Australia:MA15)">australia_MA.png</value>
<value condition="String.Contains(ListItem.MPAA,Australia:M)">australia_M.png</value>
<value condition="String.Contains(ListItem.MPAA,Australia:PG)">australia_PG.png</value>
<value condition="String.Contains(ListItem.MPAA,Australia:G)">australia_G.png</value>
<value condition="String.Contains(ListItem.MPAA,NL:AL)">NL-AL.png</value>
<value condition="String.Contains(ListItem.MPAA,NL:6)">NL-6.png</value>
<value condition="String.Contains(ListItem.MPAA,NL:9)">NL-9.png</value>
<value condition="String.Contains(ListItem.MPAA,NL:12)">NL-12.png</value>
<value condition="String.Contains(ListItem.MPAA,NL:16)">NL-16.png</value>
<value condition="String.Contains(ListItem.MPAA,NL:18)">NL-18.png</value>
<value condition="String.Contains(ListItem.MPAA,GR:K)">GR-K.png</value>
<value condition="String.Contains(ListItem.MPAA,GR:8)">GR-8.png</value>
<value condition="String.Contains(ListItem.MPAA,GR:12)">GR-12.png</value>
<value condition="String.Contains(ListItem.MPAA,GR:16)">GR-16.png</value>
<value condition="String.Contains(ListItem.MPAA,GR:18)">GR-18.png</value>
<value condition="String.Contains(ListItem.MPAA,DK:A) | String.IsEqual(ListItem.MPAA,Denmark:A)">MCCYP_Denmark-A.png</value>
<value condition="String.Contains(ListItem.MPAA,DK:7) | String.IsEqual(ListItem.MPAA,Denmark:7)">MCCYP_Denmark-7.png</value>
<value condition="String.Contains(ListItem.MPAA,DK:11) | String.IsEqual(ListItem.MPAA,Denmark:11)">MCCYP_Denmark-11.png</value>
<value condition="String.Contains(ListItem.MPAA,DK:15) | String.IsEqual(ListItem.MPAA,Denmark:15)">MCCYP_Denmark-15.png</value>
<value>$INFO[ListItem.MPAA,,.png]</value>
</variable>
Reply
#50
(2024-05-02, 10:24)mikeSiLVO Wrote: I assume most icons aren't perfectly square...?

Well spotted, that probably explains it.
 
(2024-05-02, 10:24)mikeSiLVO Wrote: I will say that showing the icon and text info simultaneously is already in DialogVideoInfo for Studio icons so there is precedent

@ksooo previously stated his opposition to having both text and icon onscreen at the same time.  I also agree with this.
 
(2024-05-02, 10:24)mikeSiLVO Wrote: This is my current variable for displaying classification ratings in the library:

xml:
<variable name="RatingFlagVar">
<value condition="String.IsEmpty(ListItem.MPAA) | String.Contains(ListItem.MPAA,NR) | String.IsEqual(ListItem.MPAA,Rated) | String.IsEqual(ListItem.MPAA,Rated ) | String.IsEqual(ListItem.MPAA,Not Rated)">NR.png</value>
<value condition="String.Contains(ListItem.MPAA,DK:15) | String.IsEqual(ListItem.MPAA,Denmark:15)">MCCYP_Denmark-15.png</value>
... smip ...
<value>$INFO[ListItem.MPAA,,.png]</value>
</variable>

WOW!

From the backend, the PVR module gets 3 potential properties for each (EPG, Recording, Timer) item: ageRating, ParentalRatingCode (same as your MPAA, but not country-specific) and ParentalRatingIcon (currently in the PR stage). The backend works out which icon to use, the skin just needs to know if it is empty or nor. Perhaps the movie scraper could parse the rating icon once and store it in a new database field.

@mikeSiLVO - Thanks for your input.  I really like the mockup concept that you presented.
Reply
#51
I completely agree that Estuary should be simple and easy for users to understand. Additionally, I very much share the same opinion as @mikeSiLVO in there being continuity across the skin for this info dialog, as I've done the same on my own Estuary mod. I would also dispense with the huge channel logo that takes up nearly half of the screen as a fallback when the EventIcon is not available and replace it with a default icon of some kind when that happens. Showing the channel logo is un-necessary duplication of something that was already shown to the user on the previous PVR window (EPG/TV Channels/Recording/Timer) and has always looked a bit ridiculous and ugly due to it's size IMO, but perhaps that's just my own personal taste.  

Here is a sample of what I've been using on my own PVR Info Dialog for 3/4 years, which gives the option to show the parental rating on the far right-hand panel as a icon, text when that is not found and blank if neither exist. Just throwing in my 2 cents worth on the subject as well..... Wink

Image
Reply
#52
This thread was originally created to discuss the location of the parental rating icon so that a PR could be finalised.  It now seems to have transformed into a discussion about overhauling part of the Estuary skin design.

IMHO, redesigning the PVR info screen to increase consistency with the movie info screen has considerable merit for the user experience.  I also think that a redesign of that magnitude should not be linked to the application PR.

I’d like to propose that the application PR and skin redesign issues be handled separately.

I am happy to undertake the skin work, however, having two independent PRs will be easier to manage should issues arise with either in the future.

Comments welcome.
Reply
#53
(2024-05-02, 13:21)DeltaMikeCharlie Wrote: This thread was originally created to discuss the location of the parental rating icon so that a PR could be finalised.  It now seems to have transformed into a discussion about overhauling part of the Estuary skin design.
Just to be clear, I was just responding to the feedback request on the previous page and as such, I was merely questioning why we had never used the same design format that every other info dialog uses in Estuary (Movies, TV Show, TV Episode, Music Artist, Music Album, Music Song and Music Video).
I thought by giving an example of what I'm actually using right now for my own PVR info, including the placement of the parental rating and any other relevant info like director, writer, etc would surely be a good thing to show, but not for it to open some huge debate on the subject. 

I'm happy wherever the parental rating gets placed right now using the current dialog design. If at some point in future it's decided to align this dialog with the same format used elsewhere, I'd obviously be super happy with that as well.... Smile
Reply
#54
(2024-05-02, 16:10)Dumyat Wrote: Just to be clear, I was just responding to the feedback request on the previous page
Agreed, this is what I understood you were saying too.
Reply
#55
The discussion regarding sources for Parental Rating Icons has been moved to the following thread:

https://forum.kodi.tv/showthread.php?tid=377384
Reply
#56
@DeltaMikeCharlie
Reading through the comments on this PR, I saw that the intention is not to show the rating label on the EPG window in Estuary.
Does this also mean that it won't be available for skinners to show on the EPG window if they wish too?
I must admit, I would have also liked to show the rating on the OSD Info Panel as well, ie when playing channel. Has that ever been discussed at some point?
Reply
#57
(2024-05-07, 11:00)Dumyat Wrote: Reading through the comments on this PR, I saw that the intention is not to show the rating label on the EPG window in Estuary.

The 'label' will be shown, but perhaps not the 'icon'.  I am still hopeful that a compromise can be agreed upon for the icon. I am working on a layout at the moment.
 
(2024-05-07, 11:00)Dumyat Wrote: Does this also mean that it won't be available for skinners to show on the EPG window if they wish too?

I'm not sure. If the whole PR is rejected, then it will not be available to anyone.

If the core PR is accepted but without the Estuary component, the the icon path will be available via ListItem.ParentalRatingIcon. Just make an image with that path and it should work.
 
Please Note: The backend PVR must supply the parental rating icon path, it is not generated by Kodi. Kodi only displays what the backend provides. The backend client addon will need to be updated to provide Kodi with this new data. I have done this for TVHeadEnd and the Demo cient already in other PRs awaiting approval.
 
(2024-05-07, 11:00)Dumyat Wrote: I would have also liked to show the rating on the OSD Info Panel as well, ie when playing channel. Has that ever been discussed at some point?

This has not been discussed, but it is a good idea. I will give it some thought.
Reply
#58
Ok, great stuff.
Sounds like there is scope to show on the EPG then, just depending on how the final PR is implemented (or not).
(2024-05-07, 11:19)DeltaMikeCharlie Wrote: Please Note: The backend PVR must supply the parental rating icon path, it is not generated by Kodi. Kodi only displays what the backend provides. The backend client addon will need to be updated to provide Kodi with this new data. I have done this for TVHeadEnd and the Demo cient already in other PRs awaiting approval.
Yeah, my guide data provider (Schedules Direct via Epg123) does provide the parental rating label already, but I have noted quite a lot are often missing for TV shows. This is most likely because my geo location (UK) does not have a dedicated parental rating system for TV shows. Maybe it's worth me making a feature request with Epg123 to provide an option that would include the US parental rating as a fallback on the guide data they generate (this is also the rating provided for any TV shows I add to my regular Kodi library). 

Quick side question.....I remember seeing on one of your screen shots of the PVR Info Dialog that it was showing 'Repeat' underneath the show title. When I saw that, I was curious where you were getting that data? Does your guide data provider include this info? I think mine does, but it seems to be placed at the end of the episode title name, rather than a dedicated element. 

For what it's worth, I am very appreciative of all the changes you've currently proposed. Smile
Reply
#59
(2024-05-07, 12:59)Dumyat Wrote: Quick side question.....I remember seeing on one of your screen shots of the PVR Info Dialog that it was showing 'Repeat' underneath the show title. When I saw that, I was curious where you were getting that data? Does your guide data provider include this info? I think mine does, but it seems to be placed at the end of the episode title name, rather than a dedicated element.

I'm not sure which one you are referring to.  My EPG provider does provide a repeat flag and it can be appended/prepended to certain EPG fields.  I have also hacked their script to add colours for 'Repeat' and 'First Run' situations.
 
(2024-05-07, 12:59)Dumyat Wrote: For what it's worth, I am very appreciative of all the changes you've currently proposed. Smile

Thank you very much.
Reply
#60
(2024-05-07, 12:59)Dumyat Wrote: Yeah, my guide data provider (Schedules Direct via Epg123) does provide the parental rating label already, but I have noted quite a lot are often missing for TV shows. This is most likely because my geo location (UK) does not have a dedicated parental rating system for TV shows. Maybe it's worth me making a feature request with Epg123 to provide an option that would include the US parental rating as a fallback on the guide data they generate (this is also the rating provided for any TV shows I add to my regular Kodi library).
Maybe EPG123 should not be doing geo-location filtering but then the default selection from XMLTV should be for the backend XMLTV parser or perhaps the Kodi PVR client if it is passed down, and not the guide source.   Most Canadians shows from EPG123 have the 2 source systems.    If you can give me the dd_progid from your XMLTV file I can show you the raw Schedules Direct data as an example.

Martin
Reply

Logout Mark Read Team Forum Stats Members Help
Parental Ratings ('PG', 'PG-13', 'FSK 12', etc) for Estuary PVR Timers and Recordings0