Kodi Community Forum
MythTV PVR client Addon Developers Wanted - Developers Only! - 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: MythTV PVR client Addon Developers Wanted - Developers Only! (/showthread.php?tid=82015)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35


- PhracturedBlue - 2010-10-23

dteirney Wrote:If someone can confirm that the code in XBMC SVN works with a Myth 0.24 backend within the next day or so I will talk to the other XBMC devs and see if I can slip that code in before the next Dharma beta. I don't have time or a system where I can install Myth 0.24 at the moment.

I assume you mean someone other than me, right (i.e. you want independent verification)? Because I've been using it successfully since you checked it in.

Note that I am not set up to verify it in Dharma though.


- tafypz - 2010-10-23

dteirney Wrote:Re the Timer API. Some thinking will have to be done here, because the XBMC interface for scheduling new recordings will need consideration for any changes / improvements to support the different backends that it can talk with based on the plugin being used.

How does the XBMC frontend allow a user to schedule recordings? The frontend in Myth provides the ability to do all of the complex things that the backend supports. I was pondering whether the XBMC frontend allowed the really common things to be done with one interface, and then a separate interface was used for more complicated things that perhaps different backends supported.

For our usage, most of our scheduling rules use:
1) Record This Time Only "Once" - typically for Movies or specific shows that have something interesting in them. I suspect this might end up being used from Live TV as well?
2) Record Weekly On this Channel (we used to use "in this timeslot" but lost a few episodes due to scheduling changes)
3) Record Anytime On this Channel (for shows that are on every night)
4) Record Anytime on Any Channel (for shows that are interesting that often have re-runs, e.g. Mythbusters here in NZ)

What are the common scheduling rules for each of you? What would the XBMC frontend need to support to make it really easy for you? Once we know that it would be good to see how the current Timer API scheduling would fit in with that and then match up with what MythTV supports.

I'm not sure right now, but it might be that any of the really complicated rules that mythbackend can support still needs to be done through Mythweb or Mythfrontend and not XBMC.

My usage here is mainly
1 - record at anytime on this channel
2 - record at anytime on any channel
3 - record this showing only
4 - recording override

I personally would rather be able to avoid using mythweb and mythfrontend, this would increase the WAF. I think that even though the recording options have many more settings than the current timer options, providing these options by extending the API might be worthwhile.

To answer your question about the timer from what I can tell it would be timeslot recording only (hence me pushing for extending the API), this is how it looks like to me but I might be wrong.


- dteirney - 2010-10-23

PhracturedBlue Wrote:I assume you mean someone other than me, right (i.e. you want independent verification)? Because I've been using it successfully since you checked it in.

Note that I am not set up to verify it in Dharma though.

Yes. Sorry PhracturedBlue, should have mentioned that. Two independent people with it working is probably enough for me to support backporting the changes to Dharma as they should not affect anyone with an existing Myth 0.23 backend (which I can easily test from Dharma as that's what I'm using).


- dubstar_04 - 2010-10-23

Scheduling usage:

Any time on this channel
Single recording
Cancel recording / override

I too would like to be able to use just xbmc without the need for mythfrontend or mythweb as its mainly the mrs who does all the tv stuff. If it gets complicated using the laptop to schedule recordings she will get a sad face on Sad

Thanks,

Dubstar_04


- outleradam - 2010-10-23

I'm having problems locating a working copy of 0.24 for testing. All the PPAs I listed above are broke


PVR API extensions also needed for MediaPortal PVR addon - margro - 2010-10-23

@tafypz:
There is also a mismatch between the XBMC timer flags and MediaPortal as backend, so I agree with a change at this point. The API is currently too VDR specific.

Two other things that do not match well for MediaPortal as backend are the lifetime field and the start- and end time fields.

The lifetime of a recording is limited to the VDR compatible values 0..99 representing days to keep (1..98), forever (99) and when space needed (0)
MediaPortal uses a KeepMethod (like UntilWatched, UntilSpaceNeeded, UntilDate and Forever) in combination with a KeepDate field.

One other thing I saw was that when adding a new Timer in XBMC, the start- and end time fields include already the "Margin at start" and "Margin at end" corrections.
This results in a wrong recording name with MediaPortal as backend, because MediaPortal uses the EPG title at the given start time (which is before the actual start time due to the correction). Furthermore, MediaPortal has its own margin settings.

