Talk:Release Notes - 0.24

Additional items for consideration into changelog. This is a list of unknown, TBD, limited scope, yet-to-be-backported, not yet confirmed, and/or trivial items which may or may not eventually be moved to the Release Notes. Most likely, most if not all of these will stay here as "honorable mentions".

Python: Migrates DB.tablefields and DB.settings to QuickDictData subclasses. Field attributes are now available through the tablefields class, and settings.host.getall() will return all settings available on that host. Internal revision bumped for new features. [24213]

PulseAudio: Fix white noise after seeking [24214] - since Pulse still experimental, probably won't include this in the changelog

DVD: add dvdnav_first_play(). starts the dvd from the beginning. previous use of RingBuffer->Seek didn't do the trick in all cases. [24238]

Move a few storage related routines out of backendutil.cpp and into MainServer & Convert MainServer::BackendQueryDiskSpace() to use the playbackList to query all connected backends instead of using the encoderList which is a list of backends with tuners. This allows the storage on tunerless backends to be reported along with the rest. [24245], [24246]

MythWeather: Explicitly added path from the currently running script and default paths into all the scraper scripts that use local libraries. This will get rid of the problem of perl running in tainted mode due to setuid, as now the current directory doesn't need to be implicitly in the path. [25155]

Don't offer an Auto Detect fill option in the OSD menu when it is not supported (i.e. when using hardware accelerated decoding). [25158]

MythArchive: Now that we have one use the subtitle from videometadata when adding files from MythVideo to a DVD. Patch from Richard Shaw. [25175]

Add two new functions to MythLocale which return the native names for language and country. [25196]

Create the language selection list according to the installed qm files instead of hardcoding. [25197]

Python: Rework DBConnection as a connection pool. Each opened cursor now receives its own connection, with a default pool size of 2. When the pool is exhausted, additional connections will be spawned as needed. This allows the database connection to be considered thread safe. [25200]

Video Playback: Extend rate matching mechanism to work with custom video size. This allows to match a resolution as well as a display rate. [25210][25255]

Python: Adds importMetadata methods for Video and Recorded. Accepts one VideoMetadata record, created by the VideoGrabber class. [25219]

Convert several RemoteFile methods to use the existing master backend connection via gCoreContext rather than opening their own dedicated connections. This should speed up these operations. Affected routines are DeleteFile(), Exists(), and GetFileHash(); [25229]

Store the App/binary name in the global context so it can be used by various parts of the code. Initial use will be in an upcoming generic http/https/ftp download manager patch, but other future uses will include passing the application name in the backend connection string so the master knows what application is running on the other end of a backend connection. [25231]

Adds code to collapse multiple file check availability queries on the same recording into a single query to the backend. [25262]

NVP: Applying patch which provides the following major changes -move the trigger advancing controls and frame interval knowledge out of vsync -give NVP complete control over frame interval and trigger handling [25286]

On Linux, use libudev, instead of udevinfo command. Another dependence, but I don't think packagers will care. [25304]

Mythweb: Fixes an issue where a external player is spawned off to handle streaming of music files or streaming video and basic auth is used. this embeds the basic auth information into those specific urls. [25375]

mythtv-setup: Reword exit prompt on mythtv-setup to better explain when mythfilldatabase needs to be run. [25416]

Remove some old code that was used for an out-of-sequence database update. [25417]

Extend the decoder track types to include video tracks, add video tracks to the tracks as detected and use selectedTrack instead of selectedVideoIndex in AvFormatDecoder. This is the first step in adding audio only playback to NuppelVideoPlayer by providing a method in DecoderBase to determine audio only streams: GetTrackCount(kTrackTypeVideo) [25441]

Change all the text columns in the TV schema to varchar. This change should improve performance in several locations, including scheduling. [25449]

Move util-osx-cocoa from libmythtv to libmythui and add additional Cocoa functionality. This is the first of several commits to enable compilation using a native Cocoa Qt build and improve a couple of pieces of cross-platform code. [25452]

Remove the softblend OSD option for the OpenGL video renderer which is no longer available. [25453]

Add a new cross platform display class, MythDisplay. This consolidates various chunks of X11, OS X and windows code into one wrapper class to provide information about the current display. The OpenGL codebase is now entirely platform independant and OS X builds should work with either Carbon or Cocoa based Qt libraries. [25457]

OSX: Make quartz video an option in configure and disable if a Cocoa Qt library is detected. I'm not entirely sure the approach is the best but this should at least allow builds on OS X 10.6.x when using Cocoa Qt libs without any other workarounds (e.g. forcing 32bit builds). [25471]

OSX: Use the new quartz video define when compiling libmythtv. If using a Qt Cocoa build, trunk should now compile wihout issue on Snow Leopard - but beware. Video playback is still broken due to QTimer issues in Qt 4.6 (and 4.7?) and no functioning video output (OpenGL is broken for reasons unknown and quartz will not be built) [25472]

Improvement to the Adjusting program database end times query in mythfilldatabase. This allows indexes to be used properly for starttime and shaves off about 20 seconds for me. [25489] - need to get details before adding to changelog

