Kodi Community Forum
Unified PVR frontend (DVR/HTPC client GUI with EPG) and Addons API for PVR backends? - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=26)
+---- Forum: PVR (https://forum.kodi.tv/forumdisplay.php?fid=136)
+---- Thread: Unified PVR frontend (DVR/HTPC client GUI with EPG) and Addons API for PVR backends? (/showthread.php?tid=28918)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19


- wstewart - 2009-05-31

wstewart Wrote:ok, I have been keeping an eye on that, but the log doesn't tell me what is yet to be implemented. All I am looking for is a few sentences on the status and so forth. The svn log doesn't provide that overview and the entered descriptions are somewhat short and difficult to decipher a status overview.

Given that I am looking to help out on the myth side I don't think its too much to ask for a summary.

Thanks.

alcoheca, I would appreciate it if you could provide some words on the status of what's working, what not and what is to be implemented. any screens shots available?

It would really help to have a status, give a good idea where to focus first in the mythtv code, what functionality I can expect to work and what is yet to come in the general pvr code.

I've started looking at the code, I have a good idea why the mythtv code was removed for the time being.

A few questions and comments.

The now obsolete mythtv code refers to "bouquet support" and that it is not supported in mythtv. What is "bouquet support"? I assume it is a VDR thing.

Doesn't look to me like the current pvr code supports channel favorites or channel groups. This was recently added to mythtv and is in fact my patch to mythtv. It allows grouping channels into groups such as movies or for each person in the household. The channel group affects what is displayed in the EPG and affects livetv channel surfing/browsing. Any plans to add support for it?

There is quite a bit of code commented out in the VDR client, particularily on the EPG side. Given this, it is difficult to know what to do on the mythtv side. Any comments here please?


- alcoheca - 2009-06-02

wstewart Wrote:The now obsolete mythtv code refers to "bouquet support" and that it is not supported in mythtv. What is "bouquet support"? I assume it is a VDR thing.

bouquets are a DVB thing: http://www.snellgroup.com/documents/engineering-guides/dvb-si-basics.pdf

bit busy but will answer the rest tonight


- alcoheca - 2009-06-03

wstewart Wrote:alcoheca, I would appreciate it if you could provide some words on the status of what's working, what not and what is to be implemented. any screens shots available?

Anyone following the svn commit logs for the unified-pvr branch will have noticed lots of work on 'Add-ons', and not much in terms of the PVR features. What is an Addon? Pretty much everything that can be added to XBMC, such as visualisations, screensavers, pvrclients, python plugins & scripts, skins, scrapers etc etc. Up to now there has not been a framework to manage these addons unilaterally and to provide unified mechanisms for settings, language files, restricting access per profile etc, irrespective of the addon type, be it C/C++ or python.

It became obvious during the development of the pvr api that rather than create yet another dialog and classes to handle pvr settings, it would be better to bring everything under the one umbrella so to speak. This ties in directly with the work on a single approach to packaging, browsing and installing Add-ons. Something akin to the addons manager in Firefox.

What works?: Visualisations, screensavers, python plugins, pvrclients & scrapers are now all handled by one set of classes CDialogAddonBrowser, CDialogAddonSettings etc. There are entry points to browse & configure particular types of addons from the Settings menu. The XBMC API has been extended to cover Dlls/SOs so now these type of addons have access to the same internal XBMC functions as python scripts.

What's still to happen?: Per profile restrictions (ie blocking pornography related addons for particular xbmc profiles); Retrieving settings directly from the addon, (ie without the default settings.xml file); some way to avoid addons from crashing XBMC (bit of a job to get that working I think...); and probably lots more that I can't think of right now.

Why are you and alwinus workng on this rather than the PVR api?
We need these changes in XBMC anyway, it makes sense to spend the time improving the whole application rather than adding more specializations to XBMC.

I want to watch TV now via VDR: Use the instructions in this thread http://forum.xbmc.org/showthread.php?tid=45314

I want to get involved and start writing a pvrclient for '<insert pvr backend name here>' in X days, weeks, months. What do you suggest?: Wait until we have completed the addons framework and have since moved on and finalized the pvr api. By all means get more involved sooner, but please get up to speed with the code before asking questions. Follow changes to the prototype PVR client here: http://code.google.com/p/xbmcpvr-vdr/

Is there any documentation of the API yet? There's a fair bit in the source code already and there's ongoing work on proper documentation in a more easily digestible format.

I don't want to wait, will you hurry up? Why of course, if only you'd asked sooner. We accept gold bullion, real estate & ivory archways as incentive payments

Are there any screenshots/status updates?: If there's something worthwhile of a screenshot/status update (ie, new feature added) then of course we would post that here. Asking doesn't increase the chances of it happening sooner though.

Is #xbmc-pvr the place to ask for status updates and individual support requests? no, please don't..

wstewart Wrote:A few questions and comments.

[..snip..]

Doesn't look to me like the current pvr code supports channel favorites or channel groups. This was recently added to mythtv and is in fact my patch to mythtv. It allows grouping channels into groups such as movies or for each person in the household. The channel group affects what is displayed in the EPG and affects livetv channel surfing/browsing. Any plans to add support for it?

Yes there are plans to support this. Alwinus' patch on trac has channel grouping, however only internal to XBMC. There would need to be some more thought on how to handle this when a backend supports this feature directly. Perhaps you could look at extending libcmyth to handle groups and favourites for now?

wstewart Wrote:There is quite a bit of code commented out in the VDR client, particularily on the EPG side. Given this, it is difficult to know what to do on the mythtv side. Any comments here please?

Like I said PVR work has taken a back seat for now, I'm afraid I don't know what to suggest other than what I've mentioned above. That's not to say you couldn't start to port the session management stuff from CMythSession over to your Dll/so build.


- da-anda - 2009-06-03

Hi guys,
I'm quite interested in the unified PVR support for XBMC as I'm currently building a dedicated HTPC and like to watch liveTV with it. I'm currently struggling with MediaPortal, but I'd rather like to use XBMC as the setup and configuration sucks in MP.
I followed this topic for quite some time now and know it's quite some work left to do, but is there some sort of roadmap/timeline for the PVR feature? I searched for it, but couldn't find any timeline, and the roadmap on trac for the upcoming 9.10 release doesn't mention PVR either - so I assume PVR might still take about a year and hopefully make it into something like 10.4 (10.1 would be even nicer though Wink).

So is there some inofficial timeline/ETA? An answer like "It's done when it's done" is not quite satisfying Wink

Thanks for your answer and thanks a bunch for all the great work you guys have done on XBMC so far.


- wstewart - 2009-06-03

alcoheca, thanks a lot for the update. I did not realize that there was a lot more going on than just the PVR code. That explains why the SVN log didn`t make much sense to me since I was reviewing it with a "PVR" eye or bias.

Alright, for the time being I will site back and wait, besides I still have yet to convert my entire video collection from mythtv to xbmc. I`ll take a look at libcmyth and the channel grouping when I have a chance.

I appreciate you taking the time to explain, it has gone a long way to help clear up my understanding.


- bidossessi - 2009-06-22

a lot of new code is popping up in xbmc trunk. i hope merging back won't become so much of a monster that this idea gets dropped or forked to a new project.

On the UI front, I just wanted to add a request for an emulation of the "Favorites" feature found in most settop DVB boxes. I don't think the purpose of Favorites needs explaining.
If this is not the forum to paste for this kind of request, my apologies, and please refer me to the right one.
If it's already been done/planned, kudos! and i'm looking forward to progress on this branch.


- wstewart - 2009-06-22

bidossessi Wrote:On the UI front, I just wanted to add a request for an emulation of the "Favorites" feature found in most settop DVB boxes. I don't think the purpose of Favorites needs explaining.

Yes it is planned, see alcoheca comment above on June 3 to my question on channel grouping.


- kricker - 2009-06-24

I've also been watching all the new PVR code going on. Has there been any wiki started for how this is going to work with various backends? Are the devs on this testing it with any backends yet? I'm just really interested in this branch and as a non-coder I'm just trying to wrap my head around how this is going to work with my backend of choice (Sage).


- alcoheca - 2009-06-24

kricker Wrote:I've also been watching all the new PVR code going on. Has there been any wiki started for how this is going to work with various backends? Are the devs on this testing it with any backends yet? I'm just really interested in this branch and as a non-coder I'm just trying to wrap my head around how this is going to work with my backend of choice (Sage).

best way to get your head around it is to fire up a quick vdr installation and test run the pvr-testing branch. follow the instructions on this thread http://forum.xbmc.org/showthread.php?tid=45314.
scroll down to the second post, section E, for instructions on how to get the pvr-testing branch. You still need to follow the instructions to patch VDR & streamdev. The latest streamdev patch is contained in pvr-testing branch in XBMC/xbmnc/pvrclients/vdr/patches (I think).

If you aren't up to any of this, or are unwilling to install Ubuntu, you'll need to wait I'm afraid.


- kricker - 2009-06-25

alcoheca Wrote:....
If you aren't up to any of this, or are unwilling to install Ubuntu, you'll need to wait I'm afraid.
LOL....I think I'll sit back and wait for a bit then. It's good to know things are moving along though. If I get a bunch of free time I may try it out.


Compiling Errors on Jaunty - kurrazyman - 2009-07-19

As a noob to these forums I'd just like to say what a great project this is and much needed as the native (MythTV) support within XBMC is pants to say the least.

I am trying to compile this branch under XBMC Live 9.04 Jaunty with little success, from what I've read the main branch that alcoheca has been working on is Windows or XBOX based and for Linux implementations we should use:

http://xbmc.svn.sourceforge.net/viewvc/xbmc/branches/unified-pvr/XBMC/

Having updated the repositories and installed all the required packages I cannot get 'xbmc.bin' to build and was hoping someone could help please. When I try and make this file on it's own I get the following error appearing:

xbmc/pvrclients/pvrclient.a(PVRClient.o): In function `CPVRClient':
/home/xbmc/unified-pvr/XBMC/xbmc/pvrclients/PVRClient.cpp:60: undefined reference to `IPVRClient::IPVRClient(long, IPVRClientCallback*)'
/home/xbmc/unified-pvr/XBMC/xbmc/pvrclients/PVRClient.cpp:60: undefined reference to `ADDON::CAddonDll<DllPVRClient>::CAddonDll()'
/home/xbmc/unified-pvr/XBMC/xbmc/pvrclients/PVRClient.cpp:60: undefined reference to `IPVRClient::IPVRClient(long, IPVRClientCallback*)'
/home/xbmc/unified-pvr/XBMC/xbmc/pvrclients/PVRClient.cpp:60: undefined reference to `ADDON::CAddonDll<DllPVRClient>::CAddonDll()'
collect2: ld returned 1 exit status
Makefile:382: *** [xbmc.bin] Error 1

#0 xbmc.bin at /home/xbmc/unified-pvr/XBMC/Makefile:382

The pvrclient.a file compiles OK, is there a problem in the source or a problem my end? Here's the command that's being issued when trying to make xbmc.bin:

g++ -O2 -O2 -g -D_DEBUG -Wall -o xbmc.bin -Wl,--whole-archive guilib/guilib.a guilib/common/gui_common.a guilib/tinyXML/tinyxml.a xbmc/xbmc.a xbmc/cdrip/cdrip.a xbmc/cores/cores.a xbmc/cores/DllLoader/dllloader.a xbmc/cores/DllLoader/exports/exports.a xbmc/cores/DllLoader/exports/util/exports_utils.a xbmc/cores/dvdplayer/DVDPlayer.a xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a xbmc/cores/paplayer/paplayer.a xbmc/cores/AudioRenderers/audiorenderers.a xbmc/cores/VideoRenderers/VideoRenderer.a xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a xbmc/cores/ExternalPlayer/ExternalPlayer.a xbmc/FileSystem/filesystem.a xbmc/FileSystem/MusicDatabaseDirectory/musicdatabasedirectory.a xbmc/FileSystem/VideoDatabaseDirectory/videodatabasedirectory.a xbmc/karaoke/karaoke.a xbmc/lib/libcmyth/libcmyth.a xbmc/lib/libhts/libhts.a xbmc/lib/libPython/python.a xbmc/lib/libPython/xbmcmodule/xbmcmodule.a xbmc/lib/libRTMP/librtmp.a xbmc/lib/libscrobbler/scrobbler.a xbmc/lib/libRTV/librtv-i486-linux.a xbmc/lib/libshout/libshout-i486-linux.a xbmc/lib/libUPnP/libupnp-i486-linux.a xbmc/lib/libXBMS/libxbms-i486-linux.a xbmc/lib/libXDAAP/libxdaap-i486-linux.a xbmc/lib/libGoAhead/libGoAhead-i486-linux.a xbmc/lib/sqLite/sqllite.a xbmc/lib/UnrarXLib/UnrarXLib.a xbmc/linux/linux.a xbmc/screensavers/screensaver.a xbmc/settings/settings.a xbmc/utils/utils.a xbmc/visualizations/visualization.a xbmc/pvrclients/pvrclient.a xbmc/xbox/xbox.a xbmc/lib/libsmb/libsmbclient-i486-linux.a -Wl,--no-whole-archive -lXrandr -lavahi-client -lavahi-common -lfaac -lpulse -lhal-storage -ldbus-1 -lcurl -lXinerama -lXmu -lXt -ljasper -lenca -lresolv -ldl -lSDL_mixer -lSDL_image -lSDL -lsamplerate -lcdio -llzo2 -lpcre -ljpeg -lpng12 -lrt -lasound -lmysqlclient -lsqlite3 -lfribidi -lbz2 -lfontconfig -lfreetype -lvorbis -logg -lmad -lGLU -lGLEW -lGL -rdynamic


Any help would be much appreciated as I'd really like to start looking at this project.


- ghallberg - 2009-07-22

kurrazyman Wrote:As a noob to these forums I'd just like to say what a great project this is and much needed as the native (MythTV) support within XBMC is pants to say the least.

I am trying to compile this branch under XBMC Live 9.04 Jaunty with little success, from what I've read the main branch that alcoheca has been working on is Windows or XBOX based and for Linux implementations we should use:

As far as I know (alcohec or alwinus please correct me if necesary) the pvr-testing branch is developed on Ubuntu Linux, and is not tested or even supposed to work on anything else yet.

unified-pvr is discontinued I think, all relevant work was moved into pvr-testing a while ago.


- bidossessi - 2009-07-22

ghallberg Wrote:As far as I know (alcohec or alwinus please correct me if necesary) the pvr-testing branch is developed on Ubuntu Linux, and is not tested or even supposed to work on anything else yet.

unified-pvr is discontinued I think, all relevant work was moved into pvr-testing a while ago.

not discontinued. on hold. updates are still happening (as of last week)


- ghallberg - 2009-07-22

Ok, maybe I'm thinking of something else, move right along, nothing to see here.


- pete-woods - 2009-07-28

Well I, for one, am extremely glad that someone has taken up the mantle to build this thing. It's by no means a trivial investment of effort! You should set up a PayPal donations thing like the Aeon guy. He's raked in over $1000 now I think!