This is for where you have an external STB capable of receiving channels not available to the internal tuner(s). I already have a working solution so I am looking to see if the developers may be interested in this ability. It could be adapted to any similar setup whereby you have the relevant scripts or programs to perform the actual tasks. The issue being manufactures & service providers may not provide any official API and or may alter / remove currently available functionality. Conceptually I would see MythTV as the master and the STB as the slave (excepting the level of control / feedback may be limited). The import recorder in Myth currently seems broken and recordings need to be serialised (dual tuner, single playback) which is not a good fit for the way things currently work.
I have some patches which get the import recorder working and if nothing else comes of this it would be good if this could be fixed as the Wiki and setup program all indicate that it should be a usable feature.
Potential new feature group
I know the idea is to do one post per feature but I do not want to spam the forum and without knowing what types of feature might be considered it could end up being a waste of time etc. I will therefore just put a summary of the sorts of features that would improve the ability to do this.
- Import on demand i.e. push recordings. At the moment Myth wants to control the recording process however if you have an external STB that does its own recordings this is futile. What would work best in this scenario is to mark a tuner as recording when there is an upload slot available (could be managed externally) and then import the recording. This is partly about the right level of feedback in the backend and frontend as well as the ability to play recordings while they are importing (i.e. the same way you can play an in progress recording now). If would also be nice if we had some ability to tell Myth that an external program didn't record properly so it can schedule the next one. Ideally this should be checked / updated just before the end of the show so we get an opportunity to schedule the next showing which could be on a plus one channel.
- XMLTV additional field support. To make the scheduler sync work we need to know the external identifier(s) of a program so the STB can schedule it. Multiple ways to do this but level of complexity etc. varies considerably. Personally I just put the data in an additional table and do a lookup when I need to get the identifiers. It would be more straightforward if each program (that could be scheduled on the STB) contained the appropriate external identifiers. Currently the grabber updates another table which is sort of messy when mythfilldatabase could bring everything in to the database in one go.
- Scheduler sync. At the moment I just use an event script which does an add / remove sync. This involves storing a list and comparing it which is a bit messy. A better way might be to have specific events when adding or removing a scheduled item. Ideally it would be nice if there was feedback on failures and they were retried as appropriate. There is also an additional identifier to store i.e. that of the scheduled item so it can be played back or deleted.
- Scheduler failure. From the above it would be nice to mark a scheduled item as failed to sync. I did a brief experiment with the python bindings and manipulating the oldrecorded table but this was not looking very hopeful. This could be as simple as being able to mark an item as conflicted so we can see there is a problem in upcoming recordings. The issue is right now that it would just fix itself if I try to manipulate the table and trying to make the schedule inactive with the python bindings didn't seem to work right now. This has the potential to get a bity messy if I mark an item as inactive and it tries to schedule the next available match etc. Either way feedback is golden as knowing there is a problem to fix is half the battle.
- On air scheduler / tuner sync. Right now if I want to pick up an on air guide I schedule a recording on the correct (EPG) channel and run mythfilldatabase at the same time. This seems to work ok but if there was a concept covering this it may be a bit more flexible maybe allowing an adhoc run of mythfilldatabase whenever at least one tuner is available. Not an important feature I guess but I thought maybe the EIT infrastructure could be updated to understand there is a single channel that carries the EPG and that mythfilldatabase can then be run.