Feature Wishlist

From MythTV Official Wiki
Revision as of 03:45, 5 February 2006 by 59.167.60.158 (General)

Jump to: navigation, search
Before making any feature requests to the MythTV developers one first needs to understand the most basic truth about MythTV: "MythTV is a project by developers, for developers." If you look at things in that light, comments that get made by developers to users who submit feature requests ("Sounds good; I look forward to your patch") make a whole lot more sense.

The developers of MythTV work for free (obviously), in their spare time. Most/all of them write software for a living, where they work all day long on things that other people want us to work on. When they work on Myth they focus on what's important to them. A feature gets implemented because a developer wants it bad enough to spend his spare time writing it and testing it, and believes in it strongly enough to defend it from the other developers (which helps to avoid the feature creep common in some projects). Bugs, especially crash bugs, get worked on by all of the devs as they encounter them as those impact everyone.

That's not to say that the users don't matter, or that the developers never implement something that comes from a user. It's just that unless a developer says either "why didn't I think of that" or "I could knock that out in a couple hours" it will be a much lower priority.

Requests from people who have contributed back to the project in some way carry a LOT more weight. Developers by and large tend to be rather blunt. People often mistake being terse and to the point for being insulting. Then they start a flame war on the mailing list (which is pretty much certain death for a feature request) all because a developer either a) didn't take 3 paragraphs to tell them "I'm not going to work on this" or they think that the developer should drop whatever they're doing because *they* want it done. A lot of the devs are a bit defensive when it comes to requests, largely due to previous bad experiences.

And, finally, remember this: if there's something you want badly enough, you can always offer to pay someone to do it.

How to make a suggestion

If you've got an idea for a feature that you'd like to see implemented here's some guidelines for submitting it:

  • Clearly indicate that it's a request, not a demand.
  • Indicate your understanding that code speaks louder than words. (i.e. "If I could I'd write up a patch that does this but I'm not a dev")
  • Be very clear with how you envision your idea working. The more details you have in your request the better chance you have hitting that magical "knock it out in a couple of hours" mark.
  • Make sure you're not repeating a previous request. (search the mailing list archives)
  • Make sure what you want isn't already a feature. (it happens)
  • Do NOT be offended if a developer responds with "sounds good; I look forward to your patch".
  • Requests from people who have contributed back to the project in some way carry a LOT more weight.

In Development

Backend Addons

