Difference between revisions of "Feature Wishlist"

From MythTV Official Wiki
Jump to: navigation, search
(Splitting up big article.)
(MythTV Feature Request Forum)
(107 intermediate revisions by 57 users not shown)
Line 1: Line 1:
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.
+
{{Note box|Please be reasonable and positive with your feature requests, remember that all contributions to MythTV are by volunteers in their spare time. MythTV won't support piracy in any form, including torrents and use of soft cams, so to avoid embarrassment please do not ask.}}
  
 
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 them 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.
 
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 them 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.
Line 5: Line 5:
 
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.
 
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 [http://www.gossamer-threads.com/lists/mythtv/users/59418 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.
+
= MythTV Feature Suggestion Forum =
  
And, finally, remember this: if there's something you want badly enough, [http://www.gossamer-threads.com/lists/mythtv/dev/166419 you can always offer to pay someone to do it].
+
The new [https://forum.mythtv.org/viewforum.php?f=9 Feature Suggestion Forum] replaces this wiki page. Please use it instead.
 +
 
 +
= Archived Feature Request List =
 +
 
 +
{{HelpUs}}
 +
 
 +
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 [http://www.gossamer-threads.com/lists/mythtv/users/59418 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 '''b)''' 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, [http://groups.google.com/group/mythtv-contractors you can always offer to pay someone to do it].
  
 
:Editor's note: Even moreso than on most pages, if you add a note here that a wishlist item is now available or in process, ''please note which version that information applies to'' ('added in 0.19', for example).  Remember: wiki pages live forever. --[[User:Baylink|Baylink]] 17:00, 12 February 2006 (UTC)
 
:Editor's note: Even moreso than on most pages, if you add a note here that a wishlist item is now available or in process, ''please note which version that information applies to'' ('added in 0.19', for example).  Remember: wiki pages live forever. --[[User:Baylink|Baylink]] 17:00, 12 February 2006 (UTC)
Line 17: Line 25:
 
* Before anything else, ''check the [[Current Version]] release notes to make sure it's not already in there (yes, this happens).
 
* Before anything else, ''check the [[Current Version]] release notes to make sure it's not already in there (yes, this happens).
 
* Clearly indicate that it's a request, not a demand.
 
* 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")
+
* Understand that code speaks louder than words. If you can, write a patch and submit it to [http://svn.mythtv.com TRAC]
 
* 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.
 
* 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 you're not repeating a previous request. (Search the wiki and [http://www.gossamer-threads.com/lists/mythtv/ mailing list archives])
 
* Do NOT be offended if a developer responds with "sounds good; I look forward to your patch".
 
* 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.
 
* Requests from people who have contributed back to the project in some way carry a LOT more weight.
 +
When you're ready to submit your suggestion, add it to the end of the relevant page and section listed in "The Wishlists" section below.
  
== In Development ==
+
__NOTOC__
  
There are many items which are in active development (people are writing code). Some of them are listed below, and others [http://svn.mythtv.org/trac/wiki/FutureDevelopment at the developers' Trac wiki page].
+
== The Wishlists ==
 +
* [[Feature Wishlist (Setup)|Setup and Configuration]] -- Anything for the setup process including hardware support. These are '''things you want mythtv to do prior to actually running mythtv'''.
  
* [http://gossamer-threads.com/lists/mythtv/dev/7175 Share MythVideo/MythMusic-files between all frontends (via backend?)], Thor is working on this so called [[MFD/MFE]] feature. [http://gossamer-threads.com/lists/mythtv/users/69087?#69087 It is planned to go into 0.16 (but wasn't)] ''Easily accomplished with NFS''
+
* [[Feature Wishlist (Backend Addons)|Backend Addons]] -- Backend additions are '''things you want mythtv to do when you're not around'''.
* Add an option to play FM-radio through a FM tuner (NOTE: A patch exists http://mythextra.napsi.net/mythFM.html but there's current less development on that)
 
* A method to allow review of email on a POP3 server.  No need to download the email, just browse what is there and read/delete/etc. in work: http://mythextra.napsi.net/
 
* [http://svn.mythtv.org/trac/ticket/368 Videotext/Teletext] for PVR250/350/500 and digital TV-Cards
 
* Mouse support. Would make it possible to use a touch screen to control MythTv. - option added
 
  
__TOC__
+
* [[Feature Wishlist (Frontend Addons)|Frontend Addons]] -- Frontend additions are '''things you want to do in mythtv while using recordings'''.
  
== Backend Addons ==
+
* [[Feature Wishlist (Plugin Addons)|Plugin Addons]] -- Plugin additions are '''things you want to do in mythtv while not using recordings'''.
  
:''See [[Feature Wishlist (Backend Addons)]]''.
+
* [[Feature Wishlist (New Plugins)|New Plugins]] -- New plugins are '''new things you want to do in mythtv while not using recordings'''.
  
== Frontend Addons ==
+
=== Platforms ===
  
=== General ===
+
* MythTV Frontend running as a [http://en.wikipedia.org/wiki/Wii_Channels Wii Channel] (There is a [http://www.fossfactory.org/project.php?p=p102 small bounty] for this on FOSS Factory.  You can contribute to the bounty if you want.)
* [http://gossamer-threads.com/lists/mythtv/users/59418 make screenshot]
+
* MythTV Frontend (TV client only) running natively on GlobalScale Linux D2 Plug ARM Marvell PXA510 – 800MHz see http://www.globalscaletechnologies.com/c-8-d2plug.aspx - ** UPDATE June '12 ** New D2 Plug availability occurred in October 2011.  We have received product and are now implementing the platform.  Some delays due to other work. We are having good and bad results. We can compile code on the D2 plug, we are having problems with decoder (OpenMAX is not supported on ARM cpu) we are looking at the options. We still think that it is doable. Send suggestions to mythtv@quickcycle.com 
* [http://gossamer-threads.com/lists/mythtv/dev/19084 Key to switch between windowed and full screen mode]
+
* MythTV Frontend running on AppleTV (doable: see [[Installing MythTV on an AppleTV]] and a thread on the [http://www.gossamer-threads.com/lists/mythtv/dev/288558 developer] mailing list)
* MythTheme plugin for downloading Themes and install it from an directory of all themes
+
* MythTV Frontend (TV plug-in only) running natively on AppleTV i.e. using Apple's FrontRow for menus.  See [http://wiki.awkwardtv.org/wiki/BackRow_Developers%27_Kit AwkwardTV Wiki] and [http://alanquatermain.net/brdevkit/ BackRow Developers' Kit].  This would create a single, modeless AppleTV front end / user interface.
* 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''
+
* MythTV Frontend on Windows Mobile. Since a frontend is working on Windows, a Windows Mobile version could be promising, One challenge might be a touch interface.
* [http://gossamer-threads.com/lists/mythtv/users/22689#22689 Screensaver for widescreen plasma/rear-projection TVs], to avoid burn-in when displaying 4:3 content --Anaerin ''[http://www.jwz.org/xscreensaver/ XScreensaver] support is in Myth, all you need do is install it in your box''
+
* MythTV Backend ported to ARM SoC i.e. NVIDIA's [http://blogs.nvidia.com/2011/02/tegra-roadmap-revealed-next-chip-worlds-first-quadcore-mobile-processor/ Ka-el and/or Denver projects]. While it is unknown if graphics accelerated drivers (VDPAU) will be made available to run a frontend the raw horsepower should be sufficient for a backend with storage, comm flag, and USB based tuners.  Imagine your 35W TDP Core2 Duo (T7200) CPU replaced by a 1W TDP CPU/GPU that has vastly less performance...
* 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 ...
 
* Add default ifconfig output to the System Status area of the Information Center
 
* Add ability to change the OSD theme from mythfrontend (using the same appearance setup area as current theme picker)
 
  
=== Menu Mode ===
+
Platforms are the '''hardware and operating system''' setups that actually run the Myth applications. This section should track the request to support platforms other than the default x86 PC environmentThis would include console ports like X-Box and PS3.
* [http://gossamer-threads.com/lists/mythtv/dev/19084 A clock in the menu system] (Maybe available with 0.20 when the new UI is used which allow animations...)
 
* [http://gossamer-threads.com/lists/mythtv/users/29249 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
 
* [http://www.gossamer-threads.com/lists/mythtv/users/68793 Draw a line to seperate days in recording menus]
 
* [http://www.gossamer-threads.com/lists/mythtv/users/68793 Some new hotkeys in recording menus]
 
* add "smooth scroll" option to OSD Program Guide for horizontal and vertical scroll
 
* Include the free [http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ Vera fonts] in MythTV
 
* 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 live TV 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.
 
* allow some capability to go directly to some menus via Remote control eg Watch Live TV or Guide etc..
 
:I think this exists with jump points
 
* 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.
 
  
=== LiveTV / View Recording ===
+
=== Will Not Implement ===
* [http://svn.mythtv.org/trac/ticket/488 Videotext/Teletext with analog TV-Cards]
+
These are suggestions which for one reason or another will not be implemented in MythTV.
* Make OSD Scrollable, so that longer Descriptions are also visible (Maybe autoscroll or with a key)
+
* [http://gossamer-threads.com/lists/mythtv/dev/2899 Non-time shifting mode for watching regular TV], would be a bit difficult since the frontend/backend split, but might be possible when both are on the same machine. You could still draw the OSD if you would want.
* options to adjust video hue, contrast, color, brightness via OSD [http://www.semester.dk/ChrisTV/images/osd_panel.jpg example screen from ChrisTV]
+
:: MythTV is designed as a PVR, which by definition necessitates that all TV be recorded and buffered. As mentioned, the frontend/backend split was designed with this requirement in mind, and MythTV would require a significant rework of the livetv code in order to reduce this buffer.
* [http://gossamer-threads.com/lists/mythtv/dev/4506#4505 Automatically turn on CC / subtitles when LiveTV is muted], sometimes called QuickCaps apparently.
+
:: '''fast channel changing''' is also an unachievable goal due to hardware constraints. Tuners and cable boxes take time to lock, mpeg encoders need to fill video buffers, digital tuners need to wait for stream information and then the first I-frame. All of this adds up to MythTV's internal lag becoming a less significant portion of the problem.
* [http://gossamer-threads.com/lists/mythtv/users/31556 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.
 
* 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.
 
* Implement a way to stream shows over the internet or other low-bandwidth connections - similar to the [http://www.slingmedia.com/ 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.
 
* 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.
 
* 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.
 
 
 
== Plugin Addons (to existing Plugins) ==
 
=== MythBrowser ===
 
=== MythDVD ===
 
 
 
* Implement support in mtd and MythDVD to support CD+G format using [http://sourceforge.net/projects/cdg123 libcdg123]
 
 
 
* Option to eject the DVD after it's been ripped
 
 
 
=== 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
 
* Add Ken Burns Pan and Zoom Effect to slideshow
 
  
=== MythGame ===
+
* Peer-to-peer sharing of shows with friends who also use MythTV
 +
:: MythTV is designed for use with commercial TV. Fair use precedence allows you to record this for your own personal use, but does not authorized you to share or redistribute in any fashion. MythTV will never implement a feature whose sole purpose is to facilitate this, or any feature which would primarily be used for this.
  
* Support for an option to search for a rom!
+
* [http://gossamer-threads.com/lists/mythtv/dev/3547 Auto update, or update notification] {[http://gossamer-threads.com/lists/mythtv/dev/5683 2]}
* Add support to MythGame for [http://www.epsxe.com/download.php epsxe] (Can be used with the new MythGame!) - Also add support for mtd to detect Playstation 1 cds (This not!)
+
:: For those using package managers, your distro should provide this service automatically.
* 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
 
* Add The Ability To Quit A Emulator With The Remote (not all people have keyboards plugged in)
 
* Add a "Game Display Order" option for grouping roms by the First Letter of the Game Title.  Example: Airwolf & Arkanoid show up in the "A" category, BurgerTime & BubbleBobble in the "B" category etc...
 
* Add Support for ScummVM based Games like Maniac Mansion or Sam`n Max Hit the Road
 
  
=== MythMusic ===
+
* Migrate to use VLC, or gstreamer, or some other codec library.
 +
:: MythTV was written from the start to be based off of ffmpeg. Any move away from that would require vast changes throughout MythTV, and is not likely to ever happen.
  
* 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...
+
* I demand MythWeb be rewritten in Python.  Because that's just the way open source works.
* For Audiobook-lovers like me this two things would enhance the mythmusic experience by far:
+
:: This was actually emailed to a developer. It's a prime example of when to go back and try it again. Demanding things will never endear you and your cause to someone whom you expect to do your work for free.
** 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.
 
** Add a Bookmark feature, which allows one bookmark per mp3, so it asks: "Jump or play from beginn?"
 
  
* Add an option to import playlists for and streaming URL's for internetradio to MythMusic
+
* MythTV Frontend and backend runnning on a Casio fx7000G (1985) pocket calculator
** [http://gossamer-threads.com/lists/mythtv/dev/345 FM- / internet radio support], [http://gossamer-threads.com/lists/mythtv/dev/2199 2], [http://gossamer-threads.com/lists/mythtv/dev/3107?search_string=feature;#3107 3], [http://gossamer-threads.com/lists/mythtv/dev/14617?search_string=mythmusic%20stream;#14617 a starting point?]
+
:: This platform is too limited to support a frontend or backend.
  
* [http://libvisual.sourceforge.net/v2/index.php?page=development Implement libvisual into MythMusic] for additional effects
+
* MythTV Frontend running on the [[:Category:PS3|Playstation 3]].
* Provide ability for MythMusic user to select music by Genre - this would be an easy way to deal with large music colletions and playlists
+
:: While running a backend on Playstation 3 is doable, the hardware is too limited to run the standard frontend satisfactorily. It is possible to use MythTV's UPnP support to play back most MPEG-2 recordings on the PS3.
* [http://gossamer-threads.com/lists/mythtv/dev/1332 Store CDDB ID for ripped CDs], [http://gossamer-threads.com/lists/mythtv/dev/1430 2] for easy fetching of updates from CDDB. ''(Is this already in? Or even handy?)''
 
* Lyrics it would be great to see what those songs really said... I guess you'd have to put some simple timebased scrolling... or go the manual scroll
 
* a complete overhaul of the playlist editor is urgently required.
 
* Add a Flickr stream as the visualizer, and for extra points, match the music & image emotion!
 
* Create a way to quickly move through long lists.
 
* Add Support for http://last.fm like in amarok, which enhaces the Music enjoy a lot!
 
* Option for Ripping to occur as a background task.  Use MythNotify to prompt the user for verification of CDDB results, etc.  Allows ripping while watching TV.
 
 
 
=== MythNews ===
 
=== MythNotify ===
 
 
 
* [http://gossamer-threads.com/lists/mythtv/dev/1408 Lots of nice little ideas for MythNotify] [http://gossamer-threads.com/lists/mythtv/users/45200#45200 2], [http://gossamer-threads.com/lists/mythtv/dev/2039?search_string=feature;#2039 3]}, most of them pretty 'one of a kind' cases though.
 
* [http://gossamer-threads.com/lists/mythtv/dev/4727#4740 Broadcast notifications to all frontends], would be a MythNotify feature
 
* Provide an onscreen IM client (based on MythNotify ?) Ideally it should integrate with GAIM and allow an IM chat in transparent text while watching TV with variable font size - possibly using [http://gaimnosd.sourceforge.net GAIMnOSD]
 
* [http://gossamer-threads.com/lists/mythtv/users/37404 Run a command when no input is detected], for example to switch on a decoder box or send a "Help!" mail or something.
 
* [http://gossamer-threads.com/lists/mythtv/dev/3322 MythTV watchdog], which would store crash reports to be sent together with bugreports.
 
* [http://gossamer-threads.com/lists/mythtv/dev/4520 Sending logs via email], probably good for an howto to do that with existing programs (logrotate or something?)
 
 
 
=== MythPhone ===
 
 
 
* Add [http://www.skype.com/products/skype/linux/ Skype] support to MythPhone
 
* Add [http://asterisk.org/ Asterisk] integration and configuration details to MythPhone and docs
 
* Add [http://www.gizmoproject.com Gizmo Project]/[http://talk.google.com Google Talk] integration
 
* Add [http://www.openzoep.org/ Open Zoep] integration
 
 
 
=== MythVideo ===
 
 
 
* Search feature.
 
* Browse by genre (e.g. Select a movie by Action->Adventure->Terminator or Adventure->Action->Terminator etc. Like the tree view but genres instead of directories. Would be very fast to find a movie you want to see.
 
* [http://www.evil-zone.com/mythtv/series.htm Series browser] '''Broken Link''' A small idea to make series browsing easy in MythVideo.
 
* DVD Chapter names, and Matroska Chapter names.  It seems other media players connect to a web service to retrieve chapter names based on the DVD.  These would be a nice addition to the current "Title 18 of 23" text.
 
** Not only for Mythvideo... for MythDVD too please :)
 
* Make Matroska-support of the Internal Player perfect. (Make seeking and subtitles work)
 
* Tree browse by genre. Maybe even multiple genres.
 
* Allow browsing of multiple directories (possibly on multiple harddrives)  (<-- a quick workaround is to use links)
 
* Solve the following scaleability problem, on a system with a large number of movies (and tv episodes) you get "L'embaras du choix", from observing users watching habits it was found that long-term users of the system watched a disproportionate number of movies that start with A, B and C or sometime complaining about a lack of choice or "new" because on a system with a vast selection going through the list that's a lot of time even on fast systems (because of technical and practical reasons this can be improved a lot, but not enough to solve this problem, you can't browse faster than you can read) another fundamental reason why this happens is because users aren't compelled to watch unknown movies, often just reading the title isn't enough to motivate the user, in this way mythvideo helps by displaying a poster picture but it doesn't quite cut it at this point more is needed to "sell" the movies in the list, this can be done by adding new browsing modes and other ideas might be found by looking at how movies and rentals are advertised to the consuming public, movies trailers are probably one of the most effective and implementable way to do this, since they are free for download on the internet
 
* there are many suggested possible improvements
 
* make browsing faster on big systems (with a thousand movies it rarely takes less than 500 milliseconds to display a new line, there is no technical reason why this should take more than 10 milliseconds and can be done by simple optimization (some fail-safe are too easily triggered causing a huge hit in performance))
 
* a "skip to random" function, the user press a key and the interface jumps to a random movie
 
* a randomnize function, in this mode the movies are sorted randomnly instead of by alphabetic order
 
* a watch movie trailers function, ideally this plays a previously downloaded movie trailer, ideally while watching a trailer pressing a certain key would start the movie associated with the trailer (this makes using mplayer "bare" difficult, maybe mythvideo could start mplayer embedded and trap certain keys) another key could skip to the next trailer, rewind or pause the trailer and finally return to mythvideo (maybe with the associated movie selected) additionnally the title could be displayed on OSD while the trailer is being played maybe along with other information such as IMDB rating, and randomly selected IMDB comments
 
* along with the preview function , there could be an option to play a pre-determined number of trailers when a movie is selected (just like in a cinema where you see the trailers of upcoming movies before the main feature)
 
* scrolling pages, this mode could be just like "browse view" except that the movie being reviewed changes after a certain amount of time, and not just "jump" but scroll horizontally or vertically at a slow pace, it would be interesting to have this mode randomnly select the next movie to display, the advantage of this is that no user intervention is needed so the user doesn't have to actively "reject" a movie also the scrolling sets a pace for browsing so that the user doesn't get bored too quickly
 
* continuing on the topic of minimizing user interaction there could be a button to "just play a random movie" removing the burden of decision making from the user , this way the user doesn't actively choose a movie, it is assumed that the user will stop the movie if he doesn't like it later on, what is great about this is that it will increase exposure of movies the user does not think he will like based only on the promotion material (title,poster,trailer and "word of mouth"), watching movies is a passive activity, it is only natural that the process of choosing a movie be as little involving as possible ~~ mythvideo-at-domn-dot-net ~~
 
 
 
=== MythWeather ===
 
* some Generic pluggin system to get local more detailed or up-to-date local weather info.
 
* add ability to scroll through different favorite locales.  I commonly want to see weather in 2-3 select places and don't really want to change my home location.
 
 
 
=== 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 [http://www.sgtwilko.f9.co.uk/bluelava/ 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.
 
* Template Engine for Mythweb, for a easier way to create skins.
 
* Compatability with non-apache server daemons (such as [http://lighttpd.net lighttpd])
 
* Recognize program categories (in program listing) independantly of interface language (ie 'Doku' should not only show up as documentary when interface is German, ...)
 
* Add podcast support - could use the [[http://magpierss.sourceforge.net/ MagepieRSS]] library.
 
* Use Mythweb to control a front end by web interface, for those with wireless Tablet PCs..
 
* Ability to change the job queue (remove a job from the queue, stop a job, etc.)
 
* Ability to manipulate recorded programs -- eg, transcode, toggle auto-expire, view when it's on again, etc.
 
 
 
=== MythFlix ===
 
* Add ability to add movies to Netflix queue.
 
* Make MythFlix completely configurable from Mythfrontend
 
 
 
== New Plugins ==
 
 
 
* [http://www.gossamer-threads.com/lists/mythtv/users/24235 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.
 
* [http://gossamer-threads.com/lists/mythtv/dev/6383?search_string=feature;#6383 Burn DVDs/(S)VCDs from within MythTV]
 
* Add an ebay module to watch and update active bids
 
* Integrate [http://mysettopbox.tv/phpBB2/viewtopic.php?t=2132 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 [http://sourceforge.net/mailarchive/forum.php?thread_id=1491979&amp;forum_id=1912  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)
 
* Music Play Daemon (mpd) Support.
 
* X10 Support
 
* Integrate [http://www.myth2ipod.com/ myth2iPod], [http://www.gossamer-threads.com/lists/mythtv/users/188239#188239 2] into mythtv plugins package
 
* Mythbuster - A plugin similiar to Mythflix that integrates into Blockbuster On-line instead of Netflix.  May be limited to Blockbuster's technology and lack of RSS.
 
 
 
== Ideas with response ==
 
* [http://gossamer-threads.com/lists/mythtv/dev/2899 Non-time shifting mode for watching regular TV], would be a bit difficult since the frontend/backend split, but might be possible when both are on the same machine. You could still draw the OSD if you would want.
 
:''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.
 
* [http://gossamer-threads.com/lists/mythtv/users/30199 Peer-to-peer sharing of shows with friends who also use MythTV] {[http://gossamer-threads.com/lists/mythtv/dev/7175 2] = [http://gossamer-threads.com/lists/mythtv/dev/3324 3]}
 
:uhm... can you spell l-a-w-s-u-i-t?) ''NEVER going to happen with core Myth''
 
* [http://gossamer-threads.com/lists/mythtv/dev/3547 Auto update, or update notification] {[http://gossamer-threads.com/lists/mythtv/dev/5683 2]} (update notification should be feasable, IMHO - HenkPoley)
 
:''Very distro dependant, apt-get solves 99% of the problem for most folks (those who are *using* packages, maybe... --BayLink)''
 
* [http://gossamer-threads.com/lists/mythtv/dev/6465 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 ==
+
* MythTV as a replacement for DVR/PVR interfaces, such as the Philips DVDR3455H/37.  The Rockbox.org is a UI replacement project for music players, and MythTV could do the same for DVRs.
* playlist queue - ability to manage a queue of recorded programs or videos for sequential playback
+
:: The hardware on commercial DVR's is too limited to run MythTV. While these are getting more powerful every few years there is a second problem in that many of these devices use hardware without Linux drivers or run only signed binaries.
* Ajax Based Mythweb for Speed up and more interactivity
 
* Ability to mask Media Library entries based on entering PIN to identify user. e.g. Kids can not see anything in a specific program group.
 
  
== Unsorted ==
+
* Have MythTV setup and define network interface
 +
:: The network interface is outside of MythTV's purview. Most Linux distro's and other platforms MythTV runs on provide decent tools for doing simple network configs automatically or through a GUI and provide command line tools for more complex setups (ifconfig/ipconfig).
  
=== With reference to website / mailing list ===
+
* mythbackend (Ubuntu x86_64 v0.20.20070821-1) appears to catch signals (all, most?) and will exit with return code 0 even when core dumping.  I suggest to reserve exit code 0 for a deliberate, graceful shutdown, and instead using a non-zero exit code for other, non-graceful shutdowns and crashes.  This allows the user, or any process monitoring mythbackend (in my case I'm [[Using_pcsk_to_Supervise_mythbackend]]) to distinguish between the two situations.
 +
:: Please make sure you are checking the 8th bit of the exit code, Linux normally sets that to one and puts the signal in the low order bits. MythTV does not catch the segfault signal so the operating system is setting the return value.
  
* [http://gossamer-threads.com/lists/mythtv/users/57568 Type number and jump to channel in EPG], when you have hundreds of channels
+
* Optionally disable the sync loop on the backend; comments say it's for NFS.. on a combined front end + back end this short-periodic sync can wreak havoc with file allocation, and cause excess fragmentation.
* [http://gossamer-threads.com/lists/mythtv/users/50770 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 [http://www.gossamer-threads.com/lists/mythtv/users/169459#169459 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.
+
:: The comments are out of date, this is required on Linux with the CFQ and AS elevator algorithms. Since CFQ is the default on most Linux distro's the sync will stay for the time being. The need to disable it is too low to justify another setting. Commenting it out is fairly simple to do if your one of the few mythtv users changing elevator algorithms for greater backend performance. NFS does not require the sync on any modern Linux kernel.
* [http://gossamer-threads.com/lists/mythtv/dev/21773 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.
 
* [http://gossamer-threads.com/lists/mythtv/users/51825 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''
 
* [http://gossamer-threads.com/lists/mythtv/dev/938 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.
 
* [http://gossamer-threads.com/lists/mythtv/dev/2164 BabyCam / security cam via PiP], put a webcam in the baby's room and have MythTV display it via PiP. Might also be usefull together with the mentioned [http://motion.technolust.cx/ Motion] software to see if someone at your doorbell. ''MythPhone maybe?''
 
* [http://gossamer-threads.com/lists/mythtv/dev/2622#2622 Automatic record/playback tweaking]
 
* [http://gossamer-threads.com/lists/mythtv/dev/6813#6813 Use RendezVous to let frontend and backend autodiscover each other]
 
* Have MythTV emulate a standard uPnP "Media Server" to take advantage of "media center extender" hardware- [http://www.gossamer-threads.com/lists/mythtv/users/90754 See thread] - one example: [http://www.cybergarage.org/net/cmgate/cc/overview/ CyberMedia Gate]
 
  
=== Without reference to website / mailing list ===
+
* Support for USB-UIRT - IR blaster
 +
:: This is a job for LIRC.
  
* 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.
+
[[Category:Wishlist]]

Revision as of 09:07, 9 May 2014

Important.png Note: Please be reasonable and positive with your feature requests, remember that all contributions to MythTV are by volunteers in their spare time. MythTV won't support piracy in any form, including torrents and use of soft cams, so to avoid embarrassment please do not ask.

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 them 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.

MythTV Feature Suggestion Forum

The new Feature Suggestion Forum replaces this wiki page. Please use it instead.

Archived Feature Request List

MythTV logo square.png Join us making your favorite media center even better than it already is today.

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 b) 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.

Editor's note: Even moreso than on most pages, if you add a note here that a wishlist item is now available or in process, please note which version that information applies to ('added in 0.19', for example). Remember: wiki pages live forever. --Baylink 17:00, 12 February 2006 (UTC)

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:

  • Before anything else, check the Current Version release notes to make sure it's not already in there (yes, this happens).
  • Clearly indicate that it's a request, not a demand.
  • Understand that code speaks louder than words. If you can, write a patch and submit it to TRAC
  • 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 wiki and mailing list archives)
  • 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.

When you're ready to submit your suggestion, add it to the end of the relevant page and section listed in "The Wishlists" section below.


The Wishlists

  • Setup and Configuration -- Anything for the setup process including hardware support. These are things you want mythtv to do prior to actually running mythtv.
  • Backend Addons -- Backend additions are things you want mythtv to do when you're not around.
  • Frontend Addons -- Frontend additions are things you want to do in mythtv while using recordings.
  • Plugin Addons -- Plugin additions are things you want to do in mythtv while not using recordings.
  • New Plugins -- New plugins are new things you want to do in mythtv while not using recordings.

Platforms

  • MythTV Frontend running as a Wii Channel (There is a small bounty for this on FOSS Factory. You can contribute to the bounty if you want.)
  • MythTV Frontend (TV client only) running natively on GlobalScale Linux D2 Plug ARM Marvell PXA510 – 800MHz see http://www.globalscaletechnologies.com/c-8-d2plug.aspx - ** UPDATE June '12 ** New D2 Plug availability occurred in October 2011. We have received product and are now implementing the platform. Some delays due to other work. We are having good and bad results. We can compile code on the D2 plug, we are having problems with decoder (OpenMAX is not supported on ARM cpu) we are looking at the options. We still think that it is doable. Send suggestions to mythtv@quickcycle.com
  • MythTV Frontend running on AppleTV (doable: see Installing MythTV on an AppleTV and a thread on the developer mailing list)
  • MythTV Frontend (TV plug-in only) running natively on AppleTV i.e. using Apple's FrontRow for menus. See AwkwardTV Wiki and BackRow Developers' Kit. This would create a single, modeless AppleTV front end / user interface.
  • MythTV Frontend on Windows Mobile. Since a frontend is working on Windows, a Windows Mobile version could be promising, One challenge might be a touch interface.
  • MythTV Backend ported to ARM SoC i.e. NVIDIA's Ka-el and/or Denver projects. While it is unknown if graphics accelerated drivers (VDPAU) will be made available to run a frontend the raw horsepower should be sufficient for a backend with storage, comm flag, and USB based tuners. Imagine your 35W TDP Core2 Duo (T7200) CPU replaced by a 1W TDP CPU/GPU that has vastly less performance...

Platforms are the hardware and operating system setups that actually run the Myth applications. This section should track the request to support platforms other than the default x86 PC environment. This would include console ports like X-Box and PS3.

Will Not Implement

These are suggestions which for one reason or another will not be implemented in MythTV.

MythTV is designed as a PVR, which by definition necessitates that all TV be recorded and buffered. As mentioned, the frontend/backend split was designed with this requirement in mind, and MythTV would require a significant rework of the livetv code in order to reduce this buffer.
fast channel changing is also an unachievable goal due to hardware constraints. Tuners and cable boxes take time to lock, mpeg encoders need to fill video buffers, digital tuners need to wait for stream information and then the first I-frame. All of this adds up to MythTV's internal lag becoming a less significant portion of the problem.
  • Peer-to-peer sharing of shows with friends who also use MythTV
MythTV is designed for use with commercial TV. Fair use precedence allows you to record this for your own personal use, but does not authorized you to share or redistribute in any fashion. MythTV will never implement a feature whose sole purpose is to facilitate this, or any feature which would primarily be used for this.
For those using package managers, your distro should provide this service automatically.
  • Migrate to use VLC, or gstreamer, or some other codec library.
MythTV was written from the start to be based off of ffmpeg. Any move away from that would require vast changes throughout MythTV, and is not likely to ever happen.
  • I demand MythWeb be rewritten in Python. Because that's just the way open source works.
This was actually emailed to a developer. It's a prime example of when to go back and try it again. Demanding things will never endear you and your cause to someone whom you expect to do your work for free.
  • MythTV Frontend and backend runnning on a Casio fx7000G (1985) pocket calculator
This platform is too limited to support a frontend or backend.
While running a backend on Playstation 3 is doable, the hardware is too limited to run the standard frontend satisfactorily. It is possible to use MythTV's UPnP support to play back most MPEG-2 recordings on the PS3.
  • MythTV as a replacement for DVR/PVR interfaces, such as the Philips DVDR3455H/37. The Rockbox.org is a UI replacement project for music players, and MythTV could do the same for DVRs.
The hardware on commercial DVR's is too limited to run MythTV. While these are getting more powerful every few years there is a second problem in that many of these devices use hardware without Linux drivers or run only signed binaries.
  • Have MythTV setup and define network interface
The network interface is outside of MythTV's purview. Most Linux distro's and other platforms MythTV runs on provide decent tools for doing simple network configs automatically or through a GUI and provide command line tools for more complex setups (ifconfig/ipconfig).
  • mythbackend (Ubuntu x86_64 v0.20.20070821-1) appears to catch signals (all, most?) and will exit with return code 0 even when core dumping. I suggest to reserve exit code 0 for a deliberate, graceful shutdown, and instead using a non-zero exit code for other, non-graceful shutdowns and crashes. This allows the user, or any process monitoring mythbackend (in my case I'm Using_pcsk_to_Supervise_mythbackend) to distinguish between the two situations.
Please make sure you are checking the 8th bit of the exit code, Linux normally sets that to one and puts the signal in the low order bits. MythTV does not catch the segfault signal so the operating system is setting the return value.
  • Optionally disable the sync loop on the backend; comments say it's for NFS.. on a combined front end + back end this short-periodic sync can wreak havoc with file allocation, and cause excess fragmentation.
The comments are out of date, this is required on Linux with the CFQ and AS elevator algorithms. Since CFQ is the default on most Linux distro's the sync will stay for the time being. The need to disable it is too low to justify another setting. Commenting it out is fairly simple to do if your one of the few mythtv users changing elevator algorithms for greater backend performance. NFS does not require the sync on any modern Linux kernel.
  • Support for USB-UIRT - IR blaster
This is a job for LIRC.