I think, the PVR addons should get the uncorrected start and end times and separate margin fields. In this way, the PVR addon authors can decide what to do with the margin values. I've changed this already in my local pvr-testing2 build.

margro


- tafypz - 2010-10-23

@margro: I forgot about the lifetime, this doesn't match mythtv either.
I agree about the start and end time, there should not be correction and the correction should be provided as extra parameters.


- dteirney - 2010-10-23

dubstar_04 Wrote:Scheduling usage:

Any time on this channel
Single recording
Cancel recording / override

I too would like to be able to use just xbmc without the need for mythfrontend or mythweb as its mainly the mrs who does all the tv stuff. If it gets complicated using the laptop to schedule recordings she will get a sad face on Sad

Thanks,

Dubstar_04

Just so it's clear, XBMC PVR addon's will be able to schedule recordings through the XBMC frontend. I was just suggesting that XBMC might not be able to schedule all the complicated things that each different backend can do natively.

XBMC will definitely need to support all the common things that wifes / partners etc. need to be able to do.

A few people have mentioned "Override" as one of the things that gets done often. What does this mean? Perhaps I'm lucky with enough tuners to hardly ever get any conflicts.


- dteirney - 2010-10-23

MVPMC is a frontend to mythbackend that has been using libcmyth for a while. It includes the ability to schedule recordings.

Might be a source of inspiration for the recording scheduling.

http://git.mvpmc.org/cgi-bin/gitweb.cgi?p=mvpmc.git;a=summary

Have a look in the src/mythtv.c file.

Noticed that it might have something interesting when trawling for other patches to libcmyth to fix other bugs.

ftp://patriciawindt.dyndns.org/mvpmc/2010-03-30%20Timothy%20Legge%20-%20Patch%20for%20schedule%20recording%20protocol.diff


- tafypz - 2010-10-23

dteirney Wrote:Just so it's clear, XBMC PVR addon's will be able to schedule recordings through the XBMC frontend. I was just suggesting that XBMC might not be able to schedule all the complicated things that each different backend can do natively.

XBMC will definitely need to support all the common things that wifes / partners etc. need to be able to do.

A few people have mentioned "Override" as one of the things that gets done often. What does this mean? Perhaps I'm lucky with enough tuners to hardly ever get any conflicts.

Let's say you have a recurrent schedule like record at anytime on a specific channel. Now let's say the schedule info was wrong and the show recorded is not the show that it was supposed to be. If the show has a repeat, the scheduler will not record the repeat. You can see the "disabled" upcoming recording and override their status from do not record to record.


- outleradam - 2010-10-24

Mythtv uses a recording priority from -100 to +100. Rather then "Vista" the user with every recording change, the backend schedules based upon a recording priority number. It sounds like the two systems are incompatible. Rather then just overriding a single show, it sets a value. After 100 overrides, mythtv would be out of numbers.

There is a way to specify record this showing though.


- tafypz - 2010-10-24

I am starting a rewrite of the timer interface, I will make it more metadata driven so that a pvr client can specify the fields to render on the screen and set the data accordingly.
Also anybody understand the MenuHook method usage? I have been a little lazy and didn't look at it yet...


- dteirney - 2010-10-24

tafypz Wrote:I am starting a rewrite of the timer interface, I will make it more metadata driven so that a pvr client can specify the fields to render on the screen and set the data accordingly.
Also anybody understand the MenuHook method usage? I have been a little lazy and didn't look at it yet...

If the API needs to be tweaked I'd vote for a change of name as well. I didn't get what a "Timer" was when I looked at the API.

What are these "things" called in the other native PVR backends? "RecordingSchedule", "Schedule", something else?


- outleradam - 2010-10-24

never mind... invalid test. the binaries were not replaced in the svn update, they were sent to usr/local/bin and xbmc was loading from usr/bin... wrong version.


- wagnerrp - 2010-10-24

outleradam Wrote:Mythtv uses a recording priority from -100 to +100. Rather then "Vista" the user with every recording change, the backend schedules based upon a recording priority number. It sounds like the two systems are incompatible. Rather then just overriding a single show, it sets a value. After 100 overrides, mythtv would be out of numbers.

Overrides are performed by creating a new recording rule in the 'record' table with the 'parentid' field populated. The type is then either kOverrideRecord (to force a recording) or kDontRecord (to block one). Priority does not factor in anywhere.