Kodi Community Forum

Full Version: EstuaryPVR+ Skin MOD (Matrix)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9
Hi @Fuchs2468 
Excellent!......Many thanks.  Smile
However, I did come across a wee snag with the updated code. When no RDS Artist is present (on my set-up that will always be the case) the EPG Info for my LiveTV channels is not getting displayed. I changed the visibility slightly to the below which seems to work:-
xml:
<visible>VideoPlayer.Content(LiveTV) | [Player.HasAudio + RDS.HasRds] + String.IsEmpty(RDS.Artist)</visible>

Would this cause you issues with your RDS channels?

I'm now quite interested in getting RDS Radio myself. How do you receive your RDS broadcast? Do you need a particular tuner installed? What backend are you using?
I'm pretty sure a large number of UK radio stations include RDS information, but wasn't sure on the specifics on how to receive it in Kodi.
(2022-04-06, 14:49)Dumyat Wrote: [ -> ]Would this cause you issues with your RDS channels?

I'm now quite interested in getting RDS Radio myself. How do you receive your RDS broadcast? Do you need a particular tuner installed? What backend are you using?
I'm pretty sure a large number of UK radio stations include RDS information, but wasn't sure on the specifics on how to receive it in Kodi.

I forgot to check TV.
Use this code then RDS info and info works at TV.
xml:
            <control type="textbox">
                <left>405</left>
                <top>70</top>
                <right>30</right>
                <height>90</height>
                <label fallback="19055">$INFO[VideoPlayer.Plot]</label>
                <align>justify</align>
                <autoscroll delay="5000" repeat="7500" time="5000"></autoscroll>
                <visible>Player.HasAudio + RDS.HasRds + String.IsEmpty(RDS.Artist)</visible>
            </control>
            <control type="textbox">
                <left>405</left>
                <top>70</top>
                <right>30</right>
                <height>130</height>
                <label fallback="19055">$INFO[VideoPlayer.Plot]</label>
                <align>justify</align>
                <autoscroll delay="5000" repeat="7500" time="5000"></autoscroll>
                <visible>Pvr.IsPlayingTv | Player.HasAudio + !RDS.HasRds</visible>
            </control>

I have a "FRITZ! Box 6490 Cabel", she has a quad tuner (DVB-C).
Raspberry PI3 + with Libreelec on which is installed as a backend TVheadend.
(2022-04-06, 19:23)Fuchs2468 Wrote: [ -> ]
(2022-04-06, 14:49)Dumyat Wrote: [ -> ]Would this cause you issues with your RDS channels?

I'm now quite interested in getting RDS Radio myself. How do you receive your RDS broadcast? Do you need a particular tuner installed? What backend are you using?
I'm pretty sure a large number of UK radio stations include RDS information, but wasn't sure on the specifics on how to receive it in Kodi.
I forgot to check TV.
Use this code then RDS info and info works at TV.
Yup, that also worked.
Just pushed update to the Git.
Hmmm, Linux and TVH......There's 2 more things I really need to invest some proper time trying out at some point.  Wink
Thanks again. Much appreciated.
Will be pushing another small update later today, aimed at users who listen to music.
From the settings cog on the Music OSD a new option has been added to display 'Up Next' mini playlist which will display the next 10 tracks coming up.
First image below shows this feature with the Estuary default OSD, the 2nd and 3rd are colourised OSD's. Last image shows Artist Bio Dialog, which is now working seamlessly.

ImageImageImageImage
@Dumyat, @Angelinas

I use kodi to watch live tv every day, for epg I use Webgrab+ and I have a complete epg (now and next events)

I use kodi to watch live tv every day.
For the info epg I use Webgrab+ and I have a complete epg (now and next events).
I have modified the plugin SHS for to obtain the ListItem poster-next from epg.
This way in MyPVRChannels I don't use the Local Artwork and the Google Artwork, because in epg I have all the info and posters

Code:
    def get_pvr_artwork(self, listitem, prefix):
        '''get pvr artwork from artwork module'''
        if self.enable_pvrart:
            if getCondVisibility("%sListItem.IsFolder" % prefix) and not listitem[
                    "channelname"] and not listitem["title"]:
                listitem["title"] = listitem["label"]
            listitem = self.metadatautils.extend_dict(
                listitem, self.metadatautils.get_pvr_artwork(
                    listitem["title"],
                    listitem["channelname"],
                    listitem["genre"]), ["title", "genre", "genres", "thumb"])
        if listitem["channelname"]:
            next_poster = try_decode(xbmc.getInfoLabel("$INFO[%sListItem.ChannelName]" % prefix))
            json_query = xbmc.executeJSONRPC('{"id": 1,"jsonrpc": "2.0","method": "PVR.GetChannels","params": {"properties": ["channelnumber"],"channelgroupid": 1}}')
            json_response = json.loads(json_query)
            for item in json_response['result']['channels']:
                if('result' in json_response) and(json_response['result'] != None) and(item['label'] == next_poster):
                    json_id = item["channelid"]
            json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "PVR.GetChannelDetails", "params": {"channelid": %s, "properties": ["broadcastnext"]}, "id": 1}' % json_id)
            json_response = json.loads(json_query)
            try:
                listitem["art"]["NextTitle"] = json_response["result"]["channeldetails"]["broadcastnext"]["thumbnail"]
            except:
                listitem["art"]["NextTitle"] = try_decode(xbmc.getInfoLabel("$INFO[%sListItem.Icon]" % prefix))

            # next_listitem = try_decode(xbmc.getInfoLabel("$INFO[%sListItem.NextTitle]" % prefix))
            # listitem["art"]["NextTitle"] = self.metadatautils.google.search_image(next_listitem)
        # pvr channellogo
        if listitem["channelname"]:
            listitem["art"]["ChannelLogo"] = self.metadatautils.get_channellogo(listitem["channelname"])
        elif listitem.get("pvrchannel"):
            listitem["art"]["ChannelLogo"] = self.metadatautils.get_channellogo(listitem["pvrchannel"])
        return listitem

