Feature Wishlist (Frontend Addons)

From MythTV Official Wiki
Revision as of 23:07, 1 March 2007 by KAFE (talk | contribs) (General)

Jump to: navigation, search

This articles represents a subsection of the Feature Wishlist.

Frontend Addons


  • Multiple language support for Guide Data. In most locales, programming in multiple languages is received (English + Spanish in the USA, English + French in Canada, many other languages in Europe). Thus, it would be really handy if the 'programs' table had a language key, indicating the language of the title/subtitle/description, and potentially another indicating the language (or languages) of the audio. This could then allow searches based on language, and smarter handling of programs in different languages. Is this information readily available or easily inferred from most guide sources? I know DVB guides include it in the stream. How about DataDirect? Other sources? I'm more than willing to work on this, but would like a reality check and some comments from people more experienced with Myth than I am. Chhamilton 9:14 AST, 16 January 2006.
  • Configurable prefix handling in Program Finder. Related to the above, I would like smarter prefix handling in the Program Finder. Ideally, this would be all behind the scenes, and prefixes like "The ", "A ", "Le ", "La ", "Les ", etc, would automatically get handled based on the language of the entry. However, as a quick workaround (for Latin alphabet based languages at least), the set of prefixes should at least be configurable (I watch a lot of French programming, and stripping off French prefixes would be really nice). I've got a patch done that allows this, with the set of prefixes currently hard-coded. It shouldn't be too difficult to make the configuration database driven. Chhamilton 9:18 AST, 16 January 2006.
  • In the playbox, sort recorded files by title and subtitle. Because some seasons indicate there episode like this format title-subtitle. An Example:"SG-Atlantis-03x01 No nan's land" --Matop 02:01, 27 December 2006 (UTC)
I write a new playbackbox.cpp based on gentoo-portage-mythtv-0.20-p11626 this patch is very dirty, because it comment-out a if-clause , indicate with FIXME. [1] --Matop 01:34, 3 January 2007 (UTC)
  • A way to launch the frontend and have it go straight to a plug-in. This way when themeing a certain section, you would be able to avoid repetitive menu jumping! -- Unlikely to be implemented (How many people are writing themes?) --GBee 21:09, 28 January 2007 (UTC)
  • Be able to configure the frontend to "know" about multiple backend servers, and switch between which one you want to connect to. Would be *extremely* useful for us laptop owners who have friends that also have MythTV servers!
  • Move configuration settings for each frontend out of the backend server database and into a config file on the frontend side. IMO, only backend settings should be stored in the backend database. -- Won't be implemented (But you can get what I assume you want (multiple configurations per frontend). Create a copy of your ~/.mythtv directory, and change the "LocalHostName" in the mysql.txt configuration file in the new directory. Now just run "cd ~/new_directory" before running mythfrontend.) -- dtk
  • make screenshot
  • Key to switch between windowed and full screen mode
  • MythTheme plugin for downloading Themes and install it from an directory of all themes
  • On screen help. Press F1 and it tells you what keys do what at that point in time. Also tells you more about each function.