General

  • Ability to save the stream from a single capture card to more than one file, and awareness of this capability by the scheduler. This would allow scheduling two "overlapping" recordings (because one or both had a preroll or postroll, and they aired consecutively on the same channel) to each have their prerolls and postrolls preserved, without requiring using a second tuner just because there was an overlap of a few minutes. This potentially doubles traffic to the disk during that interval, but disk bandwidth is relatively cheap, and adding extra tuners to deal with this problem is not (and maybe even be impossible for machines with few PCI slots). [Consider especially the case of an episode marathon, all of which will eventually get saved to DVD. Without prerolling/postrolling, any scheduling offset is guaranteed to chop off the beginning/end of each episode if there's the slightest clock skew, the missing pieces may wind up on different DVDs, and there may still be missing pieces due to the dropped seconds while the tuner reininitalizes itself at the beginning of each capture. Avoiding this with pre/postrolls currently doubles the number of tuners required, but writing the overlap intervals simultaneously would not.] This would be of significant benefit in Australia, where pretty much everything starts/ends many minutes early/late (5-10 minutes is quite common).
  • Add a capability to the encoder back-end to allow overlapping scheduled recordings to be recorded using the same encoder as long as they are on the same channel - would still produce 2 or more separate recordings, but would not produce a conflict if the recordings were on the same channel. Should be possible - the same video would appear in 2 or more different recordings.
  • Add Support to view multiple Channels from one Transponder with DVB. So that you can use more recordings, PIP as if you have two cards if you only have one. Handle multiple DVB channels simultaneously from a single multiplex
  • Add Support to use Internet TV from the backend, so that it could be use like a normal Channel (Record, Skip Back, ...) --Anaerin Also known as IPTV
  • A better Plugin interface, so that Plugins are not only Extra Applications, they should also be able to interact directly with backend functions...
  • Use Matroska (*.mkv) in mtd. Matroska is an envelope for which there can be many audio, video and subtitles streams, allowing the user to store a complete movie or CD in a single file.
  • Provide some way for users with multiple available tv cards to switch channels, while keeping the ringbuffer for the previous channel until system runs out of tv cards. This would allow flipping between two shows and keeping the ringbuffer for both
  • Provide a transcode to divx or xvid while recording option. Save a ringbuffer that is transcoded to divx and store in database as a TV Recording after processing to divx
  • After an initial transcode from mpeg2 to mpeg4, I would like to be able to do a mega-sqeeze using nuvexport for archival purposes but still keep the file in mythtv records -- not in videos. Can .nuv be used as a container for xvid? I.E. initial PVR250 recording for an hour takes up 2gb. Transcode to mpeg4 brings this down to 1gb. Nuvexport "transcode" to xvid brings it down to ~400mb and keeps the recording and program info in mythtv.
  • Have mythbackend back up the mythconverg database on a flexible schedule.
  • support for secondary storage via NFS - when primary storage is full on a backend, go to secondary storage -- like a storage heirarchy
  • provide arbitrary encapsulation of ANY UNIX application started fullscreen inside of a VNC session and assign to a Channel - I.E - start a vnc session with xterm in fullscreen, assign to channel 100, start xchat logging into #mythtv-users and assign to channel 101, etc.
  • more tightly integrate mythfilldatabase into mythtv-setup...the setup tool should be able to know if you're the backend or not and know when you last ran mythfilldatabase...and it should let you run it from the gui.
  • Allow manual setting of DVB video/audio PIDs rather than always using on-air information - this would allow watching BBC Parliament / News Multiscreen video in UK

Hardware support

  • Per-card audio level controls, to compensate for potentially double-digit dB differences in capture levels across differing revisions, models, and even brands of capture cards. (Extra credit while working there: per-input and per-channel controls as well.) Discussion and potential design can be found at Why is my 350's audio so much l-l-louder! than the 250's? and No per-individual line-level adjust: bug or missing feature? and (inadvertently broken thread) here.
  • SoftCAM Support ??? If it's legal, this should be included (VDR has Support for this)
  • ATI AIW support, this is a difficult one. (I don't expect this ever to work but who knows HenkPoley) Not going to happen the AIW card is a horrible capture card (from a driver standpoint).
  • A solution to allow MythTV to watch and record encrypted digital cable broadcasts that the user has licensed. This is an EXTREME pipe dream as it would require 1) cooperation, or at least noninterference, from the cable companies; 2) digital receiver cards that can accept CAMs from the cable provider; 3) volunteers to code the drivers.
Note that this isn't *quite* as far fetched as it sounds. It *may* prove possible to receive unencrypted (non-pay) digital cable channels in the US with the pcHDTV3000 card. The encrypted ones would require a card compatible with a CableCard decryption card -- which cable companies *are* required to provide if you ask for one... but we're unlikely to see such a card ship *before* the July 1 2004 advent of the broadcast flag. So support EFF in getting it thrown out.  :-) -- BayLink
That was old commentary, but CableCard-capable HDTV tuner cards are actually expected in 2006 or early 07; see the news page. --Baylink 05:50, 1 February 2006 (UTC)

Initial setup

  • Channel icons when using DataDirect for new users (See Official Docs - WikiMyth)
  • Provide an option under setup that will gather system/mythtv config and info and allow a user to send an email to mythtv-users mail lists after careful prompting to ensure that new users can file useful bug reports or ask for help while including as much required information to provide a solution (Something similar to bug-buddy )
  • Add default MythTV setup options for ALSA : default for alsa devices and mixer. Provide documentation on how to have all ALSA output go though mixer (so that two sounds can play at the same time)
  • suggestion that would require some v4l support... autodetect / enumerate all cards (and then of course allow deletion of individual sources via mythtv-setup).