Image

For other menu or skin I have created an script to obtain all info and posters. For me the function "Broadcastnext" in json is very useful

Code:
import xbmc
import xbmcaddon
import xbmcgui
import json

addon = xbmcaddon.Addon()

class NextInfo:
    def __init__(self, info):
        self.info = info

    def broadcast(self):
        return self.info   

json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "id": "VideoGetItem", "method": "Player.GetItem", "params": {"playerid":1}}')
json_response = json.loads(json_query)
json_id = json_response["result"]["item"]["id"]
json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": "PVR.GetChannelDetails", "params": {"channelid": %s, "properties": ["broadcastnext"]}, "id": 1}' % json_id)
json_response = json.loads(json_query)
try:
    episode = NextInfo(json_response["result"]["channeldetails"]["broadcastnext"]["episodename"])
    poster = NextInfo(json_response["result"]["channeldetails"]["broadcastnext"]["thumbnail"])
except:
    episode = NextInfo("")
    poster = NextInfo("")

xbmcgui.Window(xbmcgui.getCurrentWindowId()).setProperty("MyLabel", episode.broadcast())
xbmcgui.Window(xbmcgui.getCurrentWindowId()).setProperty("MyPoster", poster.broadcast())

Image
Hi @Datalife 
This is excellent.  Smile
I think I've worked out a way recently to get the guide data on my own backend (VU+/Enigma2) to include artwork for the guide screen, so your updated code for NextUP artwork on the TV channels screen would be a fantastic addition. It's one of the final missing pieces for the pvr artwork puzzle. I really like your split screen shot on the 2nd image as well.
@Angelinas are you able to add this updated code into the SHS?
In the string that I edit

{"id": 1,"jsonrpc": "2.0","method": "PVR.GetChannels","params": {"properties": ["channelnumber"],"channelgroupid": 1}}

 - Attention -
The "channelgroupid" is to be specified.
In my case I used the number 1 for my channelgroups which I created with the name "favorites"
To know the number of your channelgroups you need to use the following string

{"jsonrpc": "2.0", "id": 1, "method": "PVR.GetChannelGroups", "params":{"channeltype":"tv"}}
Download link for my local PVR artwork directory has been updated with new artwork.
You can get the download link from this post: https://forum.kodi.tv/showthread.php?tid...pid3079501
Size (10.93GB)

Recent additions include 'The Invictus Games' and 'World Snooker Championship' which are both currently broadcasting in the UK.
Just to let everybody know, I've made some changes to the order of priority for PVR Artwork.

Currently, artwork delivered from your backend server/guide data has always taken priority.
This was mainly because my own backend server did not support any artwork and I believed that backend artwork should always take priority over Skin Helper and Local Artwork.
However, I have recently updated to guide data that does provide artwork and I quickly discovered that I didn't really like some of the images provided from my backend guide data.
With this in mind, local artwork will now take precedence, followed by artwork from the backend, then skin helper.

Just to be clear, if you only use artwork from your backend server, nothing will actually change. You will still see all the artwork like you do currently.
However, if there a piece of artwork from your backend that you don't particularly like, then you can easily create a local piece of artwork and this will appear instead of the backend artwork. I think this feature adds some additional benefit and even greater control to the overall PVR experience.
This change will be effected in the next release.
Version 0.2.4 just pushed and available to download from the Git

Update includes:-
  • New priority order set for PVR Artwork.
  • New music playlist widget added to music home screen.
  • Clearart for Movies/TV Shows now correctly positioned above OSD.
  • Support for animated posters on PVR Section removed.
Version 0.2.5 just pushed to the GitHub.

Update includes:-
Live TV
  • Removal of channel logo, channel number and channel name from OSD info panel.
  • Channel logo added to TopBar Overlay.
  • Season and episode numbers added to EPG plot and OSD info panel.
  • In addition to existing genre icon for 'Movie/Film' on EPG screen, new genre icons now added for 'Documentary, Drama, Game Show, News, Science Fiction, Boxing, Cricket, Cycling, Darts, Football/Soccer, Horse Racing, Motorcycle Racing, Motor Sport, Rugby, Snooker, Tennis and Wrestling'.
Music
  • Music song layout change that includes user star rating.
Latest version available to download from here:- https://github.com/SplitEnz/skin.estuary.pvr.plus

ImageImageImageImage
@Fuchs2468 
I'm pretty sure that the latest changes I've made to the PVR info panel did not infringe on the RDS radio layout for the Artist and Track, but you might want to check when you get a moment.
Cheers
(2022-05-05, 16:50)Dumyat Wrote: [ -> ]@Fuchs2468 
It looks good with the RDS info.

But I have a nice change for you, you can test it.
Is for  Music OSD.
I have tested it with music from the local database and with music via addon ("plugin.audio.radio_de") and PVR radio.
It work's.
Here the link: skin.estuary.pvr.plus_TEST.zip 

ImageImage

ImageImage
Looks Great.
Most of my PVR Radio channels now include metadata for Artist and Track as well.
I was also thinking to do away with the now/next format on the OSD for radio channels and make it the same as movie/tv show playback. 
Will check out the test files later today.
Thanks again
Cheers
I have the problem that none of the PVR Artworks show up except the one for nexttitle.

https://imgur.com/a/YoZl9uf

What am I doing wrong? I am only using online artwork no local
Pages: 1 2 3 4 5 6 7 8 9