Efficiency fix. Both CreateLiveTVRingBuffer() and SwitchLiveTVRingBuffer() delete + new curRecording, so there is no need to fake a new RecordingInfo. Will infinitesimally speed up LiveTV startup, and fixes this problem when using file:// or IMPORT tuner against a database with no programme records [25493]

Update table creation to use the MySQL table option ENGINE rather than the deprecated TYPE. [25501]

New class, MythTranslation which handles the loading, reloading, unloading and discovery of installed translations. This is a straight lift from LanguageSettings as a step towards splitting the UI and business code. [25503]

(In [25530]) Small fix to allow the creation of X images when using a remote connection. Refs #6514 [25530]

Using "Search Lists" to find shows to record, the selected item would be reset to the top after a refresh. To find the selected item, pointers where being compared, but if the list is reloaded, the pointers would not be the same anymore. [25534]

Add a custom example clause for recording only from channels in the Favorites group. Replaces the one that used to exist before the conversion to Channel Groups. [25535]

Add support for 2 new OpenGL extensions, neither of which is yet used. GL_APPLE_ycbcr_422 is the Apple equivalent of GL_MESA_ycbcr_texture which provides YUYV support and colourspace conversion. GL_APPLE_rgb_422 gives raw access to YUYV texture data with the ability to then customise the colourspace conversion. [25607]

Probable fix for strings not being translated with spinboxes in certain languages. Fixes #8177. Please re-open the ticket if this doesn't work. [25621]

Explicitly convert strings to UTF8 for translation instead of relying on the system codec being UTF8. This is the same fix that was previously applied to several other areas, I just missed myththemedmenu.[25622]

Allow ThreadedFileWriter to write out filenames using the local 8 Bit charset. Fixes issues with artwork filenames being broken or truncated when they contained non-Ascii character sets. [25628]

Fixes #8736. This makes the multirec behaviour consistent whether you enter Recording Options or not. This always creates one virtual card for DVB/HDHR unless the user explicitly changes this in the Recording Options screen. [25629]

Fix translations of non-numerous strings used in a spinbox. We want to be able to handle both '0 recordings' and 'No recordings' alike, tr() when called with n won't translate the latter which I consider a bug in QT. The fix is just to check for %n in the string first and only use the plural form if it exists. [25635]

Moved iso639.cpp/h from libmythtv to libmythdb. Created iso3166.cpp/h. Move the language/country tables from mythlocale.cpp to iso639.cpp/iso3166.cpp respectively. Add a table of english country names to codes. Binary version change, suggest a make distclean. [25673]

mythgallery: Updates thumbnails in mythgallery when they are completed. Also tweaks the selectedimage area of Arclight slightly to make the borders equal size. [25694]

Adds to the recordedmarkup table the framerate of recordings as indicated by the headers in the recording itself. It should store every framerate change if there are any. [25783], [25784], [25785], [25786]

Extend VideoBuffers and VideoFrame to support frame formats other than YUV420P. This isn't complete, and hence there are no functional changes, but begins to remove some of the hard-coded assumptions of a YUV420P frame format. Other formats are becoming increasingly relevant for VDA and CrystalHD hardware decoding and the Direct3D, OpenGL and XVideo renderers can all be modified to accept other formats and hence avoid relatively costly conversions. [25936]

Add methods to track estimated memory consumption in MythPainter. This will be used for smarter bitmap cache management. [26074]

MythUI: Add a new signal, itemVisible(), to MythUIButtonList which is fired for every list item as it appears on screen [26107]

Allow skipping through a recording with SKIPCOMMERCIAL even when "Commercial skip automatic rewind amount (secs)" is greater than 0 (it defaults to 1). Prior to this change, you would get stuck at the end of a commercial break if you hit SKIPCOMMERCIAL within "Commercial skip automatic rewind amount (secs)" seconds of the previous SKIPCOMMERCIAL. [26118]

MythWeather: Fixed up the US National Weather Service scripts to find their data files in the installed directory rather than assuming that the caller has changed the current working directory there first. Fixed the date handling in nws-alert.pl so that the alerts should now work correctly with respect to the local timezone. [26140]

Add five new 'mapped' strings to playback box which offer the disk space information in more themable format. You have the diskspacetotal, diskspaceused, diskspacefree in GB and the diskspacepercentused, diskspacepercentfree which are percentage values. These are raw values which can be formatted appropriately and combined into a single string using <template>. 'freereport' is now redundant, but I've left it in for backwards compatibility. [26175]

Add a new optional textarea to mythvideo. 'foldername' shows the name of the folder you are currently in should you not wish to use the much longer 'breadcrumbs'. [26176]

The processing icon was mistakenly associated with the editing flag and not the commprocessing flag. Fixes #8874 [26200]

Fixes #8364, this allows us to work around the lack of a program to match a record entry for forced records that are no longer valid. [26220]

Truncate additional tables that depend on the chanid when "Delete all video sources" is selected. Fixes #8525 using patch from Nick Morrott. [26236]