Parental controls / User permissions

  • Channel lock,or just 'lock'. Users can receive a warning when attempting to change the channel while not caught up to real time, so the original purpose behind this is moot.. Might (still) be handy for parents with little kids.
  • Add ability for mythtv to log all shows watched (live or recorded) during a day and store in a unique log file per day to store tv watching history. Add ability to put parental controls on mythtv to only allow a given number of hours of tv watching during the day, only allow certain channels during certain times on certain days of the week.
  • how about a feature that would allow you to 'markup' DVD's to skip unwanted scenes for parental control or even look at the subtitles and mute when there are bad words?

Intelligent recording / Commercial detection

  • Be able to watch a recording show with commercial detection. If I want to watch a long movie, for example forrest gump, I can start the recording and wait an hour. Then I play the recording and there wont be any commercials while watching (If there are less than an hour of commercials during the entire movie).
There is an option (somewhere) that allows you to do this under 0.18; I know I have it set to do just that. --vossman
  • Recording suggestions, 2, 3}, á la TiVo
  • Configurable "max_commercial_length", override recordedmarkup and skip max_commercial_length where appropriate. (sometimes I hit skip and jump 13 minutes, etc).
  • More precise time offset for guide listings (My clock is spot on using NTP, but my provider's clock seems fast by 30-60 seconds). Or, allow "End Late" to be a negative value, could be used in combination with "Start Early" to accomplish same goal. This could also be used to compensate for any scheduler "lag".
  • Speculatively record shows that the user *might* want to watch, even though the user hasn't manually asked for them. (But, of course, never let these take priority over shows the user says he definitely *does* want to be recorded).
  • Use Bayesian prediction (just like SpamAssassin) to get better at predicting which shows the user *might* want to watch. See http://www.whynot.net/view_idea?id=1236
  • Conflict resolution: if two shows overlap a few minutes, don't NOT record one of them, but cut the minutes from the first or second show.
  • Record/don't record on certain channels. Add the ability to have a channel include/exclude list that lets the scheduler consider certain channels or bars it from considering certain channels. This will allow me to record Lost on any FOX affiliate, but keep MythTV from mistaking the Lost reality show on FOX Reality for the drama series.
Under mythtv-setup you can assign priorities for channels and out-right remove them. For example, I have to ABC affiliates and I prefer to record form WABC vs. the local, so I have WABC higher priority.

Frontend Addons

General

  • 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? --I'm planning on tackling this as my first bit of mythdev :) --DavidGreaves Try pressing "1" on your remote
  • Screensaver for widescreen plasma/rear-projection TVs, to avoid burn-in when displaying 4:3 content --Anaerin XScreensaver support is in Myth, all you need do is install it in your box
  • Implement a frontend gui that is based on xosd for text display and display on top of xscreensaver modules running on root window - this would allow for cool 3d backgrounds in the mythtv frontend
there is a new GUI based on OpenGL in CVS ...

Menu Mode

LiveTV / View Recording

  • 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
  • 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 unnecesasry ringbuffer disk I/O after set time. A reasonable default time for this may be 6 hours.

Plugin Addon's (to existing Plugin's)

MythBrowser

MythDVD

  • Implement support in mtd and MythDVD to support CD+G format using libcdg123

MythGallery

  • Add EXIF display option for photos in myth's photo gallery. Also, create thumbnails of very large jpgs to speed up display.
  • make myth's photo display more flexible to allow display of variable number of photos per screen (like iPhoto or picasa)
  • take transition effects from xscreenaver and implement them for myth photo module
  • Add ability to define extension types to activate specific command line for a given extension. Like MythVideo.
  • Aspect Ratio key to zoom and stretch the picture to fit widescreen TV's
  • Select audio track to play during slideshow

MythGame

  • Support for an option to search for a rom!
  • Add support to MythGame for epsxe (Can be used with the new MythGame!) - Also add support for mtd to detect Playstation 1 cds (This not!)
  • Add simple games that can be played via the remote control (i.e. arrow keys and enter) - like some type of simple minesweeper or sokoban

MythMusic

  • Don't group A-G, H-K, etc.... It makes no sense to not group 1,2,3,4 and then group by alpha characters, especially when you have thousands of MP3s...
  • For Audiobook-lovers like me this two things would enhance the mythmusic experience by far:
    • Add Resume to the Mythmusic. It would be great, if MythMusic would start with the last played Song not with the first in the Playlist.
    • Add Sleep-Timer to Mythmusic.

