Copyright 2011 Clive Skinner
MythMagic implements a TiVo style recommendation engine for MythTV. MythMagic selects and automatically records shows from the EPG based on previous viewing habits. Recordings can be accepted or rejected to improve recommendation accuracy.
Please note that MythMagic is in the early stages of development and has only had limited testing. It inserts and deletes items to and from your MythTV database automatically. There is potentially scope for things to go wrong here. If you are uncomfortable with this you should not install and use MythMagic.
If you have any issues with MythMagic then please report them at: http://mythmagic.sourceforge.net
2.1) Working installation of MythTV 0.24 (earlier versions not supported)
2.2) 'libmyth-python' and 'python-lxml' packages installed
2.3) Two free user job slots in MythTV
3.1) Un-tar the files onto the MythTV backend (tar -zxvf ./mythmagic-x.y.z.tar.gz)
3.2) Run the 'mythmagic-install.sh' script with root privileges. You will be required to supply your 'mythconverg' database password during the install process.
The MythMagic 'mythmagic-recommend.py' script will be executed by a daily cron job. It looks ahead in the program guide for programs to recommend that match previously recorded shows. It uses the title, subtitle, description and genre to make intelligent links between different shows using 'fuzzy logic' matches.
When MythMagic identifies possible recommendations it sets a recording rule in MythTV to record a single instance of the show. The recommendations are given a very low priority and auto expiration to ensure that they do not interfere with any manually set rules. All recommended recordings are placed in a 'Recommended' recording group so they can be reviewed separately from other recordings.
Once recorded the user can decide to do any of the following with each of the recommended shows:
4.1) Accept the recommendation: Begin the 'Accept Recommendation' user job for this recording. Within a minute or so (or longer if the program is still recording) the recording will be removed from the 'Recommended' recording group and added to the 'Default' recording group. A permanent recording rule is then set-up to record all future instances of this program on any channel at normal priorities. This title will now be used to recommend further shows to you.
4.2) Reject the recommendation: Begin the 'Reject Recommendation' user job for this recording. Within a minute or so (or longer if the program is still recording) the recording will be deleted and the title will be added to the MythMagic rejected list so that it will not be recommended to you again.
4.3) Ignore the recommendation: Delete the recording. No permanent recording rule will be set-up but MythMagic is free to recommend this show to you again at some point in the future.
4.4) Modify the recommendation: Accept the recommendation and then edit the newly created recording rule to suite your own preferences.
5) Still to do
MythMagic is still a relatively new development and much remains to be done. Some ideas for the future are:
5.1) Improve code layout and comments
5.2) Un-install script
5.3) Further optimisation of search and compare algorithms.
5.4) Abstraction of hard-coded settings into separate configuration file for easier 'tweaking'
5.5) Convert to full-blown MythTV plugin allowing more user interaction (e.g. easier modification of fuzzy logic parameters, displaying details of matching process etc.).