How does this work with Remotes?
Try pressing "1" on your remote
I'm planning on tackling this as my first bit of mythdev :) --DavidGreaves
  • Add default ifconfig output to the System Status area of the Information Center -- Unlikely to be implemented (Why?) -- dtk
  • Add ability to change the OSD theme from mythfrontend (using the same appearance setup area as current theme picker) -- Already possible (It's just under TV Playback settings not the appearance settings) --GBee 21:09, 28 January 2007 (UTC)
  • Change LiveTV so that when you select record while watching a program the contents of the LiveTV buffer back to the start of the program is added to the start of the recording, thus giving you a potentially complete program
Already default behavior in MythTV
  • When changing channels in live tv on a multiple recorder system, if a free recorder is available continue to record previous channel for a customisable period thus allowing revert to the previous channel while keeping the live tv buffer.
  • A more robust system of handling errors in menu XML files (IE, damaged item doesn't appear, or an error screen pops up, instead of simply crashing).
  • internal player could show information about the stream in the Info OSD - picture dimensions and bitrate and also sound frequency and bitrate. Something like "544x576 2.6 Mbps, 48 kHz 192 kbps". Would be helpful since some DVB-S/T are really trying to save the bandwidth and one wonders why the picture is so noisy/blocking and sound so poor. -- Unlikely to be implemented (Few people would get any use out of this and it would clutter things) --GBee 21:09, 28 January 2007 (UTC)
  • Framework for front-end components/add-ons to print menu display and status information to a LCD/VFD panel. This would be especially helpful for components such as MythMusic, because users may want to control audio playback without turning on or even owning a TV/display. As such, a MythTV unit could take the role of a Sqeezebox and similar products. -- Already exists in mythtv
  • Multiple Network Control Servers or Perl bindings - The idea is this, if I receive an e-mail while watching tv, I would like to see the from line and subject line scroll across the bottom of the screen (which I can do using mythtvosd). However, if I'm not actively in a playback mode, the OSD is not shown. As a result I used the network control server to query the location (to get the current mode). This disconnects any other network control clients I have and is not an ideal solution. As such proper perl bindings to the front end, or multiple network control consoles would facilitate a much better solution.
  • How about just having the mythtvosd shown everywhere in Myth, even menus, etc? I use it for showing me caller ID info, and it would be handy to see even if I'm on a menu, or using MythVideo, etc.
  • When searching for upcoming recordings, there is currently the ability to search by a single category at a time. It would be nice to have the option to save your favorite categories, and then be able to search all your favorite categories at once.
  • Ability to add viewers to mythtv along with a popup at the end of the recording to mark a recordings as viewed by any number of users. This way recordings can be deleted once all viewers have watched it. Possibly an addition to recording schedules to mark users who want to view that show. This will help multiuser households to manage old recordings and recording storage, especially on systems with many tuners. -- Partially implemented (This is partially implemented in SVN but won't be per-user until the framework for multiple users is introduced somewhere in the future) --GBee 21:09, 28 January 2007 (UTC)
  • Ability to record both primary and SAP (Second Audio Programming) [in analogue recordings]* and choose which stream to listen to OR have this option be configurable when scheduling a recording. (* Already possible with digital)
  • Provide a wizard for setting filter parameters in the trascoder profile setup.
  • Allow new transcoder profiles to be created.
  • Control MythTV with BlueTooth on your Mobile/PDA, and even see the menu, options, what song/film is playing... It'll need a J2ME application on mobile.
  • Add the 'cardid' field to the recorded table, so it can be determined which card(tuner) was used to make a recording. This is useful information for maintaining _quality-control_ of back ends with multiple cards having different tuners with different sensitivities, that affect recording quality. This information only needs to be in the DB not in a UI.
  • Auto play following content - If the user is watching a recording of a particular channel, and MythTV has also recorded the show that followed on that same channel, don't stop at the end of the first show. Play the second (and subsequent) ones straight after, automatically so the user doesn't have to go back to menu and select it manually. This is good for back-to-back episodes. Also for when a station has slipped it's schedule but you happened to record two shows in adjacent time slots anyhow (you won't get the end chopped of the first, because it's inside the following timeslot you happened to record).
  • Setup menu cleanup. The configuration options available for Myth can be a bit overwhelming, making it difficult to understand or find desired options. Some things I think would improve this are: (1)Mirror all config options in MythWeb, complex menus can be more easily navigated in a web interface. Help information and searches would also help. (2) Add an "advanced" option, and classify each item as standard or advanced, allowing you to hide a large percentage of infrequently used options. (3) Re-organize menu items to logical groups. It seems like the menus grew organically, and it's hard to find some items.
  • Support for small LCD/VFD Displays (like the 1 line / 9 character VFD on the Aopen EA65). I (KAFE) have a Patch for lcdprocclient for small displays for Mythtv-0.19 and would like to contribute this. The display then shows the highlighted menu item while navigating or the channel name in TV mode or the artist/track info in mythmusic. How could we handle a patch against a non-current version?

Decoding Hardware

  • support for the Amino AmiNET124 IPTV set-top box. If you throw an MPEG transport stream on a multicast address/UDP port, the AmiNET124 renders it to a TV (supports at least MPEG2, H.264 and AAC, probably MPEG audio layer 2 and AC3 as well). The AmiNET124 also claims to have a JVM inside, so theoretically it could run a limited mythfrontend to display menus and handle pause/skip/rewind.


This is a task better handled by VLC... -- dtk
  • Implement a way to stream shows over the internet or other low-bandwidth connections - similar to the Slingbox. This would allow the ability to watch on a Linux laptop if you're at work. Or, even the possiblity of a truly remote mythfrontend - like one hooked up at a friend's apartment, which uses the storage and tuner of a backend elsewhere.
This is a task better handled by VLC... -- dtk
  • Support the Sigma Designs HD decoder. It can do MPEG2 and MPEG4 decoding, making the CPU requirements on the frontend extremely low. There is a project to reverse engineer Linux drivers for the MyHD line of cards, based on the Teralogic Janus design, which includes an HD MPEG2 decoder. Theoretically, it would behave just like a PVR-350, but with full HD support.
Until there is a driver for MythTV to use, this isn't really a MythTV feature request.. -- dtk
  • support for the DXR3/Hollywood+ MPEG-Decoder. There exists already a plugin for xine. MPEG-decoding ist already supportet with PVR-350, so this schould be no big deal.

Menu Mode

  • A LAN based Video Intercom System (MythVideoCom?) - This would allow users to call up any Mythfrontend box from any other Mythfrontend box on the same LAN and have a video chat using webcam and microphone. Why is this a good idea? Well if I am in my office working and my wife is in the kitchen and needs to ask me something, she can just use mythfrontend to do it. Embedding the whole thing within Myth would simply add continuity as opposed to just having a menu button which opens a 3rd party application. This would make a very useful plugin. I would propose it has its own menu screen with a list of nodes (each one being a mythfrontend box) and a setup screen to add the nodes based on IP.
  • A clock in the menu system (Maybe available with 0.20 when the new UI is used which allow animations...)
  • X10 Home Automation, or you could read this as a request to add a basic menu editing GUI, to add program start buttons for example
  • Draw a line to seperate days in recording menus
  • Some new hotkeys in recording menus
  • add "smooth scroll" option to OSD Program Guide for horizontal and vertical scroll
  • Include the free DejaVu fonts in MythTV (same as previously suggested Vera fonts but with a wider range of characters)
  • Display channel number/name under preview window when in menu mode. Currently, the live channel being displayed and the highlighted square in the menu have no relation to each other, so you have to pretty much guess what channel you're seeing. (This is more important with the option to go to menu mode when entering LiveTV set.)
  • breadcrumbs on menu display so end users don't get lost in menu system eg Main Menu->Manage recordings...
  • Add BACK and MAIN MENU buttons for touchscreen access.
  • a summary of HDD free (approx hh:mm or size/GB or %free) on main menu or top of every menu.
  • Sounds in the menus when you move around or select somthing. (pings and pongs)
  • Adjust Volume in the menus
  • Make more menu items viewable on the screen at one time instead of having to scroll up or down to see all the options.
The menu items can be changed by editing the theme.xml *-ui.xml files.
  • View count, especially useful if stored per user, to see if everyone has already seen the recording - would be nice to have an addition to options menu for "mark as seen by:" with submenu for defined viewers. This would really help in determining when shows can be deleted. Also see this suggestion for some further refinements. If programs are flagged with who wants to see them, if you tell myth who is in the room, myth can present a list of programs those people want to see, ordered by the number of people present who want to see it.
  • a 'digest' button that will bring up a scene index, possibly automated by grabbing a frame every X minutes, or by a framedump tool similar to the commercial cutter.
  • Show what recording profile were used to record a show, record profiles can change over time, so maybe this should fall back to displaying just the settings used.
This exists to some extent you can see what profile was used but not what the settings are. Select "edit recording schedule" from the menu in the view recordings screen
  • A simple DVD slowdown menu thingie (hdparm -E x /dev/dvd coupled to some remote button or something). When playing ordinary dvd's all is well but when i input a data-DVD mounted by subfs xine (or mplayer) does not know that it is possible to slowdown the dvd. This also goes for playing audio. Using "hdparm -E x /dev/dvd" fixes the problem but just running this on bootup is insufficient because then we're locked to this speed. This speed should be adaptable, i.e. when i know i don't need maximum speed i should only have to push my remote and choose the speed i want.
This could easily be done as a script executed via irexec. -- dtk
  • An on-screen icon/flag showing whether an episode of a series recording is set to be preserved. Such a flag exists for the auto-expire setting, but not for the preserve setting (used to make an episode not count against the recording limit).
  • add the ability to attach a short note to a recording that is displayed near/under/above the recording's description.
  • In the info center, it would be nice to be able to reorder the job queue with pgup/pgdown or +/-
  • A unified Watch Recordings/Videos screen, and perhaps even for DVDs too. One of the cited advantages of a *nix filesystem is that devices are mounted at certain points in the tree, but it's all just one tree so the user does not have to see or worry about the devices. e.g. My home directory might be on a local hard drive, it might be on a network drive, but it will be transparent to me in everyday use. Similarly, I think a single "Watch Stuff" screen would be a sensible abstraction. I have Scrubs Season 1 on DVD, and I have every episode of Season 2 recorded from TV. Let's say that I also have Season 3 ripped to my videos directory. All I care about from day to day is that I want to watch an episode of Scrubs. Why should I, as a user, have to worry about which format it's in, and navigate the menus accordingly? Ideally I should be able to navigate the menus thusly: "Watch Stuff --> Scrubs --> Season X --> Ep. Y - My ZZZ". N.B. I said 'perhaps' to DVDs because clearly you have that issue of physically inserting the disc -- you have to remember its format. Neex
  • Add a setting to change the duration of the crossfading between screens when using OpenGl
  • Add a method of controlling the menus with speech, using CMU's Speech package
  • In the watch recordings section it shows a preview of the recording, but that includes the black borders on the sides that are part if the recording. Usually these are cut off on the TV by overscan, but obviously that is not the case on the thumbnail. So my idea is to have an option crop the video a bit on the thumbnail. I'd work on it myself and submit a patch, but I only know Python and PHP... :\. Cheers. --Lorian 21:52, 12 January 2007 (UTC)

LiveTV / View Recording

  • Add another recording option to show a reminder via mythtvosd. This could be another selection in the list with 'Record only one showing', et al. as 'Remind Only'. For those who use mythtv primarily in LiveTV mode, this would be useful.
  • Have it so while viewing live tv or recordings that a user can go into other menus without stopping the recording or live tv, somewhat like Xbox Media Center does.
  • provide opengl output to make it work with xgl (it is possible with NO_XV=1 but it is slow)
If you use the latest nVidia drivers XVideo has been fixed to work with the composite extension in Xorg 7.1. -- dtk
  • Videotext/Teletext with analog TV-Cards
  • Make OSD Scrollable, so that longer Descriptions are also visible (Maybe autoscroll or with a key)
  • options to adjust video hue, contrast, color, brightness via OSD example screen from ChrisTV
  • Automatically turn on CC / subtitles when LiveTV is muted, sometimes called QuickCaps apparently.
  • LiveTV should also have a 'recording' priority, so you can queue shows that won't record when you are watching something else on LiveTV
  • implement opengl photo transition effects as effects to be selected for channel change in LiveTV
  • alarm clock feature - start playing liveTV from a given channel for a set period of time on given days of the week (i.e. weekdays, weekends)
  • LiveTV multichannel preview mode - show a snapshot of each channel on a 3x3 or 4x4 matrix. Allow arrow keys and ff/rw to scroll through channels and enter to select channel
  • For users of HDTV's, would it be possible to tile multiple standard definition tv recordings together into one tiled display? To create a poorman's videowall, where, if you had an HDTV and multiple standard def tuner cards, you could watch two or three TV shows at once. I guess this would be a feature enhancement to the picture in picture support that MythTV already has. However I've not yet seen this capability to comment on how close it can be made to a true multi signal "videowall".
  • change behavior going to LiveTV or attempting to change channels when all tuners are in use to provide a menu allowing the user to cancel a currently-running recording job and delete the recording.
  • Provide a setting for maximum time on LiveTV or "Watch Recordings" screen with active mini preview video without any user event (i.e. no remote signal, no keypress, no channel change). When time reached, kick MythTV back out to main screen. This will prevent unnecessary ringbuffer disk I/O after set time. A reasonable default time for this may be 6 hours.
This is in SVN for release in 0.20, the default is 8 hours.
  • Automatic fine tuning, using signal strength it will scan a few kHz in each direction until it locks on the strongest signal then updates the database for that channel.
  • Fine tuning with preview or while watching LiveTV, many channels are out of tune on my system and a small adjustment or two make a huge difference.
  • Implement an automatic volume leveling algorithm that is common in many TVs, such as Magnavox's "Smart Sound." This attempts to eliminate drastic volume spikes that commonly occur in commercials.
  • Ability to take a snapshot of the current frame, maybe to press R whilst paused to take a snapshot of the current frame.
  • Enable browsing channels across tuners.
has this been done in 0.19?
No, This requires additional code, currently you can change to a channel on another tuner by entering the channel number, but you can not browse across tuners (except in the EPG). Code is required to check if the other recorders are in use so we only display the channels on recorders that are currently available. -- dtk
  • Display the recording and/or original air date in the OSD when viewing a recording.
  • Make editing out of commercials easier. In addition to buttons for forward, backward, shorter jump, longer jump, etc., have a button for "this frame is part of the program" and one for "this frame is a commercial." The editor would automatically do a kind of binary search, using the key presses to decide whether to move foreward or backward, and where to place the cut points. The basic algorithm: the editor shows the first frame of the recording. If the user says it's commercial, place a start cut point and keep moving forward by the (configurable) minimum commercial break length until the user says it's not a commercial. At that point, move backward by half the minimum commercial break length. If that frame is also a commercial, move forward by a quarter of the break length; otherwise move that distance backward, and so on. When the distance to move gets to a single frame, mark the end point of the cut and move forward by the (configurable) minimum time between commercials plus the minimum commercial break length. As long as the user indicates it is a program frame, keep moving forward by the minimum break length, until a commercial frame is found, and then use a similar binary search to find the start of the commercial. Repeat util finished. Comm flagging could be used as a hint for where to start looking for the cut points.
You can load the commercial map into the editor using the 'Z' key. -- dtk
  • Jump to quote from closed captioning, so you can for example have a search for 'weather' and jump to the weather forecast in today's news broadcast.
  • Display usage statistics : total hours recorded / total hours viewed by months and weeks. Optionally display warnings when daily/weekly usage becomes higher than a defined amount.
  • Allow filtering of profanity - An audio filter that would blank out profanity when it is detected. For the detection, use a combination of closed captioning, audio levels (to detect what word the audio stream is on), and/or voice recognition (hardest, CPU intensive). Many of the configuration settings would be similar to commercial detection, except just the audio stream. Make movies kid and in-law safe. Even a more basic filtering system would work, where the system reads in the CC segment, searches it for any profanity and mutes the audio until the next segment of CC arrives
  • Allow access to the Program Guide from within recordings. This would be helpful in scheduling recordings of new programs that I often see commercials for when watching a recording, but quickly forget about. This would eliminate having to exit the recording and going to drilling through the menus to the program guide, and then back again. This used to be possible with the Old Live TV.
This is already available in LiveTV. You can enable similar when watching recordings, by defining a Jump Point for the EPG. Pressing the mapped key will then save a bookmark in your recording and goto the EPG. To get back, you'd have to navigate appropriately to the Recordings screen and then continue watching your recording.
  • Have a minimum time limit to save a LiveTV recording (in minutes ?). Thus "channel surfing" would not produce hundreds of LiveTV recordings.
Impossible, you must save the recording in order to be able to show it. If the recording is less than a couple minutes it is automatically deleted to avoid producing too many LiveTV recordings. Changing the recording group will hide all these recordings as well. -- dtk
  • When selecting a channel from the program guide which is already being recorded, jump into the recorded stream at the most recent point rather than tying up another tuner recording the same stream. This would also enable eg rewinding to before the start of the LiveTV selection.
  • Matroska chapter support (jump to next, prev chapter) with 'Internal' player
  • MythVideo + Internal player remembers playback position
  • Ability to customize OSD menu through OSD themes. So that e.g. unnecessary OSD menu items can be easily removed or hidden.
  • use of ffmpeg's new swscaler to scale DVD's/SD recordings/random MythVideo files to HDTV resolutions (720p/1080p).
  • For HDTV, instead of modifying the video playback overscan (ruining 1:1 mapping of the source), allow for defining the width/height/offset for the OSD's so they can properly fit on the screen.
  • When changing the teletext page, visually allow to know the numbers are changing. Now you can not tell, as the numbers doesn't change until you press the three.
  • Event notifications to be passed to a script when watching LiveTV and input from a script to allow for dynamic menues for simple expansion and customizations. Some examples: When watching a DVB source and you do not get a lock send the event to a script that then can either do a chan-rescan or do disable of that channel, or when watching analog or digital and a new program starts send a start-notification to a script and the script can then do whatever like send a SMS if it's a reminder, flash some cool lights or raise the volume or whatever. For the menues you could customize a menu where you could do all sorts of stuff for the specific viewing like change resolution or have some app that analyses the video/vbi data to check if it's a 4:3/16:9 transmission and then set the card to the correct mode or other such stuff. Ie, it would add to the customization for the "hackers" that are not too familiar with mythtv while still keeping things simple.Easiest way to do this would simply be to add a action_event() function that could be called from wherever in the code with whatever args you want and then the function would call the script via either an exec and wait for the script to complete or do a pthread_create and dispatch this event as a thread.
  • Aspect override for a program. For example I may want 4:3 zoom for all Battle Star recordings, and 4:3 for CSI.
  • Sound Leveling Option - When active would maintain volume at the same level during commercials and program breaks. It would keep you from having to keep changing the volume control when viewing live TV.
  • Subtitle Offset. If you are watching a 4:3 movie with black borders and using zoom in order for the image to fit/not get distorted on a widescreen tv sometimes the subtitles end up offscreen. For instance when the subtitles are transmitted to overlay the black borders which are not visible due to the zooming. It would be nice to be able to move the subtitles so that they actually show on screen. Hope you understand what i mean...
  • Allow 'Sleep Mode' to exit not only live TV/Recording playback but also mythtv completely, this allows mythwelcome to shutdown the system when the sleep time is hit.
  • Provide for 'One Touch or Single Click' Recording. Maybe a predefinetd hot spot on the screen or a keystroke combo maybe for instantaneous recording of anything currently playing on hte screen. It's a nice feature with the Hauppauge Software.

UPnP (Universal Plug and Play) server and client features

All UPnP AV (UPnP = Universal Plug and Play Protocol, and AV = Audio/Video) connectivity and communication protocols to make MythTV be fully UPnP compliant on both the back-end (server) side and the front-end (client) side. So that both MythTV's back-end and front-end is intercooperative with other UPnP servers and clients, (then especially other HTPC applications, both open sourced ones and closed source commersial ones, thus the end-user can choose the best 'back-end' and the best 'front-end' which suits their needs, like a MediaPortal back-end, or a XBMC front-end togther with MythTV). For more information see MythTV developers notes on UPnP.

Note! UPnP could be implemented one or more native feature(s) or one or more plugin(s):
  • UPnP AV MediaServer - which is the UPnP-server (a 'slave' device) that share/stream media-data (like audio/video/picture/files) to UPnP-clients on the network). Now a UPnP AV MediaServer has already been implemented into MythTV back-end but the code classes could be updated according to the v2.0 specifications to be UPnP v2 compliant.
  • UPnP SSDP Discovery Service in both MythTV back-end and front-end to make the MythTV and MythTV auto-discover each other. If not into to both then at least into the MythTV front-end to let it (and other UPnP-clients) auto-detect the MythTV back-end over a local-network.
  • UPnP Remote User Interface (RUI) server/client (in MythTV back-end and front-end respectivly) - which recieves/sends control-commands beween the UPnP-server and UPnP-client over network, (like record, schedule, play, pause, stop, etc.). With UPnP RUI in both MythTV back-end and front-end, the front-end can control/command the back-end via UPnP, and since UPnP is a standard other 'front-ends' which also feature UPnP RUI can also control/command the MythTV back-end, and the MythTV front-end can control/command other 'back-ends' if they feature UPnP RUI.
  • UPnP MediaServer ControlPoint - which is the UPnP-client (a 'master' device) that can auto-detect UPnP-servers on the network to browse and stream media/data-files from them. Should be implemented into
  • UPnP MediaRenderer DCP - which is a 'slave' device that can render content.
  • UPnP RenderingControl DCP - control MediaRenderer settings; volume, brightness, RGB, sharpness...).