MythNews

MythNotify

MythPhone

MythVideo

  • Series browser Broken Link A small idea to make series browsing easy in MythVideo.

MythWeather

MythWeb

  • Add ability to transcode a recorded program
  • Add photo album support to MythWeb (something like JAlbum or gallery)
  • update mythweb to graph TV usage/watching over time. Include time tv is on, most watched channels, most watched programs, most recorded programs, link to logs of mythtv usage per day
  • Add option to MythWeb "backend status" to bump encoders out of LiveTV into "local" (i.e. - you left the TV in livetv mode, and nobody's watching)
  • Add option in MythWeb to send a line of text to MythNotify - like a one-way page (probably most useful to add under backend status - where you can see that TV is on, and someone is likely to be in front of TV)
  • Add search by title, actor, keyword, and new shows options to MythWeb. When searching for terms from mythweb, I would like to have them stored as search terms in myth GUI for future reference.
  • How about rendering a mythtv page or set of trees based on a bluelava webpage or config and using a lynx/elinks like navigation? That would suit me fine and would provide a great solution for integration without reinventing heyu, br, and bluelava.
  • Ajax Based Mythweb for Speed up and more interactivity
  • Template Engine for Mythweb, for a easier way to create skins.

New Plugins

  • MythAlarm
  • MythCommander. It would be great to have an Filemanager like Midnight Commander. And it would be nice if you could not only move and rename files but also unrar/zip/tar them.
  • Burn DVDs/(S)VCDs from within MythTV
  • Add an ebay module to watch and update active bids
  • Integrate MythBurn into main MythTV packages
  • support for blog entries from inside of myth - provide hotkey that will open a quick form to add an entry to blogger or other common blog. Included in the posting would be the information about the show being watched at the moment - would be ideal to have a transparent overlay window for text entry so blog entry could be posted while still wathcing TV - useful to blog about a debate or talk show
  • A convenient way to comment on movies in IMDB after watching them. I.E. At the end of watching a MOVIE, add an option to the delete menu to jump to IMDB "post a review" for this movie (or a link to tvtome to comment on an episode of a series?)
  • Add local movie showtimes module
  • Add a Test Screen to help adjust TV colors correctly to view MythTV at the very best -- also add test sound effects for stereo, 5+1 sounds, etc sound debugging. This would be a nice addition to setup in myth. -- possibly lprof-1.09 tools
  • Add an "Export Recordings" mode under "Manage Recordings" that interfaces with mkmovie, nuvexport and nuv2avi in some integrated fashion so that TV recordings could easily be exported from MythTV without dropping to the commandline to do so.
  • IM (AIM, MSN and Yahoo)

Ideas with response

this defeats the purpose of a PVR, add a menu item to launch a non-buffering tv program in place of Myths "watch tv" item - This is better stated as a request for "fast channel changing" or "no 2 second delay". Current workaround is to switch channel changing behavior to "browse mode", but actually having "fast channel changing" would really help new user acceptance of mythtv.
uhm... can you spell l-a-w-s-u-i-t?) NEVER going to happen with core Myth
Very distro dependant, apt-get solves 99% of the problem for most folks (those who are *using* packages, maybe... --BayLink)
  • Action sound, a short confirmation 'blip' to say that a keypress was received and is 'being processed'
This is difficult to achieve without impelemting and requring all audio devices to be routed through an ALSA mixer (which has it's own issues at the moment) --- As a work around, look on the backend setup screen. There is a config option for "Execute command when key pressed" (or something like thing) that you can configure to play a sound

Already implemented

  • playlist queue - ability to manage a queue of recorded programs or videos for sequential playback

Unsorted

With reference to website / mailing list

Without reference to website / mailing list

  • Ability to automaticly change Xine/MPlayer (etc.) keybindings file when you change MythTV hotkeys (seems difficult to me - HenkPoley). Or just a webpage with Xine/MPlayer configs that conform to MythTV default keybindings.
  • Add option to limit the time length or filesize of recordings. Long length MythTV recordings would automatically span multiple files similar to film rolls. Allows TV marathons, sporting events, etc to be broken up into manageable pieces.